前言
AI 视频生成领域近期算是非常热闹,个人也是非常的感兴趣,奈何电脑不给力,在搭建的过程中总是提示各种各样的问题 , 不过天无绝人之路, 最近 腾讯云高性能应用服务(Hyper Application Inventor,HAI) 活动正在如火如荼的进行着, 因此决定挑战一下, 看下在HAI 上搭建 AI 动画生成框架 MagicAnimate 是否会有不一样的收获.
为什么是HAI?
腾讯云高性能应用服务(Hyper Application lnventor,HAI),是一款面向Al、科学计算的 GPU 应用服务产品,为开发者量身打造的澎湃算力平台。无需复杂配置,便可享受即开即用的GPU云服务体验。在 HAI中,根据应用智能匹配并推选出最适合的 GPU 算力资源,以确保您在数据科学、LLM、AI 作画等高性能应用中获得最佳性价比。此外,HAI 的一键部署特性让您可以在短短几分钟内构建如 StableDiffusion、ChatGLM 等热门模型的应用环境。而对于 AI 研究者,我们的直观图形界面大大降低了调试的复杂度,支持jupyterlab、webui等多种连接方式,助您轻松探索与创新。现在,只需打开浏览器,HAI 便为您打开了一片无限可能的高性能应用领域。
1. 配置说明
AI框架
AI框架 | 环境配置 |
---|---|
Pytorch2.0.0 | Ubuntu20.04, Python 3.8, Pytorch 2.0.0, CUDA 11.7, cuDNN 8, JupyterLab PyTorch 2.0.0是一款深度学习框架。该环境支持基于PyTorch框架的模型训练,支持模型的训练、评估及部署。 |
Tensorflow2.9.0 | Ubuntu20.04, Python 3.8, CUDA 11.7, cuDNN 8, Tensorflow 2.9.0, JupyterLab TensorFlow 2.9.0是一款深度学习框架。该环境支持基于TF框架的模型训练、评估及部署。 |
AI 模型
AI 模型 | 环境配置 |
---|---|
Stable Diffusion | Ubuntu20.04, Python 3.10, Stable Diffusion v1-5, CUDA 11.7, cuDNN 8, Pytorch 2, JupyterLab Stable Diffusion是一款AIGC图片生成模型。该环境已预装webui及JupyterLab,支持可视化文件管理及环境调优。 |
ChatGLM2 6B | Ubuntu20.04, Python 3.8, ChatGLM2-6b, CUDA 11.7, cuDNN 8, pytorch 2, JupyterLab ChatGLM2 6B是一款由智谱 AI 研发并开源的 LLM 模型。该环境已预装 webui 及JupyterLab,支持可视化文件管理及环境调优。 |
Llama2 7B | Ubuntu20.04, Python 3.8, Llama-2-7b-chat, CUDA 11.7, cuDNN 8, pytorch 2, JupyterLab Llama2 7B是一款由Meta AI开源的LLM模型。Llama-2-7b-chat是高性能原生开源版本,适用于多种对话场景。注:该环境暂无 webui 可视化调试页面,需通过命令行调试。 |
Llama2 13B | Ubuntu20.04, Python 3.8, Llama-2-13b-chat, CUDA 11.7, cuDNN 8, pytorch 2, JupyterLab Llama2 13B是一款由Meta AI开源的LLM模型。Llama-2-13b-chat是高性能原生开源版本,适用于多种对话场景。注:该环境暂无 webui 可视化调试页面,需通过命令行调试。 |
2. 横向对比
大幅降低GPU云服务器使用门槛,多角度优化产品使用体验,开箱即用
3. 应用场景
多种高性能应用部署场景,轻松拿捏
开启HAI搭建MagicAnimate之旅
接下来我们就一步一步的开始MagicAnimate 的搭建流程吧~~
1. 申请高性能应用服务 HAI
点击链接 , 访问高性能应用服务 HAI 的资格申请页面, 并点击申请资格
按钮, 填写信息并提交, 等待审核通过即可哦!
资格审核通过后,点击前往体验HAI
就可以开始你的AI 之旅啦~~~~
2. 创建实例
点击新建
按钮 , 进入 高性能应用服务 HAI
2.1. 配置选择
名称 | 选择内容 |
---|---|
选择应用 | AI框架 =》Pytorch2.0.0 |
地域 | 广州 |
算力方案 | 基础型 |
实例名称 | MagicAnimate(这里自定义或者不填均可) |
硬盘 | 150G(默认配置是80g 个人建议150g 保险一些) |
网络 | 每台实例免费提供500GB流量包,默认5Mbps带宽,每月刷新 |
协议 | 勾选协议 |
详细如下图所示
配置完成后点击立即选购
即可
实例介绍
物料准备
1. 连接算力
点击 JupyterLab
2. 克隆
在JupyterLab
界面 选择 Terminal
输入下面命令进行 Clone
git clone https://github.com/magic-research/magic-animate.git
温馨提示: 最好在 root 目录下创建一个自己的文件夹 防止混淆哦!!
3. 模型下载
MagicAnimate 需要 StableDiffusion V1.5 模型、MSE-finetuned VAE 以及 MagicAnimate 模型
这里有两个选择哦 ! 你可以直接从下面的git 地址中下载, 也可以用我的云盘包, 云盘包我会放到文章末尾 需要自取哦!!
StableDiffusion V1.5 下载地址 | https://huggingface.co/runwayml/stable-diffusion-v1-5 |
---|---|
VAE 下载地址 | https://huggingface.co/stabilityai/sd-vae-ft-mse |
MagicAnimate 地址 | https://huggingface.co/zcxu-eric/MagicAnimate |
温馨提示: 如果使用git 下载的话建议用SSH 的 不要用 HTTPS 的 ,本人亲测 HTTPS 一直下载不下来 !!
如果是上传压缩包的话, 直接点击上传即可
4. 文件结构
好啦当你所有的物料准备好了之后,一定要保持下面的目录结构哦 !!
magic-animate
|----pretrained_models
|----MagicAnimate
|----appearance_encoder
|----diffusion_pytorch_model.safetensors
|----config.json
|----densepose_controlnet
|----diffusion_pytorch_model.safetensors
|----config.json
|----temporal_attention
|----temporal_attention.ckpt
|----sd-vae-ft-mse
|----...
|----stable-diffusion-v1-5
|----...
|----...
解读:
简单来说 需要在 magic-animate
文件夹的根目录创建一个 pretrained_models
文件夹 , 将 StableDiffusion V1.5
模型、MSE-finetuned VAE
以及 MagicAnimate
模型 放在 pretrained_models
的根目录即可
5. 依赖安装及问题修复
当我们前期工作准备好后,接下来从终端进入到magic-animate
目录 , 然后输入命令进行依赖安装
命令如下
pip3 install -r requirements.txt
我这里出现的错误如下:
错误原因:
分析爆粗内容得出 是在安装torchaudio时遇到了依赖冲突的问题。错误信息表明torchaudio需要torch版本2.0.0,但是目前已经安装了不兼容的2.0.1版本。
修复方式如下:
- 尝试降级你的torch版本到2.0.0
pip install torch==2.0.0
2. 可以重新安装torchaudio
pip install torchaudio
但是当我们安装 torch 2.0.0
时依旧报错如下
想来想去 算啦 , 还是装回 2.0.1
版本吧 ,毕竟 requirements.txt
中 torch
的版本是 2.0.1
但是报错如和解决呢?
这里我选择直接忽略警告,继续使用 torch-2.0.1
pip install --no-deps torchaudio
然后执行命令:
pip3 install -r requirements.txt
效果如下:
6. 启动应用
依赖安装完成 我们接下来启动一下吧!
如果是单显卡 可以使用下面的命令启动
python -m demo.gradio_animate
多显卡
python -m demo.gradio_animate_dist
本次实验我选择的是单显卡哦 !
古话说的好: 如果不出意外的情况下, 那么意外就会出现
是的, 意外来了 ,如下图:
原因分析:
首先是启动起来了, 然后我选择 HAI
的公网ip :端口号 访问, 是访问不到的, 突然想到可能是自己的 安全组规则
没有配置,
其次下面的提示也很有意思,大概是说 :
- 下载一个文件
- 将下载好的文件重命名为 frpc_linux_amd64_v0.2。
- 将该文件移动到路径 /root/miniconda3/lib/python3.8/site-packages/gradio。
俗话说的好, 听人劝,吃饱饭, 接下来就按照上面的思路来尝试一下吧!!
7. 配置安全组规则
- 进入实例详情
- 点击端口配置中的编辑规则, 进行如下图所示配置。
- 将下后的文件 重命名后上传到
/root/miniconda3/lib/python3.8/site-packages/gradio
- 在
magic-animate
根目录执行 python命令
python -m demo.gradio_animate
虽然运行成功但是目前公网访问不了, 怎么办呢 ?
8. 修改源码适配公网
接下来在目录 magic-animate
中选择demo
下的 gradio_animate
文件
滑到文件最下面找到 demo.launch
修改
demo.launch(share=True, server_name="0.0.0.0", server_port=7870)
端口号记得放开哦!
然后再次运行 , 神奇的事情发生了 !! , 成功启动, 激动啊
9. 公网访问
10. 生成会跑的蒙娜丽莎
直接将Examples
中的实例图片拖到上面即可 然后生成视频, 一起来体验下吧!!
使用HAI 结合MagicAnimate 展示跑步的蒙娜丽莎
11. 跳舞的蒙娜丽莎
同样的方法生成一个4s 跳舞的蒙娜丽莎视频
可能是我算力选择的问题 ,生成的视频时间较长,这里建议搭建选择 进阶版的呦!!
视频效果如下:
使用HAI 结合MagicAnimate呈现跳舞的蒙娜丽莎
总结
1. 鸣谢~
相信很多人在使用HAI 搭建了这个 MagicAnimate
之后 , 都会有一个想法, HAI 应运而生, 他真的解决了我们在AI 运用上的硬件问题环境问题等等,各种各样的问题, 本人在搭建 MagicAnimate
的过程中遇见了各种各样的问题, 其中有些问题在咨询HAI 的技术人员后也是给出了肯定的回答, 比如 通过 SCP
内网传输大文件,等等在此真诚的感谢啦~~
2. 建议与改善
再完美的作品也会有瑕疵,再优秀的人也会有不足,本次的HAI 体验过后,还是有一点点的小想法的简单分享一下
- 是否可以增加扩容机制, 用户在进行创建实例时, 可能选择的磁盘大小与自己项目的不一致, 但是当用户的文件已经上传完成后才发现这个问题, 这种情况下, 没发自动扩容,就会陷入两难的境地, 新建实例会浪费时间, 不新建实例项目无法启动
- 新建实例之后服务器的用户和密码是否可以在详情展示出来呢? 这样再上传大文件的时候 就可以直接通过内网上传,上传速度也会更快一些呦
目前只有以上两条小小的想法哦, 如果有想体验MagicAnimate
的同学,还在等什么? 趁着本次HAI 的活动赶紧来实操一波吧!!