在AMD GPU上安装和运行Stable Diffuion WEB UI

注意:本教程将引导您安装和配置Stable DiffusionWeb UI,以便在WindowsLinux系统上进行深度学习模型训练。请按照以下步骤操作,确保您的环境正确设置。

引言

在当今数字时代,深度学习已经成为人工智能领域的核心技术之一。对于计算机视觉和自然语言处理等领域的研究和应用来说,深度学习模型训练是不可或缺的一部分。然而,如果您使用Windows或者AMD GPU,可能会面临一些挑战。但别担心,我们将为您提供安装和配置Stable DiffusionWeb UI的详细步骤,以便您能够顺利进行深度学习工作。

步骤一:安装必要的软件

首先,让我们开始安装必要的软件和依赖项。以下是Windows系统的安装步骤:

  1. 下载并安装 Python 3.10.6,在安装过程中确保勾选 Add to PATH 选项。

  2. 下载并安装 git

  3. 打开命令提示符(cmd)或终端,并执行以下命令以克隆Stable DiffusionWeb UI的分支:

    git clone https://github.com/lshqqytiger/stable-diffusion-webui-directml
    cd stable-diffusion-webui-directml
    git submodule init
    git submodule update
  4. 双击运行 webui-user.bat,等待安装完成。如果在安装或运行过程中出现卡住的情况,请在终端中按下回车键以继续。

现在,让我们看看如何在Linux系统上进行安装。

步骤二:Linux系统自动安装

如果您使用Linux系统,并希望自动安装Stable DiffusionWeb UI,您可以按照以下步骤操作:

  1. 打开终端,并执行以下命令以安装所需的软件包和依赖项:

    sudo apt install git python3.10-venv -y
    git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui
    cd stable-diffusion-webui
    python3.10 -m venv venv
  2. 使用以下命令来安装和运行Stable DiffusionWeb UI:

    ./webui.sh {your_arguments*}

    *对于许多AMD GPU,您必须添加 --precision full --no-half--upcast-sampling 参数来避免NaN错误或崩溃。如果 --upcast-sampling 可以作为您的显卡的修复方法,您应该有2倍的速度(fp16)比在full精度下运行。

以上是自动安装的方法,但如果您想更灵活地控制安装过程,可以使用原生运行方式。

步骤三:原生运行(适用于Linux)

如果您想更详细地控制Stable DiffusionWeb UI的安装和配置,可以按照以下步骤操作:

  1. 打开终端,并执行以下命令来克隆Stable DiffusionWeb UI的仓库:

    git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui
    cd stable-diffusion-webui
    python -m venv venv
    source venv/bin/activate
    python -m pip install --upgrade pip wheel
  2. 安装PyTorch和Torchvision,根据您的GPU型号和要求执行以下命令:

    TORCH_COMMAND='pip install torch torchvision --extra-index-url https://download.pytorch.org/whl/rocm5.1.1' python launch.py --precision full --no-half
  3. 后续运行只需要执行以下命令:

    cd stable-diffusion-webui
    # 可选: 使用 "git pull" 来更新仓库
    source venv/bin/activate
    # 可能您不需要 "--precision full",但是删除 "--no-half" 会导致驱动崩溃
    TORCH_COMMAND='pip install torch torchvision --extra-index-url https://download.pytorch.org/whl/rocm5.1.1' python launch.py --precision full --no-half

请注意,初次运行Web UI可能需要一些时间,您可能会看到类似以下消息:

MIOpen(HIP): Warning [SQLiteBase] Missing system database file: gfx1030_40.kdb Performance may degrade. Please follow instructions to install: https://github.com/ROCmSoftwarePlatform/MIOpen#installing-miopen-kernels-package

随后的生成应该能够正常运行。如果您使用的是相同的操作系统,您可以按照消息中的链接修复此问题。如果在您的操作系统上没有明确的方法来编译或安装MIOpen内核,请考虑按照下面的“在Docker内运行”指南操作。

步骤四:在Docker内运行

如果您希望在Docker容器内运行Stable DiffusionWeb UI,可以按照以下步骤操作:

  1. 拉取最新的 rocm/pytorch Docker 镜像,并启动容器并连接到容器中(摘自 rocm/pytorch 文档):

    
    docker run -it --network=host --device=/dev

/kfd --device=/dev/dri --group-add=video --ipc=host --cap-add=SYS_PTRACE --security-opt seccomp=unconfined -v $HOME/dockerx:/dockerx rocm/pytorch


