Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >使用扩散模型从文本生成图像

使用扩散模型从文本生成图像

作者头像
deephub
发布于 2022-11-11 09:13:50
发布于 2022-11-11 09:13:50
1.3K00
代码可运行
举报
文章被收录于专栏:DeepHub IMBADeepHub IMBA
运行总次数:0
代码可运行

点击上方“Deephub Imba”,关注公众号,好文章不错过 !

1代的DALLE使用VQ-VAE 的改进版,2代的DALLE2 通过使用扩散模型将图片的生成提升到了一个新的高度,但是由于其计算量很大而且没有开源,我们普通用户并没有办法使用,但是Stable Diffusion 的出现改变现状,可以让我们普通用户也可以直接使用,并且以前相对于 Disco Diffusion, Stable Diffusion 生成的图片更加实用;相对于 DALLE 2,Stable Diffusion 需要占用的资源更少,这样我们也可以在自己的电脑中使用它生成高质量的图片。

在这篇文章中,将展示如何使用抱脸的扩散包通过文本生成图像,还有就一个一个不好的消息,因为这个模型的出现google的colab可能又要增加一些限制了。

从 DALLE 到Stable Diffusion

我们前面的文章也介绍过 OpenAI 的 DALLE-2 模型还有他的开源实现,它可以让我们从文本中创建高质量的图像。

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

使用diffusers 从文本生成图像

首先,使用扩散器包从文本生成图像我们首先要有一个GPU,这里就是用google 的colab,但是可能colab以后会对这样的应用进行限制了,这个我们在最后加以说明。

有了gpu下面就是要安装包:

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

所以我们只要用下面命令安装就可以了:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 !pip install diffusers==0.2.4
 !pip install transformers scipy ftfy
 !pip install "ipywidgets>=7,<8"

我们安装ipywidgets的目的是在 Google Colab 上启用外部的小部件

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 # enabling widgets (to be able to login to hugging face)
 from google.colab import output
 output.enable_custom_widget_manager()

然后需要用token登录Hugging Face

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 from huggingface_hub import notebook_login
 notebook_login()

如果执行成功会出现一个小部件,在其中输入来自 Hugging Face 的token后会看到如下内容:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 Login successful Your token has been saved to /root/.huggingface/token Authenticated through git-credential store but this isn't the helper defined on your machine. You might have to re-authenticate when pushing to the Hugging Face Hub. Run the following command in your terminal in case you want to set this credential helper as the default  git config --global credential.helper store

这就说明我们的环境已经准备完毕了,下面开始创建我们的流程:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 import torchfrom diffusers import StableDiffusionPipeline
 
 pipe = StableDiffusionPipeline.from_pretrained("CompVis/stable-diffusion-v1-4", revision="fp16", torch_dtype=torch.float16, use_auth_token=True)

在这里我们使用的是 v1-4 模型,然后将其放入GPU中(还有很多其他模型,可以随意使用)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 pipe = pipe.to("cuda")

使用 Pytorch 的 autocast 运行推理

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 from torch import autocast
 prompt = "photo of a panda surfing"
 with autocast("cuda"):
   image = pipe(prompt)["sample"][0]
   image.save(f"panda_surfer.png")
 image

结果如下:

结果非常不错。我们也可以调整一些参数,例如 guide_scale、step和设置随机种子(用于确定性输出),来控制我们的模型输出,具体的更详细的使用方式请看:

https://huggingface.co/blog/stable_diffusion

Google Colab 的 GPU 资源可能要撑不住了

最后说下我们上面提到的问题,Colab 有 Pro 和 Pro Plus 服务,如果你付费,那么获得 GPU 资源更有保障,可以使用更大的显存,占用资源时间可以更长。拿 Pro 来说,每一个月只需要缴纳10美元,你就可以随便使,保障随时都有 GPU 可以用。

但是最近,Google 修改了服务条款。即便你每月付费使用 Pro 和 Pro + 服务,却也依然要受到明确的计算资源限制了

Google Colab 从来就禁止挖矿,这个是我们早就知道的,但是Stable Diffusion的出现,可以让我们用 Google Colab 的 GPU 资源当成后台,然后提供自家的人工智能绘图服务,这个就很离谱了。虽然Google Colab 会对长期不操作的项目进行自动关闭,所以每次提供的时长不稳定。但是毕竟可以使用脚本自动重启啊。

OPEN AI的报价是大概0.15美元一张图片,而Colab只需要10美元就可以随便用,利用 Gradio 等开放框架提供 Web APP 界面进行服务,那你的成本几乎是0. 于是你可以把单次服务价格压到足够低,然后依然赚钱。所以google只能紧急修改协议,确保没有人可以用这种看似合法的手段没完没了「薅羊毛」。

并且有的用户已经收到了取消pro服务的邮件,并进行了退款。

