玩转 AIGC!使用 SD-WebUI 实现从文本到图像转换

news/2024/5/18 16:16:41

节前,我们组织了一场算法岗技术&面试讨论会,邀请了一些互联网大厂朋友、参加社招和校招面试的同学,针对算法岗技术趋势、大模型落地项目经验分享、新手如何入门算法岗、该如何准备、面试常考点分享等热门话题进行了深入的讨论。

基于大家的讨论和大模型实践,我们写了:

《大模型面试宝典》(2024版) 发布!
《大模型实战宝典》(2024版) 发布!


stable-diffusion-webui是一个很棒的开源项目,它是一款基于web的GUI应用,让用户能够方便地与 stable-diffusion模型进行交互,选择不同的模型,并实现从文本到图像(txt2img)的以及其他图像处理任务。也可进行图像生成图像以及图像高分辨、重绘(inpainting)、编辑等工作。

stable-diffusion-webui为创作者们提供了友好且直观的操作界面,无需直接编写代码就能够利用丰富的模型进行创作。用户也可以通过简单的参数配置,比如调整生成图片的尺寸、采样方式和步数、选择不同的预训练模型、调整seed等,来定制和优化生成图像的效果。同时,该Web UI也支持用户进行个性化训练,即在一定条件下训练自己的模型。

stable-diffusion-webui是一个便捷的工具,大大降低了复杂AI技术的使用门槛,让更多人能享受到AI驱动的图像生成技术带来的便利与创新可能。

图片

技术交流&资料

技术要学会分享、交流,不建议闭门造车。一个人可以走的很快、一堆人可以走的更远。

成立了大模型面试和技术交流群,相关资料、技术交流&答疑,均可加我们的交流群获取,群友已超过2000人,添加时最好的备注方式为:来源+兴趣方向,方便找到志同道合的朋友。

方式①、微信搜索公众号:机器学习社区,后台回复:加群
方式②、添加微信号:mlc2040,备注:来自CSDN + 技术交流

最佳实践

环境配置和安装:

  1. python 3.10及以上版本

  2. pytorch推荐2.0及以上版本

  3. 建议使用CUDA 11.8及以上

GPU环境镜像(python3.10):

registry.cn-beijing.aliyuncs.com/modelscope-repo/modelscope:ubuntu22.04-cuda12.1.0-py310-torch2.1.2-tf2.14.0-1.13.1
registry.cn-hangzhou.aliyuncs.com/modelscope-repo/modelscope:ubuntu22.04-cuda12.1.0-py310-torch2.1.2-tf2.14.0-1.13.1
registry.us-west-1.aliyuncs.com/modelscope-repo/modelscope:ubuntu22.04-cuda12.1.0-py310-torch2.1.2-tf2.14.0-1.13.1

下载和部署stable-diffusion-webui

clone代码,并安装相关依赖:

%cd /mnt/workspace/
# 安装依赖和下载源码
!apt update
!apt install -y aria2
!pip install gradio==3.41.2
!pip install insightface
!pip install gdown
!git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git

下载一些经典的文生图模型(包含SD基础模型,Lora,Controlnet等),并存放到models目录的相关子目录下。小伙伴们可以选择自己希望使用的模型并下载,如下代码注释了模型类型,并映射到了对应的存储文件夹。

