EchoMimicV2的部署使用

       最近有一个录课的需要,我不想浪费人力,只想用技术解决。需求很简单,就是用别人现成的录课视频中的形象和声线,再结合我提供的讲稿去生成一个新的录课视频。我觉得应该有现成的技术了,我想要免费大批量生产。最近看到这个EchoMimicV2项目,就想着在学校A100上部署来试一下。因为弄深度学习环境不是特别熟,很多坑肯定是没踩够,所以还是折腾了两天,记录一下免得忘了。因为机器环境比较特殊,对其他人来说就不一定有用了。

主要参考链接:EchoMimicV2:阿里推出的开源数字人项目,能生成完整数字人半身动画-CSDN博客(有缺)

【AI数字人教程】一幅图生成数字人,阿里EchoMimicV2两种部署方式教程-CSDN博客

首先官方的部署过程确实很简单,创建一个Python 3.10环境然后安装相关的库就完了。问题在于现有的cuda是11.8的,看官方的命令应该是装12.4版本。于是问了一下AI能不能用,AI都说最好装匹配cuda版本的库包。

过程有点忘了,我还是记录几个重要的点

一、首先xformers-0.0.28.post3装不上,明明仓库有,但pip就说没有,百思不得其解。 经过后来才知道是因为pytorch仓库里面编译好的whl 版本是带manylinux_2_的,而这个版本支持的版本是manylinux2014的,所以就没识别出来。 就离的于是第一次找了个0.0.27.post2+cu118 装了一下ta它会需要torch-2.4.0来安装(卸载已经装上不对的)。

二、 onnxruntime-gpu==1.20.1 安装过程中同样报了pypi仓库里没有,不解。最后一样是因为Linux平台不支持,而老版本的只支持到1.16.3。 如果强行安装1.20.1, 需要c++17编译什么的,还是装不上。没有root 的我也懒得折腾,所以就只能把requirements的依赖版本改成1.16.3。 百度了一下说1.16.3 能支持到cuda 12.1 ,应该是没问题的。

三、torch2.5.1 配 xformers-0.0.27.post2+cu118 能把界面启动起来,

但点“生成视频”还是有错。想来想去不知道咋办,另外看到在安装过程出现过nvidia-cublas-cu11 和 nvidia-cublas-cu12 这类依赖两个版本都下载下来了,感觉也不靠谱。所以最终还是决定试一下全部降版本。那么就是版本对应的问题,先确定了一下xformers与cuda的关系,xformers 0.0.26‌:支持CUDA 11.8。然后用xformers版本确定torch的版本是2.3.0 , 然后再确定torchvision==0.18.0。 都需要+cu118版本。nvidia-cublas-cu11 这些就只有11的。

最后的过程应该是这样

1. 到pytorch仓库安装torch 2.3.0

pip install pip -U
pip install torch==2.3.0 torchvision==0.18.0 torchaudio==2.3.0  --index-url https://download.pytorch.org/whl/cu118

2. 安装xformers-0.0.26.post1(我是下载回来安装的)

wget https://download.pytorch.org/whl/cu118/xformers-0.0.26.post1%2Bcu118-cp310-cp310-manylinux2014_x86_64.whl
pip install xformers-0.0.26.post1+cu118-cp310-cp310-manylinux2014_x86_64.whl

3. 重新安装torch 2.3.0+cu118

4. requirements修改onnxruntime-gpu==1.16.1,并安装剩下的库

pip install torchao --index-url https://download.pytorch.org/whl/nightly/cu118
pip install -r requirements.txt
pip install --no-deps facenet_pytorch==2.6.0

四、模型权重。git lfs install 没搞定,git clone方式也没把权重下载下来,还是用huggingface-cli download的方式最靠谱,当然数据源是国内镜像的hf-mirror.com。

huggingface-cli download BadToBest/EchoMimicV2 --local_dir pretrained_weights

在pretrained_weights目录里, 再把 stabilityai/sd-vae-ft-mse   和  lambdalabs/sd-image-variations-diffusers   用同样方式下载下来。再创建一个audio_processor空目录,下载tiny.pt放进去。https://openaipublic.azureedge.net/main/whisper/models/65147644a518d12f04e32d6f3b26facc3f8dd46e5390956a9424a650c0ce22b9/tiny.pt

