Hallo部署指南

news2024/10/8 10:36:01

一、介绍

Hallo是由复旦大学、百度公司、苏黎世联邦理工学院和南京大学的研究人员共同提出的一个AI对口型肖像图像动画技术,可基于语音音频输入来驱动生成逼真且动态的肖像图像视频。

该框架采用了基于扩散的生成模型和分层音频驱动视觉合成模块,提高了音频与视觉输出之间的同步精度。Hallo的网络架构整合了UNet去噪器、时间对齐技术和参考网络,以增强动画的质量和真实感,不仅提升了图像和视频的质量,还显著增强了唇动同步的精度,并增加了动作的多样性。

二、部署过程

环境配置基础要求:

系统:Ubuntu22.04系统,

显卡:RTX3090,

显存:24G

1.基础环境

  • 查看系统是否有Miniconda3的虚拟环境

    conda -V
    

    如果输入命令没有显示Conda版本号,则需要安装。

屏幕截图

2.更新系统命令

输入下列命令将系统更新及系统缺失命令下载

apt-get update apt-get upgrade apt-get install -y vim wget unzip lsof net-tools openssh-server git git-lfs gcc cmake build-essential

3.下载模型

输入下列命令对hallo模型进行下载

git clone https://gitclone.com/github.com/fudan-generative-vision/hallo.git

微信截图_20240813170606.png

4.创建虚拟Python环境

  • 创建一个名为"hallo"的虚拟镜像,python版本为3.10
conda create -n hallo python=3.10

微信截图_20240813165913.png

  • 进入"hallo"虚拟环境
conda activate hallo

微信截图_20240813165930.png

5.安装cuda118

使用下列命令下载cuda安装包:

wget https://developer.download.nvidia.com/compute/cuda/11.8.0/local_installers/cuda_11.8.0_520.61.05_linux.run

运行cuda:

sh cuda_11.8.0_520.61.05_linux.run

编辑配置文件:

(1)进入文件

vim ~/.bashrc

(2)在 .bashrc添加:

export PATH="/usr/local/cuda-11.8/bin:$PATH" 
export LD_LIBRARY_PATH="/usr/local/cuda-11.8/lib64:$LD_LIBRARY_PATH"

(3)保存并加载环境变量

source ~/.bashrc

6.下载模型依赖包

输入下列命令:

pip install -r requirements.txt 
pip install .

微信截图_20240814090724.png

下载ffmpeg:

apt-get install ffmpeg

(使用基础命令时已经下载过)

微信截图_20240814090803.png

7.添加模型文件

输入下列命令:

git lfs install 
git clone https://hf-mirror.com/fudan-generative-ai/hallo pretrained_models

微信截图_20240814112152.png

8.运行推理

使用下列命令运行项目呈现模型的成功界面

python scripts/inference.py --source_image examples/reference_images/1.jpg --driving_audio examples/driving_audios/1.wav

微信截图_20240815094136.png

微信截图_20240815094251.png

三、Web界面演示

输入下列命令启动界面:

conda activate hallo cd hallo export GRADIO_SERVER_NAME=0.0.0.0 export GRADIO_SERVER_PORT=8080 python scripts/app.py

微信截图_20240819142849.png

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

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

相关文章

Linux实践|设置静态 IP 地址

引言 如果您是 Linux 系统管理员,那么您将需要在系统上配置网络。与可以使用动态 IP 地址的台式机不同,在服务器基础设施上,您需要设置静态 IP 地址(至少在大多数情况下)。 本文[1]旨在向您展示如何在最常用的 Linux 发…

TBD62783AFG的强大性能:高性能应用的可靠解决方案

在当今竞争激烈的电子市场中,工程师们始终在寻找能够提供可靠性、效率和多功能性的组件,尤其是在处理复杂、高性能系统时。东芝的TBD62783AFG 8通道源型DMOS晶体管阵列就是这样一个元件。凭借其独特的功能组合,使其成为从小型电机到感性设备的…

SpringCloud学习记录|day3

学习材料 2024最新SpringCloud微服务开发与实战,java黑马商城项目微服务实战开发(涵盖MybatisPlus、Docker、MQ、ES、Redis高级等) 微服务 1.单体架构 2.JMeter 这其实在redis还是什么教程里面用过,不过忘记得差不多了。 复习…

【重学 MySQL】六十、空间类型

【重学 MySQL】六十、空间类型 空间数据类型的分类空间数据类型的属性空间数据的表示方式空间数据的操作应用场景 在MySQL中,空间类型(Spatial Types)主要用于支持地理特征的生成、存储和分析。这些地理特征可以表示世界上具有位置的任何东西…

全是细节|大模型SFT的100个关键点

这篇文章介绍一下大模型的 sft 如何去做。我会默认读者们都知道 sft 是做什么的以及如何去做一些简单的 sft 微调工作,我主要是分享一些经验技巧和 debug 的分析思路。 背景篇 这里先普及一些 sft 涉及到的基础概念,方便新人同学理解后续内容&#xff0…

从0开始linux(6)——gcc