# 基础模型下载
!aria2c --console-log-level=error -c -x 16 -s 16 -k 1M "https://modelscope.cn/api/v1/models/AI-ModelScope/stable-diffusion-2-1/repo?Revision=master&FilePath=v2-1_768-ema-pruned.ckpt" -d /mnt/workspace/stable-diffusion-webui/models/Stable-diffusion -o v2-1_768-ema-pruned.ckpt
!aria2c --console-log-level=error -c -x 16 -s 16 -k 1M "https://modelscope.cn/api/v1/models/AI-ModelScope/stable-diffusion-2-base/repo?Revision=master&FilePath=512-base-ema.ckpt" -d /mnt/workspace/stable-diffusion-webui/models/Stable-diffusion -o 512-base-ema.ckpt
!aria2c --console-log-level=error -c -x 16 -s 16 -k 1M "https://modelscope.cn/api/v1/models/AI-ModelScope/anything-v3.0/repo?Revision=master&FilePath=Anything-V3.0-pruned.ckpt" -d /mnt/workspace/stable-diffusion-webui/models/Stable-diffusion -o Anything-V3.0-pruned.ckpt# VAE模型下载
!aria2c --console-log-level=error -c -x 16 -s 16 -k 1M "https://modelscope.cn/api/v1/models/AI-ModelScope/sd-vae-ft-mse-original/repo?Revision=master&FilePath=vae-ft-mse-840000-ema-pruned.ckpt" -d /mnt/workspace/stable-diffusion-webui/models/Stable-diffusion -o Anything-V3.0-pruned.vae.pt# clip模型下载
!git clone https://www.modelscope.cn/AI-ModelScope/clip-vit-large-patch14.git /mnt/workspace/stable-diffusion-webui/openai/clip-vit-large-patch14# controlnet模型下载
!aria2c --console-log-level=error -c -x 16 -k 1M -s 16 "https://modelscope.cn/api/v1/models/sd_lora/ControlNet/repo?Revision=master&FilePath=canny-sd21-safe.safetensors" -d /mnt/workspace/stable-diffusion-webui/extensions/sd-webui-controlnet/models -o canny-sd21-safe.safetensors
!aria2c --console-log-level=error -c -x 16 -k 1M -s 16 "https://modelscope.cn/api/v1/models/sd_lora/ControlNet/repo?Revision=master&FilePath=depth-sd21-safe.safetensors" -d /mnt/workspace/stable-diffusion-webui/extensions/sd-webui-controlnet/models -o depth-sd21-safe.safetensors
!aria2c --console-log-level=error -c -x 16 -k 1M -s 16 "https://modelscope.cn/api/v1/models/sd_lora/ControlNet/repo?Revision=master&FilePath=hed-sd21-safe.safetensors" -d /mnt/workspace/stable-diffusion-webui/extensions/sd-webui-controlnet/models -o hed-sd21-safe.safetensors
!aria2c --console-log-level=error -c -x 16 -k 1M -s 16 "https://modelscope.cn/api/v1/models/sd_lora/ControlNet/repo?Revision=master&FilePath=openpose-sd21-safe.safetensors" -d /mnt/workspace/stable-diffusion-webui/extensions/sd-webui-controlnet/models -o openpose-sd21-safe.safetensors
!aria2c --console-log-level=error -c -x 16 -k 1M -s 16 "https://modelscope.cn/api/v1/models/sd_lora/ControlNet/repo?Revision=master&FilePath=scribble-sd21-safe.safetensors" -d /mnt/workspace/stable-diffusion-webui/extensions/sd-webui-controlnet/models -o scribble-sd21-safe.safetensors
# Embedding模型下载
!git clone https://www.modelscope.cn/AI-ModelScope/negative.git /mnt/workspace/stable-diffusion-webui/embeddings/negative# lora模型下载
!git clone https://www.modelscope.cn/sd_lora/embed_lora.git /mnt/workspace/stable-diffusion-webui/models/Lora/positive# 放大模型(upscaler)下载
!aria2c --console-log-level=error -c -x 16 -s 16 -k 1M "https://modelscope.cn/api/v1/models/AI-ModelScope/upscale/repo?Revision=master&FilePath=4x-UltraSharp.pth" -d /mnt/workspace/stable-diffusion-webui/models/ESRGAN -o 4x-UltraSharp.pth

运行sd-webui的前端gradio组件,拉起服务:

%cd stable-diffusion-webui
!python launch.py --listen --xformers --enable-insecure-extension-access --theme dark --gradio-queue --lowvram

切换模型,可以看到不同的生成效果:

Anything-V3.0

图片

sd2.1

图片

通俗易懂讲解大模型系列

  • 重磅消息!《大模型面试宝典》(2024版) 正式发布!

  • 重磅消息!《大模型实战宝典》(2024版) 正式发布!

  • 做大模型也有1年多了,聊聊这段时间的感悟!

  • 用通俗易懂的方式讲解:大模型算法工程师最全面试题汇总

  • 用通俗易懂的方式讲解:不要再苦苦寻觅了!AI 大模型面试指南(含答案)的最全总结来了!

  • 用通俗易懂的方式讲解:我的大模型岗位面试总结:共24家,9个offer

  • 用通俗易懂的方式讲解:大模型 RAG 在 LangChain 中的应用实战

  • 用通俗易懂的方式讲解:ChatGPT 开放的多模态的DALL-E 3功能,好玩到停不下来!

  • 用通俗易懂的方式讲解:基于扩散模型(Diffusion),文生图 AnyText 的效果太棒了

  • 用通俗易懂的方式讲解:在 CPU 服务器上部署 ChatGLM3-6B 模型

  • 用通俗易懂的方式讲解:ChatGLM3-6B 部署指南

  • 用通俗易懂的方式讲解:使用 LangChain 封装自定义的 LLM,太棒了

  • 用通俗易懂的方式讲解:基于 Langchain 和 ChatChat 部署本地知识库问答系统

  • 用通俗易懂的方式讲解:Llama2 部署讲解及试用方式

  • 用通俗易懂的方式讲解:一份保姆级的 Stable Diffusion 部署教程,开启你的炼丹之路

  • 用通俗易懂的方式讲解:LlamaIndex 官方发布高清大图,纵览高级 RAG技术

  • 用通俗易懂的方式讲解:为什么大模型 Advanced RAG 方法对于AI的未来至关重要?

  • 用通俗易懂的方式讲解:基于 Langchain 框架,利用 MongoDB 矢量搜索实现大模型 RAG 高级检索方法


