Colab运行Openpose模型时无法识别已存在的Google Drive目录 报错求助
Colab运行Openpose目录识别失败解决
报错核心原因
当前触发“目标文件夹不存在”提示的本质是路径配置完全不符合当前版本Colab的目录规范,具体问题点和修正方案如下:
- 路径前缀配置错误
很多旧教程里提到的/drive/My Drive是Colab早年的路径结构,经过多次版本迭代后,现在的Google Drive挂载默认根路径为/content/drive/MyDrive,不仅路径前缀做了调整,挂载点下的文件夹名也从带空格的My Drive改成了无空格的MyDrive,原代码里写的路径结构在当前版本的Colab里根本不存在,这是触发报错的最核心原因。执行Openpose命令前必须先完成Drive挂载,对应代码为:from google.colab import drive drive.mount('/content/drive') - 空格转义写法失效
原代码中对路径里的空格单独加反斜杠转义的写法,在Openpose参数解析逻辑中会被识别为普通字符,反而导致路径匹配失败。正确写法是把带空格的完整路径用英文双引号整体包裹,无需单独对空格做转义。 - 工作目录切换方式不生效
原代码用!cd openpose &&切换工作目录的写法,仅在当前单条Shell命令的子进程内生效,后续调用openpose可执行文件时会因为工作目录回到默认的/content路径,触发可执行文件找不到的隐性问题,替换成Colab专属的%cd命令就能全局生效切换工作目录。
修正后的可运行命令
# 先切换到openpose代码根目录 %cd openpose # 提前创建输出目录,避免Openpose因输出路径不存在报错 !mkdir -p "/content/drive/MyDrive/research_project/Fall Detection/$category/jsondata/video$video" # 执行Openpose推理 !./build/examples/openpose/openpose.bin \ -image_dir "/content/drive/MyDrive/research_project/Fall Detection/$category/testdata/video$video" \ --render_pose 0 \ --disable_blending \ -keypoint_scale 3 \ --display 0 \ -write_json "/content/drive/MyDrive/research_project/Fall Detection/$category/jsondata/video$video"
前置验证步骤
执行完整推理命令前,先单独验证输入路径是否能被正常识别,避免反复试错浪费运行时间:
!ls "/content/drive/MyDrive/research_project/Fall Detection/Coffee_room/testdata/video0/"
如果这条命令能正常列出目录下的所有图片/视频文件,就说明路径配置完全正确;如果依旧报不存在,就检查对应文件夹的实际位置、拼写是否和代码里的路径完全匹配,比如是否不小心把文件夹名写成带连字符的Fall-Detection、是否漏了Coffee_room这一层目录层级。
内容的提问来源于stack exchange,提问作者sv176
相关产品推荐
相关产品推荐

