首页 > 其他分享 >【附教程】亲身体验AI绘画的艺术之旅——EP0

【附教程】亲身体验AI绘画的艺术之旅——EP0

时间:2023-04-12 15:13:07浏览次数:49  
标签:diffusion 教程 AI EP0 生成 https stable com

体验在线 AI 画图服务

Midjourney

Midjourney 是一个由同名研究实验室开发的人工智能程序,可根据文本生成图像,于2022年7月12日进入公开测试阶段,用户可透过 Discord 的机器人指令进行操作。该研究实验室由 Leap Motion 的创办人大卫·霍尔兹负责领导。—— Wikipedia

 

可以加入 Beta 计划从 Discord 群中向机器人提交作图指令。官网服务也提供付费订阅。

Microsoft Bing Image Creator

微软借助 OpenAI 的 DALL-E 图像生成 AI ,提供了这个在线图片生成服务。用户输入一段文本提示,仅需数秒即可获得一组 AI 生成的与之匹配的图像。

 

Preview 阶段,每位普通用户媒体可以快速生成 25 次,超过次数需要排队等待。

搭建自己的 AI 作图环境

在线服务效果好,但是有使用次数限制。如果你需要更多的自由度,那么可以考虑自己搭建一套 AI 做图环境。

准备

Stable Diffusion GUI

AI 绘图已经火出圈,自然开源社区里也有许多 Stable Diffusion 的图形界面,方便用户上手体验。
有专门提供给 MacOS 桌面端的 DiffusionBee,还有跨平台的 Stable Diffusion UI v2 。

而本文我们着重介绍可以部署在云端的 Web UI 。
AUTOMATIC1111(简称 A1111)Stable Diffusion Web UI 是为高级用户提供的 Stable Diffusion GUI。
多亏了活跃的开源社区,大多数新功能都会先支持上这个免费的 Stable Diffusion GUI 。
但要使用它并不容易。文档不够详尽,以及提供的茫茫功能列表都会让新手迷茫。

购买一台云主机

初次体验,先试试最便宜的 GPU 主机。
P.S 最低配的也完全够用,生成图片很快!

我开通的云主机的配置如下:

  • 系统: Ubuntu22.04
  • 显卡: 1 * NVIDIA T4
  • CPU/内存: 4 核 32 G
  • 系统盘: 200GB
  • 带宽: 10Mbps

顺畅的网络环境

略,自己想办法

安装

机器开通后,可以直接从 Web 端一键登录:

 

也可以使用 ssh 登录,在 “更多操作” 下拉菜单中选择重制密码,即可重新设定一个 root 账号的登录密码,然后云主机会重启。

 

具体的你可以参考文档产品文档

登录云主机后,可以先检查一下显卡型号:

$ lspci | grep -i nvidia

00:06.0 3D controller: NVIDIA Corporation TU104GL [Tesla T4] (rev a1) 

货真价实,没有问题,那么开始搭建吧!

安装一些必要的依赖软件

# 更新软件包索引
sudo apt-get -y update

# 必要软件
sudo apt-get -y install wget git python3 python3-venv python3-pip
sudo apt-get -y install aria2 screen

# 安装 cuda 软件包,让显卡发挥超能力
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-keyring_1.0-1_all.deb
sudo dpkg -i cuda-keyring_1.0-1_all.deb
sudo apt-get update
sudo apt-get -y install cuda

# 清理 deb 安装包
rm *.deb

# 安装 cuda 之后,需要重启生效
sudo reboot

验证 cuda 是否安装成功:

$ nvidia-smi

+---------------------------------------------------------------------------------------+
| NVIDIA-SMI 530.30.02              Driver Version: 530.30.02    CUDA Version: 12.1     |
|-----------------------------------------+----------------------+----------------------+
| GPU  Name                  Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf            Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                                         |                      |               MIG M. |
|=========================================+======================+======================|
|   0  Tesla T4                        On | 00000000:00:06.0 Off |                    0 |
| N/A   38C    P0               26W /  70W|   2279MiB / 15360MiB |      0%      Default |
|                                         |                      |                  N/A |
+-----------------------------------------+----------------------+----------------------+

+---------------------------------------------------------------------------------------+
| Processes:                                                                            |
|  GPU   GI   CI        PID   Type   Process name                            GPU Memory |
|        ID   ID                                                             Usage      |
|=======================================================================================|
|    0   N/A  N/A    103851      C   python3                                    2274MiB |
+---------------------------------------------------------------------------------------+

写在前面的一点建议

建议你在使用 ssh 登录云主机时,使用 screen 命令进入一个虚拟终端会话,这可以避免因为网络不稳定而中断了正在执行的命令。因为接下来的一些命令需要下载大文件而耗时比较长。

screen 命令速记:

# 新建一个 screen 会话,我的会话取名为 workspace
screen -R workspace

# 退出 screen 会话
## 先按组合键 Ctrl+A
## 然后按字母 D

# 当需要重新进入 screen 会话
screen -r -d workspace

详细的命令使用说明,参考 How To Use Linux Screen 。

部署 Web UI

