在矩池云上使用StoryDiffusion的详细方法

StoryDiffusion 是由南开大学和字节跳动团队联合研发的,基于一致性自注意力机制生成长跨度图像和视频的新型扩散模型(Consistent Self-Attention for Long-Range Image and Video Generation),使用者不需要进行额外训练,就可以生成风格一致的图像序列。
·利用Consistent Self-Attention机制来生成主题一致的连续内容,生成类似于漫画书、连环画等场景的画面
·StoryDiffusion能搭配PhotoMaker使用,生成与参考图一致的内容

项目地址:https://github.com/HVision-NKU/StoryDiffusion

机器选择

根据 StoryDiffusion 的项目描述,其提供的低显存需求的版本是在 Tesla A10 上测试的,即显存要求在 24G,根据项目方预测显存尽量选择在大于 20G,所以在矩池云上使用 StoryDiffusion 时我们可以选择 3090、4090、A6000、A30 和 A100,在这里我们所使用的为 4090。

模型下载

开始前,我们需要提前下载上传以下模型(或者按后文步骤,租用机器后,使用国内源下载使用)

需要提前下载上传以下模型(或者按后文步骤,租用机器后,使用国内源下载使用)
在这里插入图片描述
可以使用网盘客户端的导入 HuggingFace 项目功能,这样不需要花钱租用机器下载模型数据。
在这里插入图片描述

镜像选择

根据项目需求,即,
Python >= 3.8 (Recommend to use Anaconda or Miniconda)
PyTorch >= 2.0.0

我们选择系统镜像 Pytorch 2.0.1 ,
在这里插入图片描述

选择镜像后,在下面的高级选项自定义一个7860端口(后面运行 StoryDiffusion web demo 会使用),然后点击下单即可。
在这里插入图片描述

机器启动成功后,点击租用页面的 Jupyterlab --点击打开,
在这里插入图片描述

环境安装

在 Jupyterlab 页面新建一个 Terminal,输入如下指令 clone 项目并安装环境。

cd /mnt
git clone https://mirror.ghproxy.com/https://github.com/HVision-NKU/StoryDiffusion
cd StoryDiffusion
pip install -r requirements.txt

在这里插入图片描述

环境安装成功后,可以开始运行项目,输入以下指令即可:

HF_ENDPOINT=https://hf-mirror.com python gradio_app_sdxl_specific_id_low_vram.py

在这里插入图片描述

如果你已经下载好模型,并上传到了网盘,可以 Jupyterlab 打开 StoryDiffusion 项目文件夹下的config/models.yaml文件,将里面的模型路径改成你服务器里对应路径。

网盘对应机器中的/mnt目录,比如网盘下 abc 目录下的 123.csv 文件路径就是:/mnt/abc/123.csv
在这里插入图片描述

程序运行成功后会显示端口号,这时我们访问租用页面自定义的 7860 端口对应链接即可访问服务。
在这里插入图片描述

点击即可打开服务页面。
在这里插入图片描述

使用StoryDiffusion

在页面中根据提示即可开始使用 StoryDiffusion。
在这里插入图片描述

根据官方给的 DEMO 进行分析,我们发现
(1)prompt中,以#开头的内容,会出现在图中成为文字注解的部分
(2)以[NC]开头的内容,指的是没有定义的角色会出现在该图片中

[Bob] at home, read new paper #at home, The newspaper says there is a treasure house in the forest.
[Bob] on the road, near the forest
[Alice] is make a call at home # [Bob] invited [Alice] to join him on an adventure.
[NC]A tiger appeared in the forest, at night
[NC] The car on the road, near the forest #They drives to the forest in search of treasure
[Bob] very frightened, open mouth, in the forest, at night
[Alice] very frightened, open mouth, in the forest, at night
[Bob] and [Alice] running very fast, in the forest, at night
[NC] A house in the forest, at night #Suddenly, They discovers the treasure house!
[Bob] and [Alice] in the house filled with treasure, laughing, at night #He is overjoyed inside the house.

我们也可以输入自己的prompt,进而生成图片。
在这里插入图片描述

### StoryDiffusion: 文本生成与故事创作的相关探索 StoryDiffusion 并未在当前提供的引用中被直接提及,但它可能是一个与文本生成、故事创作相关的 AI 工具或模型。通过分析现有技术背景和相关领域的发展趋势[^2],可以推测 StoryDiffusion 可能属于 AIGC(人工智能生成内容)的一部分,类似于 Al-StoryLab 或 ChatGPT 的扩展应用。 #### 1. 故事生成的核心技术 故事生成通常依赖于自然语言处理 (NLP)[^3] 和深度学习技术。具体来说,这类工具可能会利用预训练的语言模型来理解上下文并生成连贯的故事片段。例如,在 AIGC 领域中提到的 ChatGPT 不仅能够完成基本的任务型对话,还能生成具有创造性的文字内容。这表明类似的模型可以通过微调适配特定的应用场景,比如小说写作或者剧本创作。 #### 2. 主题迁移与跨语料库适应能力 如果 StoryDiffusion 提供了高级的功能,则其设计思路或许借鉴了 TopicAdapt 方法论——即实现从已知题材向未知领域的平滑过渡[^4]。这意味着该系统不仅限于单一类型的叙事风格,还可以根据不同用户的偏好调整输出结果,甚至融合多种文化背景下的表达方式。 #### 3. 实际应用场景举例 以下是几个假设中的使用案例: - **创意辅助**:作家可借助此类软件快速构思情节大纲; - **教育材料开发**:教师用来定制化阅读练习素材; - **娱乐产品孵化**:游戏开发者运用它构建丰富的虚拟世界设定文档; 下面展示一段简单的 Python 脚本来模拟如何调用假想 API 接口获取由 StoryDiffusion 自动生成的一段短篇科幻小说开头部分: ```python import requests def get_story(prompt=""): url = "https://api.storydiffusion.com/generate" payload = {"prompt": prompt} headers = {'Authorization': 'Bearer YOUR_API_KEY'} response = requests.post(url, json=payload, headers=headers) if response.status_code == 200: return response.json()['story'] else: raise Exception(f"Error {response.status_code}: Unable to fetch the story.") if __name__ == "__main__": try: generated_text = get_story("In a distant future where humans have colonized Mars...") print(generated_text) except Exception as e: print(e) ``` 请注意上述代码仅为示意用途,并不代表真实存在的服务端点地址或其他细节参数配置情况。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值