五、加速。原本是根据文章说的python app.py来启动,跑一个5秒的例子都要跑几分钟。后来发现1月16号跟新了一个可以加速的app_acc.py。 用这个启动居然报错了,log显示是gradio问题,我更新了也没用,后来对比一下才发现是app_acc的问题。下图左侧是app.py的,右侧是app_acc的,少了很多参数。

这里改掉以后启动问题解决,而且启动飞快,但是跑例子依旧的慢,是不是哪里出问题了。

写在最后

我记得以前部署llama-factory时也遇到了 vllm部署的 xformers问题,看起来可以回去再弄一遍了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/958923.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

五、华为 RSTP

RSTP(Rapid Spanning Tree Protocol,快速生成树协议)是 STP 的优化版本,能实现网络拓扑的快速收敛。 一、RSTP 原理 快速收敛机制:RSTP 通过引入边缘端口、P/A(Proposal/Agreement)机制等&…

嵌入式知识点总结 ARM体系与架构 专题提升(四)-编程

针对于嵌入式软件杂乱的知识点总结起来,提供给读者学习复习对下述内容的强化。 目录 1.嵌人式编程中,什么是大端?什么是小端 ? 2.如何判断计算机处理器是大端,还是小端 ? 3.如何进行大小端的转换 ? 4.如何对绝对地址0x100000赋值? 1…

Ansys Thermal Desktop 概述

介绍 Thermal Desktop 是一种用于热分析和流体分析的通用工具。它可用于组件或系统级分析。 来源:CRTech 历史 Thermal Desktop 由 C&R Technologies (CR Tech) 开发。它采用了 SINDA/FLUINT 求解器。SINDA/FLUINT 最初由 CR Tech 的创始人为 NASA 的约翰逊航…

Python vLLM 实战应用指南

文章目录 1. vLLM 简介2. 安装 vLLM3. 快速开始3.1 加载模型并生成文本3.2 参数说明 4. 实战应用场景4.1 构建聊天机器人示例对话: 4.2 文本补全输出示例: 4.3 自定义模型服务启动服务调用服务 5. 性能优化5.1 GPU 加速5.2 动态批处理 6. 总结 vLLM 是一…

计算机网络 (60)蜂窝移动通信网

一、定义与原理 蜂窝移动通信网是指将一个服务区分为若干蜂窝状相邻小区并采用频率空间复用技术的移动通信网。其原理在于,将移动通信服务区划分成许多以正六边形为基本几何图形的覆盖区域,称为蜂窝小区。每个小区设置一个基站,负责本小区内移…

从63 秒到 0.482 秒:深入剖析 MySQL 分页查询优化

在日常开发中,数据库查询性能问题就像潜伏的“地雷”,总在高并发或数据量庞大的场景下引爆。尤其是当你运行一条简单的分页查询时,结果却让用户苦苦等待,甚至拖垮了系统。这种情况你是否遇到过? 你可能会想&#xff1…

Word 中实现方框内点击自动打 √ ☑

注: 本文为 “Word 中方框内点击打 √ ☑ / 打 ☒” 相关文章合辑。 对第一篇增加了打叉部分,第二篇为第一篇中方法 5 “控件” 实现的详解。 在 Word 方框内打 √ 的 6 种技巧 2020-03-09 12:38 使用 Word 制作一些调查表、检查表等,通常…

Dockerfile另一种使用普通用户启动的方式

基础镜像的Dockerfile # 使用 Debian 11.9 的最小化版本作为基础镜像 FROM debian:11.11# 维护者信息 LABEL maintainer"caibingsen" # 复制自定义的 sources.list 文件(如果有的话) COPY sources.list /etc/apt/sources.list # 创建…

7-Zip高危漏洞CVE-2025-0411:解析与修复

7-Zip高危漏洞CVE-2025-0411:解析与修复 免责声明 本系列工具仅供安全专业人员进行已授权环境使用,此工具所提供的功能只为网络安全人员对自己所负责的网站、服务器等(包括但不限于)进行检测或维护参考,未经授权请勿利…

