conda安装及demo:SadTalker实现图片+音频生成高质量视频
1.安装conda
下载各个版本地址:https://repo.anaconda.com/archive/
win10版本: Anaconda3-2023.03-1-Windows-x86_64
linux版本: Anaconda3-2023.03-1-Linux-x86_64
Windows安装


环境变量

conda -V

2.配置conda镜像源
安装pip
conda install pip
镜像设置
conda config --add channels https://mirrors.aliyun.com/anaconda/pkgs/main
其他镜像源
# 中科大镜像源
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/conda-forge/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/msys2/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/bioconda/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/menpo/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/# 北京外国语大学源
conda config --add channels https://mirrors.bfsu.edu.cn/anaconda/pkgs/main
conda config --add channels https://mirrors.bfsu.edu.cn/anaconda/pkgs/free
conda config --add channels https://mirrors.bfsu.edu.cn/anaconda/pkgs/r
conda config --add channels https://mirrors.bfsu.edu.cn/anaconda/pkgs/pro
conda config --add channels https://mirrors.bfsu.edu.cn/anaconda/pkgs/msys2#清华源
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/pro
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2#阿里云
conda config --add channels http://mirrors.aliyun.com/anaconda/pkgs/main
conda config --add channels http://mirrors.aliyun.com/anaconda/pkgs/r
conda config --add channels http://mirrors.aliyun.com/anaconda/pkgs/msys2
pip镜像设置
pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/
删除指定的镜像源
conda config --remove channels http://mirrors.aliyun.com/anaconda/pkgs/main/
3.常用命令
conda当前的镜像源
conda config --show-sources
创建conda环境 env_name自定义名称
conda create --name <evn_name> <pakages_name> <python = version number >
conda create -n env_name python==3.10
在指定的目录下创建虚拟环境
conda create --prefix=D:\environment\Python python=3.8
只需要修改D:\environment\Python对应的路径部分即可
激活conda环境,env_name为创建环境时的名称
activate env_name
退出虚拟环境
deactivate
删除指定conda环境,env_name为创建环境时的名称
conda remove -n env_name --allconda env remove -p F:\conda_work\sadtalker (指定虚拟环境所在为位置)


查看当前存在哪些虚拟环境
conda env list
或者
conda info -e
检查更新当前conda
conda update conda
查看安装了哪些包
conda list
安装包
conda install package_name(包名)
删除虚拟环境中的包
conda remove --name $env_name $package_name
4.遇到的问题
UnavailableInvalidChannel: HTTP 404 NOT FOUND for channel

解决方案:
conda config --remove-key channels
5.例:运行sadtalker
SadTalker可以实现图片+音频生成高质量视频
项目地址:https://github.com/OpenTalker/SadTalker
SadTalker安装及使用指南
点开项目地址然后将其下载下来然后解压


在 sadtalker项目根目录下新建两个目录checkpoints 和gfpgan,下载好的模型分别放在这两个文件夹
通过网盘分享的GFP-GAN人脸复原模型文件:gfpgan.zip
链接: https://pan.baidu.com/s/1bu8l-cZmmvIYrEJzWwNJ0Q?pwd=4rbc 提取码: 4rbc
通过网盘分享的预训练模型文件:sadtalker_checkpoints_v0.0.2.zip
链接: https://pan.baidu.com/s/1zImWlqI7ll-bowdlNDkLdw?pwd=nsvh 提取码: nsvh

在其目录下打开cmd

创建虚拟环境
conda create -n sadtalker python=3.8

conda env list

activate sadtalker

安装依赖包
conda install ffmpeg
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118 -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple

安装依赖包会报错一大推error的,切换镜像进行下载

pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118 -i https://pypi.tuna.tsinghua.edu.cn/simple
如果切换国内清华源都不好使,说明当前的网络不行,切换为自己的个人热点就可以了
开始使用
python inference.py --driven_audio F:\conda_work\SadTalker\examples\driven_audio\deyu.wav --source_image F:\conda_work\SadTalker\examples\source_image\art_0.png --result_dir F:\temp\sadtalker --still --preprocess full --enhancer gfpgan
F:\conda_work\SadTalker\examples\driven_audio\deyu.wav 替换为你的音频
F:\conda_work\SadTalker\examples\source_image\art_0.png 替换为你的图片
F:\temp\sadtalker 替换为你的输出路径
运行之后一直报错
(sadtalker) F:\conda_work\SadTalker>python inference.py --driven_audio F:\conda_work\SadTalker\examples\driven_audio\deyu.wav --source_image F:\conda_work\SadTalker\examples\source_image\art_0.png --result_dir F:\temp\sadtalker --still --preprocess full --enhancer gfpgan
Traceback (most recent call last):File "F:\conda_work\SadTalker\inference.py", line 10, in <module>from src.facerender.animate import AnimateFromCoeffFile "F:\conda_work\SadTalker\src\facerender\animate.py", line 23, in <module>from src.utils.face_enhancer import enhancer_generator_with_len, enhancer_listFile "F:\conda_work\SadTalker\src\utils\face_enhancer.py", line 4, in <module>from gfpgan import GFPGANerFile "F:\anaconda3\envs\sadtalker\lib\site-packages\gfpgan\__init__.py", line 2, in <module>from .archs import *File "F:\anaconda3\envs\sadtalker\lib\site-packages\gfpgan\archs\__init__.py", line 2, in <module>from basicsr.utils import scandirFile "F:\anaconda3\envs\sadtalker\lib\site-packages\basicsr\__init__.py", line 4, in <module>from .data import *File "F:\anaconda3\envs\sadtalker\lib\site-packages\basicsr\data\__init__.py", line 22, in <module>_dataset_modules = [importlib.import_module(f'basicsr.data.{file_name}') for file_name in dataset_filenames]File "F:\anaconda3\envs\sadtalker\lib\site-packages\basicsr\data\__init__.py", line 22, in <listcomp>_dataset_modules = [importlib.import_module(f'basicsr.data.{file_name}') for file_name in dataset_filenames]File "F:\anaconda3\envs\sadtalker\lib\importlib\__init__.py", line 127, in import_modulereturn _bootstrap._gcd_import(name[level:], package, level)File "F:\anaconda3\envs\sadtalker\lib\site-packages\basicsr\data\realesrgan_dataset.py", line 11, in <module>from basicsr.data.degradations import circular_lowpass_kernel, random_mixed_kernelsFile "F:\anaconda3\envs\sadtalker\lib\site-packages\basicsr\data\degradations.py", line 8, in <module>from torchvision.transforms.functional_tensor import rgb_to_grayscale
ModuleNotFoundError: No module named 'torchvision.transforms.functional_tensor'
这表明 basicsr 或 gfpgan 库中确实存在对这个模块的硬编码引用,并且它在当前版本的 torchvision 中并不存在。
解决方案修改 basicsr 源码:
找到 F:\anaconda3\envs\sadtalker\lib\site-packages\basicsr\data\degradations.py 文件,并将以下行:
from torchvision.transforms.functional_tensor import rgb_to_grayscale
在需要使用 rgb_to_grayscale 的地方,使用 F.rgb_to_grayscale 代替原来的导入方式。



然后再此运行生成视频
python inference.py --driven_audio F:\conda_work\SadTalker\examples\driven_audio\deyu.wav --source_image F:\conda_work\SadTalker\examples\source_image\art_0.png --result_dir F:\temp\sadtalker --still --preprocess full --enhancer gfpgan


生成成功

退出虚拟环境