2. 在容器内执行以下命令,以克隆Stable DiffusionWeb UI的仓库并安装所需的软件包和依赖项:

   ```shell
   cd /dockerx
   git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui
   cd stable-diffusion-webui
   python -m pip install --upgrade pip wheel
  1. 同样,您可能需要根据GPU型号添加适当的命令行参数和优化选项,以确保Web UI正常运行。

以上是在Docker容器内运行Stable DiffusionWeb UI的方法。如果您需要更新Docker容器内的Python版本,请参考下面的指南。

步骤五:在Docker内更新Python版本

如果Stable DiffusionWeb UI与Docker镜像内预装的Python 3.7版本不兼容,您可以按照以下步骤更新它(假设您已成功按照“在Docker内运行”操作):

在容器内执行以下命令:

apt install python3.9-full # 确认每一个提示
update-alternatives --install /usr/local/bin/python python /usr/bin/python3.9 1
echo 'PATH=/usr/local/bin:$PATH' >> ~/.bashrc
source ~/.bashrc

运行 source ~/.bashrc 并按照对已有容器相同的命令继续操作。

结论

现在,您已经成功地安装和配置了Stable DiffusionWeb UI,可以开始进行深度学习模型训练了。请根据您的需求和GPU型号,选择适当的命令行参数和优化选项以获得最佳性能。

这个教程提供了在Windows和Linux系统上安装Stable DiffusionWeb UI的详细步骤,帮助您克服可能遇到的挑战。祝您在深度学习的道路上取得成功!

本文由作者 王大神 原创发布于 大神网的AI博客。

转载请注明作者:王大神

原文出处:在AMD GPU上安装和运行Stable Diffuion WEB UI

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 2023年8月15日
下一篇 2023年8月17日

相关推荐

  • 如何解决UOS家庭版应用商店网络访问异常问题

    UOS(UnionTech Operating System)是一款流行的Linux发行版,但有时用户可能会遇到一些网络访问异常问题,尤其是在应用商店中。在本教程中,我们将探讨如何解决UOS家庭版中的应用商店网络访问问题。 问题一:键盘…

    2023年10月17日
    00
  • 人工智能(AI)常用名词解释

    在当今数字化时代,人工智能(Artificial Intelligence,简称AI)已经成为了我们生活中不可或缺的一部分。无论是智能手机上的语音助手,自动驾驶汽车,还是智能家居设备,AI的应用已经渗透到了各个领域。但是,对于…

    2023年10月20日
    00
  • 如何选择最佳虚拟机软件:VMWare,Hyper-V,VirtualBox

    故事发生在一个炎热的夏日,你正在为一项重要的工作任务做准备。突然,你发现需要同时在不同的操作系统上测试应用程序。这个时候,虚拟机软件成了你的得力助手。但问题来了,Windows上有太多虚拟机软件可供选择,哪…

    2023年6月17日
    00
  • 探索AudioCraft:一个面向音频生成的深度学习研究库

    在人工智能和深度学习的不断发展下,音频生成技术也日新月异。本文将重点介绍一个名为AudioCraft的PyTorch库,这是一个专为音频生成的深度学习研究而设计的库。AudioCraft不仅包含用于生成高质量音频的两种先进的AI…

    2023年8月31日
    00
  • 如何使用iptables将特定IP的流量重定向到本地服务

    在网络世界中,有时我们需要将特定来源的网络流量重定向到本地服务,以实现各种目的。这可以通过Linux中强大的防火墙工具iptables来实现。本文将详细介绍如何使用iptables在本地主机上将从特定物理网卡(ethX)过来…

    2023年10月22日
    00
  • 深入了解CUDA、cuDNN以及解决CUDA Out of Memory问题

    当我们探索深度学习、科学计算和图形处理等领域时,我们经常会遇到诸如CUDA、cuDNN、AMD显卡和CUDA Out of Memory等术语和问题。在本文中,我们将深入探讨这些话题,帮助您更好地理解它们,并提供解决CUDA Out of M…

    2023年10月17日
    00
  • OpenWrt编译教程:打造定制化路由器固件

    在网络世界中,拥有一个定制化的路由器固件可以提供更多的功能和自定义选项,让您更好地控制您的网络。本教程将向您展示如何编译和定制OpenWrt路由器固件,以满足您的特定需求。 步骤1:准备工作 在开始编译之前,…

    2023年9月13日
    00
  • Eureka:通过编码大型语言模型实现人类水平的奖励设计

    在现代科技领域,人工智能(AI)正日益成为不可或缺的一部分。AI不仅在自动化任务中表现出色,还在解决复杂问题方面展现出巨大潜力。但是,将AI应用于一些低级操作任务,如熟练旋转笔尖,似乎是一个不可逾越的挑战…

    2023年10月21日
    00
  • 探秘xFormers:加速Transformer研究的利器

    xFormers是一款强大的工具,旨在加速Transformer模型的研究。这个工具提供了一系列可自定义的构建模块,无需编写繁琐的代码,让研究人员可以专注于模型的创新和改进。它不仅包含了最新的组件,还提供了高效的构建块…

    2023年9月25日
    00
  • Linux新手应该知道的10个重要命令

    Linux是一个广泛使用的操作系统,尤其在服务器和开发领域非常受欢迎。无论您是Linux的新手还是有经验的用户,了解一些基本的Linux命令都是非常重要的。本教程将介绍10个新手应该知道的关键Linux命令,帮助您更好地…

    2023年12月27日
    00