AI 文生图快速入门教程:让 Stable Diffusion 更易于上手

news2024/11/25 0:39:48

Stable Diffusion 是一个强大的 AI 图像生成工具,但它可能会消耗大量资源。在本指南中,我们将学习如何使用 AUTOMATIC1111 的 Stable Diffusion WebUI 来设置它。同时,我们将在 DigitalOcean GPU Droplet 云服务器上运行它,通过 H100 GPU 来提供最好的计算性能。而且通过 DIgitalOcean 的 GPU 云服务器可以让这个开发过程变得足够简单,即使你不是技术专家,也不用担心——只需跟随操作即可轻松实现!

准备工作

  • 注册一个 DigitalOcean 云服务的账户。
  • 在 DigitalOcean 后台开启一台 GPU Droplet 服务器。GPU Droplet 目前处于早期申请制阶段,但你可以卓普云官网申请。目前 GPU Droplet 可提供配置了 H100, A100, A6000, A4000 几种型号 GPU 的服务器。
  • 熟悉 Linux 命令行。
  • 安装 Git 和 Python 3.10。

为什么使用 GPU Droplet?

技术上讲,Stable Diffusion 可以在 CPU 上运行,但速度较慢。而在 GPU 上运行可以显著提高性能——DigitalOcean 的 GPU Droplet 采用的是 NVIDIA H100,你可以按需申请实例——今天我们会启动一个 GPU Droplet 来实现本教程。

步骤 1:设置 GPU Droplet

1、创建一个 GPU Droplet

登录到你的 DigitalOcean 账户,创建一个新的 Droplet,并选择一个包含 GPU Plan(可以理解为套餐配置)。一个基本 GPU 计划(Basic GPU Plan)应该足以进行图像生成。

2、添加一个新用户(推荐)

出于安全原因,最好不要对所有事情都使用 root 用户:创建一个新用户会更好:

adduser do-shark
usermod -aG sudo do-shark
su do-shark
cd ~/

步骤 2:安装依赖项

登录进去后,更新 Droplet 并安装必要的工具:

sudo apt update
sudo apt install -y wget git python3 python3-venv

步骤 3:克隆 Stable Diffusion 仓库

从 GitHub 克隆此仓库:

git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
cd stable-diffusion-webui

步骤 4:配置并运行 Stable Diffusion

设置一个 Python 虚拟环境

python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
### Rebuild xFormers with CUDA Support

To take advantage of GPU acceleration, you’ll need to rebuild xFormers with CUDA support. This step ensures your environment is optimized for performance:

### Modifying `webui-user.sh` to Enable Public Access via Gradio and API

To ensure that you can get a publicly accessible link via Gradio, enable the GPU acceleration by formers, and enable the backend API, follow these steps to modify the `webui-user.sh` file.

- Open the `webui-user.sh` file using a text editor:

  ```bash
  nano webui-user.sh

在其他命令之前添加以下行:

export COMMANDLINE_ARGS="--share --api --xformers"

保存并关闭文件。在 nano 中,可以通过按 CTRL + X,然后输入 Y 确认,最后按 Enter 来完成。

pip uninstall xformers
pip install xformers --extra-index-url https://download.pytorch.org/whl/nightly/cu118

可选步骤:从 Direct Link 安装模型

如果你有模型下载链接,你可以使用 wget 命令轻松安装。以下是如何下载并安装 SDXL 模型的方法:

wget -O models/Stable-diffusion/stable-diffusion-xl.safetensors "https://huggingface.co/stabilityai/stable-diffusion-xl-base-1.0/resolve/main/sd_xl_base_1.0.safetensors"
This command downloads the SDXL model and saves it in the `models/Stable-diffusion/ directory` with the filename `stable-diffusion-xl.safetensors`. Once the download is complete, the model will be ready for use in your Stable Diffusion setup.

Open your browser and go to `http://your_droplet_ip:7860` to access the interface.

