概述

2022 年 8 月 22 日,一款名为 Stable Diffusion 的图像生成 AI 开源发布。这是在 AWS EC2 实例上运行它的设置程序手册。

笔记

在此过程中,AWSp3.2xlarge使用名为的高规格类型实例。东京地区按需定价4.194 美元/小时,撰写本文时日元兑美元汇率为 136.5 日元,运行1个月时为412,000日元将会每分钟 9.5 日元是。这对你的钱包很危险。玩完后不要忘记关闭实例。

此外,我浏览本程序手册大约需要 35 分钟。我们建议您以将 1,000 日元作为娱乐的感觉进行操作。

提前准备

HuggingFace 用户注册

克隆 Stabie Diffusion 中使用的模型数据时,需要 HuggingFace 帐户信息。请通过以下 URL 完成用户注册。

英伟达用户注册

下载 cuDNN 库时需要它。从以下 URL 注册为用户。

下载 NVIDIA cuDNN 库

  • 打开下载地址:https://developer.nvidia.com/rdp/cudnn-download
  • 勾选“我同意 cuDNN 软件许可协议的条款”
  • 点击“下载 cuDNN v8.5.0(2022 年 8 月 8 日),用于 CUDA 11.x”展开子菜单
  • 点击下载“Linux x86_64(Tar)的本地安装程序”
  • 将下载的文件保存到本地 PC

服务器设置说明

启动 EC2 实例

使用以下设置启动 EC2 实例。
我将省略 VPC 和安全组设置,这是之前的步骤。

  • 实例类型:p3.2xlarge
  • AMI:“Amazon Linux”>“深度学习 AMI GPU PyTorch 1.12.0 (Amazon Linux 2) 20220817”
  • 存储:通用 SSD (GP3) 100GiB*默认45GiB不够用
  • 其他基础项如密钥对、安全组、公网IP自动分配等要适当设置。

启动完成后,使用 SSH 连接并继续进行服务器设置工作。

服务器设置工作

从这里开始,除非另有说明,否则所有过程都将以 ec2-user 身份执行。

安装 git LFS

稳定扩散模型数据由 git lfs 管理,所以要提前设置好 git lfs。

# epelをインストール
sudo amazon-linux-extras install -y epel

# git lfsをインストール
sudo yum install -y git-lfs

# git lfsを有効化
git lfs install

安装 NVIDIA CUDA 工具包

根据以下 URL 提供的安装方法进行设置。
https://developer.nvidia.com/cuda-11-3-1-download-archive?target_os=Linux&target_arch=x86_64&Distribution=RHEL&target_version=8&target_type=runfile_local

# ここからrootで作業
sudo su -

# NVIDIA CUDA Toolkitをインストール
# ※何度かプロンプトが出るので全てAccept、OKまたはYesで答える
mkdir ~/install
cd ~/install
wget https://developer.download.nvidia.com/compute/cuda/11.3.1/local_installers/cuda_11.3.1_465.19.01_linux.run
sudo sh cuda_11.3.1_465.19.01_linux.run

如果安装成功,将显示以下日志。

===========
= Summary =
===========
 
Driver:   Installed
Toolkit:  Installed in /usr/local/cuda-11.3/
Samples:  Installed in /root/, but missing recommended libraries
 
Please make sure that
 -   PATH includes /usr/local/cuda-11.3/bin
 -   LD_LIBRARY_PATH includes /usr/local/cuda-11.3/lib64, or, add /usr/local/cuda-11.3/lib64 to /etc/ld.so.conf and run ldconfig as root
 
To uninstall the CUDA Toolkit, run cuda-uninstaller in /usr/local/cuda-11.3/bin
To uninstall the NVIDIA Driver, run nvidia-uninstall
Logfile is /var/log/cuda-installer.log

接下来,安装 cuDNN 库。根据以下 URL 中编写的指南移动文件。
https://docs.nvidia.com/deeplearning/cudnn/install-guide/index.html#installlinux-tar

# ※引き続きrootで作業します

# cuDNNのインストール
# ※事前準備でダウンロードしてきたものをSFTP等で以下のパスに転送する
# 転送先パス: /root/install/cudnn-linux-x86_64-8.5.0.96_cuda11-archive.tar.xz

# ファイルを解凍
cd ~/install
tar Jxfv cudnn-linux-x86_64-8.5.0.96_cuda11-archive.tar.xz
cd cudnn-linux-x86_64-8.5.0.96_cuda11-archive/

# デプロイ
cp include/cudnn*.h /usr/local/cuda/include 
cp -P lib/libcudnn* /usr/local/cuda/lib64 
chmod a+r /usr/local/cuda/include/cudnn*.h /usr/local/cuda/lib64/libcudnn*

# root作業を終了してec2-userに戻ります
exit

安装 StableDiffusion 本身

# StableDiffusion本体をダウンロード
cd ~/
git clone https://github.com/CompVis/stable-diffusion

# condaの初期化
conda init bash

# 環境設定
cd ~/stable-diffusion
conda env create -f environment.yaml

# 学習モデルをダウンロード
# ※ここでHuggingFaceアカウント情報の入力を求められるので入力する(なぜか2回入力を求められます)
cd ~/
git clone https://huggingface.co/CompVis/stable-diffusion-v-1-4-original

# ~/stable-diffusion-v-1-4-original/sd-v1-4.ckpt のファイルサイズを確認する。
# ファイルサイズが4.0GBほどあればOK。サイズが異常に小さい場合はGit LFSの設定を疑う
# なお、この警告↓がでても気にしなくてOKです
# Encountered 1 file(s) that may not have been copied correctly on Windows: 

# 学習モデルを導入
cd ~/stable-diffusion/models/ldm
mkdir stable-diffusion-v1
mv ../../../stable-diffusion-v-1-4-original/sd-v1-4.ckpt stable-diffusion-v1/model.ckpt

现在重新启动 bash 一次。如果启用了 conda 并且提示以 (base) 为前缀,则可以。

测试运行

# conda環境を切り替える(プロンプトの先頭が (ldm) に変わります)
conda activate ldm

# 実行(初回のみ、いくつかのダウンロード処理が行われます)
cd ~/stable-diffusion
python3 scripts/txt2img.py --prompt "a photograph of an astronaut riding a horse" --plms

执行完成后,图像将输出到以下目录。

~/stable-diffusion/outputs/txt2img-samples/grid-0000.png
~/stable-diffusion/outputs/txt2img-samples/samples/00000.png ~ 00005.png

请通过 SFTP 等方式将这些图像传输到您的本地 PC 并检查内容。
6个生成的缩略图存放在grid-0000.png中,每张图片存放在samples/*.png中。

享受!

参考文章


原创声明:本文系作者授权爱码网发表,未经许可,不得转载;

原文地址:https://www.likecs.com/show-308624518.html

相关文章: