如何使用bash shell遍历图像数据集批量运行计算机视觉深度学习demo脚本
批量运行HMR2.0 demo生成数据集脚本方案
完整bash脚本
#!/bin/bash # 配置路径 WORK_DIR="/root/.virtualenvs/hmr2.0/hmr2.0-master/src/visualise/" IMAGE_DIR="${WORK_DIR}/images" # 切换到demo运行的工作目录,路径不存在直接退出避免后续报错 cd "${WORK_DIR}" || { echo "工作目录不存在,脚本退出"; exit 1; } # 遍历1到10000张目标图片 for i in $(seq 1 10000) do # 格式化文件名,自动补前导零,完全匹配你的命名规则 img_name=$(printf "im%05d.jpg" $i) img_full_path="${IMAGE_DIR}/${img_name}" # 校验图片存在再运行,避免无效执行 if [ -f "${img_full_path}" ]; then echo "当前处理:${img_name}" # 运行demo,如需指定对应名称的输出文件,可自行添加demo支持的输出参数,示例:--output="./output/${img_name%.jpg}_result.json" python3 demo.py --image="${img_full_path}" --model=base_model --setting=paired-joints --joint_type=cocoplus --init_toes=false else echo "警告:${img_full_path} 不存在,已跳过" fi done
脚本说明
- 路径都做了变量化配置,后续如果目录变更可直接修改开头的路径参数即可
- 增加了路径存在性校验、图片存在性校验,避免出现大量无意义报错
- 命名格式化逻辑完全匹配im00001.jpg到im10000.jpg的命名规则,不会出现匹配偏差
- 如需后台长时间运行,可在python命令末尾加
&控制并发,建议根据显存大小调整并发数,避免硬件资源占满崩溃
运行方法
- 将上述脚本内容保存为
batch_run_hmr.sh - 给脚本添加执行权限:
chmod +x batch_run_hmr.sh - 后台运行脚本(关闭终端也不会中断):
nohup ./batch_run_hmr.sh &,运行日志会自动存到同目录下的nohup.out文件中
内容的提问来源于stack exchange,提问作者Jacqueline
相关产品推荐
相关产品推荐

