惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Cloudbric
Cloudbric
T
Threat Research - Cisco Blogs
Simon Willison's Weblog
Simon Willison's Weblog
AWS News Blog
AWS News Blog
P
Privacy & Cybersecurity Law Blog
H
Help Net Security
云风的 BLOG
云风的 BLOG
G
GRAHAM CLULEY
Spread Privacy
Spread Privacy
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
A
Arctic Wolf
Project Zero
Project Zero
Engineering at Meta
Engineering at Meta
P
Privacy International News Feed
Blog — PlanetScale
Blog — PlanetScale
Stack Overflow Blog
Stack Overflow Blog
M
MIT News - Artificial intelligence
The Register - Security
The Register - Security
Recorded Future
Recorded Future
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
C
Cisco Blogs
PCI Perspectives
PCI Perspectives
Recent Announcements
Recent Announcements
Martin Fowler
Martin Fowler
A
About on SuperTechFans
W
WeLiveSecurity
GbyAI
GbyAI
V
Vulnerabilities – Threatpost
The GitHub Blog
The GitHub Blog
D
Darknet – Hacking Tools, Hacker News & Cyber Security
C
Check Point Blog
Y
Y Combinator Blog
月光博客
月光博客
Scott Helme
Scott Helme
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Google DeepMind News
Google DeepMind News
F
Fortinet All Blogs
U
Unit 42
G
Google Developers Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
T
Threatpost
Application and Cybersecurity Blog
Application and Cybersecurity Blog
Google Online Security Blog
Google Online Security Blog
Recent Commits to openclaw:main
Recent Commits to openclaw:main
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Cisco Talos Blog
Cisco Talos Blog
博客园 - 三生石上(FineUI控件)
Hugging Face - Blog
Hugging Face - Blog
MongoDB | Blog
MongoDB | Blog
博客园 - 司徒正美

LinuxTOY

基于 Koboldcpp 的浏览器 AI 聊天机器人 基于 Koboldcpp 的本地 AI 翻译和研究助手 基于 llamafile 和 Continue 的本地AI代码助手 使用 stable-diffusion.cpp 实现本地文生图 经典游戏的开源引擎重制移动版 在 Fedora 40 上配置 AMD ROCm 加速的 Stable Diffusion 小企鹅输入法 fcitx5 0.0.6 安卓版本发布 GoldenDict-ng 多格式字典查询软件 开源跨平台非线性视频编辑器 Shotcut 23.05.14 发布
在 Fedora 39 上配置 AMD ROCm 加速的 Stable Diffusion
lovenemesis · 2023-12-30 · via LinuxTOY

随着硬件性能的提升和技术的改进,以往仅能通过云端服务体验的生成式 AI 绘图也出现了可以在本地运行的版本,其中最受欢迎的就是Stable Diffusion 。以往这个过程需要依赖 Nvidia 显卡及闭源的 CUDA 框架,经过一系列社区开发者的努力,现在能在 Fedora 39 中经过简单的配置,用开源社区友好的 AMD 显卡加速本地运行的Stable Diffusion

AMD 的 ROCm 计算框架 严格上来讲仅支持少数几个面向企业的 Linux 发行版,但得益于 Fedora 异构计算兴趣小组成员的努力,ROCm 框架中相当一部分软件包已经进入了 Fedora 的标准仓库中,截至本文发布时为 ROCm 5.7.1 版本。详细的步骤推荐参考Fedora Wiki,这里简单说明下:

  • 将当前用户添加到 video 组使得非 root 用户亦可使用显卡加速功能:sudo usermod -a -G video $LOGNAME
  • 安装对应运行时环境、编译工具和辅助工具:pkcon install rocminfo rocm-opencl rocm-hip rocm-smi

这一步就完成了!由于 Fedora 38 之后的内核已经开启了 GPU 计算支持,这一步甚至比在官方支持的 Linux 发行版上安装还要简单。

此时可以尝试运行 rocminfo 确保显卡已经被 ROCm 框架正确识别。

配置 Conda 安装 Python 3.11

Fedora 39 中默认预装的 Python 3.12 很可惜暂时还不被 Stable Diffusion 支持,所以我们需要使用 Conda 创建一个使用 Python 3.11 的单独运行环境。所幸的是 Fedora 中已经收录了较新的 Conda 版本,直接从软件仓库安装配置即可:

  • 从软件仓库安装:pkcon install conda python3-pip
  • 创建使用 Python 3.11 的运行环境: conda create -n py311 python=3.11 -y
  • 打开一个新的终端,启用刚刚创建的运行环境:conda activate py311

安装适用于 ROCm 的 PyTorch

Stable Diffusion 的底层运用了流行的 PyTorch 框架,这里我们需要安装其支持 ROCm 的版本,而又因为 Pytorch 尚未提供 Conda 版本的软件包,所以又需要使用 pip 安装…… 参考其PyTorch 官方页面,在刚才启用的 Python 3.11 环境中,运行如下命令安装目前尚处于预览阶段但支持 ROCm 5.7 的版本:

pip3 install --pre torch torchvision torchaudio --index-url https://download.pytorch.org/whl/nightly/rocm5.7

这一步骤涉及约 1.8GB 的依赖安装,用时较长且需要稳定的网络环境。

安装过后,建议参考官网的验证过程确保可以正确识别到显卡加速支持。

Stable Diffusion Web UI

流行的 Stable Diffusion Web UI一键式安装脚本尚未支持 ROCm 5.7 版本,所以需要使用手动安装的方式。

  • 下载其发布版源代码包,本文发布时为 1.7.0 版本
  • 解压并进入其目录:tar xf stable-diffusion-webui-1.7.0.tar.gz && cd stable-diffusion-webui-1.7.0
  • 利用 pip 解决其依赖关系:pip3 install -r requirements.txt

这一步骤涉及约 4.5GB 的依赖安装,默认会下载 v1-5-pruned-emaonly.safetensors 版本的 checkpoint,用时较长且需要稳定的网络环境。

至此安装步骤完成~

启动及运行

启动和运行有几点需要注意的:

  • 记得切换至 Python 3.11 环境:conda activate py311
  • 除非使用的是 AMD ROCm 正式支持的显卡,绝大部分消费级别显卡需要添加环境变量以声明显卡型号,例如笔者使用的 Radeon 7800 XT 启动时需要添加 HSA_OVERRIDE_GFX_VERSION=11.0.0
  • 直接在 stable-diffusion-webui-1.7.0 目录下运行 launch.py --listen 即可,比如笔者为 HSA_OVERRIDE_GFX_VERSION=11.0.0 python launch.py --listen
  • 如果需要使用 WebUI 的插件支持的话,参照其 Github Wiki 添加运行时参数 --enable-insecure-extension-access
  • 如果想用脚本方式将上述启动过程一次性整合到的话,可以使用 conda run 的方式,比如 conda run -n py311 --live-stream HSA_OVERRIDE_GFX_VERSION=11.0.0 python launch.py --listen --enable-insecure-extension-access
  • 更多的 Checkpoint 和 Refiner 可以在 Hugging Face 找到
  • 工作的时候可以在另一个终端使用 watch -n 1 -d rocm-smi 监控 GPU 加速的运行状态。

法律声明

使用过程中请遵守 Stability AI 的使用条款尊重其他艺术家原创工作,其结果切记不可用于任何商业获利、歪曲事实、损害他人或违法所在国家法律的场景

参考

# Tagged as ai, amd, fedora · Edit on GitHub

Read More: