欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

AI生成圖片Stable?Diffusion環(huán)境搭建與運行方法

 更新時間:2023年05月08日 09:50:53   作者:Coding的葉子  
Stable?Diffusion是一種基于擴散過程的生成模型,由Ge?et?al.在2021年提出,該模型利用了隨機變量的穩(wěn)定分布,通過遞歸地應(yīng)用擴散過程來生成高質(zhì)量的圖像,這篇文章主要介紹了AI圖片生成Stable?Diffusion環(huán)境搭建與運行,需要的朋友可以參考下

        Stable Diffusion是一種基于擴散過程的生成模型,由Ge et al.在2021年提出。該模型利用了隨機變量的穩(wěn)定分布,通過遞歸地應(yīng)用擴散過程來生成高質(zhì)量的圖像。與其他生成模型相比,Stable Diffusion在生成高質(zhì)量的圖像方面具有顯著優(yōu)勢。具體而言,該模型所生成的圖像具有更好的細節(jié)保留能力和更自然的外觀。通過對不同擴散時間的研究,Stable Diffusion還可以實現(xiàn)通過調(diào)整時間精度來生成圖像的分辨率。

         在實踐中,Stable Diffusion被廣泛應(yīng)用于圖像生成、壓縮、修復(fù)和增強等應(yīng)用中。此外,該模型還可以與其他深度學(xué)習(xí)技術(shù)結(jié)合使用,例如GAN和VAE,以提高生成圖像的質(zhì)量和多樣性??傊琒table Diffusion是一種非常實用且具有潛力的圖像生成模型,在未來的研究和應(yīng)用中將發(fā)揮重要作用。

        本文主要介紹Stable Diffusion webui環(huán)境搭建,后續(xù)將陸續(xù)介紹參數(shù)設(shè)置、API搭建、模型基本原理、訓(xùn)練、部署等內(nèi)容。具體更新可關(guān)注文章下方公眾號,也可關(guān)注本專欄。所有相關(guān)文章會在《Python從零開始進行AIGC大模型訓(xùn)練與推理》中進行更新。

1 環(huán)境搭建

        顯卡驅(qū)動、CUDA、CUDNN、Docker、Python等環(huán)境搭建請參考本專欄另一篇博文《Docker AIGC等大模型深度學(xué)習(xí)環(huán)境搭建(完整詳細版)》,地址為“http://www.dbjr.com.cn/article/283300.htm”。

1.1 創(chuàng)建Python環(huán)境

        這里使用conda創(chuàng)建一個Python 3.10環(huán)境,命令如下所示。

conda create -n stdf python=3.10 -y
conda activate stdf

1.2 stable-diffusion-webui環(huán)境安裝

        stable-diffusion-webui提供了網(wǎng)頁前端頁面用于Stable Diffusion模型生成圖片,其Github官方工程地址為“https://github.com/AUTOMATIC1111/stable-diffusion-webui”。官方工程頁面提供了安裝步驟,包括一些自動安裝腳本。這里主要是手動進行安裝,并在Ubuntu 18.04與Ubuntu 20.04上進行驗證,其環(huán)境安裝命令如下所示。手動進行安裝的好處在于及時了解報錯信息并進行修復(fù)。

conda activate stdf
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
cd stable-diffusion-webui
pip install -r requirements_versions.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple

2 啟動stable-diffusion-webui

        stable-diffusion-webui的啟動命令為“python launch.py”,啟動后程序會自動安裝和下載所依賴的其它環(huán)境。安裝過程中出現(xiàn)的問題及解決方式如下所示。運行成功后,我們可通過網(wǎng)頁瀏覽器訪問,默認端口號為7860,訪問地址為“IP:7860”或“0.0.0.0:7860”或“127.0.0.1:7860”或“localhost:7860”。如果需要通過其它主機進行訪問,需要讓防火墻允許該端口,命令為“sudo ufw allow 7860”。

        運行成功后頁面如下。安裝過程中出現(xiàn)的問題及解決方式如下所示。

2.1 openclip安裝不上

        Openclip無法安裝原因可能是網(wǎng)絡(luò)問題導(dǎo)致無法獲取到github上相應(yīng)資源,因而可通過將其替換為gitee上對應(yīng)資源加以解決。具體修改方式為將launch.py文件中的openclip_package所在行替換為如下內(nèi)容,位于第234行左右。