你可以直接 clone 项目 AUTOMATIC1111/stable-diffusion-webui (又称 A1111 ) 的最新代码,然后按照 README 中的说明安装即可。

而我参考了另一个项目:

如果你想快速开始体验,就跟我一样脚本一把梭,免得耗费时间找各种插件/模型;
如果你很在意这些命令在干什么,我简单添加了一些注释;
看不懂?没关系,这个系列以后会有文章深入这些细节。

#!/usr/bin/env bash

# A1111 项目没有打 tag 的习惯,你拉取到的最新版本代码可能无法复现本文的内容,
# 而这个项目 Fork 自 A1111 ,还贴心地打上了 tag ,建议你和我一样使用这份源码
git clone -b v2.2 https://github.com/camenduru/stable-diffusion-webui

# 指定之后操作的根目录
base_dir="$(pwd)/stable-diffusion-webui"
# 简化 ariac2 下载命令
download="aria2c --console-log-level=error -c -x 16 -s 16 -k 1M"

# Extra network / Textual Inversion
# 负面词,功能说明 https://github.com/AUTOMATIC1111/stable-diffusion-webui/wiki/Negative-prompt
git clone https://huggingface.co/embed/negative ${base_dir}/embeddings/negative

# Extra network / Lora
# 支持把 Lora 模型作为关键词
git clone https://huggingface.co/embed/lora ${base_dir}/models/Lora/positive

# 4x-UltraSharp ,一个通用模型,可以提高图片的分辨率。
# 原始模型发布在 MEGA 网盘,为了下载方便使用 huggingface 上的备份。
${download} https://huggingface.co/embed/upscale/resolve/main/4x-UltraSharp.pth -d ${base_dir}/models/ESRGAN -o 4x-UltraSharp.pth

# 一些方便的插件,可以去他们的 Github 主页查看功能介绍
## 方便从 Web 端下载 civitai 市场的模型
git clone -b v2.0 https://github.com/camenduru/sd-civitai-browser ${base_dir}/extensions/sd-civitai-browser
## 方便从 Web 端下载 huggingface 市场的模型
git clone https://github.com/camenduru/stable-diffusion-webui-huggingface ${base_dir}/extensions/stable-diffusion-webui-huggingface
## 一个图片浏览器,方便浏览保存过的图片
git clone https://github.com/AlUlkesh/stable-diffusion-webui-images-browser ${base_dir}/extensions/stable-diffusion-webui-images-browser


# 主模型
models="${base_dir}/models"
## Stable Diffuison v1.5,SD1.5 的模型 (可选)
${download} https://huggingface.co/runwayml/stable-diffusion-v1-5/resolve/main/v1-5-pruned-emaonly.safetensors -d ${models}/Stable-diffusion -o v1-5-pruned-emaonly.safetensors
## 国风3 https://huggingface.co/xiaolxl/GuoFeng3
${download} https://huggingface.co/xiaolxl/GuoFeng3/resolve/main/GuoFeng3.2.safetensors -d ${models}/Stable-diffusion -o GuoFeng3.2.safetensors


# LoRA 模型
mkdir -p ${models}/Lora
## 墨心 MoXin https://civitai.com/models/12597/moxin
${download} https://civitai.com/api/download/models/14856 -d ${models}/Lora -o MoXin_v10.safetensors

最后我们启动 Web UI

直接通过 launch.py 启动,而不是 webui.sh ,这样可以加载额外安装的插件。
一些 Python 依赖包会在初次运行时安装。

cd stable-diffusion-webui

## 初始化并启用新的 python venv 环境
python3 -m venv .venv
source .venv/bin/activate

## 安装支持 cuda 11.8 的 pytorch, xformer
pip install torch torchvision torchaudio torchtext torchdata --extra-index-url https://download.pytorch.org/whl/cu118 -U
pip install xformers==0.0.18 triton==2.0.0 -U

## 在 10000 端口上启动 Web 服务
python3 launch.py --listen --xformers --enable-insecure-extension-access --gradio-queue --port 10000

浏览器打开 http://${host_ip}:10000 就可以看到 Stable Diffusion Web 页面了。

把 ${host_ip} 换成你的云主机 ip 地址。
P.S 安装脚本中省略了部分本文用不到的插件,所以 Web 截图会略有不同。

 

使用自建的 AI 作图环境

选择一个基础模型(主模型)在 Stable Diffusion checkpoint 下拉菜单中,选择 GuoFeng3.2.safetensors 。

GuoFeng3 这是一个中国华丽古风风格模型,也可以说是一个古风游戏角色模型,具有2.5D的质感。来自: https://huggingface.co/xiaolxl/GuoFeng3

 

点击 Generate 下面的 Show/hide extra networks 图标,可以看到已经安装的模型。

 

切换选项卡,可以看到我们已经安装的所有 LoRA 模型。

