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.mzph.cn/web/54563.shtml

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

相关文章

独立站如何批量查收录,独立站批量查询收录的操作方法

独立站批量查询收录是SEO优化过程中的一项重要任务,它有助于网站管理员全面了解网站在搜索引擎中的表现情况。以下是一些常用的独立站批量查询收录的操作方法: 一、使用搜索引擎的Site指令结合自动化工具 编写脚本或配置爬虫: 利用Python、…

Hive优化操作(一)

Hive SQL 优化指南 在使用 Hive 进行数据分析时,提高查询性能至关重要。以下是一些具体的优化策略,帮助我们在工作中更有效地管理和查询数据。 一、 减少数据量进行优化 1. 分区表优化 分区是一种表的子集,用于按某一列(如日期…

【Flutter】- 核心语法

文章目录 知识回顾前言源码分析1. 有状态组件2. 无状态组件3. 组件生命周期4. 常用组件Container组件Text组件Image组件布局组件row colum stack expandedElevntButton按钮拓展知识总结知识回顾 【Flutter】- 基础语法 前言 Flutter是以组件化的思想构建客户端页面的,类似于…

windows C++-创建数据流代理(二)

完整的数据流演示 下图显示了 dataflow_agent 类的完整数据流网络: 由于 run 方法是在一个单独的线程上调用的,因此在完全连接网络之前,其他线程可以将消息发送到网络。 _source 数据成员是一个 unbounded_buffer 对象,用于缓冲…

Windows 编译 FFmpeg 源码详细教程

FFmpeg FFmpeg 是一个开源的多媒体框架,它包括了一整套工具和库,可以用来处理(转码、转换、录制、流式传输等)音频和视频。FFmpeg 支持广泛的音视频格式,并且可以在多种操作系统上运行,包括 Windows、Linux 和 macOS。 FFmpeg 的主要组件包括: ffmpeg:这是一个命令行工…

OpenCV视频I/O(20)视频写入类VideoWriter之用于将图像帧写入视频文件函数write()的使用

操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 cv::VideoWriter::write() 函数用于将图像帧写入视频文件。 该函数/方法将指定的图像写入视频文件。图像的大小必须与打开视频编写器时指定的大…

在Python中处理文件路径

在Python中处理文件路径 下面将详细介绍如何使用 pathlib 模块来处理文件路径。我们将从创建 Path 对象、绝对路径与相对路径、访问文件路径分量,以及检查文件路径是否存在等几个方面进行讲解。 1. 创建 Path 对象 要使用 pathlib,首先需要导入模块并…

网站建设中常见的网站后台开发语言有哪几种,各自优缺点都是什么?

市场上常见的网站后台开发语言有PHP、Python、JavaScript、Ruby、Java和.NET等。这些语言各有其独特的优缺点,适用于不同的开发场景和需求。以下是对这些语言的具体介绍: PHP 优点:PHP是一种广泛用于Web开发的动态脚本语言,特别适…

Diffusion models(扩散模型) 是怎么工作的

前言 给一个提示词, Midjourney, Stable Diffusion 和 DALL-E 可以生成很好看的图片,那么它们是怎么工作的呢?它们都用了 Diffusion models(扩散模型) 这项技术。 Diffusion models 正在成为生命科学等领域的一项尖端技术&…

基于STM32的智能花盆浇水系统设计

引言 本项目设计了一个基于STM32的智能花盆浇水系统。该系统通过土壤湿度传感器检测土壤湿度,当湿度低于设定阈值时,自动启动水泵进行浇水。它还结合了温湿度传感器用于环境监测。该项目展示了STM32在传感器集成、自动控制和节水智能化应用中的作用。 …

Mongo Java Driver使用getCollection做分页查询遇到的一些坑

背景 最近在做Mongo上的表数据的迁移,原本应该是DBA要干的活,但是想着DBA排期比较长,加上我们开发的权限又非常有限,而且数据量又没有多少,就想着自己开发个小小的程序从旧实例上查,写到新实例上去算了。于…

Nginx05-基础配置案例

零、文章目录 Nginx05-基础配置案例 1、案例需求 (1)有如下访问 http://192.168.119.161:8081/server1/location1 访问的是:index_sr1_location1.htmlhttp://192.168.119.161:8081/server1/location2 访问的是:index_sr1_loca…

YoloV9改进策略:BackBone改进|CAFormer在YoloV9中的创新应用,显著提升目标检测性能

摘要 在目标检测领域,模型性能的提升一直是研究者和开发者们关注的重点。近期,我们尝试将CAFormer模块引入YoloV9模型中,以替换其原有的主干网络,这一创新性的改进带来了显著的性能提升。 CAFormer,作为MetaFormer框架下的一个变体,结合了深度可分离卷积和普通自注意力…

计算机网络自顶向下(2)----socket编程

1.套接字 套接字是用于在计算机网络中进行通信的一种技术。它是操作系统提供的一种接口,通过该接口,应用程序可以通过网络连接进行数据的传输和接收。 套接字包含了一个IP地址和一个端口号,用于唯一标识一个网络连接。通过套接字,…

Ansible学习之ansible-pull命令

想要知道ansible-pull是用来做什么的,就需要了解Ansible的工作模,Ansible的工作模式有两种: push模式 push推送,这是Ansible的默认模式,在主控机上编排好playbook文件,push到远程主机上来执行。pull模式 p…

远程调用的问题以及eureka原理

目录 服务调用出现的问题 问题分析 解决方案(eureka原理) eureka(两个角色) eureka的解决方案 此过程出现的问题 eureka的作用 总结 服务调用出现的问题 服务消费者该如何获取服务提供者的地址信息?如果有多个…

系统架构设计师论文《论企业应用系统的数据持久层架构设计》精选试读

论文真题 数据持久层(Data Persistence Layer)通常位于企业应用系统的业务逻辑层和数据源层之间,为整个项目提供一个高层、统一、安全、并发的数据持久机制,完成对各种数据进行持久化的编程工作,并为系统业务逻辑层提…

【SpringBoot】基础+JSR303数据校验

目录 一、Spring Boot概要 1. SpringBoot介绍 2. SpringBoot优点 3. SpringBoot缺点 4. 时代背景-微服务 二、Spring Boot 核心配置 1. Spring Boot配置文件分类 1.1 application.properties 1.2 application.yml 1.3 小结 2. YAML概述 3. YAML基础语法 3.1 注意事…

【教程】57帧! Mac电脑流畅运行黑神话悟空

转载请注明出处:小锋学长生活大爆炸[xfxuezhagn.cn] 如果本文帮助到了你,欢迎[点赞、收藏、关注]哦~ 1、先安装CrossOver。网上有许多和谐版,可自行搜索。(pd虚拟机里运行黑神话估计够呛的) 2、运行CrossOver&#xf…

nvidia英伟达显卡高刷新显示器dp接口无法进入bios的解决办法

nvidia英伟达显卡高刷新显示器dp接口无法进入bios的解决办法 问题分析 在gtx20x0之前的显卡,如1050ti,window能正常使用dp接口,但进入bios就无法显示(显示器无信号输入) 问题解决 安装NVIDIA Graphics Firmware Upda…