EchoMimicV2的部署使用

news2025/1/27 13:37:58

       最近有一个录课的需要,我不想浪费人力,只想用技术解决。需求很简单,就是用别人现成的录课视频中的形象和声线,再结合我提供的讲稿去生成一个新的录课视频。我觉得应该有现成的技术了,我想要免费大批量生产。最近看到这个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问题,看起来可以回去再弄一遍了。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

迅为RK3568开发板篇OpenHarmony实操HDF驱动控制LED-添加内核编译

编译内核时将该 HDF 驱动编译到镜像中,接下来编写驱动编译脚本 Makefile,代码如下所示: 加入编译体系,填加模块目录到 drivers/hdf_core/adapter/khdf/linux/Makefile 文件 更多内容可以关注:迅为RK3568开发板篇OpenHa…

期权帮|在股指期货中超过持仓限额怎么办?

锦鲤三三每日分享期权知识,帮助期权新手及时有效地掌握即市趋势与新资讯! 在股指期货中超过持仓限额怎么办? 一、立即平仓或减仓: (1)最直接且有效的方法是立即平仓或减仓,以降低持仓量至限额…

Linux 高级路由与流量控制-用 tc qdisc 管理 Linux 网络带宽

大家读完记得觉得有帮助记得关注和点赞!!! 此分享内容比较专业,很多与硬件和通讯规则及队列,比较底层需要有技术功底人员深入解读。 Linux 的带宽管理能力 足以媲美许多高端、专用的带宽管理系统。 1 队列&#xff0…

openstack单机安装

openstack单机安装 网卡配置安装依赖开启虚拟环境修改配置文件 部署openstack部署openstack客户端访问可视化界面Horizon补充 本篇主要讲述Ubuntu2204单机安装openstackstable/2024.2。其他版本的Linux系统或者openstack版本,请参考openstack官网。 网卡配置 需要配…

计算机视觉-卷积

