FSGAN的环境配置

说明

Linux系统下FSGAN的部署

提供video2video的fake视频生成

一、github链接

https://github.com/YuvalNirkin/fsgan

二、环境配置

1.要求

  • 具有至少 11GB DRAM 的高端 NVIDIA GPU。
  • Linux 或 Windows。我们建议使用 Linux 以获得更好的性能。
  • CUDA 工具包 10.1+、CUDNN 7.5+ 和最新的 NVIDIA 驱动程序。

2.安装

git clone https://github.com/YuvalNirkin/fsgan
cd fsgan
conda env create -f fsgan_env.yml
conda activate fsgan
pip install .    # Alternatively add the root directory of the repository to PYTHONPATH

 fsgan_env.yml 文件里有一些库的版本要求

 3.注意事项

github提供了链接填写form去下载预训练的模型

要访问 FSGAN 的预训练模型和辅助数据,请填写此表格。 然后,我们将向您发送指向 FSGAN 共享目录和下载脚本的链接。(收到邮件的时间大概在两天之内并且他的模型是在持续更新的)

运行github中的download_fsgan_models.py这个脚本可用于直接服务器上下载模型,一共十五个预训练模型(这个脚本也是在提交form的表格后邮件里的)。

python download_fsgan_models.py   # From the repository root directory

此处提供2023.11.23获得的预训练模型网盘链接

链接:https://pan.baidu.com/s/1NKj3T2z-XnLIT5SATTZesA 
提取码:asdf 
--来自百度网盘超级会员V5的分享


3.使用

Face Swapping Inference

首先确保 fsgan/weights 目录中有所有最新版本的模型

 文件夹的docs目录里是提供的示例

conda activate fsgan

cd /home/xxx/fsgan/fsgan(你自己的目录)

为了获得最佳质量,请遵循以下示例:

# From FSGAN's root directory
python fsgan/inference/swap.py docs/examples/shinzo_abe.mp4 -t docs/examples/conan_obrien.mp4 -o . --finetune --finetune_save --seg_remove_mouth 

FineTune:启用 Reenactment Generator
的初始微调阶段 finetune_save:将微调权重保存到缓存目录
seg_remove_mouth:从分割掩码中取出嘴巴的内部

此脚本进行了换脸并启用驱动去进行换嘴部表情

原视频、目标视频、输出路径格式为如下

python swap.py SOURCE -t TARGET -o OUTPUT [FLAGS]

 Paper Models Inference

作者还提供了一个更细致的使用,但是根据模型的更新日期和脚本的更新日期来看,更新了Face Swapping Inference并未更新  Paper Models Inference,使用的的时候需要修改引用库的位置,不过即使修改了库的引用位置仍然存在问题如下类似报错:

size mismatch for enhancer1.flat_block.model.1.model.5.weight: copying a param with shape torch.Size([256, 256, 3, 3]) from checkpoint, the shape in current model is torch.Size([128, 128, 3, 3]).

查了一些资料发现这个问题是由于 PyTorch 模型的参数大小不匹配而引起的。具体来说,在模型中,enhancer1.flat_block.model.1.model.5.weight 这个参数的形状是 torch.Size([256, 256, 3, 3]),但在加载模型的时候,检查点中相应参数的形状为 torch.Size([128, 128, 3, 3])。这可能是因为模型的结构发生了变化,导致加载的检查点与当前模型不兼容。可能的原因包括模型架构的修改、输入维度的变化等。

去weights目录下也可以看到这些预训练模型都是256的。

如果有知道怎么解决欢迎评论私信,十分感谢!!!

在使用时有可能会遇到module不存在的报错

其中要注意

face_alignment库有版本要求(这很重要其他版本一些字段名进行了修改)

pip install face_alignment==1.1.1

如果遇到报错为 AttributeError: partially initialized module ‘cv2’ has no attribute ‘gapi_wip_gst_GStreamerPipeline’ (most likely due to a circular import)

pip uninstall opencv-python

pip uninstall opencv-contrib-python

pip install opencv-contrib-python==4.5.4.60

pip install opencv-python

使用的服务器配置为2080,生成一个示例的fake视频时间大约是4min左右。 

  • 16
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
根据提供的引用内容,你遇到了一些与导入torch库相关的错误。根据引用、和中的信息,错误可能与缺少或不匹配的库文件相关。 对于引用中的错误,这是因为缺少名为"cudaGraphRetainUserObject"的符号,版本要求为"libcudart.so.11.0"。这可能是由于缺少或不正确安装了CUDA库,或者CUDA库版本与torch不兼容导致的。 对于引用中的错误,这是因为缺少名为"cublasLtGetStatusString"的符号,版本要求为"libcublasLt.so.11"。这可能是由于缺少或不正确安装了CUDA库,或者CUDA库版本与torch不兼容导致的。 对于引用中的错误,这也是缺少名为"cudaGraphRetainUserObject"的符号,版本要求为"libcudart.so.11.0"。同样,这可能是由于缺少或不正确安装了CUDA库,或者CUDA库版本与torch不兼容导致的。 解决这些错误的方法可能包括以下步骤: 1. 确保你正确安装了CUDA库,并且版本与torch兼容。 2. 检查CUDA库的路径是否正确设置,并且可以在系统中正确访问。 3. 如果你使用的是Anaconda环境,请确保你在正确的环境中安装了torch和相关的CUDA库。 如果以上步骤都没有解决你的问题,你可能需要参考相关文档、论坛或向torch的开发者社区寻求帮助,以获得更具体的解决方案。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [ImportError: /home/yukang/anaconda3/envs/fsgan/lib/python3.9/site-packages/torch/lib/libtorch_cuda_c](https://blog.csdn.net/qq_45934285/article/details/127949032)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] - *2* [OSError: /home/yukang/anaconda3/envs/fsgan/lib/python3.9/site-packages/torch/lib/../../nvidia/cublas](https://blog.csdn.net/qq_45934285/article/details/127951843)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值