python的simswap库配置详细教程

简介

本文是开源库simswap的配置教程,与另外两个知名库比,它的要求更低,用法更加简洁,但官方教程却写得不够仔细,本文将以图文方式来介绍使用cuda和onnxruntime-gpu来进行具体配置。
注:这个库上使用cuda请确保你有3G以上的显存。

环境配置

第一步配置conda

假定你已经安装了cuda,没安装的查阅另外的教程。
本例中cuda版本为11.4,onnxruntime-gpu也为最新的1.10.0。
查阅cuda版本和onnxruntim-gpu版本的对应关系点击这里。

conda create -n simswap python=3.6
conda activate simswap
conda install pytorch==1.8.0 torchvision==0.9.0 torchaudio==0.8.0 cudatoolkit=10.2 -c pytorch
pip install insightface==0.2.1 onnxruntime moviepy
pip install onnxruntime-gpu #==1.10

以上为新建一个名字叫做simswap的conda环境,并安装各种所需包的过程,其中onnxruntim-gpu的版本参照你的cuda,其他的库的版本都为固定版本,换了可能导致报错。

第二步下载github库和四个模型
若要自己训练,请参阅另外教程,本文只使用预训练模型进行推断。
先把整个库git下来或者点击下载zip链接在这里
python的simswap库配置详细教程_第1张图片
然后再:
下载insightface模型
下载图像处理模型
下载两个预训练模型
然后再把以上四个模型放进你下载下来的github库目录:
python的simswap库配置详细教程_第2张图片
insightface_func的model目录下是这样(需自行创建models目录):
python的simswap库配置详细教程_第3张图片
parsing_model的目录下是这样(需自行创建checkpoint目录):
python的simswap库配置详细教程_第4张图片
然后是两个预训练模型,一个(.tar无需解压)放在arcface_model文件夹(需自行创建)下,另一个放在根目录的checkpoints文件夹下,需解压:
python的simswap库配置详细教程_第5张图片
python的simswap库配置详细教程_第6张图片

第三步修改推断代码
找到这个目录(我这里是C:\Users\Administrator.conda\envs\simswap\Lib\site-packages\insightface\model_zoo)下的model_zoo.py:
python的simswap库配置详细教程_第7张图片
找到get_model函数的onnxruntime.InferenceSession模块:
在这里插入图片描述
把None改成providers=[‘CUDAExecutionProvider’],原因是必须指定用什么来进行推断:
python的simswap库配置详细教程_第8张图片
第四步测试示例
在你下载的github库目录下挂起命令行(可以地址栏直接输入cmd启动),并启动你之前创建的对应conda的环境(输入conda activate simswap),输入以下命令(是换单张face的,换多张face和其他的命令请查阅使用方法):

python test_video_swapsingle.py --crop_size 224 --use_mask --name people --Arc_path arcface_model/arcface_checkpoint.tar --pic_a_path ./demo_file/Iron_man.jpg --video_path ./demo_file/multi_people_1080p.mp4 --output_path ./output/multi_test_swapsingle.mp4 --temp_path ./temp_results 

无误的情况下将输出以下内容,等待约4分钟推断完成,结果在output目录下:
python的simswap库配置详细教程_第9张图片
另外看下运行过程中的性能,确实使用了3个G的显存:
python的simswap库配置详细教程_第10张图片
python的simswap库配置详细教程_第11张图片

你可能感兴趣的:(Python,python,人工智能)