相关文章:
conda安装及demo:SadTalker实现图片+音频生成高质量视频
1.安装conda 下载各个版本地址:https://repo.anaconda.com/archive/ win10版本: Anaconda3-2023.03-1-Windows-x86_64 linux版本: Anaconda3-2023.03-1-Linux-x86_64 Windows安装 环境变量 conda -V2.配置conda镜像源 安装pip conda…...
【面试】后端开发面试中常见数据结构及应用场景、原理总结
在后端开发面试中,常见的数据结构包括数组、链表、栈、队列、二叉树、平衡树、堆、图和哈希表等。以下是这些数据结构的总结,包括它们的应用场景、优缺点。 常见数据结构及其应用场景 数据结构应用场景数组存储固定大小的数据集合,如学生成…...
141.《mac m系列芯片安装mongodb详细教程》
文章目录 下载从官网下载安装包 下载后双击解压出文件夹安装文件名修改为 mongodb配置data存放位置和日志log的存放位置启动方式一方式二方式二:输入mongo报错以及解决办法 本人电脑 m2 pro,属于 arm 架构 下载 官网地址: mongodb官网 怎么查看自己电脑应该下载哪个版本,输入…...
Java 23 集合框架详解:ArrayList、LinkedList、Vector
📚 Java 23 集合框架详解:ArrayList、LinkedList、Vector 在 Java 集合框架中,ArrayList、LinkedList 和 Vector 是三种最常用的 List 接口实现类。它们都可以存储有序的、可重复的元素,但它们在 底层实现、性能 和 多线程安全 等…...
03、MySQL安全管理和特性解析(DBA运维专用)
03、MySQL安全管理和特性解析 本节主要讲MySQL的安全管理、角色使用、特定场景下的数据库对象、各版本特性以及存储引擎 目录 03、MySQL安全管理和特性解析 1、 用户和权限管理 2、 MySQL角色管理 3、 MySQL密码管理 4、 用户资源限制 5、 忘记root密码处理办法 6、 SQ…...
创建型模式5.单例模式
创建型模式 工厂方法模式(Factory Method Pattern)抽象工厂模式(Abstract Factory Pattern)建造者模式(Builder Pattern)原型模式(Prototype Pattern)单例模式(Singleto…...
用户界面软件02
基于表单的用户界面 在“基于表单的用户界面”里面,用户开始时选中某个业务处理(模块),然后应用程序就使用一系列的表单来引导用户完成整个处理过程。大型机系统上的大部分用户界面都是这样子的。[Cok97]中有更为详细的讨论。 面…...
VTK 鼠标+键盘重构
1、鼠标事件 如果有鼠标事件处理等相应的需求,可以重写该事件。 void OnMouseMove() override; //鼠标移动事件 void OnLeftButtonDown() override;//左键按下事件 void OnLeftButtonUp() override;//左键抬起事件 void OnMiddleButtonDown() override;//滚轮按下事件 …...
go语言处理JSON数据详解
一、结构体与json之间的转换 Go语言处理JSON数据通常涉及到将JSON数据解析成Go结构体,或者将Go结构体序列化为JSON格式。Go提供了内置的encoding/json包来实现这些操作。下面详细介绍如何在Go中处理JSON数据。 1. Go结构体与JSON映射 Go语言的encoding/json包可以将JSON数据…...
基于gin一个还算比较优雅的controller实现
看了两天时间的go,对于go的编码风格还不是很了解,但是了解到go并未有Java那样成体系的编码风格规范,所以自己浅尝试了一下,风格无对错,欢迎交流讨论~ controller层: package …...
PDFMathTranslate: Star13.8k,一款基于AI的PDF文档全文双语翻译PDF文档全文双语翻译,保留格式神器,你应该需要它
嗨,大家好,我是小华同学,关注我们获得“最新、最全、最优质”开源项目和高效工作学习方法 PDFMathTranslate是一个开源项目,旨在为用户提供便捷的PDF科学论文翻译解决方案。它不仅能够翻译文本,还能保留公式、图表、目…...
Python编程实例-特征向量与特征值编程实现
特征向量与特征值编程实现 文章目录 特征向量与特征值编程实现1、什么是特征向量2、特征向量背后的直觉3、为什么特征向量很重要?4、如何计算特征向量?4、特征向量Python实现5、可视化特征向量6、总结线性代数是许多高级数学概念的基石,广泛应用于数据科学、机器学习、计算机…...
Vue3-跨层组件通信Provide/Inject机制详解
Vue 3 中的 Provide 和 Inject 机制是专为跨层级传递数据而设计的,适用于祖先组件和后代组件之间的通信。与props 和 emits 不同,Provide/Inject 可以跨越多个层级进行数据传递,而不需要逐层传递。 1. Provide provide 是一个在祖先组件中提…...
Linux Jar包定时重启脚本,按最新时间的Jar包启动
Linux Jar包定时重启脚本,按最新时间的Jar包启动 jar包按时间顺序命名如下: park-system-1.1.0-SNAPSHOT_20210101.jar park-system-1.1.0-SNAPSHOT_20210402.jar park-system-1.1.0-SNAPSHOT_20220520.jar 则该脚本默认启动时间最大的一个:park-system-1.1.0-SNAPSHOT_2022…...
HTML5实现好看的博客网站、通用大作业网页模板源码
HTML5实现好看的博客网站、通用大作业网页模板源码 前言一、设计来源1.1 主界面1.2 列表界面1.3 文章界面 二、效果和源码2.1 动态效果2.2 源代码 源码下载结束语 HTML5实现好看的博客网站、通用大作业网页模板源码,博客网站源码,HTML模板源码࿰…...
掌握RabbitMQ:全面知识点汇总与实践指南
前言 RabbitMQ 是基于 AMQP 高级消息队列协议的消息队列技术。 特点:它通过发布/订阅模型,实现了服务间的高度解耦。因为消费者不需要确保提供者的存在。 作用:服务间异步通信;顺序消费;定时任务;请求削…...
go如何从入门进阶到高级
针对Go语言的学习,不同阶段应采取不同的学习方式,以达到最佳效果.本文将Go的学习分为入门、实战、进阶三个阶段,下面分别详细介绍 一、社区 Go语言中文网 作为专注于Go语言学习与推广的平台,Go语言中文网为开发者提供了丰富的中…...
在环境冲突情况下调整优先级以解决ROS Catkin构建中缺少模块的问题【ubuntu20.04】
在机器人操作系统(ROS)的开发过程中,构建工作空间时遇到各种依赖性问题是常见的挑战之一。尤其是在多Python环境共存的情况下,环境变量的冲突往往导致诸如缺少empy模块等错误。本文将详细介绍在ROS Noetic与Anaconda Python环境共…...
github 个人主页配置
Guthub 个人主页 (官方称呼是 profile)可以展示很多有用的信息,例如添加一个首页被访问次数的计数器,一个被 Star 与 Commit 的概览信息,以及各种技能标签,设备标签等,还可以利用 wakatime 显示…...
STM32-笔记30-编程实现esp8266联网功能
串口2连接ESP8266模块 复制项目文件34-ESP8266串口间的通信 重命名为35-编程实现ESP8266联网功能 打开项目文件 main.c #include "sys.h" #include "delay.h" #include "led.h" #include "uart1.h" #include "esp8266.h"…...
利用ngx_stream_return_module构建简易 TCP/UDP 响应网关
一、模块概述 ngx_stream_return_module 提供了一个极简的指令: return <value>;在收到客户端连接后,立即将 <value> 写回并关闭连接。<value> 支持内嵌文本和内置变量(如 $time_iso8601、$remote_addr 等)&a…...
8k长序列建模,蛋白质语言模型Prot42仅利用目标蛋白序列即可生成高亲和力结合剂
蛋白质结合剂(如抗体、抑制肽)在疾病诊断、成像分析及靶向药物递送等关键场景中发挥着不可替代的作用。传统上,高特异性蛋白质结合剂的开发高度依赖噬菌体展示、定向进化等实验技术,但这类方法普遍面临资源消耗巨大、研发周期冗长…...
mongodb源码分析session执行handleRequest命令find过程
mongo/transport/service_state_machine.cpp已经分析startSession创建ASIOSession过程,并且验证connection是否超过限制ASIOSession和connection是循环接受客户端命令,把数据流转换成Message,状态转变流程是:State::Created 》 St…...
CentOS下的分布式内存计算Spark环境部署
一、Spark 核心架构与应用场景 1.1 分布式计算引擎的核心优势 Spark 是基于内存的分布式计算框架,相比 MapReduce 具有以下核心优势: 内存计算:数据可常驻内存,迭代计算性能提升 10-100 倍(文档段落:3-79…...
将对透视变换后的图像使用Otsu进行阈值化,来分离黑色和白色像素。这句话中的Otsu是什么意思?
Otsu 是一种自动阈值化方法,用于将图像分割为前景和背景。它通过最小化图像的类内方差或等价地最大化类间方差来选择最佳阈值。这种方法特别适用于图像的二值化处理,能够自动确定一个阈值,将图像中的像素分为黑色和白色两类。 Otsu 方法的原…...
OkHttp 中实现断点续传 demo
在 OkHttp 中实现断点续传主要通过以下步骤完成,核心是利用 HTTP 协议的 Range 请求头指定下载范围: 实现原理 Range 请求头:向服务器请求文件的特定字节范围(如 Range: bytes1024-) 本地文件记录:保存已…...
Robots.txt 文件
什么是robots.txt? robots.txt 是一个位于网站根目录下的文本文件(如:https://example.com/robots.txt),它用于指导网络爬虫(如搜索引擎的蜘蛛程序)如何抓取该网站的内容。这个文件遵循 Robots…...
自然语言处理——Transformer
自然语言处理——Transformer 自注意力机制多头注意力机制Transformer 虽然循环神经网络可以对具有序列特性的数据非常有效,它能挖掘数据中的时序信息以及语义信息,但是它有一个很大的缺陷——很难并行化。 我们可以考虑用CNN来替代RNN,但是…...
c#开发AI模型对话
AI模型 前面已经介绍了一般AI模型本地部署,直接调用现成的模型数据。这里主要讲述讲接口集成到我们自己的程序中使用方式。 微软提供了ML.NET来开发和使用AI模型,但是目前国内可能使用不多,至少实践例子很少看见。开发训练模型就不介绍了&am…...
IoT/HCIP实验-3/LiteOS操作系统内核实验(任务、内存、信号量、CMSIS..)
文章目录 概述HelloWorld 工程C/C配置编译器主配置Makefile脚本烧录器主配置运行结果程序调用栈 任务管理实验实验结果osal 系统适配层osal_task_create 其他实验实验源码内存管理实验互斥锁实验信号量实验 CMISIS接口实验还是得JlINKCMSIS 简介LiteOS->CMSIS任务间消息交互…...
