AI绘画StableDiffusion:云端在线版免费使用笔记分享-Kaggle版
阅读原文时间:2023年08月26日阅读:21

玩AI绘画(SD),自己电脑配置不够?今天给大家介绍一下如何baipiao在线版AI绘画StableDiffusion。

Kaggle 是世界上最大的数据科学社区,拥有强大的工具和资源,可帮助您实现数据科学目标。(每周可以免费使用30个小时)。

文末有更多相关AI资源。

文章较长,可阅读原文享F受更佳阅读体验,以及获取更多AI相关资源

AI绘画StableDiffusion:免费使用笔记分享(Kaggle版)

一、快速上手

不过多介绍:https://www.kaggle.com/

打开如下链接,复制并编辑后,创建你自己的代码

https://www.kaggle.com/code/xinsiac/zh-stable-diffusion-webui-kaggle

进入你的代码(上一步点击按钮后会跳转入你的代码页面),进行GPU配置,StableDiffusion需要GPU的算力,Kaggle的CPU算力很弱很弱

步骤如下:

1.点开NoteBook Options选项

2.验证手机,开启GPU选项

这里不过多介绍。

3.开启成功后,如下图介绍

配置好后就可以运行代码,生成一个AI绘画服务StableDiffusion

步骤如下:

1、启动虚拟机(远程电脑),注意:每周三十小时的GPU使用时间

2.启动代码

注意:代码执行过程中,如果看到红色的警告不用太担心,只要代码没停止执行,就继续等等,直到看到输出链接

3.复制链接,在浏览器中打开:

二、进阶操作

默认的代码下载的模型只有两个,当你想用一下其他模型的时候,应该怎么做呢?

方式一、手动下载

操作方式麻烦,高手随意,小白绕行,直接参考方法二

参考下面代码分析

!aria2c --console-log-level=error -c -x 16 -s 16 -k 1M https://civitai.com/api/download/models/57618 -d /kaggle/working/stable-diffusion-webui/models/Stable-diffusion -o Counterfeit-V3.safetensors ########## #更换上面这句代码里的链接和输出的文件名,贴会Kaggle里或者直接在Kaggle里修改,再执行代码即可下载模型

获取模型下载链接的方式,这里以 civitai.com为例

建议不要下载太多模型,只有20GB空间,所以我把不需要的ControlNet模型,都注释了下载代码,不让它下载,减少空间占用

如何下载 Lora 和 VEA

与更换模型的原理类似,除了修改下载链接和输出文件名,还要修改模型存放位置

# Lora !aria2c --console-log-level=error -c -x 16 -s 16 -k 1M https://civitai.com/api/download/models/32988 -d /kaggle/working/stable-diffusion-webui/models/Lora -o blindbox_v1_mix.safetensors # VAE !aria2c --console-log-level=error -c -x 16 -s 16 -k 1M https://huggingface.co/gemasai/vae-ft-mse-840000-ema-pruned/resolve/main/vae-ft-mse-840000-ema-pruned.ckpt -d /kaggle/working/stable-diffusion-webui/models/VAE -o vae-ft-mse-840000-ema-pruned.ckpt

方式二、插件下载

代码下载太复杂?来试试civitai 的SD插件

  1. #### 插件安装

默认代码已经给安装了,如果没有请自己检查。

检查一下,代码里有没有安装这个civitai浏览插件,可以通过ctrl + F,打开查找框,输入civitai,快速查找相关代码:https://github.com/camenduru/sd-civitai-browser /kaggle/working/stable-diffusion-webui/extensions/sd-civitai-browser

  1. #### 模型下载

在运行的StableDiffusionWebUI中,切换到civitAi选项卡

  1. #### 刷新并读取模型

到这里模型下载已经完成了

生成的图想直接存放在云端,就需要这一步的操作。

方式一:手动配置

操作方式繁琐,高手随意,小白直接用方式二

  1. #### 注册HuggingFace账号

这里不过多介绍

  1. #### 创建数据集DataSet

创建Dataset,来存储配置文件Config(我创建了两个一个公开的用来存储配置文件,一个私有的存储生成图的压缩文件)

  1. #### 生成Access Tokens

作用就是配置Kaggle 代码可以自动上传文件到HuggingFace。

  1. #### 配置token到Kaggle里

复制token到txt文件

然后就可以看到token文件

将文件路径写到代码里

用途:用于代码上传文件到HuggingFace时调取使用token

##################################################################### # 同步配置 # 使用huggingface保存和载入webui配置文件 huggingface_use = True zip_output=True huggingface_token_file = '/kaggle/input/hgtoken/huggingfacetoken.text' huggiingface_repo_id = 'MSa/sd-output-images' huggiingface_config_repo_id = 'MSa/sd-config' # 将会同步的文件 config_files = [ 'ui-config.json', 'config.json', # 'styles.csv' ] #功能函数 from pathlib import Path from huggingface_hub import HfApi, login # config 上传 def hugface_upload_config(huggingface_token_file, config_files, repo_id): if Path(huggingface_token_file).exists(): with open(huggingface_token_file, encoding="utf-8") as nkfile: hugToken = nkfile.readline() if hugToken != '': # 使用您的 Hugging Face 访问令牌登录 login(token=hugToken) # 实例化 HfApi 类 api = HfApi() print("HfApi 类已实例化") %cd /kaggle/working/stable-diffusion-webui # 使用 upload_file() 函数上传文件 print("开始上传文件…") for config_file in config_files: if Path(config_file).exists(): response = api.upload_file( path_or_fileobj=config_file, path_in_repo=config_file, repo_id=repo_id, repo_type="dataset" ) print("文件上传完成") print(f"响应: {response}") else: print(f'Error: File {config_file} does not exist') else: print(f'Error: File {huggingface_token_file} does not exist')

注意事项:

方式二、插件配置

方式一手动操作太复杂?那就使用HuggingFace 的SD插件的方式吧!

  1. #### 插件安装

确保代码里有下载HuggingFace 的SD插件

## Kaggle下载HuggingFace 的SD插件的代码 !git clone https://github.com/camenduru/stable-diffusion-webui-huggingface /kaggle/working/stable-diffusion-webui/extensions/stable-diffusion-webui-huggingface

  1. #### HuggingFace选项卡

插件安装成功后,StableDiffusion WebUI 里会有HuggingFace选项卡

  1. #### 获得Kaggle 输出文件夹路径的方法

# 其实Kaggle的文件夹路径都是相对固定的(如果你没做修改的话),可以直接用下面这个路径 /kaggle/working/stable-diffusion-webui/outputs

  1. #### 在HuggingFace创建Dataset

  1. #### 复制HuggingFace的Dataset路径

  1. #### 生成HuggingFace的写入token

复制token,然后粘贴到插件的token输入框里

推送到HuggingFace的效果

导出代码

如果担心Kaggle封禁项目代码,大家可以下载自己的代码备份

新建项目,导入代码

有了代码文件,可以新建项目,再导入代码,这样,你就获得一个新的StableDiffusion项目了(配置文件会是旧的,因为是保存在HuggingFace上,不过只要不同步,就是新的配置文件)

获得一个新的项目

完整的代码文件

我用夸克网盘分享了「zh-stable-diffusion-webui-kaggle.ipynb」,点击链接即可保存。

链接:https://pan.quark.cn/s/6224b8372bbf

更多资源:

阅读原文获取更多AI相关资料及免费学习资源下载,更方便阅读:AI绘画StableDiffusion:免费使用笔记分享(Kaggle版)

手机扫一扫

移动阅读更方便

阿里云服务器
腾讯云服务器
七牛云服务器

你可能感兴趣的文章