VS Code中使用gdown下载OpenPose模型报错求助
解决VS Code中手动下载OpenPose模型的报错问题
问题背景
尝试在VS Code中手动下载OpenPose模型,使用了原本在Colab笔记本中可正常运行的代码,但运行时出现SyntaxError: invalid decimal literal报错,尝试wget和curl方法也未解决。
报错原因
%%bash是Colab/Jupyter Notebook专属的魔法命令,用于切换到bash环境执行命令。但在VS Code中直接运行Python脚本时,Python解释器会将其当作Python代码解析,导致语法错误。- 代码中的
/content/路径是Colab虚拟环境的专属路径,本地VS Code环境中不存在该路径,这也是执行失败的潜在原因。
解决方法
根据你在VS Code中的运行环境,选择以下方案:
方案1:在VS Code的Jupyter Notebook中运行
如果使用VS Code的Jupyter Notebook插件运行代码,可保留%%bash魔法命令,但需修改路径为本地OpenPose的实际路径:
%%bash # 安装gdown(如果未安装) pip install gdown -q # 下载并解压模型包 gdown 1QCSxJZpnWvM00hx49CJ2zky7PWGzpcEh unzip models.zip # 替换下面的./openpose/models/为你本地OpenPose的models目录绝对路径或相对路径 mv ./models/face/pose_iter_116000.caffemodel ./openpose/models/face/pose_iter_116000.caffemodel mv ./models/hand/pose_iter_102000.caffemodel ./openpose/models/hand/pose_iter_102000.caffemodel mv ./models/pose/body_25/pose_iter_584000.caffemodel ./openpose/models/pose/body_25/pose_iter_584000.caffemodel mv ./models/pose/coco/pose_iter_440000.caffemodel ./openpose/models/pose/coco/pose_iter_440000.caffemodel mv ./models/pose/mpi/pose_iter_160000.caffemodel ./openpose/models/pose/mpi/pose_iter_160000.caffemodel # 清理临时文件 rm -rf models rm models.zip
方案2:直接在VS Code终端执行bash脚本
- 创建名为
download_openpose_models.sh的脚本文件,内容如下:
#!/bin/bash # 安装gdown(如果未安装) pip install gdown -q # 下载并解压模型包 gdown 1QCSxJZpnWvM00hx49CJ2zky7PWGzpcEh unzip models.zip # 替换路径为本地OpenPose的models目录 OPENPOSE_MODELS="./openpose/models/" mv ./models/face/pose_iter_116000.caffemodel ${OPENPOSE_MODELS}face/pose_iter_116000.caffemodel mv ./models/hand/pose_iter_102000.caffemodel ${OPENPOSE_MODELS}hand/pose_iter_102000.caffemodel mv ./models/pose/body_25/pose_iter_584000.caffemodel ${OPENPOSE_MODELS}pose/body_25/pose_iter_584000.caffemodel mv ./models/pose/coco/pose_iter_440000.caffemodel ${OPENPOSE_MODELS}pose/coco/pose_iter_440000.caffemodel mv ./models/pose/mpi/pose_iter_160000.caffemodel ${OPENPOSE_MODELS}pose/mpi/pose_iter_160000.caffemodel # 清理临时文件 rm -rf models rm models.zip
- 给脚本添加执行权限(Linux/macOS/WSL):
chmod +x download_openpose_models.sh
- 在VS Code终端中运行脚本:
./download_openpose_models.sh
Windows用户可使用Git Bash或WSL执行该脚本。
方案3:用Python脚本调用系统命令
如果需要在Python文件中执行任务,可使用subprocess模块调用系统命令,同时适配本地路径:
import subprocess import os # 替换为你本地OpenPose的models目录路径 OPENPOSE_MODELS_PATH = "./openpose/models/" # 安装gdown(如果未安装) subprocess.run(["pip", "install", "gdown", "-q"], check=True) # 下载并解压模型包 subprocess.run(["gdown", "1QCSxJZpnWvM00hx49CJ2zky7PWGzpcEh"], check=True) subprocess.run(["unzip", "models.zip"], check=True) # 定义模型文件的源路径和目标路径 model_pairs = [ ("models/face/pose_iter_116000.caffemodel", os.path.join(OPENPOSE_MODELS_PATH, "face/pose_iter_116000.caffemodel")), ("models/hand/pose_iter_102000.caffemodel", os.path.join(OPENPOSE_MODELS_PATH, "hand/pose_iter_102000.caffemodel")), ("models/pose/body_25/pose_iter_584000.caffemodel", os.path.join(OPENPOSE_MODELS_PATH, "pose/body_25/pose_iter_584000.caffemodel")), ("models/pose/coco/pose_iter_440000.caffemodel", os.path.join(OPENPOSE_MODELS_PATH, "pose/coco/pose_iter_440000.caffemodel")), ("models/pose/mpi/pose_iter_160000.caffemodel", os.path.join(OPENPOSE_MODELS_PATH, "pose/mpi/pose_iter_160000.caffemodel")), ] # 移动模型文件,确保目标目录存在 for src, dst in model_pairs: os.makedirs(os.path.dirname(dst), exist_ok=True) subprocess.run(["mv", src, dst], check=True) # 清理临时文件 subprocess.run(["rm", "-rf", "models"], check=True) subprocess.run(["rm", "models.zip"], check=True)
直接运行该Python脚本即可完成模型下载和部署。
注意事项
- 确保本地已安装Python环境,且
pip可用 - 所有路径需替换为你本地OpenPose的实际安装路径,避免使用Colab的
/content/路径 - 如果下载速度慢,可手动访问
gdown对应的Google Drive链接下载模型包,再解压移动到对应目录
内容的提问来源于stack exchange,提问作者SAISH
相关产品推荐
相关产品推荐