Q: 什么是 LoRA 模型?
A: 根据特定概念更改现有 Stable Diffusion 模型结果的文件。这可以是一种艺术风格、一个角色、一个现实中的人、一个物体或一个主题。一些著名的例子:Arcane Style LoRA(奥术风格 LoRA) ,Makima from Chainsaw Man LoRA(来自动漫《电锯人》中的玛奇玛)。(来自:https://aituts.com/stable-diffusion-lora/ 

  image.png

点击一个 LoRA 模型,可以看到在 Prompts 输入框中,自动填写上了模型名称:

  image.png

我选择 Moxin_10 这个模型。

墨心 MoXin 1.0
昔涓子《琴心》,王孙《巧心》,心哉美矣,故用之焉。
来自: https://civitai.com/models/12597/moxin
(非常适合与国风3 搭配使用的 LoRA 模型,可以生成水墨画风格的图片。)

从最简单的开始

准备创作,首先要有个想法:
假如我想画一只熊。

在关键词 (Prompt) 输入框中添加一句描述:
a bear

提示词目前只支持英语。
如果你有更复杂的描述,但是表达不出来?翻译软件一大把。

然后点击 Generate 进行生成,大概花了 10s,图片就生成好了。

 

说实话,这虎头虎脑的黑熊,效果还挺萌!顿时对我们的 AI 绘画之旅,充满信心了有木有?

如果要再次生成,就继续点击 Generate ;如果要一次生成多张图片,可以调整 Batch count 。
显卡有多还可以调整 Batch size 进行并发生成

标签:diffusion,教程,AI,EP0,生成,https,stable,com
From: https://www.cnblogs.com/lwylwy/p/17309848.html

相关文章

  • 2023AI语音机器人的到来!
    AI语音机器人拉近了时代与科技的距离,打破传统营销,更加快速高效。V:xssh664具体有以下的特点自主学习,支持打断,智能训练真人录制专业话术,接通率更高支持转人工坐席或者实时人工介入自动保存通话记录、有语音、文字支持短息发送功能,精准寻找客户能够保存未拨通的电......
  • 【manim动画教程】--常用动画效果
    manim的主要功能就是制作动画,因此它提供了各类丰富的动画效果,本篇主要介绍其中最常用的几种动画效果。至于特殊的动画效果,以及自定义动画效果的方法以后再另外介绍。1.创建效果展示某个元素或者文字时,一下子就全显示出来会显得比较突兀,通过创建效果的动画,让各个元素的出现更......
  • WSL启动报错WslRegisterDistribution failed with error: 0x8007019e
    Installing,thismaytakeafewminutes...WslRegisterDistributionfailedwitherror:0x8007019eTheWindowsSubsystemforLinuxoptionalcomponentisnotenabled.Pleaseenableitandtryagain.Seehttps://aka.ms/wslinstallfordetails.Pressanykeyto......
  • 论文解析 -- A Systematic Mapping Study in AIOps
    AIOPS论文的综述如何挑选论文,如何选取keywords 搜索的3个论文库, Weselectthreeonlinesearchdatabasesthatareappropriateforthescopeofinvestigation:IEEEXplore,ACMDigitalLibraryandarXiv. 对于挑选出的论文进行分类,分类标准是,targetcomponents......
  • Shanghai 2006 / UVa 1382 Distant Galaxy (枚举&扫描&动态维护)
    1382-DistantGalaxyTimelimit:3.000seconds http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=460&page=show_problem&problem=4128YouareobservingadistantgalaxyusingatelescopeabovetheAstronomyTower,......
  • UVa 514 Rails (water ver.)
    514-RailsTimelimit:3.000seconds http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=24&page=show_problem&problem=455ThereisafamousrailwaystationinPopPushCity.Countrythereisincrediblyhilly.Thest......
  • UVa 253 Cube painting (模拟)
    253-CubepaintingTimelimit:3.000secondshttp://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=99&page=show_problem&problem=189Wehaveamachineforpaintingcubes.Itissuppliedwiththreedifferentcolors:bl......
  • CodeGeeX论文发表:揭秘AI辅助编程工具背后的大模型
    近日,CodeGeeX模型迭代v1.5版本上线,用户反馈模型效果和使用效率较之前有大幅提升。恰逢CodeGeeX团队在arxiv上发布了论文,详细介绍了CodeGeeXAI编程辅助工具背后的代码生成大模型的架构、训练过程及推理加速等工作。今天我们对这篇论文的核心信息进行解读,让更多的开发者了解Cod......
  • MFC-GetMainWnd获取主窗口指针
     CWinApp*pwin=AfxGetApp();//获取当前应用进程的指针CWnd*pWnd=pwin->GetMainWnd();//获取主窗口指针CGetMainWndDlg*pDlg=(CGetMainWndDlg*)pWnd;//主窗口指针转化成对话框类指针pDlg->SetWindowText(_T("练习"));CWnd*pWnd1=pWn......
  • jQueryUI教程_编程入门自学教程_菜鸟教程-免费教程分享
    教程简介JqueryUI入门教程-从基本到高级概念的简单简单步骤了解JqueryUI,其中包括概述,环境设置,交互,可拖动,可放置,可调整大小,可选,可排序,小部件,手风琴,自动完成,按钮,Datepicker,对话框,菜单,Progressbar,Slider,Spinner,Tabs,Tooltip,Effects,AddClass,ColorAnimation,Effect,Hide,RemoveClass......