卷积-图像去噪 一、图像 二进制 灰度 彩色 1.1二进制图像 0 1 一个点可以用一个bit(0/1)来表示 1.2灰度图像 0-255 一个点可以用一个byte来表示 1.3彩色图像 RGB 表达一个彩色图像先说它的分辨率p/w(宽)和q/h(高…

贵州端午黔粽探源:贵州味道与黔味文化与糯米的融合?

黔粽的由来? 黔粽的贵州味道?探索贵州“黔味文化”找寻答案! 黔粽的特色由来与贵州味道 贵州粽,简称黔粽。黔粽的主要特色是“酸辣”,以其独特的“酸辣”口味和地域特色,与浙粽、京粽、粤粽、川粽、云粽、闽粽、台湾粽并列为“全国八大粽子派别”之一,并与甜味粽、咸味粽共…

使用python-docx包进行多文件word文字、字符批量替换

1、首先下载pycharm。 2、改为中文。 3、安装python-docx包。 搜索包名字,安装。 4、新建py文件,写程序。 from docx import Documentdef replace1(array1):# 替换词典(标签值按实际情况修改)dic {替换词1: array1[0], 替换…

Excel 技巧17 - 如何计算倒计时,并添加该倒计时的数据条(★)

本文讲如何计算倒计时,并添加该倒计时的数据条。 1,如何计算倒计时 这里也要用公式 D3 - TODAY() 显示为下面这个样子的 然后右键该单元格,选 设置单元格格式 然后点 常规 这样就能显示出还书倒计时的日数了。 下拉适用到其他单元格。 2&a…

2025.1.21——八、[HarekazeCTF2019]Avatar Uploader 2(未完成) 代码审计|文件上传

题目来源:buuctf [HarekazeCTF2019]Avatar Uploader 2 一、打开靶机,整理信息 跟Avatar Uploader 1 题目长得一样,先上传相同文件看看情况,另外这道题还有源码,可以看看 二、解题思路 step 1:上传同类…

ChatGPT接入苹果全家桶:开启智能新时代

最近,科技界最重磅的消息莫过于ChatGPT正式接入苹果iOS生态系统!这意味着苹果用户将能够直接在iPhone、iPad和Mac上体验到这款强大的AI代码生成器带来的便利,开启一个全新的智能时代。这篇文章将深入探讨ChatGPT与苹果生态的整合,…

易语言模拟真人鼠标轨迹算法 - 防止游戏检测

一.简介 鼠标轨迹算法是一种模拟人类鼠标操作的程序,它能够模拟出自然而真实的鼠标移动路径。 鼠标轨迹算法的底层实现采用C/C语言,原因在于C/C提供了高性能的执行能力和直接访问操作系统底层资源的能力。 鼠标轨迹算法具有以下优势: 模拟…

一部手机如何配置内网电脑同时访问内外网

做过运维的朋友都知道,最麻烦的是运维电脑不能远程,每次都得现场进行维护,明明客户那边有可以访问内网的电脑,怎么操作能将这台电脑能访问跟到外网呢,这样不就能通过远程软件远程了吗?嘿嘿。按以下步骤试试…

直线拟合例子 ,岭回归拟合直线

目录 直线拟合,算出离群点 岭回归拟合直线: 直线拟合,算出离群点 import cv2 import numpy as np# 输入的点 points np.array([[51, 149],[122, 374],[225, 376],[340, 382],[463, 391],[535, 298],[596, 400],[689, 406],[821, 407] ], dtypenp.float32)# 使用…

ansible自动化运维实战--script、unarchive和shell模块(6)

文章目录 一、script模块1.1、功能1.2、常用参数1.3、举例 二、unarchive模块2.1、功能2.2、常用参数2.3、举例 三、shell模块3.1、功能3.2、常用参数3.3、举例 一、script模块 1.1、功能 Ansible 的 script 模块允许你在远程主机上运行本地的脚本文件,其提供了一…

【落羽的落羽 数据结构篇】算法复杂度

文章目录 一、数据结构和算法简介二、算法复杂度1. 时间复杂度2. 空间复杂度 一、数据结构和算法简介 数据结构是计算机存储、组织数据的方式,指相互之间存在一种或多种特定关系的数据元素的集合。没有一种单一的数据结构对所有用途都有用,所以我们要学…

ubuntu16.04 VSCode下cmake+clang+lldb调试c++

VSCode下cmakeclanglldb调试c Ubuntu16.04 安装OpenCV4.5.4 文章目录 VSCode下cmakeclanglldb调试c1.安装clangclangdcmake2、打开VSCode,安装扩展插件3、编译4、Debug4.1 创建launch.json。4.2 配置setting.json 5. vscode安装配置clang-format插件5.1 Linux系统安…

第十五届蓝桥杯大赛软件赛省赛Java 大学 B 组(1、2题)

1.报数游戏 问题描述 小蓝和朋友们在玩一个报数游戏。由于今年是 2024 年,他们决定要从小到大轮流报出是 20或 24 倍数的正整数。前 10 个被报出的数是:20,24,40,48,60,72,80,96,100,120。请问第 202420242024个被报出的数是多少? 答案提交 这是一道结果…

【opencv】第9章 直方图与匹配

第9章 直方图与匹配 9.1 图像直方图概述 直方图广泛运用于很多计算机视觉运用当中,通过标记帧与帧之间显著的边 缘和颜色的统计变化,来检测视频中场景的变化。在每个兴趣点设置一个有相近 特征的直方图所构成“标签”,用以确定图像中的兴趣点。边缘、色…

多版本并发控制:MVCC的作用和基本原理

多版本并发控制:MVCC的作用和基本原理 1、MVCC简介1.1 快照读与当前读的区别1.1.1 快照读1.1.2 当前读 1.2 数据库的读写问题1.3 MVCC的作用 2、MVCC实现原理之ReadView2.1 什么是ReadView2.2 ReadView的设计思路2.3 MVCC整体操作流程 1、MVCC简介 1.1 快照读与当前…

SPDK vhost介绍

目录 1. vhost技术的背景与动机Virtio 介绍virtio-blk数据路径为例 2. vhost技术的核心原理2.1 vhost-kernel2.2 vhost-user举例 2.3 SPDK vhostvhost的优势IO请求处理数据传输控制链路调整 3. SPDK vhost的实现与配置3.1 环境准备3.2 启动SPDK vhost服务3.3 创建虚拟块设备3.4…