在Kaggle上使用Stable Diffusion进行AI绘图

news2024/11/17 9:48:30

前言

  • 因为使用Stable Diffusion进行AI绘图需要GPU,这让其应用得到了限制
  • 本文介绍如何在Kaggle中部署Stable Diffusion,并使用免费的P100 GPU进行推理(每周可免费使用30小时),部署好后可以在任意移动端使用。
  • 本项目在stable-diffusion-webui-kaggle基础上进行改进,原作者Github项目地址
  • 欢迎大家Copy and Edit我的kaggle notebook,项目地址。效果展示
    在这里插入图片描述

使用教程

  • 首先需要注册Kaggle账号,注册过程中可能需要科学上网,这里不展开教程了,请大家查找其他教程解决
  • 新建notebook,并将下列代码放入其中
import os
import shutil
import subprocess
import threading
import time
import socket

!apt -y update -qq
!apt -y install -qq aria2
!pip install -q torch==1.13.1+cu117 torchvision==0.14.1+cu117 -f https://download.pytorch.org/whl/torch_stable.html
!pip install -q https://github.com/camenduru/stable-diffusion-webui-colab/releases/download/0.0.16/xformers-0.0.16+814314d.d20230118-cp38-cp38-linux_x86_64.whl
!pip install -q huggingface-hub==0.11.0 -U

!git clone -b v2.0 https://github.com/camenduru/stable-diffusion-webui
!wget https://raw.githubusercontent.com/camenduru/stable-diffusion-webui-scripts/main/run_n_times.py -O /kaggle/working/stable-diffusion-webui/scripts/run_n_times.py
!git clone https://github.com/AlUlkesh/stable-diffusion-webui-images-browser /kaggle/working/stable-diffusion-webui/extensions/stable-diffusion-webui-images-browser
!git clone https://github.com/camenduru/stable-diffusion-webui-huggingface /kaggle/working/stable-diffusion-webui/extensions/stable-diffusion-webui-huggingface
!git clone -b v2.0 https://github.com/camenduru/sd-civitai-browser /kaggle/working/stable-diffusion-webui/extensions/sd-civitai-browser
!git clone https://github.com/kohya-ss/sd-webui-additional-networks /kaggle/working/stable-diffusion-webui/extensions/sd-webui-additional-networks
!git clone https://github.com/etherealxx/batchlinks-webui /kaggle/working/stable-diffusion-webui/extensions/batchlinks-webui
!git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui-nsfw-censor /kaggle/working/stable-diffusion-webui/extensions/stable-diffusion-webui-nsfw-censor
%cd /kaggle/working/stable-diffusion-webui

!aria2c --console-log-level=error -c -x 16 -s 16 -k 1M https://huggingface.co/ckpt/anything-v4.5-vae-swapped/resolve/main/anything-v4.5-vae-swapped.safetensors -d /kaggle/working/stable-diffusion-webui/models/Stable-diffusion -o anything-v4.5-vae-swapped.safetensors

!sed -i -e 's/numpy==1.23.3/numpy==1.21.6/g' requirements_versions.txt
!sed -i -e 's/blendmodes==2022/blendmodes==2021/g' requirements_versions.txt
!sed -i -e 's/fastapi==0.90.1/fastapi==0.89.1/g' requirements_versions.txt
!sed -i -e '''/    prepare_environment()/a\    os.system\(f\"""sed -i -e ''\"s/dict()))/dict())).cuda()/g\"'' /kaggle/working/stable-diffusion-webui/repositories/stable-diffusion-stability-ai/ldm/util.py""")''' /kaggle/working/stable-diffusion-webui/launch.py

!npm install -g localtunnel
def iframe_thread(port):
    while True:
        time.sleep(0.5)
        sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        result = sock.connect_ex(('127.0.0.1', port))
        if result == 0:
            break
        sock.close()
    p = subprocess.Popen(["lt", "--port", "{}".format(port)], stdout=subprocess.PIPE)
    for line in p.stdout:
        print(line.decode(), end='')
threading.Thread(target=iframe_thread, daemon=True, args=(7860,)).start()

# 删除原始模型
os.remove('/kaggle/working/stable-diffusion-webui/models/Stable-diffusion/anything-v4.5-vae-swapped.safetensors')
os.mkdir('/kaggle/working/stable-diffusion-webui/models/Lora')

# 下载GuoFeng3模型
!wget https://civitai.com/api/download/models/36644
# 重命名文件
os.rename("/kaggle/working/stable-diffusion-webui/36644","/kaggle/working/stable-diffusion-webui/GuoFeng3.safetensors")
# 移动至主模型文件夹
shutil.move("/kaggle/working/stable-diffusion-webui/GuoFeng3.safetensors",'/kaggle/working/stable-diffusion-webui/models/Stable-diffusion')