我们先不论好与坏,但是这件事情可以说是人工智能真的抓住了实际痛点,当大家发现人工智能绘图的效果真的可以达到甚至是部分达到我们期望的时候,这样的潜在的需求就爆发出来了,因为我们的创造模型的目的是解决我们实际问题,而不是去创造了一个人工智障并且还要吹x替代人类。

在这件事上我看到了人工智能应用融入到了我们的生活。而且理由还十分的合理,Google 找不到禁止使用它的理由,只能转而采用资源配给制来缓解压力,我觉得这才是人工智能发展的最终目标。最后还是希望google能找到一个更好的解决办法,毕竟Colab真的很好用。


MORE

kaggle比赛交流和组队

加我的微信,邀你进群

喜欢就关注一下吧:

点个 在看 你最好看!

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

本文分享自 DeepHub IMBA 微信公众号,前往查看

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

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
第七章 AI数据质量-3
AI图像生成是2022年以来AIGC(Artificial Intelligence Generated Content:人工智能创作内容)最热门的话题之一。一般以自然语言描述为输入,输出与该描述相匹配的图像。这种模型的开发始于2010年代中期,伴随深度神经网络技术的发展而进步。2022年,最先进的文生图模型,例如OpenAI的DALL-E 2、Google的Imagen、StabilityAI的稳定扩散(Stable Diffusion),以及Midjourney公司的Midjourney V5,其品质开始接近真实照片或是人类所绘艺术作品。
bettermanlu
2025/04/15
930
第七章 AI数据质量-3
AIGC:从文本生成图像(DALLE ,Stable Diffusion)
DALLE2是收费的,用户只有一些免费的额度,如果免费额度使用完毕就需要付费了,所以必须寻找替代方案,并发现了Hugging Face,他们发布了一个扩散模型的包diffusers ,可以让我们直接使用。
Freedom123
2024/03/29
1930
AIGC:从文本生成图像(DALLE ,Stable Diffusion)
使用Stable Diffusion图像修复来生成自己的目标检测数据集
要训练一个YOLOv5的模型来自动检测你最喜欢的玩具,你需要拍几千张你的玩具在不同上下文中的照片,对于每张图,你需要标注玩具在图中的位置。
小白学视觉
2025/04/23
850
使用Stable Diffusion图像修复来生成自己的目标检测数据集
使用扩散模型从文本生成图像
来源:DeepHub IMBA本文约1400字,建议阅读5分钟本文将展示如何使用抱脸的扩散包通过文本生成图像。 在这篇文章中,将展示如何使用抱脸的扩散包通过文本生成图像,还有就一个一个不好的消息,因为这个模型的出现google的colab可能又要增加一些限制了。 从 DALLE 到Stable Diffusion 我们前面的文章也介绍过 OpenAI 的 DALLE-2 模型还有他的开源实现,它可以让我们从文本中创建高质量的图像。 但是DALLE2是收费的用户只有一些免费的额度,如果免费额度使用完毕就
数据派THU
2022/09/20
1.2K0
使用扩散模型从文本生成图像
Stable Diffusion的入门介绍和使用教程
Stable Diffusion是一个文本到图像的潜在扩散模型,由CompVis、Stability AI和LAION的研究人员和工程师创建。它使用来自LAION-5B数据库子集的512x512图像进行训练。使用这个模型,可以生成包括人脸在内的任何图像,因为有开源的预训练模型,所以我们也可以在自己的机器上运行它,如下图所示。
deephub
2023/01/18
7.1K0
【DeepSeek 多模态探索】从文本到图像与语音:解锁 DeepSeek 的多模态 AI 潜力
随着多模态 AI 技术的快速发展,开发者对 DeepSeek 是否能够支持图像、音频等多模态任务充满期待。本文将探讨 DeepSeek 在多模态方向上的潜力,分析其是否能够集成语音识别、图像生成等能力,并通过代码示例展示如何实现多模态任务的初步集成。
Swift社区
2025/02/12
1.2K0
【DeepSeek 多模态探索】从文本到图像与语音:解锁 DeepSeek 的多模态 AI 潜力
一个好用的扩散模型包:Diffusers
游戏设计师利用AI工具作画拿到一等奖:说的是美国的一位画师利用AI工具进行作画,并拿到了一等奖,从而惹来了大量的争议
算法一只狗
2022/11/04
2.6K0
1秒出图,全球最快的开源Stable Diffusion出炉
第一辆汽车诞生之初,时速只有 16 公里,甚至不如马车跑得快,很长一段时间,汽车尴尬地像一种“很酷的玩具”。人工智能作图的出现也是如此。
机器之心
2022/12/15
1.3K0
1秒出图,全球最快的开源Stable Diffusion出炉
Stable Diffusion零到精通炼丹宝典|果fx
接下来,我们将使用Hugging Face提供的diffusers库来下载和加载Stable Diffusion模型。
sou百课优
2024/10/17
1300
4张图片就可以微调扩散模型
稳定扩散模型因其从文本描述生成高质量、多样化图像的能力而获得了极大的关注。但是这些预训练模型在生成高度定制或个性化主题的图像时可能会有所不足。
deephub
2024/02/21
5450
4张图片就可以微调扩散模型
中秋专题:火爆艺术圈的文本图像生成是什么?
最近文本生成图像AI又火爆了起来,并且频频上热搜,在知乎热榜上都会看到相关的问题出现:
算法一只狗
2022/11/04
7430
ControlNet训练自己数据集 - plus studio
官方教程 https://github.com/lllyasviel/ControlNet/blob/main/docs/train.md
plus sign
2024/02/28
1.6K0
ControlNet训练自己数据集 - plus studio
AI数字绘画 stable-diffusion 保姆级教程
prompt: Cyberpunk, 8k resolution, castle, the rose sea, dream
秋风的笔记
2022/12/05
2.6K0
AI数字绘画 stable-diffusion 保姆级教程
FreeU | 增强图像生成质量的插件
When trying additional parameters, consider the following ranges:
iResearch666
2023/09/28
1.2K0
FreeU | 增强图像生成质量的插件
可生成高清视频的Stable Diffusion来了!分辨率提升4倍,超分算法来自腾讯,支持Colab在线试玩
明敏 发自 凹非寺 量子位 | 公众号 QbitAI 免费玩的Stable diffusion,又出新变种了! 古典人像丝滑切换,还都是4倍超分辨率水平,细节也就多了亿点点吧,眉毛发丝都根根分明。 还能从一盘草莓意大利面,丝滑变成一份蓝莓面。 这就是最近在推特上火了Stable Diffusion视频版2.0. 它能够通过Real-ESRGAN进行上采样,让生成画面达到4倍超分。 要知道,之前Stable Diffusion生成的图像如果想要高清,还得自己手动提升分辨率。 现在直接二合一,在谷歌Co
量子位
2022/09/22
3.9K0
可生成高清视频的Stable Diffusion来了!分辨率提升4倍,超分算法来自腾讯,支持Colab在线试玩
在搭载 M1 及 M2 芯片 MacBook设备上玩 Stable Diffusion 模型
本篇文章,我们聊了如何使用搭载了 Apple Silicon 芯片(M1 和 M2 CPU)的 MacBook 设备上运行 Stable Diffusion 模型。
soulteary
2023/03/05
3.5K0
在搭载 M1 及 M2 芯片 MacBook设备上玩 Stable Diffusion 模型
当MMEngine遇到Diffusers,带你轻松玩转扩散模型 !
近期 takuoko 发布了 DiffEngine,这是一个开源工具箱,旨在简化最先进的扩散模型的训练。扩散模型是一类生成模型,可以从随机噪声中合成逼真的图像、文本、音频和视频。
OpenMMLab 官方账号
2023/09/13
5660
当MMEngine遇到Diffusers,带你轻松玩转扩散模型 !
超越AITemplate,打平TensorRT,SD全系列模型加速框架stable-fast隆重登场
来源丨https://zhuanlan.zhihu.com/p/669610362
BBuf
2023/12/13
9170
超越AITemplate,打平TensorRT,SD全系列模型加速框架stable-fast隆重登场
适配Diffusers框架的全套教程来了!从T2I-Adapter到大热ControlNet
机器之心专栏 作者:王浩帆、王奇勋 本文从实际存在的问题出发,对代码框架不兼容、模型加载受限等问题率先提出了自研解决方案,快速帮助开发者更容易地开发。 在 ChatGPT 出圈不久,ControlNet 的横空出世很快在英文和中文互联网收获了众多开发者和普通用户,甚至有用户宣传 ControlNet 的出现将 AI 创作带入了直立行走的时代。不夸张地说,包括 ControlNet 在内,同期的 T2I-Adapter、Composer, 以及 LoRA 训练技巧,可控生成作为 AI 创作最后一道高墙,极有可
机器之心
2023/03/29
1.4K0
适配Diffusers框架的全套教程来了!从T2I-Adapter到大热ControlNet
使用Diffusers调用civitai中的checkpoint及lora
Diffusers(https://huggingface.co/docs/diffusers/index)是一个先进的预训练扩散模型库,用于生成图像、音频甚至分子的三维结构。它提供了人工智能推理和训练领域易于使用且高度可定制的模块化工具箱。
buzzfrog
2023/08/24
4.6K3
推荐阅读
相关推荐
第七章 AI数据质量-3
更多 >
领券
💥开发者 MCP广场重磅上线!
精选全网热门MCP server,让你的AI更好用 🚀
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验