用 AI 生成漂亮小姐姐(一)——Stable Diffusion 小白搭建教程

最近 AIGC、ChatGPT 等话题持续发酵,热门程度不亚于之前的 “元宇宙”。抖音、小红书到处都是机器对话、AI 绘图的视频。我看见别人生成的漂亮小姐姐图片眼馋得不行,终于按捺不住自己的好奇心,也尝试一下搭建。本文只是简单记录一下搭建过程。
用 AI 生成漂亮小姐姐(一)——Stable Diffusion 小白搭建教程_第1张图片
△ 别人生成的漂亮小姐姐
我使用的是 Stable Diffusion,官网:stablediffusionweb.com,可以输入关键字生成超清图像,而且会出乎你的意料,等待结果的过程还是很期待的。不过生成的结果在于使用了什么模型,生成之前需要输入英文关键字。在官网可以直接测试:stablediffusionweb.com/#demo
用 AI 生成漂亮小姐姐(一)——Stable Diffusion 小白搭建教程_第2张图片

为了方便尝试,我自己购买了个云主机,选用的是厚德云主机(室友推荐的,性价比高)。云主机配置如下:
CPU:8 核
内存:16 GB
系统: Ubuntu Server 22.04、Python 3.10(当然最推荐使用 GPU 主机了!)
用 AI 生成漂亮小姐姐(一)——Stable Diffusion 小白搭建教程_第3张图片
选择国外 IP,下载 github 的内容速度会快一点。

云主机的配置要够高,这里我真心推荐厚德云的云主机,新人注册有代金券可以用,可以按天按月购买,有各种配置可以选,价格也还好。我是直接先买了一天的,搭建试试。

厚德云官网:www.houdeyun.cn

注册账号后登陆,点击右上角的 “控制台”,点击 “基础云”,选择自己要的配置和型号,选择“地区” 和 “系统”,右面选择 “时长” 和 “流量”,直接购买就好了。

另外厚德云还上线了 GPU 云主机,我对比了几家云厂商,发现厚德云的 GPU 价格非常优惠,AI 绘画必备,生成速度快。

用 AI 生成漂亮小姐姐(一)——Stable Diffusion 小白搭建教程_第4张图片

购买之后会分配公网 IP,主机名和密码会通过短信发送到手机,通过 ssh 去登录就好了。

下面正式开始。

  1. 配置下载源
# pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

2. Anaconda 安装,下载链接:https://docs.conda.io/en/latest/miniconda.html#linux-installers

Anaconda 是一个环境管理器,可以用于在同一个机器上安装不同版本的软件包及其依赖,并能够在不同的环境之间切换,很方便。

  1. 下载上传到主机后执行安装,按照提示输入,安装成功。# ./Miniconda3-py310_23.1.0-1-Linux-x86_64.sh

用 AI 生成漂亮小姐姐(一)——Stable Diffusion 小白搭建教程_第5张图片

  1. 创建一个命令软链,可以直接使用 conda 命令

    # ln -s /root/miniconda3/bin/conda /usr/bin/conda
    
  2. 创建一个目录放东西 /git/
# mkdir /git
  1. cd 进到 /git/ 目录下

    # cd /git/
    # git clone https://github.com/CompVis/stable-diffusion.git # git 上下载包

    7. 创建并激活一个 conda 的环境:ldm ,进入到 stable-diffusion 目录安装 Stable Diffusion 环境

    # cd /git/stable-diffusion
    # conda env create -f environment.yaml   # 要下载环境需要的依赖,需要很久
  2. 解决报错:Command errored out with exit status 128: git fetch -q --tags Check the logs for full command output
# conda install -c anaconda git # 安装 git

然后删除重新运行:

# rm -rf /root/miniconda3/envs/ldm 
# conda env create -f environment.yaml 

下载很久很久,最后没有报错,撒花。
用 AI 生成漂亮小姐姐(一)——Stable Diffusion 小白搭建教程_第6张图片

激活环境:

# conda activate ldm

