3DDFA_master代码复现以及所遇到的bug合集

代码来源

https://github.com/cleardusk/3DDFA

论文

Face Alignment in Full Pose Range: A 3D Total Solution.

所遇到的问题

运行3DDFA中的main.py时

出现错误:RuntimeError: Unable to open models/shape_predictor_68_face_landmarks.dat

解决方法:在https://pan.baidu.com/s/1bx-GxGf50-KDk4xz3bCYcw下载shape_ predictor_ 68_ face_ landmarks.dat

运行3DDFA中的main.py时

出现错误TypeError: ‘NoneType’ object is not iterable

解决方法:运行时的缺少参数

在Linux环境下,虚拟环境torch-python3.7中,下载dlib库时:

先下载 cmake -> boost -> dlib

pip install cmake出现错误:
ERROR: Could not install packages due to an OSError: Missing dependencies for SOCKS support.

ValueError: Unable to determine SOCKS version from socks://127.0.0.1:1080

解决方法:
unset all_proxy


下载cmake后出现警告:WARNING: Running pip as the ‘root’ user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv
切换成非root用户即可

给非root用户添加权限:
vi /etc/sudoers
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
非root用户名 ALL=(ALL) NOPASSWD: ALL

下载dlib-19.19.0.tar.gz压缩文件
pip install dlib-19.19.0.tar.gz


记录:关于linux解压文件

tar解压到指定目录下
tar -xvf 压缩包名.tar -C 指定位置文件夹

gz文件解压
gunzip FileName.gz

zip文件解压到当前文件夹(到指定目录)
unzip Filename.zip (-d 指定目录)
运行3DDFA中的train.py时:

准备工作:(链接是GitHub博主提供)
在https://pan.baidu.com/s/1ozZVs26-xE49sF7nystrKQ#list/path=%2F下载train.config
在https://pan.baidu.com/s/19QNGst2E1pRKL7Dtx_L1MA下载train_aug_120x120.zip
在https://pan.baidu.com/s/1DTVGCG5k0jjjhOc8GcSLOw下载test.data.zip下载裁剪后的测试集 ALFW 和 ALFW-2000-3D ,然后将其解压缩并放在根目录中

关于GPU设备个数匹配问题总结

在Linux上出现错误:
AssertionError: Invalid device id
解决方法:
本地只有一个显卡,代码中带入了2个id因此
parser.add_argument(‘–devices-id’, default=‘0,1’, type=str)
改成:parser.add_argument(‘–devices-id’, default=‘0’, type=str)
同时也要修改sh train_wpdc.sh中的–devices-id=0,1 \ 改为–devices-id=0 \

在windows上出现错误:
AttributeError: module ‘torch._C’ has no attribute ‘_cuda_setDevice’
解决方法:
python train.py --gpu_ids -1 (CPU版本)或者在脚本中修改默认的gpu_ids(devices-id)

linux运行.sh脚本时:sh train_wpdc.sh

注意:这里将train.py和train_wpdc.sh都放在了根目录下

问题1:
train_wpdc.sh:行10: ./train.py: 没有那个文件或目录

解决方法:
将./train.py --arch=“mobilenet_1” \ 改成:
/home/hyh/Deep_Learning/3DDFA/3DDFA-master/train.py --arch=“mobilenet_1” \ (×)
把train.py放在了training文件夹下


问题2:
train_wpdc.sh:行10: ./train.py: 权限不够
将sh脚本的第一行#!/usr/bin/env bash 修改为:#!/mnt/usr/local/anaconda3/envstorch-python3.7/python bash (×)
解决方法:
chmod 777 ./train.py(√)

运行.sh脚本时

问题1:
FileNotFoundError: [Errno 2] No such file or directory: ‘…/train.configs/train_aug_120x120.list.train’
解决问题:
找到.sh脚本文件,修改.sh文件路径
–filelists-train=“train.configs/train_aug_120x120.list.train”
–filelists-val=“train.configs/train_aug_120x120.list.val”
–param-fp-train=‘train.configs/param_all_norm.pkl’
–param-fp-val=‘train.configs/param_all_norm_val.pkl’ \


问题2:
AttributeError: ‘NoneType’ object has no attribute ‘sub_’
文件路径有问题 找不到路径下的文件
解决方法:
解压了train_aug_120x120.zip 并修改.sh文件路径
–root=“train_aug_120x120” \

### PyCharm 打开文件显示全的解决方案 当遇到PyCharm打开文件显示全的情况时,可以尝试以下几种方法来解决问题。 #### 方法一:清理缓存并重启IDE 有时IDE内部缓存可能导致文件加载异常。通过清除缓存再启动程序能够有效改善此状况。具体操作路径为`File -> Invalidate Caches / Restart...`,之后按照提示完成相应动作即可[^1]。 #### 方法二:调整编辑器字体设置 如果是因为字体原因造成的内容显示问题,则可以通过修改编辑区内的文字样式来进行修复。进入`Settings/Preferences | Editor | Font`选项卡内更改合适的字号大小以及启用抗锯齿功能等参数配置[^2]。 #### 方法三:检查项目结构配置 对于某些特定场景下的源码视图缺失现象,可能是由于当前工作空间未能正确识别全部模块所引起。此时应该核查Project Structure的Content Roots设定项是否涵盖了整个工程根目录;必要时可手动添加遗漏部分,并保存变更生效[^3]。 ```python # 示例代码用于展示如何获取当前项目的根路径,在实际应用中可根据需求调用该函数辅助排查问题 import os def get_project_root(): current_file = os.path.abspath(__file__) project_dir = os.path.dirname(current_file) while not os.path.exists(os.path.join(project_dir, '.idea')): parent_dir = os.path.dirname(project_dir) if parent_dir == project_dir: break project_dir = parent_dir return project_dir print(f"Current Project Root Directory is {get_project_root()}") ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值