AI工具箱
Google Colab部署Stable Diffusion

前面我们简单介绍了如何安装使用Stable Diffusion web UI,如果还没看过可以阅读 AI文生图Stable Diffusion初体验 (opens in a new tab)。 除了使用自己的电脑进行安装,我们也可以借助Google Colab来进行免费体验。优点是,Google Colab提供了GPU资源,性能还可以。同时,软件相关依赖,以及模型的数据量比较大,Google的平台下载更快。还有一点,你可以随时在不同的地方进行体验(前提是要能够访问得了Google)。

Google账号注册

如果你还没有Google账号,可以先注册一个邮箱 http://mail.google.com。

或者先在网页打开 https://drive.google.com/ (opens in a new tab) , 系统会自动跳转到登录页面,然后点击左下角的 创建账号 按钮,根据要求填写信息进行注册。

登录Google云盘之后,将会看到以下界面:

进入Colab环境

在浏览器打开一个新的标签页,在地址栏输入并访问以下地址 https://colab.research.google.com/github/TheLastBen/fast-stable-diffusion/blob/main/fast-DreamBooth.ipynb (opens in a new tab)

然后点击文件菜单,选择 在云端硬盘中保存一份副本,方便后续在云盘中打开该实验环境。

点击后,浏览器将自动打开一个新的Colab页面,左上角的图标变成云盘的三角形logo。

实验环境名称可以自己定义,这里我设置成和默认的相同了。

返回到云盘 https://drive.google.com/ (opens in a new tab) ,展开 我的云端硬盘 菜单,将会看到自动创建了Colab Notebooks目录,下面有一个我们刚刚保存的副本,名称为fast-DreamBooth.ipynb。 以后,我们就可以通过点击这个文件的名称,进入对应的环境了。

初始化运行环境

回到我们的实验环境,点击右上角的 连接 按钮,让colab给我们分配一个可以运行程序的环境。 连接成功后,连接 按钮会变成 RAM磁盘 图标。

点击该 RAM磁盘 图标,可以查看已分配的内存、磁盘和GPU的容量与使用情况,GPU内存需要在运行期间才能看到。

点击左边的文件图标,可以展开文件目录。默认当前环境目录是/content,其中自动生成了sample_data目录,全路径为/content/sample_data。

挂载云盘

点击第一个代码块左边的播放按钮,执行挂载操作。

在弹出的提示框中,点击 连接到Google云端硬盘

进行授权

挂载成功后提示如下

同时,左边文件列表自动显示了一个名称为gdrive的目录。

其中,MyDrive目录,对应的就是挂载了Google Drive的“我的云端硬盘”目录,可以看到两个目录下的文件夹是相同的,都是Colab Notebooks。

安装依赖

点击Dependencies左边的播放按钮,安装相关依赖资源。

模型下载

点击Model Download下方的播放按钮,默认下载stable-diffusion v1.5模型: https://huggingface.co/runwayml/stable-diffusion-v1-5 (opens in a new tab)

左边的文件目录,多了一个stable-diffusion-v1.5的目录。

初始化会话配置

创建会话

创建一个新会话,用于保存接下来用于训练的图片,以及训练后的模型数据。会话名称,可以随便填写。

会话创建成功后,在Colab Notebooks的同级,增加了一个名为Fast-Dreambooth的目录。下一级是会话的父目录Sessions,然后FirstTest就是我们刚刚创建的会话对应的目录。而instance_images,用于存放我们要拿来作为训练输入的图片集。

上传训练图片

点击Instance Images左边的播放按钮,在该执行块的下方,将会出现上传图片的按钮。 点击Choose Files进行上传,可以先上传几张图片试试。

训练模型

由于默认训练模型的时间很长,第一次体验可以先将UNet_Training_Steps和Text_Encoder_Training_Steps调小,先体验一下。 后面跑顺了之后,可以根据需要调整这两个值,以达到更好的训练效果。

训练成功后,在FirstTest目录下生成了一个CKPT模型FirstTest.ckpt,名称和会话名相同,大小为1.99G。

测试模型

启动项目

点击Test The Trained Model下方的播放按钮,启动项目:

打开webui

打开Running on public URL后面的网址,进入webui界面:

测试训练一张图片

输入Prompt:a girl, beautiful, smile。 点击右侧的Generate按钮,等待10s左右,在右下方将生成一张图片。 可以点击放大,通过点击右键,可以在新页面打开,或者保存到本地。

参考

https://github.com/TheLastBen/fast-stable-diffusion (opens in a new tab)
https://github.com/Excalibro1/fast-stable-diffusionwik/wiki/fast-stable-diffusion-wiki (opens in a new tab)