AMD显卡在windows中通过WSL安装使用stable diffusion(WebUI和ComfyUI)

确认windows的amd显卡驱动版本,至少不低于24.12.1,具体可以查看对应

一、安装wsl和ubuntu。

1.安装wsl2:

wsl --install

2.安装ubuntu(24.04、22.04等):

wsl.exe --install ubuntu-24.04

3.更改ubuntu安装位置(可选):

wsl --manage ubuntu-24.04 --move <location>

4.进入wsl实例:

#输入wsl -d <version>进入制定版本或输入wsl进入默认实例 wsl -d ubuntu-24.04

可按Ctrl+D退出当前实例。

关闭实例:

wsl --shutdown

检查实例状态:

wsl -l -v

二、安装rocm(示例为安装rcom6.3.4)。

1.安装 AMD 统一驱动程序包存储库和安装程序脚本

具体rcom适配情况可查看(https://rocm.docs.amd.com/projects/radeon-ryzen/en/latest/docs/compatibility/compatibilityrad/wsl/wsl_compatibility.html

注意:ubuntu24.04和ubuntu22.04两者下载的包不一样,ubuntu24.04对应noble,ubuntu22.04对应jammy,具体下载网址为https://repo.radeon.com/amdgpu-install/

ubuntu24.04:

cd sudo apt update wget https://repo.radeon.com/amdgpu-install/6.3.4/ubuntu/noble/amdgpu-install_6.3.60304-1_all.deb sudo apt install ./amdgpu-install_6.3.60304-1_all.deb

ubuntu22.04:

cd sudo apt update wget https://repo.radeon.com/amdgpu-install/6.3.4/ubuntu/jammy/amdgpu-install_6.3.60304-1_all.deb sudo apt install ./amdgpu-install_6.3.60304-1_all.deb

2.查看可用用例列表(可选):

sudo amdgpu-install --list-usecase

3.安装rcom:

sudo amdgpu-install --list-usecase

4.检查rcom安装情况:

rocminfo

如果正确显示显卡信息,则安装成功

三、安装conda(可选)

1.安装conda(用于管理Python版本):

cd wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh bash ./Miniconda3-latest-Linux-x86_64.sh

需重启控制台,只需要退出wsl就可以了,按Ctrl+D,然后再启动wsl就可以了

2.创建名为sd的环境,Python版本为3.10(建议webUI和comfyui各自创建一个环境):

conda create -n sd python=3.10 -y

3.激活环境sd:

conda activate sd

若需要退出当前conda环境:

conda deactivate

四、安装pytorch(若没有使用conda,请自行安装python3)

1.下载对应python版本的whl文件:

cd wget https://repo.radeon.com/rocm/manylinux/rocm-rel-6.3.4/torch-2.4.0%2Brocm6.3.4.git7cecbf6d-cp310-cp310-linux_x86_64.whl wget https://repo.radeon.com/rocm/manylinux/rocm-rel-6.3.4/torchvision-0.19.0%2Brocm6.3.4.gitfab84886-cp310-cp310-linux_x86_64.whl wget https://repo.radeon.com/rocm/manylinux/rocm-rel-6.3.4/pytorch_triton_rocm-3.0.0%2Brocm6.3.4.git75cc27c2-cp310-cp310-linux_x86_64.whl wget https://repo.radeon.com/rocm/manylinux/rocm-rel-6.3.4/torchaudio-2.4.0%2Brocm6.3.4.git69d40773-cp310-cp310-linux_x86_64.whl

 (根据安装的Python版本确定安装包,安装包的名字中cpxxx为安装python版本,例如cp310对应python3.10版本)

https://repo.radeon.com/rocm/manylinux/

2.安装下载的whl:

pip3 uninstall torch torchvision pytorch-triton-rocm pip3 install torch-2.4.0%2Brocm6.3.4.git7cecbf6d-cp310-cp310-linux_x86_64.whl torchvision-0.19.0%2Brocm6.3.4.gitfab84886-cp310-cp310-linux_x86_64.whl torchaudio-2.4.0%2Brocm6.3.4.git69d40773-cp310-cp310-linux_x86_64.whl pytorch_triton_rocm-3.0.0%2Brocm6.3.4.git75cc27c2-cp310-cp310-linux_x86_64.whl

3.更新 WSL 兼容的运行时库:

location=$(pip show torch | grep Location | awk -F ": " '{print $2}') cd ${location}/torch/lib/ rm libhsa-runtime64.so*

4.libhsa-runtime64.so 至少需要安装 GCC 12.1,conda环境可以升级gcc版本(可选):

conda install -c conda-forge gcc=12.1.0

5.验证安装情况:

python3 -c 'import torch' 2> /dev/null && echo 'Success' || echo 'Failure' python3 -c 'import torch; print(torch.cuda.is_available())' python3 -c "import torch; print(f'device name [0]:', torch.cuda.get_device_name(0))"

输出结果分别为:Success、Ture、显卡型号则安装成功。

验证pytorch环境:

python3 -m torch.utils.collect_env

五、安装stable-diffusion-WebUI和ComfyUI

1.安装stable-diffusion-WebUI

(1)克隆Stable Diffusion WebUI到本地并安装依赖:

cd git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git cd stable-diffusion-webui pip install -r requirements.txt

(2)下载汉化包:

cd && cd ~/stable-diffusion-webui/extensions git clone https://github.com/dtlnor/stable-diffusion-webui-localization-zh_CN.git

(3)运行stable-diffusion-WebUI:

cd && cd stable-diffusion-webui python launch.py

2.安装ComfyUI

(1)克隆ComfyUI到本地并安装依赖:

cd git clone https://github.com/comfyanonymous/ComfyUI.git cd ComfyUI pip install -r requirements.txt

(2)与stable-diffusion-WebUI共享库(可选):

cd ~/ComfyUI mv extra_model_paths.yaml.example extra_model_paths.yaml vim extra_model_paths.yaml

在vim中将文件中“base_path: path/to/stable-diffusion-webui/”改为“base_path: /home/用户名/stable-diffusion-webui/”

(3)运行ComfyUI:

cd && cd ComfyUI Python main.py

Read more

如何前端对接豆包api并在抖音直播间实现互动(1/3):注册豆包apikey

如何前端对接豆包api并在抖音直播间实现互动(1/3):注册豆包apikey

前段时间,我女朋友公司正忙着抖音直播买红酒的业务,头疼的是,直播间的在线人数一直少得可怜,每次开播都是寥寥无几的观众,愁得唉声叹气。正好那段时间我手头没什么急事,闲着也是闲着,突然蹦出一个想法,能不能做个插件帮她盘活直播间的氛围。         核心思路就是用前端技术打通几个关键环节:一方面对接豆包的智能对话接口,另一方面嵌入计时器功能,再加上网页元素捕捉的模块。         我去市面上搜了一圈,发现好像还真没有类似的工具。其实这个插件的技术难度不算高,无非是把前端的页面交互、接口调用和网页抓取这些基础技能整合到一起,但感觉特别有意思,看到插件在直播间里正常运转,那种成就感真的很难得。更重要的是,这个小玩意儿能帮到她,让她不用再为直播间没说话而发愁,这就足够了。 首先我们要先去豆包api的官网,进行相关注册和申请权限。 1.访问官网进行相关注册: 火山引擎-你的AI云https://www.volcengine.com/ 2.注册完成后点击上面产品找到豆包大模型 3.进入控制台后点击进入apikey管理并创建apikey 此时我们已经完成api

Go 语言 WebAssembly 原生支持:前后端一体化开发详解

Go 语言 WebAssembly 原生支持:前后端一体化开发详解

在前后端开发领域,“一体化”始终是开发者追求的核心目标之一——减少技术栈切换成本、复用核心业务逻辑、提升开发与维护效率。而 WebAssembly(简称 Wasm)的出现,为跨端复用代码提供了全新可能。作为一门兼顾性能与简洁性的静态语言,Go 从 1.11 版本开始原生支持将代码编译为 WebAssembly,让开发者能够用 Go 同时编写后端服务与前端逻辑,真正实现“一套代码,前后端通吃”。本文将从基础认知、环境搭建、实战示例到深度拓展,完整解析 Go WebAssembly 原生支持的核心用法与前后端一体化开发实践。 一、基础认知:WebAssembly 与 Go 的原生契合性 在深入实践前,我们先理清两个核心概念:WebAssembly 是什么?Go 为何能原生支持它? 1. 什么是 WebAssembly? WebAssembly 是一种二进制指令格式,可作为编程语言的编译目标在浏览器中运行。

【避坑指南】部署 Open WebUI 报错:ModuleNotFoundError: No module named ‘pkg_resources‘ 彻底解决方法

【避坑指南】部署 Open WebUI 报错:ModuleNotFoundError: No module named ‘pkg_resources‘ 彻底解决方法

目录 【避坑指南】部署 Open WebUI 报错:ModuleNotFoundError: No module named 'pkg_resources' 彻底解决方法 前言 问题描述 环境背景 原因分析 解决方案 第一步:补齐基础依赖 第二步:彻底解决(推荐) 第三步:验证修复 进阶:针对 Open WebUI 的额外提示 总结 【避坑指南】部署 Open WebUI 报错:ModuleNotFoundError: No module named 'pkg_resources' 彻底解决方法 前言 最近在本地环境(Windows

WebRTC一对一通话实战讲解

WebRTC是一门实时通信技术,可以实现P2P或者中继模式进行建立连接,其中P2P的连接方式需要经过信令服务器交换SDP,在没有信令服务器的情况下P2P是建立不了连接的,而中继(relay)模式则是以TURN服务器进行中继转发音视频流数据。         为什么要使用P2P呢?         主要原因是因为P2P具有低延迟节省服务器带宽,但此时NAT以及防火墙问题却是P2P建立连接的主要障碍,此时Nginx服务器可以作为HTTP服务器进行反向代理颁发证书进行HTTP协议加密,来建立安全稳定的连接。        到了这里还有个非常重要的概念需要理清楚就是websocket、HTTP、STUN、TURN、ICE、SDP(offer、answer)、candidate、ICE、P2P打洞连接、relay中继转发、信令服务器、http反向代理以及nginx这些名词在webrtc一对一通话中的实际作用与功能还有生命周期。其中最容易混淆的就是Nginx、HTTP与websocket的联系,Nginx做HTTP反向代理将信令转请求转给信令服务器,而信令服务器(Node)提供