另:停用一个环境:# conda deactivate

  1. 这一步下载模型,可以下载 ckpt 后缀的模型导入,模型可以去各网站上找。例如:huggingface.co/CompVis (需要登录,直接注册即可)

https://cyberes.github.io/stable-diffusion-models/#stable-diffusion-1-5

civitai.com/(已和谐)

模型可以参考这个帖子:zhuanlan.zhihu.com/p/592347520

我这边按照 huggingface 里的使用了一个不需要下载源文件的:  https://huggingface.co/CompVis/stable-diffusion-v1-4,可以直接根据文档里输入命令

# pip install --upgrade diffusers transformers scipy
  1. 安装 torch,因为我的云主机是 CPU,所以必须安装 CPU 版本的:https://pytorch.org/get-started/locally/

如果支持 GPU 就安装 CUDA ,但是需要看一下自己机器的 CUDA 版本,使用命令 “nvcc -V” 可以查看。
用 AI 生成漂亮小姐姐(一)——Stable Diffusion 小白搭建教程_第7张图片
按照官网的命令安装:

# pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu
  1. 生成脚本,创建一个 test.py

GPU 版:

import torch
from diffusers import StableDiffusionPipeline
model_id = "CompVis/stable-diffusion-v1-4"
device = "cuda"
pipe = StableDiffusionPipeline.from_pretrained(model_id, torch_dtype=torch.float16)
pipe = pipe.to(device)
prompt = "a photo of an astronaut riding a horse on mars"
image = pipe(prompt).images[0]  
image.save("astronaut_rides_horse.png")

CPU 版:

import torch
from diffusers import StableDiffusionPipeline

model_id = "CompVis/stable-diffusion-v1-4"
#device = "cuda" #GPU
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")


pipe = StableDiffusionPipeline.from_pretrained(model_id)
pipe = pipe.to(device)

prompt = "a photo of an astronaut riding a horse on mars"#图片描述关键词
image = pipe(prompt).images[0]


image.save("astronaut_rides_horse.png")#生成图片的保存路径
  1. 最期待的一步来啦!执行脚本生成图片

`# python3 test.py
`
不出意外的话,开始需要下载很多东西,好多好多 G。下载之后会开始生成图片,一些 Warning 可以直接忽略。下面是我踩了好多坑,报了好多错之后执行成功的,生成用了 10 分钟。机器配置太弱了没办法,估计 GPU 主机会快很多。
用 AI 生成漂亮小姐姐(一)——Stable Diffusion 小白搭建教程_第8张图片
看了下云主机监控,生成的这段时间飙了这么高,CPU 大概占了 45%,内存也差不多。
用 AI 生成漂亮小姐姐(一)——Stable Diffusion 小白搭建教程_第9张图片
最后来看下我随手尝试生成的几个图片,宇航员骑马:
用 AI 生成漂亮小姐姐(一)——Stable Diffusion 小白搭建教程_第10张图片
又测试生成一个,生成时间大约花了 10 分钟。

关键字:a girl with lavender hair and black skirt, fairy tale style background, a beautiful half body illustration, top lighting, perfect shadow, soft painting, reduce saturation, leaning towards watercolor

生成的结果:
用 AI 生成漂亮小姐姐(一)——Stable Diffusion 小白搭建教程_第11张图片
又执行了一次上面的关键字,生成如下,貌似有点丑,不知道是不是模型的问题。
用 AI 生成漂亮小姐姐(一)——Stable Diffusion 小白搭建教程_第12张图片
实话说,生成的图片看起来怪怪的,这次生成漂亮的小姐姐失败,不过初次搭建,磕磕绊绊也算成功啦,后面会研究一下,下载其他模型和关键词优化来做尝试。

另外现在是代码生成的,后续我会再考虑弄一个页面工具,操作更方便。

Ps. 这篇内容主要是搭建教程,后续我会购买一个 GPU 主机来用来生成漂亮小姐姐。等我文章更新,带你一步一步手动生成漂亮小姐姐。

你可能感兴趣的:(用 AI 生成漂亮小姐姐(一)——Stable Diffusion 小白搭建教程)