【AIGC】手把手使用扩散模型从文本生成图像


在这篇文章中,我们将手把手展示如何使用Hugging Face的diffusers包通过文本生成图像。

从 DALLE 到Stable Diffusion

DALLE2是收费的,用户只有一些免费的额度,如果免费额度使用完毕就需要付费了,所以必须寻找替代方案,并发现了Hugging Face,他们发布了一个扩散模型的包diffusers ,可以让我们直接使用。
AIGC

使用diffusers package从文本prompt生成图像

首先,使用diffusers包从文本生成图像,我们要有一个GPU,可以使用google的colab,但是常规的colab由于RAM有限制,可能会存在中断的情况,或者也可以购买Pro版本。这里我们使用自己的GPU服务器。

然后,要安装如下package:

  • diffusers==0.2.4 — 这是我们主要使用的包
  • transformers — 这个是Hugging Face的成名基础包
  • scipy — 科学计算的
  • ftfy — 处理一些文本编码问题
  • ipywidgets>=7,<8 — notebook的一个小组件的基础包
  • torch —这个就不用说了
  • pillow — 处理图片的

安装命令:

!pip install diffusers==0.2.4
!pip install transformers scipy ftfy
!pip install "ipywidgets>=7,<8"

导入依赖包:

import torch
from diffusers import StableDiffusionPipeline

下载StableDiffusionPipeline,并使用GPU加载:

model_id = "CompVis/stable-diffusion-v1-4"
device = "cuda"


pipe = StableDiffusionPipeline.from_pretrained(model_id, torch_dtype=torch.float16)
pipe = pipe.to(device)

此时报出一个Warning:
Warning
安装accelerate:pip install accelerate

然后,使用PyTorch的autocast运行推理:
Autocast
最后,查看结果:
image
结果非常不错。我们也可以调整一些参数,例如guide_scalestep和设置随机种子(用于确定性输出),来控制我们的模型输出,具体的更详细的使用方式请看:

参考资料

  1. CompVis/stable-diffusion-v1-4
  2. Stable Diffusion with 🧨 Diffusers
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

镰刀韭菜

看在我不断努力的份上,支持我吧

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值