【StoryDiffusion】部署教程
StoryDiffusion介绍
StoryDiffusion: 指定人物连续漫画一键生成工具!
StoryDiffusion 是由南开大学HVision团队开发的创新人工智能工具。它的核心功能是生成连贯的图像和视频故事,尤其擅长于漫画创作。该工具采用了先进的一致性自注意力(Consistent Self-Attention)技术,可以在无需额外训练的情况下,生成主题一致的图像序列,这些图像非常适合用于叙述故事或作为进一步内容创作的基础。
主要功能特征
- 角色连贯性保持:通过一致性自注意力机制,StoryDiffusion 能够生成风格和服装一致的图像和视频,确保多图漫画和长视频中的角色连贯性,从而实现流畅的故事叙述。
- 多场景应用:除了漫画生成,StoryDiffusion 还适用于图像转视频等多种应用场景。用户可以提供一系列条件图像,利用 Image-to-Video 模型生成视频,为广告、电影等领域提供创新的内容制作方式。
- 教育材料设计:教育工作者可以利用 StoryDiffusion 设计引人入胜的教育视频或互动故事,这有助于增强学习者的参与度和兴趣。
- 长范围图像生成功能:特别适用于制作连贯的广告故事,有助于加强品牌形象。这一功能让 StoryDiffusion 在广告和品牌推广方面展现出独特的优势。
- 即插即用无需训练:通过将一致性自注意力技术整合进现有的 U-Net 图像生成模型架构,并重用原有的自注意力权重,StoryDiffusion 实现了无需训练的即插即用特性。
- 高效能与稳健性:在保持角色特性和符合提示描述的同时,StoryDiffusion 在定量指标上展示了优异的性能和稳健性。
1. 前置准备
官方文档中对GPU的需求
StoryDiffusion官方文档中对GPU显存有要求,推荐使用A4000、Tesla P40等GPU
1.1 创建实例
1.2 从Github获得克隆地址
从github获得克隆地址
StoryDiffusion Github地址:https://github.com/HVision-NKU/StoryDiffusion
1.3 启动GPU实例
2.连接服务器并部署StoryDiffusion
2.1 通过终端连接服务器
通过clone获得storyDiffusion,命令如下:
git clone https://github.com/HVision-NKU/StoryDiffusion
通过ls命令查看目录,如果有StoryDiffusion存在,说明克隆成功
使用cd命令进入StoryDiffusion文件夹,运行gradio_app_sdxl_specific_id_low_vram.py文件,根据相应的提示使用pip命令下载缺失的库,命令如下:
cd StoryDiffusion
python gradio_app_sdxl_specific_id_low_vram.py
或者跳到2.2步骤,提前将所有需要的库载入
2.2 下载相对应的库
需要使用pip命令下载transformers、torch、gradio、torchvision、diffusers、accelerate一共六个库
pip install transformers
pip install torch
pip install gradio
pip install torchvision
pip install diffusers
pip install accelerate
下载完成后运行gradio_app_sdxl_specific_id_low_vram.py文件,由于使用huggingface时下载连接不稳定,会出现连接失败的提示,因此需要进行一些配置
Huggingface连接配置相关博客地址:https://blog.csdn.net/weixin_44257107/article/details/136532423
2.3 huggingface连接不稳定解决方案
使用nano gradio_app_sdxl_specific_id_low_vram.py命令打开文件进行编辑
nano gradio_app_sdxl_specific_id_low_vram.py
在代码中加入os.environ["HF_ENDPOINT"] = "https://hf-mirror.com"
os.environ["HF_ENDPOINT"] = "https://hf-mirror.com"
完成修改后,Ctrl+x完成保存,选择Y确定保存,Enter确认修改后的文件名称并回到终端
在终端中设置环境变量HF_ENDPOINT=https://hf-mirror.com
python gradio_app_sdxl_specific_id_low_vram.py
HF_ENDPOINT=https://hf-mirror.com python gradio_app_sdxl_specific_id_low_vram.py
如果前面已经添加了accelerate库则不会报错
2.4 运行程序
输入python gradio_app_sdxl_specific_id_low_vram.py运行,可以使用学术加速加快加载速度
python gradio_app_sdxl_specific_id_low_vram.py
学术加速命令 :source /etc/network_turbo
source /etc/network_turbo
如图所示,7860端口成功与本地8888端口建立连接,说明运行成功,本地可通过8888端口进行访问
3. 本地部署WEB访问
3.1 使用终端通过SSH进行访问
3.1.1 打开你的终端或命令提示符。
3.1.2 执行SSH命令。
3.1.3 假设:
- 远程服务器的IP地址是your-server-ip。
- 你在远程服务器上的用户名是root。
- 远程服务器上Stable Diffusion应用运行的端口是7860。
- 你想要将此服务映射到本地机器的8888端口。
3.1.4 命令格式如下:
ssh -CNg -L 8888:localhost:7860 root@your-server-ip -p 22
在星海智算平台创建实例之后,就能在实例界面看见你所创建的实例的ip相关数据
在浏览器地址栏中输入localhost:8888 进行访问