一、iPERCore是什么?
iPERCore是GitHub上的一个开源项目,对应论文的是Liquid Warping GAN with Attention: A Unified Framework for Human Image Synthesis
一些简单的介绍可以看看这篇专门介绍的博客,这我就不在这里啰嗦了。
另外相关的论文(论文是EI的,比较难找)以及下面要使用的一些权重文件可以从百度网盘里下载(提取码:jack)
二、硬件与基本环境准备
1.硬件
- 电脑一台
- 显卡(中端显卡起步,具体可以看下图)
2.基本环境
- Linux系统
- Ubuntu18,NVIDIA,cuda10.1,cudnn,pycharm,anaconda3,pytorch(具体安装方法可以看我以前的博客)
三、搭建iPERCore环境
首先去把iPERCore项目源文件下载下来
在完成第二步基础环境的搭建后,开始搭建它独有环境。
-
虚拟环境
创建一个新的anaconda虚拟环境conda create -n (自定义环境名) python=3.6
激活进入虚拟环境:
source activate(自定义环境名)
-
安装ffmpeg、Git
apt-get install ffmpeg apt-get install git
-
下载权重文件
可以在前面我提到的第一个百度网盘里下载,如果第一个失效了请在第二个百度网盘(密码:uomm)里下载。把下载下来的权重文件压缩包解压到源文件包iPERCore/assets下
-
安装mmdetection 、mmediting与neural_renderer包
正常来说执行到这一步就可以直接在命令行(虚拟环境下)cd到iPER文件夹中运行:python setup.py develop
如果你运气好在安装编译过程中就没有出现报错,但运气不好出现报错的话可能是一些位置(地理位置)原因导致的。其中最容易出现问题的就是mmdetection 、mmediting与neural_renderer包这三个包,我们打开源文件下的full_reqs.txt文本可以看见mmdetection 、mmediting与neural_renderer包这三个包的Git下载命令,我们截取其中的GitHub地址分别单独下载。
下载好这三个压缩包后,把mmdetection 、mmediting直接解压放进site-packages(具体路径看下图,guanjie是你自己的虚拟环境名)下。
剩下的neural_renderer包处理就稍微麻烦点,先解压neural_renderer包,然后终端进入虚拟环境cd到neural_renderer文件夹下,再执行以下命令。python3 setup.py install
如果顺利的话这三个包就可以成功安装了。
-
一些error解决
(1)如果有提示一些包没安装的话,我这里提供我的虚拟环境的所有安装库。
(2)报错 No CUDA GPUs are available
首先,查看自己是否真的拥有可用的GPUprint(torch.cuda.device_count()) print(torch.cuda.is_available()) 测试输出是否1和True
如果是1与True那就是说明显卡和GPU是正常可用的,可以尝试执行这一段
export CUDA_HOME=/usr/local/cuda-10.1
这样它就可以成功识别到你的CUDA了
(3)CUDA内存不足
RuntimeError: CUDA out of memory. Tried to allocate 1.49 GiB (GPU 0; 5.80 GiB total capacity; 938.49 MiB already allocated; 1.13 GiB free; 3.43 GiB reserved in total by PyTorch)
请看下面的指令 –image_size 使用
(4)当前来源数量为1,而预定义来源数量为2
请看下面的指令 –gpu_ids 使用
四、命令行指令使用
iPER的运行与调用一般是使用命令行执行的,终端进入虚拟环境cd到iPERCore文件夹下执行。
具体命令可以查看/iPERCore/demo/motion_imitate.py文件与/iPERCore/scripts_runner.md文件。
对一些命令进行解析:
python demo/motion_imitate.py
运行motion_imitate.py文件
–gpu_ids 0 \
可用GPU,多卡的可以改为2或1,单卡只能是0,否则会出现当前来源数量为1,而预定义来源数量为2的错误
–image_size 512 \
与你的GPU的算力有关,imags_size=512至少需要 9.8GB GPU内存。如果您使用的是中级GPU(例如RTX 2060),则应将其更改image_size为384或256,超算力会提示CUDA内存不足。具体参考下图
–src_path
“path?=./assets/samples/sources/donald_trump_2/00001.PNG,name?=donald_trump_2”
\ 图片路径
–ref_path
“path?=./assets/samples/references/akun_2.mp4,name?=akun_2,pose_fc?=300”
视频路径
大概这样你就可以初步运用这个项目了,如果有什么问题可以在评论里询问,我会尽量回答,给个3连吧!!!
五、总结
在学习视觉的过程中是一件很枯燥的事情,单纯的自下而上的学习方法容易让人从入门到入土,所以在学习的过程中去尝试复现一些当前流行的自己感兴趣的项目是保持良好学习心态的有效方法。