首页 > 其他分享 >SadTalker项目上手教程

SadTalker项目上手教程

时间:2023-06-19 14:47:16浏览次数:32  
标签:教程 项目 SadTalker cuda https gfpgan pip 安装 下载

 git  :   https://github.com/OpenTalker/SadTalker

 

使用教程  (完成 前2步即可, 然后点击  webui.bat 启动即可)

SadTalker上手门槛低,对新手相当友好,按照我的步骤一步步进行将确保你能够正常玩转这个项目。

一、环境准备 (有python 环境可以不装)

1、安装 Anaconda      https://www.anaconda.com/download-success

2、安装NVIDIA cuda-toolkit

项目基于 PyTorch,如果你的电脑使用了英伟达的显卡,那么建议你安装cuda-toolkit,以便充分发挥显卡进行机器训练的优势。非常不建议直接用CPU,速度会非常慢。

进入官网 cuda-toolkit,根据显卡的cuda版本号,选择对应版本的toolkit下载,然后按照提示进行安装即可,安装目录可自定义。

显卡cuda版本号可通过 nvidia-smi 命令查看。

下载路径: 

最新版本:https://developer.nvidia.com/cuda-downloads
历史版本:https://developer.nvidia.com/cuda-toolkit-archive

3、安装 visual studio c++ 模块

进入官网 visualstudio,选择社区版下载,仅勾选使用C++的桌面开发 ,然后安装即可。

 

 

二、下载项目及训练模型

1、下载源码

进入项目主页 SadTalker,通过Git将源码clone下来,或者直接点DownloadZip手动下载。

2 、下载gfpgan模型

gfpgan是腾讯开源的人脸复原模型,用于解决如何从低分辨率低质量的真实图像中获得较好的先验知识,复原人脸图像的问题。它利用封装在预训练脸部GAN中的丰富多样的先验信息进行人脸盲修复。这种生成性面部先验(GFP)通过空间特征变换层被纳入到人脸恢复过程中

点击 GFPGANv1.4 即可下载,将下载好的模型放到项目中E:\ProgramData\openAI\SadTalker\gfpgan\weights\下,源码是不包含\gfpgan\weights\这个目录的,可以手动创建下。

3 、下载其它必要模型

进入 Releases 页面,选择最新版本的Assets,所有除源码以外的文件都进行下载。

 

下载完成后,放到 E:\ProgramData\openAI\SadTalker\checkpoints目录下,此外需要将hub.zipBFM_Fitting.zip分别解压下,其他不用解压。源码不包含\checkpoints这个目录,需要手动创建下。

三、用 Anaconda 将项目跑起来

1、打开 Anaconda Prompt,设置pip源,并切换到项目目录

pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
pip config set install.trusted-host https://pypi.tuna.tsinghua.edu.cn
python -m pip install pip -U  #升级pip
#windows环境下会在 c:/users/用户账号//AppDADA/Raoming/pip/pip.ini文件中写入配置参

 

2、创建虚拟环境并安装依赖

首次运行需要通过conda create 命令创建运行环境,然后激活环境,然后下载依赖包。

以下命令执行过程中,可能会提示报错,根据报错提示下载相关的依赖即可。

如果是提示缺少dlib,那就非常考虑耐心了。由于dlib的安装需要相当长的时间,建议通过 pip install dlib -vvv 查看详细的安装进度,并且你要确保电脑不会因休眠而断网。

conda create -n sadtalker python=3.8conda activate sadtalkerpip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118conda install ffmpegpip install -r requirements.txt

 

3、执行 conda info,复制GFPGANv1.4.pth到虚拟环境

根据 active env location 提示,找到虚拟环境的位置。

把源代码压缩包里面的:gfpgan\weights\GFPGANv1.4.pth 剪切到虚拟环境的 Lib\site-packages\gfpgan\weights 目录下

4、运行命令,生成视频

python inference.py --driven_audio E:\temp\sadtalker\input\1.wav --source_image E:\temp\sadtalker\input\1.jpg --result_dir E:\temp\sadtalker\output --still --enhancer gfpgan --full_img_enhancer gfpgan

其中 driven_audio 参数值要替换为 你的语音文件, source_image 参数值要替换为 你的图片, result_dir 参数值要替换为 你的资源输出目录。