# 下载KoreanDollLikeness_v10
!wget https://civitai.com/api/download/models/22968
# 重命名文件
os.rename("/kaggle/working/stable-diffusion-webui/22968","/kaggle/working/stable-diffusion-webui/koreanDollLikeness_v10.safetensors")
# 移动至主模型文件夹
shutil.move("/kaggle/working/stable-diffusion-webui/koreanDollLikeness_v10.safetensors",'/kaggle/working/stable-diffusion-webui/models/Lora')

!python launch.py --share --xformers --enable-insecure-extension-access --theme dark --gradio-queue
  • 这里我将原始的anything-v4.5-vae-swapped模型删除了,下载了GuoFeng3主干模型和KoreanDollLikenessLora模型。
  • 主干模型相当于图片的主调,比如GuoFeng3模型就是中国华丽古风风格,也可以说是一个古风游戏角色。
  • Lora模型相当于微调主干模型的某一部分,KoreanDollLikeness就是主要调整面部结构,更多具体的说明可以自行查询。
  • 粘贴好上面代码以后运行代码块,大约需要5~10分钟时间,中间可能会有警告和错误,不需要管,只要运行没有终止就可以(截止2023年5月24日上述代码可用)。
  • 部署好后会出现如下链接:
Running on local URL:  http://127.0.0.1:7860
your url is: https://rotten-cities-float.loca.lt
Running on public URL: https://7b1114ee-9fb9-42db.gradio.live

This share link expires in 72 hours. For free permanent hosting and GPU upgrades (NEW!), check out Spaces: https://huggingface.co/spaces
  • 点击public URL中的链接https://7b1114ee-9fb9-42db.gradio.live,就可以进入gradio空间,不仅是你的电脑,任何移动联网设备都可以。
  • 关于Stable Diffusion webUI的使用,这里推荐哔哩哔哩UP主,鱼摆摆喂教程,网页地址
  • 生成的图片可以直接在图框里右击选择另存为,或者回到kaggle中/kaggle/working/stable-diffusion-webui/output文件夹中进行下载
  • 这里提供两个示例Prompt
prompt: best quality, masterpiece, highres, 1girl,blush,(seductive smile:0.8),star-shaped pupils,china hanfu,hair ornament,necklace, jewelry,Beautiful face,upon_body, tyndall effect,photorealistic, dark studio, rim lighting, two tone lighting,(high detailed skin:1.2), 8k uhd, dslr, soft lighting, high quality, volumetric lighting, candid, Photograph, high resolution, 4k, 8k, Bokeh

Negative prompt: (((simple background))),monochrome ,lowres, bad anatomy, bad hands, text, error, missing fingers, extra digit, fewer digits, cropped, worst quality, low quality, normal quality, jpeg artifacts, signature, watermark, username, blurry, lowres, bad anatomy, bad hands, text, error, extra digit, fewer digits, cropped, worst quality, low quality, normal quality, jpeg artifacts, signature, watermark, username, blurry, ugly,pregnant,vore,duplicate,morbid,mut ilated,tran nsexual, hermaphrodite,long neck,mutated hands,poorly drawn hands,poorly drawn face,mutation,deformed,blurry,bad anatomy,bad proportions,malformed limbs,extra limbs,cloned face,disfigured,gross proportions, (((missing arms))),(((missing legs))), (((extra arms))),(((extra legs))),pubic hair, plump,bad legs,error legs,username,blurry,bad feet

Steps: 30, Sampler: Euler a, CFG scale: 9, Seed: 3556647833, Size: 640x1024, Model hash: 4078eb4174, Model: gf_anylora_gf3.2_anylora1.2, Denoising strength: 0, Clip skip: 2, ENSD: 31337, Hires upscale: 2, Hires steps: 64, Hires upscaler: R-ESRGAN 4x+ Anime6B
prompt: <lora:koreanDollLikeness_v10:0.35>,best quality ,masterpiece, illustration, an extremely delicate and beautiful, extremely detailed ,CG ,unity ,8k wallpaper, Amazing, finely detail, masterpiece,best quality,official art,extremely detailed CG unity 8k wallpaper,absurdres, incredibly absurdres, huge filesize , ultra-detailed, highres, extremely detailed,beautiful detailed girl, extremely detailed eyes and face, beautiful detailed eyes,light on face,(Hanfu:1.1),1girl

