最近想使用few-shot-vid2vid训练人体姿态动作迁移模型,看了一堆博客和官方文档没搞懂训练数据格式是怎样的。后来下载官方提供的测试数据准备先跑通工程,运行工程时又出现各种错误,现将一些错误和解决办法进行整理记录。
1、安装所需的第三方包
官方要求的工程环境:
- Linux or macOS
- Python 3
- NVIDIA GPU + CUDA cuDNN
- PyTorch 1.2
我的工程环境:
cuda 10.1
pytorch 1.5.1
python 3.6.10
pip install dominate requests
pip install dlib
2、首先下载few-shot-vid2vid
git clone https://github.com/NVlabs/few-shot-vid2vid
cd few-shot-vid2vid
3、运行download_datasets.py下载官方提供的案例数据,已将该案例数据和后续需要用到的flownet2的模型文件上传至网盘
链接: https://pan.baidu.com/s/14-ZW6aeXl8cVxk61aE99vg 密码: 8kh4
python scripts/download_datasets.py
下载官方的案例数据后便可知道该工程训练数据的格式是怎样的;如下图训练人脸数据需要视频抽帧图像及每个图像对应的人脸68个关键点,训练人体姿态数据则需要视频抽帧图像外还需要安装openpose和densepose,由于设备环境的问题无法成功安装。
4、将datasets解压后文件放置fewshot-vid-vid目录下准备运行案例数据来跑通工程,这里尝试跑通face的训练
sh scripts/face/train_g1_256.sh
运行工程会报no module resample2d_cuda
6、解决flownet2_pytorch编译报错问题
这是因为flownet2_pytorch工程需要编译,进入models/networks/flownet2_pytorch,运行sh install.sh后又报了个新的错误无法编译,查了很多资料去了解下这个光流模型工程。通过该博客介绍的方法:
install.sh之前
修改networks/channelnorm_package、
networks/resample2d_package、
networks/correlation_package 三个文件夹里的setup.py文件:
c++11改成c++14,保存。
再运行 ./install.sh成功安装
7、将下载的flownet2模型FlowNet2_checkpoint.pth.tar放置flownet2_pytorch目录下
网盘提供模型下载:链接: https://pan.baidu.com/s/14-ZW6aeXl8cVxk61aE99vg 密码: 8kh4
8、回到few-shot-vid2vid目录,再次运行face训练脚本成功跑通工程
sh scripts/face/train_g1_256.sh
总结:
跑通few-shot-vid2vid工程踩了太多坑,中间可能还存在遗漏的问题;刚开始一直纠结数据格式问题,在运行工程提供的数据处理代码也同样出现很多还未解决的问题,主要原因是openpose和densepose没正常安装造成,由于环境条件约束选择先跑通face的训练。从官方文档上看还未提供预训练模型,所以目前还不确定自己找到的数据能否达到官方的效果。
参考:
https://blog.csdn.net/w535821496/article/details/108802488