百度APP iOS端磁盘优化实践(上)

01 概览 在APP的开发中,磁盘管理已成为不可忽视的部分。随着功能的复杂化和数据量的快速增长,如何高效管理磁盘空间直接关系到用户体验和APP性能。本文将结合磁盘管理的实践经验,详细介绍iOS沙盒环境下的文件存储规范,探讨业务缓…

Markdown Viewer 浏览器, vscode

使用VS Code插件打造完美的MarkDown编辑器(插件安装、插件配置、markdown语法)_vscode markdown-CSDN博客 右键 .md 文件,选择打开 方式 (安装一些markdown的插件) vscode如何预览markdown文件 | Fromidea GitCode - 全球开发者…

批量创建ES索引

7.x from elasticsearch import Elasticsearch# 配置 Elasticsearch 连接 # 替换为你的 Elasticsearch 地址、端口、用户名和密码 es Elasticsearch([http://10.10.x.x:43885],basic_auth(admin, XN272G9THEAPYD5N5QORX3PB1TSQELLB) )# # 测试连接 # try: # # 尝试获取集…

Kimi 1.5解读:国产AI大模型的创新突破与多模态推理能力(内含论文地址)

文章目录 一、Kimi 1.5的核心技术创新(一)长上下文扩展(Long Context Scaling)(二)改进的策略优化(Improved Policy Optimization)(三)简化框架(S…

数据结构 栈

目录 前言 一,栈的基本介绍与定义 二,数组实现栈 三,链表实现栈 四,栈的应用 总结 前言 我们学习了链表,接下来我们就来学习栈,我将会从栈的介绍到实现栈与栈的全部的功能 一,栈的基本介绍…

用Python绘制一只懒羊羊

目录 一、准备工作 二、Turtle库简介 三、绘制懒羊羊的步骤 1. 导入Turtle库并设置画布 2. 绘制头部 3. 绘制眼睛 4. 绘制嘴巴 5. 绘制身体 6. 绘制四肢 7. 完成绘制 五、运行代码与结果展示 六、总结 在这个趣味盎然的技术实践中,我们将使用Python和Turtle图形…

Couchbase UI: Indexes

在Couchbase中,索引的这些指标可以帮助你评估索引的性能和状态。下面是每个指标的详细解释,以及如何判断索引的有效性: 1. Index Name(索引名称) 描述:每个索引都有一个唯一的名称。这个名称通常会包括表…

修改maven的编码格式为utf-8

1.maven默认编码为GBK 注:配好MAVEN_HOME的环境变量后,在运行cmd. 打开cmd 运行mvn -v命令即可. 2.修改UTF-8为默认编码. 设置环境变量 变量名 MAVEN_OPTS 变量值 -Xms256m -Xmx512m -Dfile.encodingUTF-8 3.保存,退出cmd.重新打开cmd 运行mvn -v命令即可. 源码获取&…

Visual Studio Code修改terminal字体

个人博客地址:Visual Studio Code修改terminal字体 | 一张假钞的真实世界 默认打开中断后字体显示如下: 打开设置,搜索配置项terminal.integrated.fontFamily,修改配置为monospace。修改后效果如下:

MySQL日志详解——日志分类、二进制日志bin log、回滚日志undo log、重做日志redo log

文章目录 一、前言1.1 MySQL体系结构1.2 MySQL日志分类1.3 其他几种日志1.3.1 查询日志1.3.2 慢查询日志1.3.3 错误日志 二、bin log 二进制日志2.1 bin log简介2.2 binlog日志格式2.3 日志删除2.4 写入/刷盘机制 三、undo log 回滚日志3.1 undo log简介3.2 隐藏字段 —— 事务…

electron打包客户端在rk3588上支持h265硬解

目录 前言 chromium是如何支持h265硬解 electron/chromium第一次编译 electron/chromium第二次编译 前言 我们的客户端程序是用electron打包的前端程序,其在rk3588主机上的linux环境运行。之前使用客户端查看h264编码的视频直播是没有问题的,但视频源…