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

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

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

《大模型面试宝典》(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.mzph.cn/web/1888.shtml

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

相关文章

javaScript常用知识点

1. this指向问题 在绝大多数情况下,函数的调用方式决定了this的值。this不能在执行期间被赋值,并且在每次函数被调用时this的值也可能会不同。 this指向的对象称为函数的上下文对象context;this的指向取决于函数被调用方式this的指向不是函数…

HCIP-Datacom-ARST必选题库_22_SDWAN【1道题】

一、单选 1.SD-WAN解决方案适合如下哪个场景? 企业分支互联 企业数据中心网络内部互联 企业园区无线网络部署 略

【更新】cyのMemo(20240422~)

序言 胡哥首马在淮安325完赛,他的本硕都在淮安度过,七年的跑步生涯画上句号,真的是很圆满。七年,从180斤瘦到120斤,历经种种,胡哥理解的跑步,不是快,而是稳,他在比赛中从…

Python-08-程序跳转语句(break、continue)、空语句pass

目录 1、程序跳转语句 2、空语句pass 3、本章小结 1、程序跳转语句 程序跳转语句break用于跳(退)出循环结构,通常与if一起搭配使用 语法结构 while 表达式1: 执行代码 if 表达式2: break s0 #存储累加和 i1 #(…

力扣HOT100 - 226. 翻转二叉树

解题思路: class Solution {public TreeNode invertTree(TreeNode root) {if (root null) return null;TreeNode left invertTree(root.left);TreeNode right invertTree(root.right);root.left right;root.right left;return root;} }

《ElementUI 基础知识》png 图片扩展 icon用法

前言 UI 设计给的切图是 .png 格式。但想与 Element UI icon 用法类似,方案如下。 实现 步骤一 准备图片 步骤二 新建文件,可使用 CSS 预处理语言 styl 或 scss。 stylus 方式 文件 icon.styl /* 定义一个混合 */ cfgIcon(w, h) {display: inlin…

json-cpp的下载与使用

1.json-cpp 的概要 JSON 是一种数据交换格式,常用于网络应用编程中的序列和反序列化。 JSON 的数据类型只有如下几种: 对象,使用 {} 包含数组,使用 [] 包含字符串,使用 "" 包含数字(包含整数和…

如何判别三角形和求10 个整数中最大值?

分享每日小题,不断进步,今天的你也要加油哦!接下来请看题------> 一、已知三条边a,b,c能否构成三角形,如果能构成三角形,判断三角形的类型(等边三角形、等腰三角形或普通三角形 …

DAPP的商业模型创新: 探索可持续盈利路径

去中心化应用(Decentralized Applications,DAPPs)作为区块链技术的重要应用之一,在近年来蓬勃发展。然而,随着市场竞争的加剧和用户需求的不断变化,DAPP开发者们面临着寻找可持续盈利路径的挑战。本文将探讨…

注意libaudioProcess.so和libdevice.a是不一样的,一个是动态链接,一个是静态

libaudioProcess.so是动态链接,修改需要改根文件系统,需要bsp重新配置 libdevice.a是静态链接,直接替换就行 动态链接文件修改 然后执行fw_update.sh

VUE 插件收集

VsCode插件清单 中文插件 Chinese (Simplified) (简体中文) Language Pack for Visual Studio Code 代码提示 Vue 2 Snippets Vetur插件让vue文件代码高亮 Vue VSCode Snippets自动生成vue模板内容插件 LiveServer实时刷新网页 Bracket Pair Colorizer彩虹括号 Material …

C++(17): C++:模板函数与模板类

1. 简述 泛型编程是一种编程风格,可以开发一套代码适应不同的数据类型。 C中,泛型编程是通过模板来实现的。模板是C支持参数化多态的工具,使用模板可以使用户为类属类型(如数组的元素类型和容器的数据类型)编写通用的…

什么是Spring MVC?它与Java Spring框架有什么关系?

Spring MVC是Spring框架中的一个模块,主要用于构建Web应用程序。它是一个基于Java的实现MVC设计模式的请求驱动类型的轻量级Web框架,通过把Model,View和Controller分离,将web层进行职责解耦,把复杂的web应用分成逻辑清…

最优控制理论笔记 - 03无约束条件下的泛函极值问题

一、始端时刻t0和终端时刻tf时刻都给定的泛函极值问题 其中式子2.8为欧拉方程,式子2.9为横截条件。 上述推导的重要作用在于将求泛函的极值问题转化为求解欧拉方程在满足边界条件和横截条件下的定解问题。 1. 固定始端和终端 2. 自由始端和自由终端 3. 自由始端和…

一文读懂链游!探索链游的前世今生,区块链与游戏结合的新兴趋势

区块链技术的崛起给游戏行业带来了前所未有的变革,而链游(Blockchain Games)正是这一变革的产物。本文将带您一览链游的前世今生,探索区块链与游戏结合的新兴趋势。 1. 链游的起源 链游,顾名思义,是指利用…

代码随想录打卡—day29—【回溯】— 回溯基础练习 4.19+4.20

1 491. 非递减子序列 一开始的思路是根据上一篇的3 90. 子集 II,加上set开始魔改。 即不要nums[i]和相邻元素val相等且在同一层就continue,但是本题不能sort所以没有相邻元素val,所以我加了set设置为本层之前遍历过的元素。代码如下&#x…

恶心透了的小日子,害人终害己,国货呼吁关注抵制日本核废水排放

​|日本排放核废水 日本政府决定将福岛第一核电站的核污染水经过处理后排放入海,这一决定引发了多方面的担忧和反对,特别是在周边国家,包括中国和韩国。关于日本排放核污染水这一新闻事件,我们必须首先认识到,核能利用…

【MySQL 数据宝典】【磁盘结构】- 002 数据字典

一、数据字典 ( Data Dictionary ) 1.1 背景介绍 我们平时使用 INSERT 语句向表中插入的那些记录称之为用户数据,MySQL只是作为一个软件来为我们来保管这 些数据,提供方便的增删改查接口而已。但是每当我们向一个表中插入一条记录的时候,MyS…

C# 语言类型(二)—预定义类型之字符串及字符类型简述

总目录 C# 语法总目录 参考链接: C#语法系列:C# 语言类型(一)—预定义类型值之数值类型 C#语法系列:C# 语言类型(二)—预定义类型之字符串及字符类型简述 C#语法系列:C# 语言类型(三)—数组/枚举类型/结构体 C#语法系列:C# 语言类型(四)—传递参数及其修饰符 C#语法…

《SQLite系列》SQLite数据库常用命令大全

SQLite是一个轻量级的数据库系统,广泛应用于嵌入式系统和移动应用中。由于其简洁、快速和高效的特点,SQLite成为了许多开发者的首选数据库。本文将详细介绍SQLite数据库的常用命令,帮助读者更好地掌握和使用SQLite。 一、SQLite命令行工具 …