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

news2024/11/15 10:15:39

目录

下载项目

创建虚拟环境

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

基于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项目了。 


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

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

相关文章

HDFS 块重构和RedundancyMonitor详解

文章目录 1. 前言2 故障块的重构(Reconstruct)2.1 故障块的状态定义和各个状态的统计信息2.2 故障文件块的查找收集2.5.2.1 misReplica的检测2.5.2.2 延迟队列(postponedMisreplicatedBlocks)的构造和实现postponedMisreplicatedBlocks中Block的添加postponedMisreplicatedBloc…

在Visutal Studio 2022中完成D3D12初始化

在Visutal Studio 2022中完成DirectX设备初始化 1 DirectX121.1 DirectX 简介1.2 DirectX SDK安装2 D3D12初始化2.1 创建Windwos桌面项目2.2 修改符合模式2.3 下载d3dx12.h文件2.4 创建一个异常类D3DException,定义抛出异常实例的宏ThrowIfFailed3 D3D12的初始化步骤3.1 初始化…

智慧园区管理系统建设方案(Word完整原件)

1. 项目概述 1.1. 项目名称 1.2. 项目承担单位及负责人 1.3. 项目实施机构及项目负责人 1.4. 建设目标、内容 1.5.1建设目标 1.5.2建设内容 1.5. 建设方式 2.项目建设的必要性 2.1. 建设背景 2.2. 现状分析 2.3. 项目建设的必要性和意义 2.3.1.项目建设的必要性 2…

突发,众多网站流量被盗刷!事情没那么简单。。

这两天发生了一件震惊 IT 圈的大事&#xff0c;很多程序员博主的网站竟然 同时 被恶意攻击&#xff0c;盗刷了大把流量费&#xff0c;我这个老倒霉蛋自然也中招了&#xff0c;作为受害人&#xff0c;专门做了本次分享&#xff0c;希望其他有网站的朋友们也都小心点。 那为什么…

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

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

勇攀新高峰|暴雨信息召开2024年中述职工作会议

7月8日至9日&#xff0c;暴雨信息召开2024年中述职工作会议&#xff0c;总结回顾了上半年的成绩和不足&#xff0c;本次会议采用线上线下的方式举行&#xff0c;公司各部门管理人员、前台市场营销人员参加述职&#xff0c;公司领导班子出席会议。 本次述职采取了现场汇报点评的…

搜维尔科技:【研究】Scalefit是一款可在工作场所自动处理3D姿势分析结果的软件

Scalefit是一款可在工作场所自动处理 3D 姿势分析结果的软件。这甚至可以在衡量员工的同时发生。然后&#xff0c;Scalefit 根据国际标准对姿势、压缩力和关节力矩进行分析和可视化。 3D姿势分析 如今&#xff0c;Xsens 技术可让您快速测量工作场所员工的态度。一套带有 17 个…

反向散射技术(backscatter communication)

智能反射表面辅助的反向散射通信系统研究综述&#xff08;知网&#xff09; 1 反向散射通信技术优势和应用场景 反向散射通信技术通过被动射频技术发送信号,不需要一定配有主动射频单元,被认为是构建绿色节能、低成本、可灵活部署的未来物联网规模化应用关键技术之一,是实现“…

Milvus核心组件(1)- Architecture

目录 cluster 模式 数据请求处理流程 总流程 逻辑channel 到物理channel 数据维护流程 cluster 模式 上一篇其实已经说过 standalone 模式&#xff0c;其实集群模式大同小异&#xff0c;只是在不同机子间使用Kafka或者其他消息中间件保证数据及逻辑的一致性。 Log Broker…

VUE超详细入门