http://www.mrgr.cn/p/58788531

相关文章

差速机器人模型LQR 控制仿真——路径模拟

LQR路径跟踪要求路径中带角度,即坐标(x,y,yaw),而一般我们的规划出来的路径不带角度。这里通过总结相关方法,并提供一个案例。 将点路径拟合成一条完整的线路径算法 将点路径拟合成一条完整的线路径是一个常见的问题…

【Web】2022DASCTF X SU 三月春季挑战赛 题解(全)

目录 ezpop calc upgdstore ezpop 瞪眼看链子 fin#__destruct -> what#__toString -> fin.run() -> crow#__invoke -> fin#__call -> mix.get_flag() exp <?php class crow {public $v1;public $v2;}class fin {public $f1; }class what {public $a; }…

嵌入式day03

按键控制LED步骤: 复制工程,新建Hardware文件夹 打开工程管理,新建Hardware文件夹 打开配置按钮,添加文件夹路径 右键Hardware文件夹添加新文件LED.c与LED.h文件,并选择存放路径 在LED.c文件里添加#include "stm32f10x.h" 编写LED初始化函数(时钟和端口初始化 …

插入一个元素x于递增顺序表并使其有序排列

数据结构 顺序表 笔试题:知一个顺序表L,其中的元素递增有序排列,设计一个算法,插入一个元素x(x为int型)后保持该顺序表仍然递增有序排列(假设插入操作总能成功)。/*************************************************************************************** file name: …

RK3568 学习笔记 : u-boot 通过 tftp 网络更新 u-boot自身

前言 开发板型号&#xff1a; 【正点原子】 的 RK3568 开发板 AtomPi-CA1 使用 虚拟机 ubuntu 20.04 收到单独 编译 RK3568 u-boot 使用 rockchip Linux 内核的设备树 【替换】 u-boot 下的 rk3568 开发板设备树文件&#xff0c;解决 u-boot 下千兆网卡设备能识别但是无法 Pi…

润石科技(RUNIC)汽车电子应用方案和物料选型

一、润石科技&#xff08;RUNIC&#xff09;简介 江苏润石科技有限公司是一家专注于高性能、高品质模拟/混合信号集成电路研发和销售的高科技半导体设计公司。公司主要产品线分为两类&#xff1a;信号链和电源管理&#xff0c;其中信号链包含运算放大器、比较器、模拟开关、数…

C++初阶学习第二弹——C++入门(下)

C入门&#xff08;上&#xff09;&#xff1a;C初阶学习第一弹——C入门&#xff08;上&#xff09;-CSDN博客 目录 一、引用 1.1 引用的实质 1.2 引用的用法 二、函数重载 三、内敛函数 四、auto关键字 五、总结 前言&#xff1a; 在上面一章我们已经讲解了C的一些基本…

AI预测福彩3D第9套算法实战化测试第1弹2024年4月22日第1次测试

经过前面多套算法的测试&#xff0c;总结了一些规律&#xff0c;对模型优化了一些参数&#xff0c;比如第8套算法的测试&#xff0c;7码的命中率由最开始的20%提高到了50%。虽然命中率有了很大的提高&#xff0c;但是由于咱们之前的算法只是为了测试和记录&#xff0c;提供的方…

findImg找图工具

findImg 安装 npm install findImg -g 启动 findImg run 介绍 找出当前目录下的所有图片&#xff08;包括svg的symbol格式&#xff09;在浏览器中显示出来 源码 https://github.com/HuXin957/find-img 场景 例如前端项目中的img目录&#xff0c;大家都在往里面放图片&#xff…

安全屋和主菜单

目的创建一个安全屋的地图 创建一个互传的传送门 创建主菜单 创建暂停菜单1.创建一个安全屋的地图2.创建传送门 创建传送门蓝图 在玩家角色蓝图中创建一个接口用来作为玩家交互的调用(注意这里调用传送门接口是传送逻辑的接口)在传送门蓝图中调用交互接口(进入范围则可交互,…

【C语言】strstr函数刨析-----字符串查找

目录 一、strstr 函数介绍 ✨函数头文件&#xff1a; ✨函数原型&#xff1a; ✨函数解读 ✨功能演示 二、函数的原理以及模拟实现 ✨函数原理 ✨函数的模拟实现 三、strstr函数的注意事项 四、共勉 一、strstr 函数介绍 strstr函数是在一个字符串中查找另一个字符…

C语言项目实践——贪吃蛇

引言&#xff1a;本篇博客中&#xff0c;我将会使用结构体&#xff0c;链表&#xff0c;WIN32 API等一系列知识完成C语言项目——贪吃蛇的实现。在观看此篇博客之前&#xff0c;请将这些知识所熟悉&#xff0c;不然可能会造成理解困难。 更多有关C语言的知识详解可前往个人主页…

文件上传技术总结

文件上传技术总结 XMindChEPTpEere4pPp3.8h2试用要式Sa44十年.听元汽狂节产方生左车析上传ItaorFSs改文件解行方式方利!xP打统学/麻x绿部成I足让tAD.coENLRCoiD中国汽的折时语言特性系统特性中间件化析漏逅CVE-2015-444.ter1.jpo1寄户端文件上传漏洞绕过MIME过3083省rd0文大小…

程序员缓解工作压力的小窍门

目录 1.概述 2.工作与休息的平衡 3.心理健康与自我关怀 4.社交与网络建设 1.概述 作为程序员&#xff0c;缓解工作压力是非常重要的。压力太大有可能会写很多bug。我们可以采取以下方法来保持高效和创新&#xff0c;同时维护个人健康和工作热情。 定时休息&#xff1a;保持…

删除单链表中的最小值结点

数据结构 链表 笔试题1:设计一个算法删除单链表L(有头结点)中的一个最小值结点。/*************************************************************************** file name: 2.c* author : lu.ciana.598393@gmail.com* date : 2024/04/21* function : 设计一个…

hexo配置教程、主题使用及涉及的技术学习

一、背景 最近,一直想做一个属于自己的网站.可以从零开始搭建一个网站,顺便可以把日常中学到的技术用于实战,还可以顺便记录自己的所思所感,记录成长的过程. 方案 一开始的方案是从零开始,模仿常见个人博客的设计,基于vueSpringbootMySQL的去实现网站. 新建项目之后,发现vu…

使用GitHub Actions和GitHub pages实现前端项目的自动打包部署

简要记录使用GitHub Actions和GitHub Pages实现Vue项目的自动构建与发布1. 引言 As we all know,前端部署项目是比较简单的,通常情况下只需要将打包的产物(index.html、.js文件、.css文件等)放在Web服务器下就🆗,这种叫静态资源托管,成本是比较低的 那有没有免费的静态…

【学习】软件压力测试对软件产品的作用

在信息化高速发展的今天&#xff0c;软件产品已经成为各行各业不可或缺的一部分。然而&#xff0c;随着软件功能的日益复杂和用户需求的不断增长&#xff0c;软件产品的稳定性和可靠性问题也愈发凸显。在这样的背景下&#xff0c;软件压力测试作为软件质量保障的重要手段之一&a…

OpenCV与AI深度学习 | OpenCV如何读取仪表中的指针刻度

本文来源公众号“OpenCV与AI深度学习”&#xff0c;仅用于学术分享&#xff0c;侵权删&#xff0c;干货满满。 原文链接&#xff1a;OpenCV如何读取仪表中的指针刻度 最近遇到一个问题&#xff0c;如何读取仪表中的指针指向的刻度。 解决方法有多种&#xff0c;比如&#xff…

算法练习第20天|回溯算法 77.组合问题 257. 二叉树的所有路径

1.什么是回溯算法&#xff1f; 回溯法也可以叫做回溯搜索法&#xff0c;它是一种搜索的方式。其本质是穷举&#xff0c;穷举所有可能&#xff0c;然后选出我们想要的答案。 2.为什么要有回溯算法? 那么既然回溯法并不高效为什么还要用它呢&#xff1f; 因为有的问题能暴力…