24|Stable Diffusion:最热门的开源AI画图工具
该思维导图由 AI 生成,仅供参考
使用 Stable Diffusion 生成图片
文生图
- 深入了解
- 翻译
- 解释
- 总结
Stable Diffusion:开源AI画图工具 Stable Diffusion是一款备受关注的开源AI画图工具,具有强大的创作能力和广泛的应用前景。该工具以完全开源的特点脱颖而出,用户可以利用内置模型生成图片,也可以下载其他用户训练好的模型进行图片生成。不仅可以通过文本生成图片,还可以通过图片生成图片,甚至通过文本编辑图片。文章介绍了如何使用Stable Diffusion进行图片生成,以及其基本原理和使用方法。 通过简单的代码示例,读者可以了解如何使用Stable Diffusion的Pipeline来实现图生图,包括使用草稿图和文本提示语生成图片,设置负面提示语排除内容,以及提升图片分辨率等一系列应用。此外,文章还介绍了如何使用社区里的其他模型,并提供了相应的代码示例。通过深入了解Stable Diffusion的模型结构和内部工作原理,读者可以更好地理解其应用场景和技术特点。 总的来说,Stable Diffusion作为一款开源AI画图工具,具有广泛的应用前景,为用户提供了全新的图片生成体验。读者可以通过本文了解Stable Diffusion的基本原理和使用方法,以及如何利用其强大的创作能力进行图片生成。同时,文章还提到了下一讲将介绍的内容,包括如何通过LoRa算法进行模型微调和如何通过ControlNet让生成的图片更加可控,为读者展示了更多关于Stable Diffusion的技术细节和应用场景。 通过本文的阅读,读者可以快速了解Stable Diffusion的技术特点和应用方法,为他们进一步深入学习和应用Stable Diffusion提供了良好的指引。
《AI 大模型之美》,新⼈⾸单¥68
全部留言(18)
- 最新
- 精选
- 东方奇骥老师,为什么要加了噪声,再去除噪声?
作者回复: 来自GPT-4的回答: “Stable Diffusion是一种生成模型,它通过在数据上加入噪声,并在随后的步骤中逐渐减少这种噪声,来生成新的数据样本。这种方法的灵感来自物理学中的扩散过程,这就是它的名称中包含"Diffusion"的原因。扩散过程通常涉及到随机性和梯度下降,它们都在Stable Diffusion模型中找到了体现。 现在我们来看为什么这样做: 保留原有数据的复杂性:直接从原始数据生成新的数据样本可能非常困难,因为原始数据的复杂性和多样性。通过在数据上加入噪声,我们可以让模型从一个相对简单的分布(如高斯噪声分布)开始工作,然后逐渐通过减少噪声,使得新的数据样本逐渐接近于原始数据的复杂分布。 使模型更健壮:在训练过程中添加和减少噪声可以作为一种正则化技术,帮助防止模型过拟合。它强迫模型在不同的噪声级别下都能正确地进行预测,从而提高模型的泛化能力。 反向生成:噪声的逐渐减少实际上是对数据生成过程的逆向模拟。这意味着,我们不仅可以从原始数据生成新的数据样本,而且还可以反过来,从新的数据样本反推其可能的原始数据。 这就是为什么Stable Diffusion模型会首先在数据上加入噪声,然后逐渐减少噪声的原因。这种方法可以帮助模型更好地理解和复现原始数据的复杂性和多样性。”
2023-05-05归属地:四川26 - peter请教老师几个问题: Q1:stable Diffusion采用的CLIP是自身的吗?还是调用chatGPT? Q2:先加噪声,再去掉,有什么意义?吃一口再吐一口,有意思吗? “先往前面的用 CLIP 模型推理出来的向量里添加很多噪声,再通过 UNet+Scheduler 逐渐去除噪声,最后拿到了一个新的张量”。 Q3:本课的代码是在本机上运行的吗?我的笔记本上是普通配置,能运行并生成图吗?(或者,图的生成是调用了某个服务器?) Q4:可以对图片进行加工吗? 比如在一个照片的头上加一个帽子。
作者回复: 1. Stable Diffusion用了多个模型组合啊。其中输入的Prompt转换成向量直接用的CLIP模型 2. 这个是训练过程,可以理解为通过增加噪声和模型训练,我们就学会了怎么从一个随机噪声的信息复原出一张图片的能力。 3. 如果有GPU,本机可以运行,不然建议使用Colab的在线GPU环境 4. 可以啊,可以看看后面的VisualChatGPT 3,
2023-05-06归属地:北京51 - 一叶老师 如何 手动把模型下载,然后再上传到服务器 ? 我服务器本地liunx的,发现下载很慢..... DiffusionPipeline.from_pretrained
作者回复: 找找看国内是否有镜像?以前清华有
2023-05-10归属地:福建2 - 厚积薄发CUDA out of memory. Tried to allocate 20.00 MiB (GPU 0; 14.75 GiB total capacity; 13.46 GiB already allocated; 10.81 MiB free; 13.46 GiB reserved in total by PyTorch) If reserved memory is >> allocated memory try setting max_split_size_mb to avoid fragmentation. See documentation for Memory Management and PYTORCH_CUDA_ALLOC_CONF 老师,colab gpu不够了,默认的16g不够,是不是需要购买更大的gpu
作者回复: 课程里单个任务Colab里T4的16GB内存应该是够的。 当然如果你需要别的模型,GPU显存不够就需要更大显存的GPU甚至多卡了。
2023-05-08归属地:北京2 - Oli张帆请教一下老师,结合您之前讲的HuggingFace,我可以通过HuggingFace,免费调用Stable Diffusion的接口,来产生大量的图片。那这整个流程中需要的大量算力,是谁来买单的呢?
作者回复: 如果是有人部署了一个付费的space然后开放出来让大家用,那就是部署的人买单 如果是HF官方提供的Space或者Inference API,就是HF官方给钱 并没有那么多免费的算力可以用,免费开放的GPU资源很少的,最多让你试一下API,大家排队慢慢用而已
2023-05-06归属地:北京2 - Toni1. 使用 GPU 无疑会加快图像的生成,但实在没有办法使用 GPU 时,就用 CPU,只要将下面代码中的 "cuda" 改成 "cpu" 即可,慢比没有强。 pipeline.to("cuda") => pipeline.to("cpu") --------------------- from diffusers import DiffusionPipeline pipeline = DiffusionPipeline.from_pretrained("runwayml/stable-diffusion-v1-5") pipeline.to("cpu") image = pipeline("Sports car, road, rural areas, blue sky, white clouds, endless grassland in the background").images[0] image -------------- 生成上面的图在 cpu 条件下约10分钟。 2. 描述图像的 prompt 如果太长会报错, 比如 Token indices sequence length is longer than the specified maximum sequence length for this model (161 > 77). 程序会继续运行,但输出结果是黑板。 Potential NSFW content was detected in one or more images. A black image will be returned instead. Try again with a different prompt and/or seed. prompt 中的 Token 数超过限定时,要停止运行,以节省时间。
作者回复: 👍
2023-05-05归属地:瑞士10 - Jack第一次运行“a photograph of an astronaut riding a horse”,只有马,没有宇航员,多运行几次就有了,不过图片没有老师的好看
作者回复: 可以多试试使用不同的随机数seed,不同随机数的差别很大,我也是挑了一个好看的放出来。
2023-05-05归属地:广东2 - Jacob.C老师可以讲一下,colab 上,跑这个太空人骑马要运行耗时多久吗?
作者回复: Colab下用GPU T4跑,一般在5-20秒之间吧。
2023-05-05归属地:广东3 - Geek_7ee455老师,在mac上能自己部署一套stable diffusion吗
作者回复: 可以啊,如果是新的M1/M2芯片的Mac的话,Intel CPU的因为显卡的原因不确定行不行。 Apple官方给了解决方案 https://huggingface.co/docs/diffusers/optimization/mps
2023-05-05归属地:浙江4 - Amark为啥有的图片跟文字不符,文字描述有啥要求吗2024-02-01归属地:陕西