政安晨【零基础玩转各类开源AI项目】基于Ubuntu系统部署MuseV (踩完了所有的坑):基于视觉条件并行去噪的无限长度和高保真虚拟人视频生成

目录

下载项目

创建虚拟环境

启动虚拟环境&执行项目依赖

基于DOCKER的尝试

A. 安装引擎

B. 下载桌面安装包

C. 安装桌面包

用Docker运行MuseV

1. 拉取镜像

​编辑

2. 运行Docker镜像


政安晨的个人主页:政安晨

欢迎 👍点赞✍评论⭐收藏

收录专栏: 零基础玩转各类开源AI项目

希望政安晨的博客能够对您有所裨益,如有不足之处,欢迎在评论区提出指正!

本文目标基于Ubuntu系统从源码部署MuseV项目。

项目地址:

git clone --recursive https://github.com/TMElyralab/MuseV.git

MuseV 是基于扩散模型的虚拟人视频生成框架,具有以下特点:

  1. 支持使用新颖的视觉条件并行去噪方案进行无限长度生成,不会再有误差累计的问题,尤其适用于固定相机位的场景。
  2. 提供了基于人物类型数据集训练的虚拟人视频生成预训练模型。
  3. 支持图像到视频、文本到图像到视频、视频到视频的生成。
  4. 兼容 Stable Diffusion 文图生成生态系统,包括 base_modelloracontrolnet 等。
  5. 支持多参考图像技术,包括 IPAdapterReferenceOnlyReferenceNetIPAdapterFaceID
  6. 项目方后面也会推出训练代码。

下载项目

git clone --recursive https://github.com/TMElyralab/MuseV.git

下载时一定要注意递归选项(该项目中含有子模块):

创建虚拟环境

尝试使用项目中自带的配置引导文件创建conda虚拟环境:

conda env create --name musev --file ./environment.yml

如果小伙伴们在这个过程中出错,可以尝试解析一下这个配置文件,并一步步操作,遇到问题解决问题。

过程如下:

在MuseV的目录中,打开虚拟环境配置文件:

没有Vim的伙伴自行安装:

sudo apt install vim

打开配置文件如下:

这里面有个关键点,python的版本,配置中显示的是python=3.10.6,我们就用3.10的python版本把conda环境先创建出来,再在虚拟环境中使用pip安装依赖进行尝试:

conda create -n musev python=3.10
conda activate musev

启动虚拟环境&执行项目依赖

在MuseV的项目目录中执行:

pip install -r requirements.txt

如果伙伴们安装之后发现还是有问题的话,比如:莫名其妙出现各种安装错误,那么,使用docker吧。

基于DOCKER的尝试

逐本溯源,docker官网:

https://www.docker.com/icon-default.png?t=N7T8https://www.docker.com/

我们使用他们的Linux版本:

参考官网上的这篇文章:

https://docs.docker.com/desktop/install/ubuntu/icon-default.png?t=N7T8https://docs.docker.com/desktop/install/ubuntu/为什么学会安装Docker很有必要?

因为你装好docker后,可以直接将MuseV团队做好的docker镜像拉取下来,尝试。别人把docker镜像已经做好了,这是运行他们团队配置好的环境的最简单的办法。

好啦,继续整docker吧。

首先下载安装包:

确定一下当前环境有没有安装gnome:

echo $XDG_CURRENT_DESKTOP

我这里已经是gnome了。

 

没有的话装一个:

sudo apt install gnome-terminal

按照下面这个步骤安装:

当然,这里面还有几个小步骤:

A. 安装引擎

# Add Docker's official GPG key:
sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc

# Add the repository to Apt sources:
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
  $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update

sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

sudo docker run hello-world

我示例了一下这个阶段的执行过程如下:


这里顺道多说一句:

