玩AI绘画(SD),自己电脑配置不够?今天给大家介绍一下如何baipiao在线版AI绘画StableDiffusion。
Kaggle 是世界上最大的数据科学社区,拥有强大的工具和资源,可帮助您实现数据科学目标。(每周可以免费使用30个小时)。
文末有更多相关AI资源。
 
文章较长,可阅读原文享F受更佳阅读体验,以及获取更多AI相关资源

一、快速上手

1、注册账号(Kaggle)

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

2、复制并编辑代码

打开如下链接,复制并编辑后,创建你自己的代码
https://www.kaggle.com/code/xinsiac/zh-stable-diffusion-webui-kaggle

3、配置代码:GPU

进入你的代码(上一步点击按钮后会跳转入你的代码页面),进行GPU配置,StableDiffusion需要GPU的算力,Kaggle的CPU算力很弱很弱
步骤如下:
1.点开NoteBook Options选项
2.验证手机,开启GPU选项
这里不过多介绍。
3.开启成功后,如下图介绍

4、运行服务

配置好后就可以运行代码,生成一个AI绘画服务StableDiffusion
步骤如下:
1、启动虚拟机(远程电脑),注意:每周三十小时的GPU使用时间
 
2.启动代码
注意:代码执行过程中,如果看到红色的警告不用太担心,只要代码没停止执行,就继续等等,直到看到输出链接
3.复制链接,在浏览器中打开:

二、进阶操作

1、模型下载

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

方式一、手动下载

操作方式麻烦,高手随意,小白绕行,直接参考方法二
参考下面代码分析
 
!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. AI绘画和HuggingFace数据同步

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

方式一:手动配置

操作方式繁琐,高手随意,小白直接用方式二
  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的效果
  1. 如何导出导入代码

导出代码

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

新建项目,导入代码

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

完整的代码文件

我用夸克网盘分享了「zh-stable-diffusion-webui-kaggle.ipynb」,点击链接即可保存。
链接:https://pan.quark.cn/s/6224b8372bbf
 

更多资源:

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

AI绘画关键词Prompt:分享一些质量比较高的StableDiffusion(SD)关键词网站

AI绘画StableDiffusion:云端在线版免费使用笔记分享-Kaggle版的更多相关文章

  1. cocos2d-x 3.0正式版创建project笔记

    cocos2d-x 3.0正式版创建project笔记     不知道Beta版那个高大上的对话框哪里去鸟,正式版又回归到命令行,不知道触碰如此频繁的玩弄追随者的编程习惯是出于什么心理,假设不是为了这 ...

  2. 10万级etl调度软件Taskctl-web版免费授权及产品功能特性

    转: 10万级etl调度软件Taskctl-web版免费授权及产品功能特性 初识Taskctl-Web版 Taskctl Free应用版原型是在原有商用版Taskctl 6.0衍生扩展开发出的专门为批 ...

  3. 基于Docker安装的Stable Diffusion使用CPU进行AI绘画

    基于Docker安装的Stable Diffusion使用CPU进行AI绘画 由于博主的电脑是为了敲代码考虑买的,所以专门买的高U低显,i9配核显,用Stable Diffusion进行AI绘画的话倒 ...

  4. Midjourney:一步一步教你如何使用 AI 绘画 MJ

    一步一步如何使用 Midjourney 教程:教学怎么用 MJ? 一.Midjourney(MJ)是什么? Midjourney是一款使用文字描述来生成高质量图像的AI绘画工具.这篇文章主要介绍了Mi ...

  5. 大话AI绘画技术原理与算法优化

    引子 博主很长一段时间都没有发文,确实是在忙一些技术研究. 如标题所示,本篇博文主要把近段时间的研究工作做一个review. 看过各种相关技术的公关文章,林林总总,水分很多. 也确实没有多少人能把一些 ...

  6. Oracle 免费的数据库--Database 快捷版 11g 安装使用与"SOD框架"对Oracle的CodeFirst支持

    一.Oracle XE 数据库与连接工具安装使用 Oracle数据库历来以价格昂贵出名,当然贵有贵的道理,成为一个Oracle DBA也是令人羡慕的事情,如果程序员熟悉Oracle使用也有机会接触到大 ...

  7. FreeIconMaker - 在线创建免费和时尚的图标

    在设计一个网站或 Web 应用程序时,你不能否认网页设计工具的重要性,这些工具有助于简化您的任务和完成您的项目.FreeIconMaker.com 是一个免费的在线图标制作工具,您也可以创建自己的模板 ...

  8. 【推荐】桌面版AI伴侣 含2.47 2.49 2.51汉化版

    桌面版AI伴侣,无需安装aiStarter,直接运行bat就能在电脑上启动AI伴侣,启动速度比虚拟机快很多.缺点是对硬件的要求比较高. 文件来自 https://mp.weixin.qq.com/s/ ...

  9. [海蜘蛛] 海蜘蛛 V8 全线无限试用版 免费发布破解教程

    http://bbs.p52.cn/forum.php?mod=viewthread&tid=3499&extra=page%3D1&page=1&_dsign=79c ...

  10. Xamarin for VS 4.0.1.145 Stable版免费完整破解补丁

    Xamarin for VS 4.0.1.145 Stable版免费完整破解补丁 支持Priority最高权限(超企业版)开发, 支持Android, IOS调试.  支持Android打包为Bund ...

