前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >一个好用的扩散模型包:Diffusers

一个好用的扩散模型包:Diffusers

作者头像
算法一只狗
发布2022-11-04 11:43:57
2.2K0
发布2022-11-04 11:43:57
举报
文章被收录于专栏:算法一只狗算法一只狗

1.前言

最近文本生成图像AI太过于火爆,导致频频上热搜。

游戏设计师利用AI工具作画拿到一等奖:说的是美国的一位画师利用AI工具进行作画,并拿到了一等奖,从而惹来了大量的争议

由于AI图像生成软件Midjorunery的爆火,导致大量的日本画师纷纷进行抵制

而且我之前也写过很多类似的文本生成图像模型,像Imagen和Dall.E2,都是我之前介绍过的作品:

那作为一个成功的“调包侠”,当然是要寻找有没有现成的工具包,可以让我们直接在本地电脑进行图像生成。这恰好Huggingface推出了这个扩散模型包“Diffusers”。

2.Diffusers

这个包有以下具体功能:

1

只需要几行代码,就能够利用扩散diffusion模型生成图像,简直是广大手残党的福音

2

可以使用不同的“噪声调节器”,来平衡模型生成速度和质量之间的关系

3

更有多种不同类型的模型,能够端到端的构建diffusion模型

要利用文本生成图片,主要有以下几个步骤:

  • 安装对应的功能包
  • 登陆huggingface网站,获取token
  • 输入代码,下载模型,等待生成结构

1

功能包安装 + 获取Token

除了需要安装"Diffusers"之外:

代码语言:javascript
复制
pip install --upgrade diffusers

还需要安装“pytorch”,“transformers ”等

代码语言:javascript
复制
pip install transformers

其中pytorch安装方法,可以去官网根据自己的环境进行获取:

https://pytorch.org/get-started/locally/

除了安装python包之外,还需要去huggingface获取对应的token。

  • 登陆官网,注册相应的账号,进行settings
  • 新增自己token:
  • 在自己的命令行上,输入“huggingface-cli login”,出现successful说明成功

2

文本生成图像

这里直接调用最近很火的文本图像生成模型“Stable Diffusion”

代码语言:javascript
复制
# make sure you're logged in with `huggingface-cli login`
from torch import autocast
from diffusers import StableDiffusionPipeline

pipe = StableDiffusionPipeline.from_pretrained("CompVis/stable-diffusion-v1-4", use_auth_token=True)
pipe = pipe.to("cuda")

prompt = "a photo of an astronaut riding a horse on mars"
with autocast("cuda"):
    image = pipe(prompt).images[0]  

如果你想提前下载模型,然后进行加载,可以先执行下面命令:

代码语言:javascript
复制
git lfs install
git clone https://huggingface.co/CompVis/stable-diffusion-v1-4

然后重新执行代码:

代码语言:javascript
复制
pipe = StableDiffusionPipeline.from_pretrained("./stable-diffusion-v1-4")
pipe = pipe.to("cuda")

prompt = "a photo of an astronaut riding a horse on mars"
with autocast("cuda"):
    image = pipe(prompt).images[0]  

3

指导图像生成

不仅仅可以从0开始生成一张图片,Diffusers可以利用现有的一张图片,加入自己的语言进行指导,然后重新生成一张图片。

比如原始图片:

加入语言进行指导,让它生成更加艺术性

A fantasy landscape, trending on artstation

最后生成图片如下:

那这种可玩性就更高了,由此扩展,是不是给定一张有水印的图片,就可以生成无水印的呢?或者更进一步(自行脑补三千字),咳咳~。再说下去,可能就要被封了,哈哈哈。

本次教程就到这里拉,我是leo,欢迎关注我的公众号"算法一只狗",我们下期再见~

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2022-09-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 算法一只狗 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档