Hallo部署指南

一、介绍

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.xdnf.cn/news/1556613.html

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

相关文章

【AI知识点】正则化(Regularization)

正则化(Regularization) 是机器学习和统计学中的一种技术,用于防止模型过拟合。在训练模型时,模型可能会过度拟合训练数据,导致在新数据上的表现较差。正则化通过在优化过程中引入额外的约束或惩罚项,使模型…

【开发心得】筑梦上海:项目风云录(6)

目录 会海跳槽 票务开启 漂泊在外的日子 未完待续 会海跳槽 随着时刻表的出炉,意味着大规模的界面开发逐步进入正规。项目组里陆陆续续引进了8个人,最多的时候,同时有10个人在现场。“松工”为我们准备的办公室坐的满满当当,…

Maven 高级之分模块设计与继承、聚合

在软件开发中,随着项目规模的扩大,代码量和复杂度不断增加,传统的一体化开发模式逐渐暴露出诸多问题。为了解决这些问题,模块化开发应运而生,而 Maven 正是模块化开发的利器,它提供的继承和聚合机制为构建和…

wc命令:统计文本行数、单词数、字节数

一、命令简介 ​wc​(word count)是一个在类 Unix 系统中常用的命令行工具,用于统计文本文件的 行数​、单词数 ​和 字节数​。 ​​ ‍ 二、命令参数 ​wc​ 命令的基本语法如下: wc [选项] 文件选项: ​-c​…

当管理遇上AI,工作效率翻了3倍!

最近这段时间,很多企业都开始降薪、裁员。 在降本增效的大背景下,企业但凡有什么大动作,压力往往都会转嫁到管理者的身上。 一方面,要调大家的状态,处理团队中的各种琐事;另一方面,要及时响应…

【ESP32】Arduino开发 | Timer定时器+定时器闹钟例程

有关定时器外设的详细介绍在ESP-IDF的对应文章中,跳转栏目目录可以找到。 1. API 1.1 启动定时器 hw_timer_t * timerBegin(uint8_t timer, uint16_t divider, bool countUp); timer:定时器序号(ESP32有4个硬件定时器,所以可填序…

SpringBoot赋能旅游管理:系统设计与实现

第三章 系统分析 3.1可行性分析 对所有的系统来说,都有可能会受到时间和空间上的制约。所以,我们在设计每一个项目的时候,必须对该系统实行可行性分析,这样不但能够降低项目的危害,还能改降低人力、物力和财力的损耗。…

【CKA】十六、监控Pod度量指标

16、监控Pod度量指标 1. 考题内容: 2. 答题思路: 题目意思是:找出label有namecpu-user的CPU最高的Pod,然后把它的名字写在已经存在的 /opt/KUTR00401/KUTR00401.txt文件里 3. 官网地址: https://kubernetes.io/zh-…

LeetCode 54 Spiral Matrix 解题思路和python代码

题目: Given an m x n matrix, return all elements of the matrix in spiral order. Example 1: Input: matrix [[1,2,3],[4,5,6],[7,8,9]] Output: [1,2,3,6,9,8,7,4,5] Example 2: Input: matrix [[1,2,3,4],[5,6,7,8],[9,10,11,12]] Output: [1,2,3,4,8,1…

反射在Go语言中的具体应用场景

在Go语言中,反射(Reflection)是一种强大的特性,它允许程序在运行时检查、修改和操作变量的类型信息。 尽管反射在性能上通常不如直接操作,但它在某些特定场景下非常有用。 反射在Go语言中的具体应用场景:…

基于JAVA的鲜花商城管理系统(源码+定制+讲解)鲜花商城管理系统、鲜花商城管理平台、鲜花商城信息管理、鲜花商城系统开发与应用、鲜花在线商城管理系统

博主介绍: ✌我是阿龙,一名专注于Java技术领域的程序员,全网拥有10W粉丝。作为CSDN特邀作者、博客专家、新星计划导师,我在计算机毕业设计开发方面积累了丰富的经验。同时,我也是掘金、华为云、阿里云、InfoQ等平台…

基于Springboot海宝海鲜餐厅系统JAVA|VUE|SSM计算机毕业设计源代码+数据库+LW文档+开题报告+答辩稿+部署教+代码讲解

源代码数据库LW文档(1万字以上)开题报告答辩稿 部署教程代码讲解代码时间修改教程 一、开发工具、运行环境、开发技术 开发工具 1、操作系统:Window操作系统 2、开发工具:IntelliJ IDEA或者Eclipse 3、数据库存储&#xff1a…

旅游管理智能化转型:SpringBoot系统设计与实现

第四章 系统设计 4.1系统结构设计 对于本系统的开发设计,先自上向下,将一个完整的系统分解成许多个小系统来进行实现;再自下向上,将所有的“零件”组装成一个大的、完整的系统。因此这里面的许多个小功能块都要对将要实现的功能进…

微软GraphRAG实战解析:全局理解力如何超越传统RAG

微软近日开源了新一代RAG框架GraphRAG,以解决当前RAG在大型语料库上全局理解问题。当前RAG主要聚焦于局部检索能力,即根据查询语句在向量库中匹配部分知识,然后通过大型语言模型合成这些检索到的信息,生成一个自然流畅的回答。相信…

【NLP自然语言处理】03 - 使用Anaconda创建新的环境/pycharm切换环境

NLP基础阶段:创建新的虚拟环境 第一步:查看有多少个虚拟环境 conda env list 第二步:创建一个新的虚拟环境,起个名字:nlpbase 打开anconda prompt终端,输入命令: conda create -n nlpbase python3.10 第三步…

数据仓库拉链表

数仓拉链表是数据仓库中常用的一种数据结构,用于记录维度表中某个属性的历史变化情况。在实际应用中,数仓拉链表可以帮助企业更好地进行数据分析和决策。 数仓拉链表(Slowly Changing Dimension, SCD)是一种用于处理维表中数据变化…

MATLAB中lsqminnorm函数用法

目录 语法 说明 示例 求解具有无限个解的线性系统 指定容差以减少含噪数据的影响 切换显示低秩矩阵警告 lsqminnorm函数的功能是线性方程的最小范数最小二乘解。 语法 X lsqminnorm(A,B) X lsqminnorm(A,B,tol) X lsqminnorm(___,rankWarn) 说明 X lsqminnorm(A,B…

[单master节点k8s部署]34.ingress 反向代理(一)

ingress是k8s中的标准API资源,作用是定义外部流量如何进入集群,并根据核心路由规则将流量转发到集群内的服务。 ingress和Istio工作栈中的virtual service都是基于service之上,更细致准确的一种流量规则。每一个pod对应的service是四层代理&…

YOLO11改进|卷积篇|引入线性可变形卷积LDConv

目录 一、【LDConv】卷积1.1【LDConv】卷积介绍1.2【LDConv】核心代码 二、添加【LDConv】卷积2.1STEP12.2STEP22.3STEP32.4STEP4 三、yaml文件与运行3.1yaml文件3.2运行成功截图 一、【LDConv】卷积 1.1【LDConv】卷积介绍 下图是【LDCNV】的结构图,让我们简单分析…

JumperServer入门

一、安装部署 官方安装文档:快速入门 - JumpServer 文档 机器准备 CentOS7 ip 角色 192.168.252.145 主节点 192.168.252.146 被控节点1 192.168.252.148 被控节点2 安装JumperServer curl -sSL https://resource.fit2cloud.com/jumpserver/jumpserver…