Negative prompt: sketches, (worst quality:2), (low quality:2), (normal quality:2), lowres, normal quality, ((monochrome)), ((grayscale)), skin spots, acnes, skin blemishes, bad anatomy,(long hair:1.4),DeepNegative,(fat:1.2),facing away, looking away,tilted head, Multiple people, lowres,bad anatomy,bad hands, text, error, missing fingers,extra digit, fewer digits, cropped, worstquality, low quality, normal quality,jpegartifacts,signature, watermark, username,blurry,bad feet,cropped,poorly drawn hands,poorly drawn face,mutation,deformed,worst quality,low quality,normal quality,jpeg artifacts,signature,watermark,extra fingers,fewer digits,extra limbs,extra arms,extra legs,malformed limbs,fused fingers,too many fingers,long neck,cross-eyed,mutated hands,polar lowres,bad body,bad proportions,gross proportions,text,error,missing fingers,missing arms,missing legs,extra digit, extra arms, extra leg, extra foot,

Steps: 35, Sampler: DPM++ SDE Karras, CFG scale: 7.5, Seed: 4047600339, Size: 672x1056, Model hash: 26d8b87829, Model: BeautyProMix, Variation seed: 1750564158, Variation seed strength: 0.1, Denoising strength: 0.57, Clip skip: 2, ENSD: 31337, Mask blur: 4

效果展示

  • 这里贴两张我自己画的,供参考细节
    请添加图片描述
    请添加图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/563722.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2023全球最佳医院榜单及简要介绍

作为医学类的访问学者、博士后及联合培养博士们&#xff0c;都希望到世界知名医院进行临床研修交流及科研学习。2023 年世界最佳医院排行榜的发布为申请者提供了目标平台&#xff0c;现知识人网小编整理刊出。 近期&#xff0c;《新闻周刊》和全球数据公司 Statista 推出了2023…

拿了7家大厂offer后,整理出来的笔记.....

我第一次接触自动化是在2016年。那时刚毕业一年有余&#xff0c;组内一直做手工功能测试&#xff0c;大概在2018年9月&#xff0c;部门领导要求测试组引入自动化。组内之前从没有开展过任何自动化&#xff0c;测试主管安排了一个刚入职不久的研究生同事去研究。 当时自己内心还…

UniApp原生插件制作

参考1&#xff1a;UniApp官网-原生插件开发 参考2&#xff1a;uniapp Android 原生插件开发 一、下载安装Android Studio 本部分不在赘述 二、下载UniApp离线SDK 下载地址&#xff1a;Android 离线SDK - 正式版 | uni小程序SDK 三、解压下载文件&#xff0c;并导入Androi…

蓝精灵协会:如何将传统 IP 融入 Web3

作者&#xff1a;Cedric Hervet&#xff0c;联合创始人&#xff0c;创意总监 我和许多项目合作过&#xff0c;并且担任了近 30 年的艺术总监和创意总监。我的方法一直是创造同质化的宇宙&#xff0c;把观众带入并使他们产生梦想。但我也曾系统地寻找过那份额外的感动&#xff1…

微服务解码:揭示API的优势挑战与最佳实践

在当今快节奏的软件开发环境中&#xff0c;微服务已成为一种流行的架构模式。但微服务到底是什么&#xff1f;简而言之&#xff0c;微服务是一种将应用程序构建为松耦合、细粒度服务集合的方式&#xff0c;这些服务通过轻量级协议进行通信。这种架构风格使团队能够独立开发和部…

el-upload上传图片成功,详情页回显base64格式的图片

上传图片&#xff0c;并传给后端图片格式是base64。在详情页需要回显图片在el-upload上&#xff0c;我们发现官网里图片回显时&#xff0c;文件数组里要配置好name和url,如下图&#xff1a; 当我们需要回显base64格式的图片时&#xff0c;我们需要将要回显的文件数组处理成id和…

00后竭尽全力面试腾讯软件测试工程师,难道我只值15k....

不废话&#xff0c;直接重点 一般软件测试的面试分为三轮&#xff1a;笔试&#xff0c;HR面试&#xff0c;技术面试。 前两轮&#xff0c;根据不同企业&#xff0c;或有或无&#xff0c;但最后一个技术面试是企业了解你“行不行”的关键环节&#xff0c;每个企业都会有的。 在…

ChatGPT可能马上取代你!ChatGPT能做什么?

文章目录 前言1.客服机器人2.智能助手3.内部沟通4.个性化推荐5.语音交互6.教育培训7.医疗健康8.社交娱乐9.营销推广10.情感分析11.舆情监测12.知识管理13.金融服务14.物联网15.公共服务16.智能家居17.自动化办公18.交通出行19.游戏娱乐20.智慧城市21.决策支持22.人才招聘23.版权…

圣墟传说H5手工端搭建架设教程

圣墟传说H5手工端搭建架设教程 大家好&#xff0c;我是艾西。今天给大家带来的游戏是由小说改编而来的大型玄幻MMORPG仙侠手游&#xff0c;也是比较老的游戏了虽然你可能没有怎么听过&#xff0c;但总会有一批喜欢的玩家热衷于它。 那么让我们直接进入正题开始操作&#xff1…