这里是最后一步,可能会报错,如果出现 attempting to deserialize object on a cuda device but torch.cuda.is_available() is false.这样的报错。说明你没有正确安装GPU的cuda工具包,请返回安装NVIDIA cuda-toolkit 这一步进行安装,如有必要请升级显卡驱动。如果你确实没有英伟达的显卡,那么可根据报错提示,找到对应位置的源码,修改默认的device为cpu即可。

运行完成后,我们将看见一个栩栩如生的短视频。

 

转: https://www.syrr.cn/news/43584.html?action=onClick

 

标签:教程,项目,SadTalker,cuda,https,gfpgan,pip,安装,下载
From: https://www.cnblogs.com/lshan/p/17491096.html

相关文章

  • vite+vue3项目中使用 lottie 动画,如何在 template 中直接使用本地 json 文件路径
    安装lottie-webyarnaddlottie-web封装 lottie组件<template><divref="animation":style="{width,height}"></div></template><script>import{defineComponent,ref,onMounted}from'vue'......
  • Three.js教程:动画渲染循环
    推荐:将NSDT场景编辑器加入你的3D工具链其他系列工具:NSDT简石数字孪生动画渲染循环threejs可以借助HTML5的API请求动画帧window.requestAnimationFrame实现动画渲染。请求动画帧window.requestAnimationFrame//requestAnimationFrame实现周期性循环执行//requestAnimationF......
  • Windows服务器定时重启设置教程 103.216.155.x
    Windows系统的任务计划程序,可以添加计划任务,设置任务开始时间及执行的间隔,实现应用的自动执行。例如:实现定时重启、关机等常见的功能。如何使用参考以下步骤1、新建一个文本文件,将文件后缀改为bat,然后添加如下代码shutdown-r-f-t 0该命令的作用是立即强制重启机器。在文件中单......
  • (五)flex弹性布局、flex容器属性、flex项目属性
    一、flex弹性布局 二、flex容器属性  三、flex项目属性 ......
  • Draw.io部署教程
    Draw.io是GitHub上的一个开源的免费流程图绘制工具,功能非常的丰富,使用上和ProcessOn基本上是一致的,但是ProcessOn是收费的。 Draw.io也有在线网页版,可以直接访问(https://www.draw.io/)进行使用。也有桌面版,桌面版下载地址:https://github.com/jgraph/drawio-desktop/releases。不管......
  • 谷歌内部流出Jetpack Compose最全上手指南,含项目实战演练!
    简介JetpackCompose是在2019Googlei/O大会上发布的新的库。Compose库是用响应式编程的方式对View进行构建,可以用更少更直观的代码,更强大的功能,能提高开发速度。Compose并不是像RecyclerView、ConstraintLayout这种做了一个或者几个高级的UI控件,而是直接抛弃了我们写了N年......
  • 又一开源项目爆火于GitHub,Android高级插件化强化实战
    一、插件化起源插件化技术最初源于免安装运行Apk的想法,这个免安装的Apk就可以理解为插件,而支持插件的app我们一般叫宿主。想必大家都知道,在Android系统中,应用是以Apk的形式存在的,应用都需要安装才能使用。但实际上Android系统安装应用的方式相当简单,其实就是把应用Apk......
  • Kotlin版本的WanAndroid项目实战(三):Kotlin的集合
    集合概述学习方法:扫描一遍下述表格中集合相关的有哪些操作,具体使用时再可以详细去查构造集合Kotlin里面添加了可变集合的概念,目前只是一种接口级别的限制,底层实现还是可变的集合,不是线程安全的,还是可以通过Java代码修改内部元素迭代器(1)Iterable接口的继承者(包括Set与......
  • Kotlin与Java互调原理项目实战
    数天前我将我java开发的工程,全部转换成了kotlin形式的工程。如果你也想做,本身也有一定的java开发安卓程序的功底。本文将比较适合你。创建kotlin工程,拷贝类文件xml文件等核心文件到工程目录下,形成一个kotlin底子的java代码组成的工程,然后通过ctrl+shift+alt+k快捷代码逐个转换......
  • kotlin协程原理分析项目实战
    自从6.0加入动态权限之后,很多地方都要用到,开始的时候使用的原生代码写权限请求,代码格式如:if(应用是否已经请求了该权限组){权限请求后的代码}else{请求权限}然后不知道在fragment或是activity里面重写overrideonRequestPermissionsResult{if(请求成功){......