PyTorch and Stable Diffusion on FreeBSD

时间:2024-04-25 15:29:45

Stable Diffusion在图像生成领域具有广泛的应用和显著的优势。它利用深度学习和扩散模型的原理,能够从随机噪声中生成高质量的图像。

官网:GitHub - verm/freebsd-stable-diffusion: Stable Diffusion on FreeBSD with CUDA support

FreeBSD下难度主要在Miniconda的安装上,pytorch等需要使用conda命令安装。Stable Diffusion部分跟其它linux平台的操作类似。

学到的最主要的两点:

1 FreeBSD下安装CUDA

2 FreeBSD下安装Conda(Miniconda)

FreeBSD下安装CUDA略,参见 官网:GitHub - verm/freebsd-stable-diffusion: Stable Diffusion on FreeBSD with CUDA support

安装anaconda

详细参见安装Miniconda@FreeBSD13-****博客

 主要步骤就是:

下载软件

wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-latest-Linux-x86_64.sh

安装anaconda

 /compat/linux/bin/bash Miniconda3-py310_23.9.0-0-Linux-x86_64.sh -u

激活conda环境

source ~/miniconda3/bin/activate

安装pytorch

在FreeBSD下使用conda安装pytorch

根据自己nvidia计算卡的cuda版本,选择合适的torch版本安装,比如

# cuda 11.8版本,大约11.2也可以用
conda install pytorch torchvision torchaudio pytorch-cuda=11.8 -c pytorch -c nvidia

# cuda 12.1版本
conda install pytorch torchvision torchaudio pytorch-cuda=12.1 -c pytorch -c nvidia

# cpu版本
conda install pytorch torchvision torchaudio cpuonly -c pytorch

安装好后测试:

python3 -c 'import torch; print(torch.cuda.is_available())'

安装webui

下载源代码

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

更新conda库

cd stable-diffusion-webui
conda env update --file environment-wsl2.yaml --prune

激活环境

conda activate automatic
which python3
#  ${BASE_PATH}/conda/envs/automatic/bin/python3

下载模型

从huggingface下载模型 ,镜像地址:stable-diffusion-v1-5: Mirror of https://huggingface.co/runwayml/stable-diffusion-v1-5

下载:

v1-5-pruned.ckpt
move到指定目录:

mv sd-v1-5.ckpt ~/github/stable-diffusion-webui/models/Stable-diffusion/model.ckpt

启动sd服务

LD_PRELOAD=${BASE_PATH}/dummy-uvm.so  python3 launch.py

 服务器启动后,用浏览器打开http://127.0.0.1:7860 即可。