目录
前言
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 下载地址 | |
vae 下载地址 | |
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 的活动赶紧来实操一波吧!!
即可报名参加呦!!!!
发表评论