You need to enable JavaScript to run this app.
导航

GPU-搭建AIGC能力(Linux)

最近更新时间2023.12.07 17:10:25

首次发布时间2023.05.31 14:20:01

本文介绍如何部署Stable Diffusion WebUI工具前端和Stable Diffusion训练模型,实现高质量AI图片生成,掌握整个AI作画推理流程及关键参数对图片输出的影响。

AIGC简介

AIGC(AI generated content)是一种利用AI技术自动生成内容的生产方式,代表着AI从理解语言、理解文字、理解图片和视频,走向了生成内容,是一种‘人机共创’新模式。

软件版本

  • NVIDIA驱动:本例使用Tesla 470.57.02,Cuda 11.4.1。
  • Python:编程语言,并提供机器学习库Numpy等。本例使用Python 3.11.3版本。
  • PIP:通用的Python包管理工具。本例使用PIP 20.0.2版本。
  • Git:分布式版本控制系统。本例使用Git 2.25.1版本

使用说明

  • 为使Stable Diffusion WebUI与模型顺利运行,推荐实例配置为 12GB 显存,且内存大于 16GiB ,使支持的图片更大、预处理效率更高。
    本例选用ecs.ini2.7xlarge计算规格,搭载NVIDIA A30 GPU卡,显存24GB,内存为234GiB。
  • 下载本例所需软件可能需要访问国外网站,建议您增加网络代理(例如FlexGW)以提高访问速度。您也可以将所需软件下载到本地,参考本地数据上传到GPU实例中。

步骤一:创建GPU计算型实例

请参考通过向导购买实例创建一台符合以下条件的实例:

  • 计算规格:ecs.ini2.7xlarge
  • 镜像:Ubuntu 20.04,选择后台自动安装以下GPU驱动。
    alt
  • 弹性公网IP:勾选“分配弹性公网IP”按钮。

步骤二:安装Python和PIP

  1. 登录Python网站
  2. 找到并单击Python 3.11.3,进入3.11.3版本下载页面。
    alt
  3. 滑动页面至最下方,右键单击“Gzipped source tarball”,选择“复制链接地址”复制Python安装包下载地址,本例为https://www.python.org/ftp/python/3.11.3/Python-3.11.3.tgz
    alt
  4. 远程连接云服务器并登录,具体操作请参考通过控制台登录Linux实例
  5. 执行以下命令,拉取并安装Python安装包。
    apt update
    apt -y upgrade
    wget https://www.python.org/ftp/python/3.11.3/Python-3.11.3.tgz
    tar -zxvf Python-3.11.3.tgz
    cd Python-3.11.3/
    ./configure --prefix=/usr/local/python3.11.3
    make && make install
    
  6. 执行以下命令,安装PIP。
    cd
    apt install python3-pip
    
  7. 执行pip --version命令,回显如下,表示安装成功。
    alt

步骤三:安装Git

  1. 执行以下命令,安装Git。
    apt -y install git
  2. 执行git --version命令,回显如下,表示安装成功。
    alt

步骤四:确认NVIDIA驱动

  1. 执行nvidia-smi命令,可以看到GPU驱动的版本,说明GPU驱动已安装成功。
    alt
  2. 执行/usr/local/cuda/bin/nvcc -V命令可以看到CUDA版本,说明CUDA已安装成功。

步骤五:安装Stable Diffusion UI

执行以下命令,安装Stable Diffusion UI。

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

回显如下,表示下载成功。
alt

步骤六:下载训练模型Stable Diffusion

  1. 登录Stable Diffusion代码库,单击“Files and versions”页签。

  2. 右键单击“sd-v1-4.ckpt”训练模型,复制下载链接地址,本例为https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/blob/main/sd-v1-4.ckpt
    alt

  3. 依次执行以下命令,进入训练模型存放目录并下载。

    cd stable-diffusion-webui/models/Stable-diffusion/
    wget https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/blob/main/sd-v1-4.ckpt
    
  4. 执行以下命令,进入训练模型webui目录。
    cd & cd stable-diffusion-webui/

  5. 执行以下命令,添加清华源。

    1. 执行vi launch_utils.py命令。
    2. 搜索代码run(f'"{python}" -m {torch_command},并添加清华源-i https://pypi.tuna.tsinghua.edu.cn/simple
      alt
    3. 搜索代码return run(f'"{python}" -m pip {command},并添加清华源-i https://pypi.tuna.tsinghua.edu.cn/simple
      alt
  6. 依次执行以下命令,进入并启动python-venv虚拟环境。

    apt -y install python3.8-venv
    python3 -m venv venv_name
    source venv_name/bin/activate
    

    回显如下,表示成功进入虚拟环境。
    alt

  7. 执行以下命令,安装gfpgan。

    git clone https://github.com/TencentARC/GFPGAN.git
    pip install gfpgan
    
  8. 依次执行以下命令,运行webui.sh文件。
    ./webui.sh --share -f
    根据网速不同,大约需要20分钟 - 2个小时不等,请耐心等待,一定不要关闭远程连接窗口。如果过程中出现运行失败的情况,请稍后重试或按需解决。

  9. 回显如下,表示下载完成。
    alt

  10. 使用浏览器打开http://127.0.0.1:7860,注意不要关闭远程连接窗口。

步骤七:生成图片

  1. 在http://127.0.0.1:7860中配置相关参数。
    参数说明取值示例
    Sampling StepsAI推理的步数,步数越多画面中的细节就越多,需要的时间也就越久,一般设置20~30。20
    Sampling methodAI推演的算法,一般可以选择Euler a、Euler 、DDIM。Euler a
    图片分辨率取决于显卡,低于512 X 512画面不会有太多细节。512*512

    扩展选项

    • Restore faces:可以生成更真实的脸,第一次勾选使用时,需要先下载几个G的运行库。
    • Tiling:可以平铺图片,类似瓷砖,生成的图案左右上下都可以无缝衔接。
    • Highres. fix:让AI用更高的分辨率填充内容。

    不配置

    Batch count运行次数。1
    Batch size同时生成图片的张数。1
    CFG Scale设置的越高,AI越严格按照设定生成图片,但也会有越少的创意;设置的越低,AI就会有更多的创意。一般设置为7左右。7
    Seed生成每张图片时的随机种子,作为确定扩散初始状态的基础,一般保持默认。-1
  2. 单击“生成”按钮后,即会获得一张本地AI生成的图片,以及图片产生用时和GPU利用率,如下图所示。