在 Ubuntu 中使用 Docker 下载镜像文件可以通过以下步骤实现:

  1. 打开终端并输入以下命令,更新 Docker 镜像列表:

    sudo docker image update
    

    这会获取最新的 Docker 镜像列表,确保您能够下载最新版本的镜像文件。

  2. 使用以下命令来拉取 Docker 镜像:

    sudo docker pull <image_name>:<tag>
    

    其中,<image_name> 是要下载的镜像名称,<tag> 是镜像的版本标签。例如,要下载 Ubuntu 20.04 镜像文件,可以执行以下命令:

    sudo docker pull ubuntu:20.04
    

           此时,Docker会将镜像文件保存在默认的存储路径 /var/lib/docker/image目录下。 

取消安装

1. 卸载 Docker Engine、CLI、containerd 和 Docker Compose 软件包:

sudo apt-get purge docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker-ce-rootless-extras

2. 主机上的映像、容器、卷或自定义配置文件不会自动删除。 要删除所有映像、容器和卷,请执行以下操作:

sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd

B. 下载桌面安装包

C. 安装桌面包

sudo apt-get update
sudo apt-get install ./docker-desktop-<arch>.deb

大家根据需要来吧,准备好docker环境后开始再次尝试MuseV。

用Docker运行MuseV

1. 拉取镜像

docker pull anchorxia/musev:latest

2. 运行Docker镜像

docker run --gpus all -it --entrypoint /bin/bash anchorxia/musev:latest

注:

1) docker一般情况下需要管理员权限运行:sudo su

2) 查看docker版本:docker version

3) 查看已经拉取的docker镜像: docker images

4) 删除某个docker镜像:docker rmi xxx


如果你使用的是英伟达的显卡,在第一次运行的时候可能会报错,docker19及以后的版本使用nvidia gpu 已经不需要单独安装nvidia-docker了,这已经被集成到了docker中。

在运行docker镜像中,我们如果通过 --gpus 参数来使用宿主机的GPU时,就需要先安装一个英伟达的容器运行时。步骤如下:

(参照N卡的官方文档指引:Migration Notice | nvidia-container-runtime)

curl -s -L https://nvidia.github.io/nvidia-container-runtime/gpgkey | \
  sudo apt-key add -
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -s -L https://nvidia.github.io/nvidia-container-runtime/$distribution/nvidia-container-runtime.list | \
  sudo tee /etc/apt/sources.list.d/nvidia-container-runtime.list
sudo apt-get update

准备好之后,安装运行时:

sudo apt-get install nvidia-container-runtime

安装完成后,验证一下:

which nvidia-container-runtime

停止docker:

systemctl stop docker
把运行时添加到docker中:
dockerd --add-runtime=nvidia=/usr/bin/nvidia-container-runtime

如果无法添加成功,就按照如下操作:

编辑或创建Docker的配置文件(如果不存在)/etc/docker/daemon.json,并添加以下内容:

{
  "default-runtime": "nvidia",
  "runtimes": {
    "nvidia": {
      "path": "/usr/bin/nvidia-container-runtime",
      "runtimeArgs": []
    }
  }
}

重新启动docker:

sudo systemctl restart docker

(如果您感觉重启服务无法成功的话,把主机重启一下也可以)

进入docker后的退出命令:

退出容器命令

exit

或者

Ctrl+P+Q

一切就绪之后,可以使用docker运行musev了。

终于可以愉快的玩耍了。(作者政安晨把坑都踩完了,小伙伴们加油吧)

彩蛋:

在正常工作中,由于docker內部一般不不会固化更改,很多时候需要把宿主机的路径挂载到容器路径上,完成映射,以便于访问文件和使用。

所以,上面的docker容器运行命令可以修改为:

docker run --gpus all -it -v /home/tongyuzhou/aigc/MuseV:/workspace --entrypoint /bin/bash anchorxia/musev:latest

此时,您进入docker容器的workspace目录中就可以看到在宿主机上用git下载的MuseV项目了。 


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

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

相关文章

内存迎来革命性升级,只装一条就能组成双通道

相信用过台式机的同学或多或少都遇到过一个情况&#xff0c;那就是按下开机键后&#xff0c;除了显示器不亮&#xff0c;哪儿都亮。 拿着自己的故障满世界发帖求助&#xff0c;得到最多的回答就是&#xff0c;断电拔下内存用橡皮擦擦擦金手指再装回。而这样的操作确实能解决大部…

51.通过获取数据快速实现一个辅助

上一个内容&#xff1a;50.破坏性更小的代码跳转功能完善&#xff08;无敌秒杀&#xff09; 原理是&#xff1a;找一个现成的辅助&#xff0c;使用PCHunter工具看现成辅助对目标游戏做了那些hook操作&#xff0c;然后再使用Ollydbg.exe工具分析现成辅助为何这样做。 下图左边…

短信验证码研究:公开的短信验证码接口、不需要注册的短信验证码接口

短信验证码研究&#xff1a;公开的短信验证码接口、不需要注册的短信验证码接口 0 说明 本文提供了一个短信验证码接口&#xff0c;主要用于以下场景&#xff1a; 1、用于开发调试 2、用于申请验证码困难的企业和个人 3、用于短信验证码认证还没有通过&#xff0c;但是着急…

深入了解java锁升级可以应对各种疑难问题

对于java锁升级&#xff0c;很多人都停留在比较浅层的表面理解&#xff0c;一定程度下也许够用&#xff0c;但如果学习其中的细节&#xff0c;我们更好地理解多线程并发时各种疑难问题的应对方式&#xff01; 因此我将锁升级过程中可能涉及的大部分细节或者疑问都整合成了一篇…

免费分享:中国1KM分辨率月平均气温数据集(附下载方法)

数据简介 中国1KM分辨率月平均气温数据集为中国逐月平均温度数据&#xff0c;空间分辨率为0.0083333&#xff08;约1km&#xff09;。 数据集获取&#xff1a;根据全国2472个气象观测点数据进行插值获取&#xff0c;验证结果可信。 数据集包含的地理空间范围&#xff1a;全国…

YOLOv10改进 | 图像去雾 | MB-TaylorFormer改善YOLOv10高分辨率和图像去雾检测(ICCV,全网独家首发)

一、本文介绍 本文给大家带来的改进机制是图像去雾MB-TaylorFormer&#xff0c;其发布于2023年的国际计算机视觉会议&#xff08;ICCV&#xff09;上&#xff0c;可以算是一遍比较权威的图像去雾网络&#xff0c; MB-TaylorFormer是一种为图像去雾设计的多分支高效Transformer…

技术文件国产化准备

技术文档的本地化涉及调整内容以满足特定目标市场的文化、语言和技术要求。这一过程超越了简单的翻译&#xff0c;确保文件在文化上适合预期受众&#xff0c;在技术上准确无误。适当的准备对于成功的本地化至关重要&#xff0c;以下步骤概述了一种全面的方法。 分析目标受众 …

IEC62056标准体系简介-4.IEC62056-53 COSEM应用层

为在通信介质中传输COSEM对象模型&#xff0c;IEC62056参照OSI参考模型&#xff0c;制定了简化的三层通信模型&#xff0c;包括应用层、数据链路层&#xff08;或中间协议层&#xff09;和物理层&#xff0c;如图6所示。COSEM应用层完成对COSEM对象的属性和方法的访问&#xff…

怎么将3张照片合并成一张?这几种拼接方法很实用!

怎么将3张照片合并成一张&#xff1f;在我们丰富多彩的日常生活里&#xff0c;是否总爱捕捉那些稍纵即逝的美好瞬间&#xff0c;将它们定格为一张张珍贵的图片&#xff1f;然而&#xff0c;随着时间的推移&#xff0c;这些满载回忆的宝藏却可能逐渐演变成一项管理挑战&#xff…

MT3047 区间最大值

思路&#xff1a; 使用哈希表map和set&#xff08;去重&#xff09;维护序列 代码&#xff1a; #include <bits/stdc.h> using namespace std; const int N 1e5 10; int n, k, A[N]; map<int, int> mp; // 元素出现的次数 set<int> s; // 维护出现…