欢迎来到博主的专栏:从0开始linux 博主ID:代码小豪、 文章目录 gccgcc的文件风格预处理编译汇编链接 gcc gcc是linux系统下常用的C语言编译器,随着后续的扩展,gcc支持了c,并推出了g编译器,现在的gcc可以支…

C++(异常)

目录 C语言传统的处理错误的方式 传统的错误处理机制 C异常概念 异常的使用 异常的抛出和捕获 异常的抛出和匹配原则 在函数调用链中异常栈展开匹配原则 异常的重新抛出 异常安全 异常规范 自定义异常体系 C标准库的异常体系 异常的优缺点 C异常的优点 C异常的缺…

基于Python的美术馆预约系统【附源码】

效果如下: 系统首页界面 系统注册页面 美术馆详细页面 公告信息详细页面 后台登录界面 管理员主界面 美术馆管理界面 预约参观管理界面 研究背景 随着文化娱乐活动的日益丰富,美术馆作为展示艺术作品、传播文化的重要场所,其管理和服务模式…

大语言模型入门(四)——检索增强生成(RAG)

一、什么是检索增强生成 检索增强生成(Retrieval-Augmented Generation,RAG)由Facebook AI Research(FAIR)团队于2020年首次提出,这是一种结合了信息检索技术与语言生成模型的人工智能技术。它通过从外部知…

局域网内探测在线好友是如何做到的?

一、前言 随着局域网(LAN)应用的广泛使用,网络通信已经成为软件设计中不可或缺的一部分。局域网聊天软件作为一种常见的网络应用,可以实现多个用户之间的实时通信,广泛应用于企业内部沟通和小型网络环境中。本项目设计…

‌视频尺寸修改与批量剪辑技巧

在当今这个数字化时代,视频内容已成为人们获取信息、娱乐和社交的重要方式。然而,面对海量的视频素材,如何高效地管理和编辑它们成为了一个挑战。 1打开视频剪辑高手软件,切换功能到“批量剪辑视频” 2把需要剪辑的视频导入到表格…

希尔排序和直接插入排序

因为排序这些比较复杂点我就分几期给大家来讲~~~ 直接插入排序 直接插入排序是一种简单的排序算法,主要用于对少量数据进行排序。其基本思想是将待排序的元素逐个插入到已经排好序的部分中,从而形成一个有序序列。 具体步骤如下: 初始化&…

基于32单片机的博物馆安全监控系统设计

目录 一、主要功能 二、硬件资源 三、程序编程 四、实现现象 一、主要功能 检测 分别是温湿度 光照 PM2.5、烟雾、红外,然后用OLED屏幕显示, 红外超过阈值则蜂鸣器报警,这是防盗报警;温度或烟雾超过阈值,则蜂鸣器…

【目标检测】木制地板缺陷破损数据集338张6类VOC+YOLO格式

数据集格式:Pascal VOC格式YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数):3383 标注数量(xml文件个数):3383 标注数量(txt文件个数):3383 标注…

fiddler抓包21_(性能测试)耗时分析

课程大纲 使用场景 1. 查看请求耗时。 2. (更多)前端性能分析、优化。 1. 查看单个请求耗时 耗时详情:选择请求 - 右侧标签菜单选择Statistics“请求统计”。 传输时间线:选择请求 - 右侧选择“TimeLine”。 2. 前端性能分析&a…

MYSQL 常见锁机制详解,常见锁问题排查及分析

1,锁分类 锁冲突是影响数据库性能的重要指标,本章节介绍MYSQL常见锁,及各种说的常用示例,mysql锁的分类如下: 从操作类型分类:读锁、写锁; 从操作粒度分类:表锁、页锁、行锁&#x…

【文献阅读】Transfer Learning For Text Classification Via Model Risk Analysis

前言:本文是以文本分类的迁移学习任务为例,对风险分析模型的整体框架流程做梳理。 目录 1. LearnRisk1.1 motivatio1.2 overall 2. LearnRisk-TC2.1 构造风险特征2.1.1 risk metric2.1.2 risk feature 2.2 构建风险模型2.3 训练风险模型2.4 微调base mod…

线性代数入门

线性代数入门 线性代数(Linear Algebra)是数学的重要分支之一,广泛应用于工程、计算机科学、物理学、经济学等领域。它主要研究向量、矩阵及其在空间中的变换。对于程序员来说,掌握线性代数的基础知识能够帮助更好地理解数据处理…

边缘人工智能(Edge Intelligence)

边缘人工智能(Edge AI)是指在边缘设备上直接运行人工智能(AI)和机器学习(ML)算法的技术。机器学习是一个广泛的领域,近年来取得了巨大的进步。它所基于的原则是,计算机可以通过从数据…

Qt-QGridLayout布局类控件(43)

目录 描述 属性 使用 常规使用 垂直布局 水平布局 布局是按照相对大小进行的 拉伸系数 使用 设置水平拉伸系数 设置垂直拉伸系数 描述 Qt 中还提供了 QGridLayout ⽤来实现⽹格布局的效果.可以达到 M * N的这种⽹格的效果 属性 layoutLeftMargin左侧边距layoutRig…