openclip_package = os.environ.get('OPENCLIP_PACKAGE', "git+https://gitee.com/ufhy/open_clip.git@bb6e834e9c70d9c27d0dc3ecedeebeaeb1ffad6b")

2.2 libGL.so

        缺乏libGL.so庫的報錯信息為“ImportError: libGL.so.1: cannot open shared object file: No such file or directory”。該錯誤在安裝opencv是經(jīng)常會遇到,是系統(tǒng)本身缺乏相應(yīng)庫所導(dǎo)致的。解決方案如下。

apt update
apt install libgl1-mesa-glx -y

2.3 NaN

        由于精度問題導(dǎo)致模型出現(xiàn)NaN錯誤,以致于無法正常生成圖片。這個問題在切換到Stable Diffusion v2.1版本模型時可能會出現(xiàn)。具體問題如下所示:

NansException: A tensor with all NaNs was produced in VAE. This could be because there's not enough precision to represent the picture. Try adding --no-half-vae commandline argument to fix this. Use --disable-nan-check commandline argument to disable this check.

        解決方法是將launch.py文件中的commandline_args = os.environ.get('COMMANDLINE_ARGS', "")替換為如下內(nèi)容,位于第13行左右。

commandline_args = os.environ.get('COMMANDLINE_ARGS', "--no-half")

3 模型替換

        Stable Diffusion模型有多個版本,當前運行l(wèi)aunch.py程序時會自動下載v1.5版本模型。Stable Diffusion模型存儲在models/Stable-diffusion/下,如下圖所示。我們可以去huggingface網(wǎng)站“https://huggingface.co/”上搜索并下載對應(yīng)模型,然后將模型放到該文件夾下即可。下載時僅需要下載.safetensors后綴的模型文件即可。

         例如,stable-diffusion-2-1的下載地址為“https://huggingface.co/stabilityai/stable-diffusion-2-1”,點擊頁面中的“Files and versions”即可看到對應(yīng)的模型文件。我們可以只下載其中.safetensors后綴的模型文件,也可以通過Git LFS下載全部內(nèi)容。Git LFS安裝與模型下載請參考《ChatGPT平替-ChatGLM環(huán)境搭建與部署運行》

 4 啟動端口修改

        如上所述,程序默認啟動端口為7860,我們可通過命令“python launch.py --port 5800”來指定端口號。修改webui.py文件的第260行也可以改變端口號,如下所示。這里將share直接設(shè)置成True后可以允許公網(wǎng)訪問。Server_name最好設(shè)置成“0.0.0.0”,如果設(shè)置成“127.0.0.1”,那么也可能會導(dǎo)致公網(wǎng)無法訪問。

app, local_url, share_url = shared.demo.launch(
            share=True,
            server_name='0.0.0.0',
            server_port=5900,

5 后臺運行

        默認情況下,關(guān)閉啟動launch.py的終端窗口后,程序會退出。如果希望程序在后臺運行,那么可以通過nohup命令實現(xiàn)。

        (1)保存日志到nohup.out

        “nohup python launch.py &”可使程序保持在后臺運行,并且日志信息會保存到nohup.out文件。

        (2)不保存日志

        不保存日志的后臺運行命令為“: nohup python launch.py > /dev/null 2>&1 &”。

        (3)關(guān)閉進程

        如果需要關(guān)閉后臺進程,可通過“ps -aux | grep launch.py”查詢到進程ID,并通過“kill -9 進程ID”來關(guān)閉進程。

        本文主要介紹Stable Diffusion webui環(huán)境搭建,后續(xù)將陸續(xù)詳細介紹Stable Diffusion的參數(shù)設(shè)置、API搭建、模型基本原理、訓(xùn)練、部署等內(nèi)容。所有相關(guān)文章會在《Python從零開始進行AIGC大模型訓(xùn)練與推理》中進行更新。

到此這篇關(guān)于AI圖片生成Stable Diffusion環(huán)境搭建與運行的文章就介紹到這了,更多相關(guān)AI圖片生成Stable Diffusion內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論