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"…...
Leetcode 3576. Transform Array to All Equal Elements
Leetcode 3576. Transform Array to All Equal Elements 1. 解题思路2. 代码实现 题目链接:3576. Transform Array to All Equal Elements 1. 解题思路 这一题思路上就是分别考察一下是否能将其转化为全1或者全-1数组即可。 至于每一种情况是否可以达到…...

Python爬虫(一):爬虫伪装
一、网站防爬机制概述 在当今互联网环境中,具有一定规模或盈利性质的网站几乎都实施了各种防爬措施。这些措施主要分为两大类: 身份验证机制:直接将未经授权的爬虫阻挡在外反爬技术体系:通过各种技术手段增加爬虫获取数据的难度…...

DBAPI如何优雅的获取单条数据
API如何优雅的获取单条数据 案例一 对于查询类API,查询的是单条数据,比如根据主键ID查询用户信息,sql如下: select id, name, age from user where id #{id}API默认返回的数据格式是多条的,如下: {&qu…...

优选算法第十二讲:队列 + 宽搜 优先级队列
优选算法第十二讲:队列 宽搜 && 优先级队列 1.N叉树的层序遍历2.二叉树的锯齿型层序遍历3.二叉树最大宽度4.在每个树行中找最大值5.优先级队列 -- 最后一块石头的重量6.数据流中的第K大元素7.前K个高频单词8.数据流的中位数 1.N叉树的层序遍历 2.二叉树的锯…...

Linux --进程控制
本文从以下五个方面来初步认识进程控制: 目录 进程创建 进程终止 进程等待 进程替换 模拟实现一个微型shell 进程创建 在Linux系统中我们可以在一个进程使用系统调用fork()来创建子进程,创建出来的进程就是子进程,原来的进程为父进程。…...
力扣-35.搜索插入位置
题目描述 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。 请必须使用时间复杂度为 O(log n) 的算法。 class Solution {public int searchInsert(int[] nums, …...
Python ROS2【机器人中间件框架】 简介
销量过万TEEIS德国护膝夏天用薄款 优惠券冠生园 百花蜂蜜428g 挤压瓶纯蜂蜜巨奇严选 鞋子除臭剂360ml 多芬身体磨砂膏280g健70%-75%酒精消毒棉片湿巾1418cm 80片/袋3袋大包清洁食品用消毒 优惠券AIMORNY52朵红玫瑰永生香皂花同城配送非鲜花七夕情人节生日礼物送女友 热卖妙洁棉…...

【7色560页】职场可视化逻辑图高级数据分析PPT模版
7种色调职场工作汇报PPT,橙蓝、黑红、红蓝、蓝橙灰、浅蓝、浅绿、深蓝七种色调模版 【7色560页】职场可视化逻辑图高级数据分析PPT模版:职场可视化逻辑图分析PPT模版https://pan.quark.cn/s/78aeabbd92d1...

Linux 内存管理实战精讲:核心原理与面试常考点全解析
Linux 内存管理实战精讲:核心原理与面试常考点全解析 Linux 内核内存管理是系统设计中最复杂但也最核心的模块之一。它不仅支撑着虚拟内存机制、物理内存分配、进程隔离与资源复用,还直接决定系统运行的性能与稳定性。无论你是嵌入式开发者、内核调试工…...
SQL慢可能是触发了ring buffer
简介 最近在进行 postgresql 性能排查的时候,发现 PG 在某一个时间并行执行的 SQL 变得特别慢。最后通过监控监观察到并行发起得时间 buffers_alloc 就急速上升,且低水位伴随在整个慢 SQL,一直是 buferIO 的等待事件,此时也没有其他会话的争抢。SQL 虽然不是高效 SQL ,但…...