Elasticsearch文档_id以数组方式返回

背景需求是只需要文档的_id字段&#xff0c;并且_id组装成一个数组。 在搜索请求中使用 script_fields 来整理 _id 为数组输出&#xff1a; POST goods_info/_search?size0 {"query": {"term": {"brand": {"value": "MGC"…

印刷企业如何判断数字工厂管理系统的实施周期

在数字化转型的浪潮中&#xff0c;印刷企业正积极拥抱新技术以提升生产效率、优化成本结构并增强市场竞争力。数字工厂管理系统的引入&#xff0c;作为这一转型的关键步骤&#xff0c;不仅能够实现生产流程的自动化、智能化监控&#xff0c;还能显著提升数据分析能力和决策效率…

Java getSuperclass和getGenericSuperclass

1.官方API对这两个方法的介绍 getSuperclass : 返回表示此 Class 所表示的实体&#xff08;类、接口、基本类型或 void&#xff09;的超类的 Class。如果此 Class 表示 Object 类、一个接口、一个基本类型或 void&#xff0c;则返回 null。如果此对象表示一个数组类&#xff…

准大一新生开学千万要带证件照用途大揭秘

1、提前关注好都有哪些考场&#xff0c;以及这些考场大致在网页的哪个位置。比如我选对外经贸大学&#xff0c;我就直接找到第二个点进去。 2、电脑上同时开了谷歌浏览器和IE浏览器&#xff0c;以及手机也登陆了。亲测下来&#xff0c;同一时间刷新&#xff0c;谷歌浏览器能显示…

R包: phyloseq扩增子统计分析利器

介绍 phyloseq包对多类型数据的综合软件&#xff0c;并其对这些数据提供统计分析和可视化方法。 微生物数据分析的主要挑战之一是如何整合不同类型的数据&#xff0c;从而对其进行生态学、遗传学、系统发育学、多元统计、可视化和检验等分析。同时&#xff0c;由于同行之间需要…

电脑缺少dll文件是怎么回事?教你5种有效的解决方法

当您的计算机显示DLL文件已经遗失时&#xff0c;您应如何应对呢&#xff1f;实际上&#xff0c;针对此类DLL文件的处置过程相对来说较为简易。今日&#xff0c;我们在此为大家详细介绍此领域的相关知识&#xff0c;让大家轻松解决电脑中因丢失DLL文件而产生的问题。 一、关于DL…

《昇思25天学习打卡营第01天|qingyun201003》

打卡 日期 心得 我的主语言并不是Python,以及现在从事的工作也并不是开发&#xff1b;所以对于这个系列的课程&#xff0c;学习起来是较为困难的&#xff0c;所以基于这种情况&#xff0c;该如何进行学习&#xff1f;我的做法是全部交给AI&#xff0c;使用AI一步步解析代码&a…

开源无人机从入门到炸机,共需要几步?

阿木实验室2024年的重磅新品 Prometheus 仿真笔记本已经上架有一段时间了&#xff0c;近日&#xff0c;该产品的研发负责人廖工受邀到直播间与开发者们深度解读了Prometheus仿真笔记本的设计理念。直播过程中&#xff0c;廖工不仅展示了该产品的功能demo&#xff0c;解答技术开…

Windows环境人大金仓数据库命令常规操作

Windows环境人大金仓数据库命令常规操作 下文将介绍人大金仓数据库常见命令操作&#xff0c;包括具体使用命令如创建数据库、创建用户、授权等相关操作。 1、打开命令提示符窗口 找到数据库安装目录进入server/bin目录&#xff0c;输入cmd,打开命令提示符窗口&#xff0c;如…

关于数组的常见算法

一、案例一 案例说明 案例&#xff1a;定义一个int型的一维数组&#xff0c;包含10个元素&#xff0c;分别赋一些随机整数&#xff0c;然后求出所有元素的最大值&#xff0c;最小值&#xff0c;总和&#xff0c;平均值&#xff0c;并输出出来 要求&#xff1a;所有随机数都是两…