ChatGPT:你真的了解网络安全吗?浅谈攻击防御进行时之网络安全新总结

ChatGPT&#xff1a;你真的了解网络安全吗&#xff1f;浅谈网络安全攻击防御进行时 网络安全新总结总结 ChatGPT&#xff08;全名&#xff1a;Chat Generative Pre-trained Transformer&#xff09;&#xff0c;美国OpenAI 研发的聊天机器人程序&#xff0c;是人工智能技术驱动…

Windows 10 X64 内核对象句柄表解析

fweWindows 很多API函数都会创建和使用句柄(传入参数)&#xff0c;句柄代表一个内核对象的内存地址&#xff0c;每个进程都有一个句柄表&#xff0c;它保存着进程拥有的句柄&#xff0c;内核也有一个句柄表 PspCidTable&#xff0c;它保存着整个系统的句柄。 ExpLookupHandleTa…

内网外网分离模式下,通过网关转发,来部署前后端分离的系统

前言 最近为某银行系统部署了一套商城系统&#xff0c;网络环境比较特别&#xff0c;思路记录下&#xff0c;其中商场系统使用前后端分离模式部署。 该银行网络环境&#xff1a; 外网服务器&#xff1a;外网可以访问到它&#xff0c;不能访问外网。 网关服务器&#xff1a;跟…

UE5电脑配置要求是什么?2023虚幻5电脑配置推荐

虚幻引擎对于游戏创作者来说已经不再陌生。该软件为程序员构建和设计终极视频游戏&#xff0c;以创建壮观的游戏场景和流畅的动作。此外&#xff0c;它还处理音效、物理碰撞效果和控制。尤其是人工智能对角色的控制。与其他软件一样&#xff0c;Unreal Engine也有最低系统要求才…

Atcoder beginner contest 302

A - Attack AC代码&#xff1a; #include<iostream> #include<algorithm> #include<cstring> #define int long long using namespace std; signed main() {int a, b;cin >> a >> b;if (a % b 0) cout << a / b << endl;else c…

Springboot +spring security,PasswordEncoder详解与应用

一.简介 在前面的文章有提到过PasswordEncoder: 为什么密码使用{noop}开头呢&#xff1f;也做出了相应的解释&#xff0c;这篇文章了解PasswordEncoder。 二.PassworderEncoder 详解 2.1主要方法 String encode(CharSequence rawPassword)&#xff1a;密码加密boolean matc…

【送书福利-第五期】《网络结构数据分析与应用》

大家好&#xff0c;我是洲洲&#xff0c;欢迎关注&#xff0c;一个爱听周杰伦的程序员。关注公众号【程序员洲洲】即可获得10G学习资料、面试笔记、大厂独家学习体系路线等…还可以加入技术交流群欢迎大家在CSDN后台私信我&#xff01; 送书福利-第五期 1、前言2、内容简介3、作…

CodeForces.1786A1.简单发牌.[简单][flg标识][找数学规律]

题目描述&#xff1a; 题目解读&#xff1a; 简单发牌问题&#xff0c;给两个人发牌&#xff0c;每次发牌数量依次递增&#xff0c; 给a发1张&#xff0c;然后给b发2&#xff0c;3张&#xff1b; 给a发4&#xff0c;5张&#xff0c;给b发6&#xff0c;7张&#xff1b; 给a发…

微信小程序【发送给朋友】和【复制链接】功能,灰色不可用

每日鸡汤&#xff1a;悲观者可能正确&#xff0c;但是乐观者往往成功 假设你是一个用户&#xff0c;你随便找一个小程序可以看到这几个功能 转发给朋友分享到朋友圈复制链接 很常见的功能&#xff0c;但是如果你作为开发者&#xff0c;这几个功能就需要自己做喽&#xff0c;并…

day9 - 对花朵图像进行边缘检测

本期主要介绍常用于进行图像边缘检测的滤波器&#xff08;算子&#xff09;&#xff1a;Sobel算子、Scharr算子、Laplacian算子&#xff1b;通过实验比较不同的算子的处理效果以及使用场景。 完成本期内容&#xff0c;你可以&#xff1a; 了解图像梯度的原理和应用 掌握使用S…

QxRibbon 知:搭建 PyQt5 环境

文章目录 安装 Python安装 PyQt5安装 PyCharm构建 QxRibbon参考资料 安装 Python 参考其它教程 安装 PyQt5 PyQt5 版本&#xff1a;5.15.2 运行 windows cmd.exe 命令提示符&#xff0c;通过下列方法进行安装&#xff08;友情提醒&#xff1a;关闭流氓软件 360&#xff09; …