Stable Diffusion的最新实现——KerasCV的官方实现!

标签:#KerasCV##stablediffusion##text-to-image# 时间:2022/09/29 23:31:03 作者:小木

Stable Diffusion是一种功能强大的开源文本到图像(Text-to-Image)生成模型。虽然目前有多个开源项目可以实现基于文本提示(prompt)创建图像,但Stable Diffusion性能极其强大,其结果甚至可以媲美DALL·E2。而现在KerasCV提供了这个模型的官方实现!

KerasCV是由Keras官方团队发布的一个计算机视觉框架,可以帮助大家用来处理计算机视觉领域的相关任务和问题。这是2022年4月刚发布的最新产品,由于是官方团队出品的工具,所以质量有保证,且社区活跃,一直在积极更新(详情:KerasCV简介)。

当然,目前Stable Diffusion已经有多个团队做了开源实现,但是KerasCV实现的Stable Diffusion有一些明显的优势。其中包括XLA编译和混合精度支持,它们共同实现了最快的生成速度。

KerasCV使用Stable Diffusion非常简单:

import time
import keras_cv
from tensorflow import keras
import matplotlib.pyplot as plt

model = keras_cv.models.StableDiffusion(img_width=512, img_height=512)

images = model.text_to_image("photograph of an astronaut riding a horse", batch_size=3)


def plot_images(images):
    plt.figure(figsize=(20, 20))
    for i in range(len(images)):
        ax = plt.subplot(1, len(images), i + 1)
        plt.imshow(images[i])
        plt.axis("off")


plot_images(images)

接下来运行执行即可,生成结果如下:




代码十分简单,也很容易实现!可以抓紧使用起来了!

需要注意的是,除了上述引入的库,还需要安装tensorflow datasets(采用如下命令:pip install tensorflow_datasets即可)。首次使用会下载预训练好的模型(3-5个G左右),需要一点时间,然后就可以运行了,我的台式机上述程序生成大约800秒,有点慢,不过没有开GPU了。官方的时间还是比较快的。


大家可以使用!

欢迎大家关注DataLearner官方微信,接受最新的AI技术推送