随机推荐

  1. Qt+QtWebApp开发笔记(四):http服务器使用Session和Cookie实现用户密码登录和注销功能

    前言   前面实现了基础的跳转,那么动态交互中登录是常用功能.  本篇实现一个动态交互的简单登录和注销功能,在Qt中使用Session和Cookie技术.   Demo    下载地址   链接:ht ...

  2. Python日期带时区转换工具类总结

    目录 1.背景 2. 遇到的坑 3. 一些小案例 3.1 当前日期.日期时间.UTC日期时间 3.2 昨天.昨天UTC日期.昨天现在这个时间点的时间戳 3.3 日期转时间戳 3.4 时间戳转日期 3. ...

  3. odoo开发教程十七:controller

    一:controller简述 odoo里面的controller相似于springMVC,也是根据url来控制请求,把请求处理映射到具体某个方法上的. 类比于springmvc中,根据请求,在请求处理 ...

  4. Google Chrome 超详细使用教程

    由于微信不允许外部链接,你需要点击文章尾部左下角的 "阅读原文",才能访问文中的链接. 调查统计机构 NetMarketShare 发布最新的 7 月份报告,在全球浏览器市场,谷歌 ...

  5. 适用于Linux命令的10个R函数

    由于微信不允许外部链接,你需要点击文章尾部左下角的 "阅读原文",才能访问文中链接. 这篇文章将介绍 10 个不同的 Linux 命令及其 R 实现方法. 如果您有兴趣学习更多 R ...

  6. BGP 反射器;BGP联盟

    目录 BGP反射器 实验拓扑 实验需求 实验步骤 在R2上查看BGP邻居表 在R2上做反射器 在R3上查看1.1.1.1 路由表,进行观察 在R3上查看1.1.1.1 路由详细信息 BGP联盟实验 实 ...

  7. 【leetcode】#647 回文子串 Rust Solution

    给定一个字符串,你的任务是计算这个字符串中有多少个回文子串.具有不同开始位置或结束位置的子串,即使是由相同的字符组成,也会被视作不同的子串. 示例 1:输入:"abc"输出:3解释 ...

  8. Custom directive is missing corresponding SSR transform and will be ignored

    背景 最近在给业务组件库集成指令库,将各个项目中常用的指令如一键复制.元素和弹窗拖拽等封装到一起,进行统一发版维护. 业务组件库项目架构采用的是pnpm+vite+vue3+vitepress,其中v ...

  9. JavaWeb中Servlet、web应用和web站点的路径细节("/"究竟代表着什么)

    JavaWeb中Servlet.web应用和web站点的路径细节("/"究竟代表着什么) 1 开门见山 新建一个tomcat web项目,配置tomcat的虚拟目录,取默认值(/项 ...

  10. JVM中的编译器

    JVM中集成了两种编译器,Client Compiler和Server Compiler,它们的作用也不同.Client Compiler注重启动速度和局部的优化,Server Compiler则更加 ...