![sd-portal](https://doimages.nyc3.cdn.digitaloceanspaces.com/006Community/Stable-Diffusion-GPU-Droplet/sd-portal.png)

### Optional: Monitor GPU Utilization with `gpustat`

If you want to monitor your GPU utilization while running Stable Diffusion, you can use a tool called `gpustat`. This tool gives you real-time information about your GPU usage, including memory, temperature, and current load.

To install and use `gpustat`, follow these steps:

Install `gpustat` using `pip`:

   ```bash
   pip install gpustat

安装后,你可以通过运行以下命令来监控你的 GPU 利用率:

gpustat --color -i 1

运行 WebUI

现在,是时候启动 Stable Diffusion WebUI 了。运行以下命令以启动界面,启用 Gradio 分享、xFormers 用于 GPU 加速以及 API 访问:

./webui.sh --share --xformers --api --enable-insecure-extension-access

WebUI 运行后,打开你的浏览器并访问 https://[HASHING].gradio.live 来使用界面。请注意,此链接将在 72 小时后过期。

使用 CivitAI 浏览器扩展安装模型

运行 web-ui.sh 脚本后,你可以按照以下步骤通过 CivitAI 浏览器扩展安装模型:

1、导航到 WebUI 中的“Extensions”标签页。

2、转到“Available”子标签页。

3、点击标有“Load from”的橙色按钮,从仓库中加载可用的扩展。

4、在搜索栏中输入“CivitAI Browser+”并点击安装按钮。

5、安装完成后,转到“Installed”子标签页。

6、点击“Apply and restart UI”以激活扩展。

7、点击重启按钮后,由于重新启动,你的控制台可能会在“Reloading”处停止。从终端点击新的 https://[HASHING].gradio.live 链接。

WebUI 重新启动后,你将看到一个名为“CivitAI Browser+”的新标签页。这个扩展让你能够轻松地从 CivitAI 搜索和安装模型。

针对本教程,让我们在 CivitAI Browser+ 标签页中搜索“Western Animation”并安装它。选择带有超人缩略图的那个。我们将在速成课程的下一部分使用这个模型,通过文本到图像(txt2img)生成图像。

Stable Diffusion 提示应该如何写?

Stable Diffusion 是一个强大的 AI 图像生成工具,它使用正面提示和负面提示来指导 AI 创建特定图像。本教程将向你展示如何编写与海洋生物相关的提示,以及如何使用负面提示在 Stable Diffusion WebUI 中提高你的图像质量。

如何编写提示

提示是生成图像的核心部分。正面提示告诉 AI 你想要看到的内容,而负面提示有助于排除不需要的元素。以下是一些与海洋生物相关的示例,向你展示如何编写提示。

1、编写正面提示

编写提示时,使用英语描述你想要生成的内容。你可以使用简单的句子或逗号分隔的关键词来描述特征。以下是一些与海洋生物相关的示例:

生成一只在珊瑚礁上游泳的海龟:

a sea turtle swimming over a coral reef

或者简化成关键词:

sea turtle, swimming, coral reef, ocean

生成一群五颜六色的鱼:

colorful fish, swimming in the ocean, school of fish, tropical fish

2、使用负面提示

负面提示有助于排除不需要的元素,特别是在生成多张图像时。以下是一些常见的负面提示,以避免低质量或错误的结果:

lowres, bad anatomy, blurry, text, error, cropped, worst quality, jpeg artifacts, watermark, signature, low quality, worst quality

你还可以添加你不希望出现在海洋生物图像中的特定元素,比如人类角色或建筑物:

nsfw, weapon, blood, human, car, city, building

如何在 Stable Diffusion 中使用 txt2image

Stable Diffusion WebUI 的 txt2image 功能支持文生图。以下是如何使用它:

1、输入正面和负面提示:在左侧文本框中,输入与海洋生物相关的提示,例如:

colorful fish, coral reef, underwater, ocean, vibrant colors

对于负面提示,排除不需要的元素:

lowres, bad anatomy, text, blurry, weapon, human

2、选择采样方法:尝试使用“DPM++ 2M SDE Heun”,或“Euler a”作为采样方法。

3、设置图像尺寸和步骤:将宽度和高度设置为1024x512,采样步骤设置为30。你还可以选择“Hires. fix”默认值来改善图像的细节,这甚至可能对海洋生物有所帮助。

4、生成图像:点击右上角的“Generate”按钮开始生成图像。完成后,你可以根据需要保存或调整图像。

常见语法和扩展

Stable Diffusion WebUI 提供了不同的语法以提高图像生成的精确度。以下是一些有用的语法:

  • 注意力/强调:使用括号 ( ) 来强调提示中的某些元素。例如,要突出海豚的颜色:

dolphin, ((blue)), ocean, swimming

  • 提示切换:你可以在生成过程中使用这种语法切换提示:

shark : whale : 10] swimming in the ocean

示例提示

1、生成一只水下的章鱼:

octopus, underwater, ocean, coral reef, vibrant colors

负面提示:

lowres, blurry, bad anatomy, text, human

2、生成一只跃出水面的海豚:

dolphin, jumping out of the water, ocean, sunset, splash, realistic

负面提示:

lowres, bad anatomy, blurry, text, car, building

3、生成一只在深水中游泳的鲨鱼:

shark, swimming, deep ocean, dark blue water, scary, realistic

负面提示:

lowres, bad anatomy, blurry, text, human, building

小结

这只是你使用 DigitalOcean 的 GPU Droplets 与 Stable Diffusion 创造生成式 AI 艺术之旅的开始。在即将推出的系列内容中,我们将更深入地探讨如何运行 Docker 化的 Stable Diffusion API 与搭载了 GPU 的 DigitalOcean Kubernetes,并探索与其他 DigitalOcean 产品一起使用的实际用例。敬请期待更多精彩的教程!

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

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

相关文章

python爬虫:从12306网站获取火车站信息

代码逻辑 初始化 (init 方法): 设置请求头信息。设置车站版本号。 同步车站信息 (synchronization 方法): 发送GET请求获取车站信息。返回服务器响应的文本。 提取信息 (extract 方法): 从服务器响应中提取车站信息字符串。去掉字符串末尾的…

钰泰-ETA6027限流开关IC

描述 ETA6027 是一种负载开关,可为可能遇到大电流条件的系统和负载提供全面保护。ETA6027 提供 70mΩ 限流开关,可在 2.1-6V 的输入电压范围内工作。电流限制可通过精密电阻器进行外部编程,范围为 75mA 至 2.2A。开关控制由能够直接与低电压…

国庆节前超市现场运营重点工作

节日期间的营运现场工作,很容易由于工作量突然加大,造成很多细化工作不能很好地具体落实,完善现场工作的诸多细节,对于提升业绩会有很好的效果。其中前台需要以冲业绩的方式来完成,后台需要运用精细化的方式来对待。一…

安卓 shape 的使用

在Android开发中&#xff0c;<shape>元素是一个XML资源&#xff0c;用于定义形状&#xff0c;如矩形、圆形、椭圆形、线条等。这些形状可以用于多种场景&#xff0c;比如作为按钮的背景、视图边框或者列表项的分隔线等。<shape>元素位于drawable资源文件夹&#xf…

移动化社交:Facebook的移动战略解析

在移动互联网时代&#xff0c;社交媒体的使用方式和用户习惯发生了显著变化。作为全球最大的社交网络平台之一&#xff0c;Facebook在移动化战略上进行了深远的布局&#xff0c;以适应这一趋势并保持其在市场中的竞争力。本文将探讨Facebook的移动战略及其背后的影响。 移动优先…

云课五分钟-Arduino wokwi和步进电机实验报告快速撰写

wokwi 程序 #include <AccelStepper.h> // Define a stepper and the pins it will use AccelStepper stepper; // Defaults to AccelStepper::FULL4WIRE (4 pins) on 2, 3, 4, 5 // This defines the analog input pin for reading the control voltage // Tested wit…

HarmonyOS鸿蒙开发实战(5.0)自定义安全键盘场景实践

鸿蒙HarmonyOS开发实战往期必看文章&#xff1a;&#xff08;持续更新......&#xff09; HarmonyOS NEXT应用开发性能实践总结&#xff08;持续更新......&#xff09; HarmonyOS NEXT应用开发案例实践总结合集&#xff08;持续更新......&#xff09; 一分钟了解”纯血版&…

编译原理3——词法分析

3.1词法分析器的作用 词法分析是编译的第一阶段。词法分析器的主要任务是读入源程序的输入字符、将它们组成词素&#xff0c;生成并输出一个词法单元序列&#xff0c;每个词法单元对应于一个词素。 但在这个过程中&#xff0c;词法分析器还要和语法分析器进行交互。交互&…

计算机出现msvcp140.dll丢失的6种解决方法,亲测有效

在计算机使用过程中&#xff0c;我们经常会遇到一些错误提示&#xff0c;其中之一就是“msvcp140.dll丢失”。这个错误通常会导致某些应用程序无法正常运行&#xff0c;给用户带来困扰。本文将总结6种解决msvcp140.dll丢失的方法&#xff0c;帮助大家轻松解决这个问题。 一&…

1、软件测试的基础概念(1)

文章目录 一、软件测试1、软件测试&#xff08;Software Testing&#xff09;2、缺陷&#xff08;Defeat&#xff09;3、测试用例&#xff08;Test Case&#xff09;4、测试金字塔5、测试策略6、测试左移和测试右移7、质量度量 二、软件的测试分类1、单元测试2、集成测试3、系统…

2024中国新科技100强名单出炉!MIAOYUN荣获“2024云原生领航企业奖”

当前&#xff0c;新一轮科技革命和产业变革加速演进&#xff0c;只有加强颠覆性科技创新&#xff0c;才能占领科技创新的制高点&#xff0c;为发展新质生产力注入强大动能&#xff0c;不断塑造高质量发展竞争优势。近日&#xff0c;2024中国新科技100强金i奖评选名单出炉&#…

Thingsboard规则链:fetch device credentials节点详解

引言 源码剖析 应用场景与案例 结语 ThingsBoard从入门到实战课程&#xff0c;深入透析底层原理&#xff0c;快速搭建自己的IOT平台_哔哩哔哩_bilibiliThingsBoard从入门到实战课程&#xff0c;深入透析底层原理&#xff0c;快速搭建自己的IOT平台共计12条视频&#xff0c;包…

π122M31 双通道数字隔离器,工业控制领域的得力助手

π122M31 双通道数字隔离器 CAN通信隔离兼容ADuM7241ARZ电路简单、稳定性更高&#xff0c;具有出色的性能特征和可靠性&#xff0c;整体性能优于光耦和基于其他原理的数字隔离器产品。 产品传输通道间彼此独立&#xff0c;可实现多种传输方向的配置&#xff0c;可实现 5.0kVrms…

Bugku 渗透测试1

描  述: 甲公司邀请你对他们公司进行网络安全测试&#xff0c;但是甲公司只给了一个官网链接你能打到他们内网吗&#xff1f; 打开靶场地址 1、场景1 查看网站源码&#xff0c;查看最下面&#xff0c;得到flag。 2、场景2 根据场景1提示&#xff0c;下个flag网站管理员才能…

SelMatch:最新数据集蒸馏,仅用5%训练数据也是可以的 | ICML‘24

数据集蒸馏旨在从大型数据集中合成每类&#xff08;IPC&#xff09;少量图像&#xff0c;以在最小性能损失的情况下近似完整数据集训练。尽管在非常小的IPC范围内有效&#xff0c;但随着IPC增加&#xff0c;许多蒸馏方法变得不太有效甚至性能不如随机样本选择。论文对各种IPC范…

windows下tp5创建定时任务

1、创建定时任务&#xff08;自定义命令行可参考官网自定义命令行 ThinkPHP5.0完全开发手册 看云&#xff09; 2、cmd进入项目根目录测试php think 3、新建一个task.bat 文件来运行 d://项目盘符 cd D:\wwwroot\www.xxx.com//项目根目录 php think test //项目接口 4、 Win…

TON生态系统开发指南:从零开始构建你的Web3应用

随着Web3的不断发展&#xff0c;TON&#xff08;The Open Network&#xff09;生态系统逐渐成为备受瞩目的区块链平台。依托其与Telegram的深度整合&#xff0c;TON生态为开发者提供了一个极具潜力的开发环境&#xff0c;特别是在社交、支付和金融这三个核心领域。本文旨在帮助…

嵌入式C语言自我修养:GNU C编译器扩展语法精讲

在Linux内核的源码中&#xff0c;你会发现许多这样的“奇特”代码。它们看起来可能有点陌生&#xff0c;但它们实际上是C语言的一种扩展形式&#xff0c;这种扩展在C语言的标准教材中往往不会提及。这就是为什么你在阅读Linux驱动代码或内核源码时&#xff0c;可能会感到既熟悉…

【操作系统】速成1

速成即可&#xff0c;不问时间&#xff0c;不问过去&#xff0c;只求所得。 始于2024年9月25日04&#xff1a;30 目录 2.1 CPU&#xff0c;指令&#xff0c;64vs32 2.2 磁盘&#xff0c;内存 CPU Cache 参考&#xff1a;xiaolincoding.com 2.1 CPU&#xff0c;指令&#…

深入解析Pandas DataFrame:数据组织策略——宽格式与长格式的应用与转换

在数据科学和数据分析领域&#xff0c;如何组织数据是一个关键步骤。 Pandas DataFrame 作为 Python 中处理和分析数据的强大工具&#xff0c;提供了灵活的数据组织方 式&#xff0c;其中按行展开&#xff08;宽格式&#xff09;和按列展开&#xff08;长格式&#xff09;是最…