目录 1.什么是 Vue.js 2.Vue.js 优点 Vue中的第一个hello world Vue指令 v-model v-bind v-on v-if v-show v-for Vue 实例生命周期 从传统架构转向单文件架构(通过组件拼接) 安装element-ui使用 1.什么是 Vue.js Vue (读音 /vju ː /&#xff0c;类似于 view) 是…

基本的路由策略配置

目录 原理概述 实验目的 实验内容 实验拓扑 实验编址 实验步骤 1、基本配置 2、搭建OSPF和RIP网络 3、使用Route-Policy对引入到OSPF 进程的路由进行过滤和修改 主要命令 原理概述 路由策略Route-Policy 的应用非常广泛。例如,它可以规定路由器在发布路由时只…

Databricks 收购 Tabular 的意义:数据开放框架的胜利

Databricks 宣布收购 Tabular&#xff0c;这是一个由 Apache Iceberg 的原始创建者开发的数据平台&#xff0c;在数据分析行业引发了涟漪。此次收购凸显了开放框架在数据领域日益增长的重要性&#xff0c;预示着数据管理、分析和 AI/ML 计划领域的创新、协作和可访问性的新时代…

RedisTemplate 中序列化方式辨析

在Spring Data Redis中&#xff0c;RedisTemplate 是操作Redis的核心类&#xff0c;它提供了丰富的API来与Redis进行交互。由于Redis是一个键值存储系统&#xff0c;它存储的是字节序列&#xff0c;因此在使用RedisTemplate时&#xff0c;需要指定键&#xff08;Key&#xff09…

伺服【禾川X6】

驱动器&#xff1a; A&#xff1a;脉冲 B&#xff1a;EtherCAT // SV-X6 FB 040 AA 一套360 N&#xff1a;CANopen R&#xff1a;PROFINET 电机&#xff1a; SV-X6 MA 040A-B2 KA 框号&#xff1a; 40 8mm 50…

C++ Primer 总结索引 | 第十六章:模板与泛型编程

1、面向对象编程&#xff08;OOP&#xff09;和泛型编程 都能处理在编写程序时 不知道类型的情况。不同之处在于&#xff1a;OOP 能处理类型 在程序运行之前都未知的情况&#xff1b;而在泛型编程中&#xff0c;在编译时就能获知类型了 2、容器、迭代器 和 算法 都是泛型编程的…

element el-upload 粘贴上传图片

对form中的某一个el-form-item添加 paste.native 事件&#xff0c;事件绑定方法名 handlePaste也可以在其他控件中添加事件监听&#xff0c;这里在当前form-item 这个块使用了&#xff0c;只有当你点击目标区域时才有效。 <el-form-item label"备注图片" paste.n…

skywalking-2-客户端-php的安装与使用

skywalking的客户端支持php&#xff0c;真的很棒。 官方安装文档&#xff1a;https://skywalking.apache.org/docs/skywalking-php/next/en/setup/service-agent/php-agent/readme/ 前置准备 本次使用的php版本是8.2.13: php -v PHP 8.2.13 (cli) (built: Nov 21 2023 09:5…

Prometheus+Grafana主机运行数据

目录 介绍 安装Node Exporter 配置Prometheus 验证配置 导入仪表盘 介绍 Prometheus是一款开源的监控和警报工具&#xff0c;而Node Exporter是Prometheus的一个官方插件&#xff0c;用于采集主机上的各种系统和硬件指标。 安装Node Exporter 下载最新版本的Node Export…

科普文:浮点数精度运算BigDecimal踩坑和填坑

概叙 用过Java的BigDecimal类型&#xff0c;但是很多人都用错了。如果使用不当&#xff0c;可能会造成非常致命的线上问题&#xff0c;因为这涉及到金额等数据的计算精度。 首先说一下&#xff0c;一般对于不需要特别高精度的计算&#xff0c;我们使用double或float类型就可以了…

PHP实现用户认证与权限管理的全面指南

目录 引言 1. 数据库设计 1.1 用户表&#xff08;users&#xff09; 1.2 角色表&#xff08;roles&#xff09; 1.3 权限表&#xff08;permissions&#xff09; 1.4 用户角色关联表&#xff08;user_roles&#xff09; 1.5 角色权限关联表&#xff08;role_permissions…