主頁 >  其他 > 一份保姆級的Stable Diffusion部署教程,開啟你的煉丹之路

一份保姆級的Stable Diffusion部署教程,開啟你的煉丹之路

2023-07-08 08:02:04 其他

ME1688463891876.jpg

市面上有很多可以被用于AI繪畫的應用,例如DALL-E、Midjourney、NovelAI等,他們的大部分都依托云端服務器運行,一部分還需要支付會員費用來購買更多出圖的額度,在2022年8月,一款叫做Stable Diffusion的應用,通過演算法迭代將AI繪畫的精細度提上了一個新的臺階,并能在以秒計數的時間內完成產出,還可以在一臺有“民用級”顯卡的電腦上運行,

通過Stable Diffusion,可以繪制出各種風格的作品,比如動漫風、插畫立繪、國風水墨、3D建模,甚至是照片級的擬真影像,而借助諸如LoRa、ControlNet等衍生功能,還可以做到精準控制美術風格、角色細節、姿勢、動作、構圖等,更更重要的是,他是全面開源的,這意味著你可以在自己的電腦上部署整個程式,使用它出圖、作畫是完全免費而且不限量的!市面上大多數商業級的AI繪畫應用,都是基于SD去開發的,

盡管Stable Diffusion非常親民,但他還是有一定的配置要求的,它需要一張性能足夠強大的獨立顯卡提供算力進行繪制,實際上,“跑得動”和“玩得爽”是兩種不同的體驗,算力上的差異會極大的影響AI繪畫時的出圖效率,也正是因為此,有很多同學因為個人電腦捉急的配置而錯失了深入體驗Stable Diffusion的機會,等一下,你知道京東云嗎?京東云GPU云主機是提供GPU算力的彈性計算服務,具有超強的并行計算能力,正在深度學習、科學計算、圖形影像處理、視頻編解碼等場景廣泛使用,為您提供觸手可得的算力,有效緩解計算壓力,提升您的業務效率,并可彈性擴展,助您快速構建異構的計算應用,

在經歷了一系列的探索后,我為你總結出了一套零基礎的、非常好上手的借助京東云GPU云主機部署安裝Stable Diffusion WebUI以及相關工具和插件的保姆集教程,請查收,

一、創建GPU主機實體

1.1 創建GPU云主機

京東云GPU云主機的標準型的配置包含Tesla P40 24G顯卡、12核48G,跑Stable Diffusion體驗非常好,配置推薦如下:

配置 推薦 說明
系統 Ubuntu 20.04 64位
規格 GPU 標準型 p.n - p.n1p40.3xlarge 12核 48G Nvidia Tesla P40 24G顯存
系統盤 100G 系統盤建議100G
帶寬 5M 建議5M

1.2 創建安全組并系結

首先在左側選單【安全組】創建一個安全組,在【入站規則】和【出站規則】中分別添加并開放7860、7861、8080、8888埠,其中
image.png
然后在實體詳情中,點擊【安全組】-【系結安全組】系結剛剛創建的安全組,

二、環境安裝

2.1 安裝GPU驅動

在英偉達官網根據顯卡型號、作業系統、CUDA等查詢驅動版本,官網查詢鏈接https://www.nvidia.com/Download/index.aspx?lang=en-us
注意這里的CUDA版本,如未安裝CUDA可以先選擇一個版本,稍后再安裝CUDA.
image.png

點擊Search

image.png
如上圖,查詢到合適的版本為510. 然后可以使用apt安裝對應驅動版本,使用apt安裝更方便一些,

# 安裝510版本驅動
apt install nvidia-driver-510
# 查看驅動資訊
nvidia-smi

如安裝成功,則可以展示如下提示資訊,

image.png

2.2 安裝CUDA

訪問英偉達開發者網站先選擇CUDA版本(版本要對應2.1中GPU驅動支持的CUDA版本),再根據作業系統選擇對應CUDA安裝命令,訪問鏈接https://developer.nvidia.com/cuda-toolkit-archive

image.png

如上面安裝確定所選擇驅動對應的CUDA版本為11.6,根據安裝命令安裝, 以下命令適用Ubuntu 20.04 x86_64, GPU驅動510版本

wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/cuda-ubuntu2004.pin
sudo mv cuda-ubuntu2004.pin /etc/apt/preferences.d/cuda-repository-pin-600
wget https://developer.download.nvidia.com/compute/cuda/11.6.2/local_installers/cuda-repo-ubuntu2004-11-6-local_11.6.2-510.47.03-1_amd64.deb
sudo dpkg -i cuda-repo-ubuntu2004-11-6-local_11.6.2-510.47.03-1_amd64.deb
sudo apt-key add /var/cuda-repo-ubuntu2004-11-6-local/7fa2af80.pub
sudo apt-get update
sudo apt-get -y install cuda

2.3 安裝Python 3.10

Stable Diffusion WebUI目前最低支持Python 3.10,所以直接安裝3.10版本,安裝命令:

	apt install software-properties-common
	add-apt-repository ppa:deadsnakes/ppa
	apt update
	apt install python3.10
	python3.10 --verison

PIP設定國內源,由于默認源在國外,所以安裝可能經常會出現timeout等問題,使用國內源可以很大程度避免下載包timeout的情況,將如下內容復制到檔案~/.pip/pip.conf當中,如沒有該檔案,先創建touch ~/.pip/pip.conf

	[global] 
	index-url = https://pypi.tuna.tsinghua.edu.cn/simple
	[install]
	trusted-host = https://pypi.tuna.tsinghua.edu.cn  

2.4 安裝Anaconda

非常推薦使用Anaconda,Anaconda可以便捷獲取包且對包能夠進行管理,同時對Python環境可以統一管理的發行版本,安裝命令也很簡單:

	wget https://repo.anaconda.com/archive/Anaconda3-2023.03-1-Linux-x86_64.sh
	bash ./Anaconda3-2023.03-1-Linux-x86_64.sh

創建Python3.10.9環境,并使用該環境

	conda create -n python3.10.9 python==3.10.9
	conda activate python3.10.9

2.5 安裝PyTorch

首先在PyTorch官網查詢對應CUDA版本的Torch,如上述章節2.2中CUDA 11.6需要安裝pytorch1.13.1

# 使用conda安裝,兩種安裝方式二選一
conda install pytorch==1.13.1 torchvision==0.14.1 torchaudio==0.13.1 pytorch-cuda=11.6 -c pytorch -c nvidia

# 使用pip安裝,兩種安裝方式二選一
pip install torch==1.13.1+cu116 torchvision==0.14.1+cu116 torchaudio==0.13.1 --extra-index-url https://download.pytorch.org/whl/cu116

三、部署Stable Diffusion WebUI

3.1 下載stable-diffusion-webui

注意首先激活Python3.10環境:

conda activate python3.10.9

然后下載stable-diffusion-webui

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

3.2 安裝依賴

cd到stable-diffusion-webui目錄安裝相應的依賴,如有訪問網路超時、失敗等,注意按照章節2.3中設定國內源,如果再次失敗,重試幾次一般都可完成安裝,

cd stable-diffusion-webui
pip install -r requirements_versions.txt
pip install -r requirements.txt

3.3 啟動stable-diffusion-webui

安裝完成后,執行如下啟動命令:

python launch.py --listen --enable-insecure-extension-access

這一步驟會下載一些常用模型,如果遇到下載失敗,根據報錯提示在huggingface.co下載模型放到對應目錄,如下載stable-diffusion-v1-5模型,搜索找到https://huggingface.co/runwayml/stable-diffusion-v1-5/tree/main
image.png

點擊圖中下載按鈕,下載v1-5-pruned-emaonly.safetensors到stable-diffusion-webui/models/Stable-diffusion目錄,其他模型同理,

模型下載完成,再次執行啟動命令,提示已啟動到7860埠,則可以通過IP+7860埠訪問:
image.png

公網建議設定訪問密碼,注意替換下面命令當中的username:password為用戶名、密碼,

python launch.py --listen --enable-insecure-extension-access --gradio-auth username:password

上述命令非后臺運行,如需后臺運行可以使用nohup、tmux等方法實作,

3.4 使用stable-diffusions生成圖片

下載一個模型到/stable-diffusion-webui/models/Stable-diffusion目錄,模型可以在https://civitai.com/查找,如下圖所用majicMIX realistic模型,下載完成后點擊左上角重繪按鈕,然后選擇剛下載的模型,輸入Promot和引數即可生成圖片,

image.png

附上圖所用Promot和引數

Prompt

1 girl a 24 y o woman, blonde, dark theme, soothing tones, muted colors, high contrast, look at at viewer, contrasty , vibrant , intense, stunning, captured in the late afternoon sunlight, using a Canon EOS R6 and a 16-35mm to capture every detail and angle, with emphasis on the lighting and shadows, late afternoon sunlight, 8K

Negative prompt

(deformed, distorted, disfigured, doll:1.3), poorly drawn, bad anatomy, wrong anatomy, extra limb, missing limb, floating limbs, (mutated hands and fingers:1.4), disconnected limbs, mutation, mutated, ugly, disgusting, blurry, amputation, 3d, illustration, cartoon, flat , dull , soft, (deformed, distorted, disfigured:1.3), poorly drawn, bad anatomy, wrong anatomy, extra limb, missing limb, floating limbs,

其他引數

image.png

四、常用相關工具與插件

4.1 安裝LoRa插件Additional Networks

使用Lora必不可少的插件,Additional Networks可以用來控制checkpoint+LoRa或者多個LoRa模型生成混合風格的影像,并且可以設定Lora模型的Weight,安裝方式如下:

打開stable-diffusion-webui,點擊【Extensions】- 【Install from URL】輸入https://ghproxy.com/https://github.com/kohya-ss/sd-webui-additional-networks.git

然后點擊【Install】等待安裝,直到在【Installed】中顯示,然后直接用命令重啟stable-diffusion-webui(不是reload webui),強烈推薦所有插件安裝完成都命令重啟stable-diffusion-webui,可以免去很多麻煩,

最后點擊【Setting】-【Additional Networks】輸入LoRa檔案夾的絕對路徑,如/root/stable-diffusion-webui/models/Lora(示例,請填寫你的系統路徑),然后【Reload UI】等待重啟完成,

image.png

然后可以在【txt2img】或【img2img】中選擇Lora模型并設定權重使用,

image.png

4.2 安裝ControlNet

作為Stable Diffusion必裝插件,ControlNet 允許用戶對生成的影像進行精細的控制,以獲得更好的視覺效果,ControlNet讓AI繪畫的可控性有了質的突變,讓AGIC真正的可以投入生產使用,

打開stable-diffusion-webui,點擊【Extensions】- 【Install from URL】輸入https://ghproxy.com/https://github.com/Mikubill/sd-webui-controlnet.git
然后點擊【Install】等待安裝,直到在【Installed】中顯示,然后直接用命令重啟stable-diffusion-webui(不是reload webui),

由于controlNet會使用很多模型,所以在重啟的時候會默認下載,如果下載失敗或超時,需要手動下載到controlnet目錄,

訪問huggingface.co找到controlnet的地址:https://huggingface.co/lllyasviel/ControlNet-v1-1/tree/main

image.png

手動下載上面模型檔案到stable-diffusion-webui/extensions/sd-webui-controlnet/models目錄,查看已下載controlnet模型:

image.png

下載完成,重啟stable-diffusion-webui即可在【txt2img】或【img2img】使用,

image.png

4.3 Jupyter Notebook

Jupyter Notebook是一個基于網頁的互動環境,可以用來編輯、運行Python代碼,可視化看到運行結果,同時提供了基礎的檔案樹操作功能等,

如已在章節2.4中安裝了Anaconda,直接使用以下命令運行notebook

jupyter notebook --allow-root --NotebookApp.token='設定你的token'

訪問IP+8888埠,可以開始使用notebook

image.png

4.4 模型訓練工具Kohya_ss

Kohya_ss是公認推薦訓練Stable Diffusion模型的可視化工具,尤其在windows平臺支持比較好,經過嘗試在linux直接使用會遇到各種環境原因的問題,為了避免這些問題,十分推薦使用docker安裝,

先按照docker官方檔案安裝好docker,Ubuntu安裝docker檔案:https://docs.docker.com/engine/install/ubuntu/
由于在docker容器中需要使用GPU資源,所以還需要先安裝NVIDIA Container Toolkit

sudo apt-get update \
    && sudo apt-get install -y nvidia-container-toolkit-base

# 查看是否安裝成功
nvidia-ctk --version

然后下載kohya_ss:

git clone https://github.com/bmaltais/kohya_ss.git

如下圖,修改kohya_ss/docker-compose.yaml檔案埠為0.0.0.0:7861:7860(將kohya_ss的7860埠映射到宿主機的7861埠,因為7860會被Stable Diffusion WebUI占用),

啟動引數設定為"--username xxxx --password xxxx --headless",注意替換xxxx為需要設定的賬號密碼

image.png

然后執行

docker compose build # 首次執行需要build

docker compose run --service-ports kohya-ss-gui

程序中會從huggingface.co下載模型檔案,如果下載失敗,可以嘗試手動下載到目錄kohya_ss/.cache/user/huggingface/hub/models--openai--clip-vit-large-patch14/snapshots/8d052a0f05efbaefbc9e8786ba291cfdf93e5bff,最后的hash值注意改成對應的版本,

下載地址https://huggingface.co/openai/clip-vit-large-patch14/tree/main,注意下載全部檔案

image.png

下載完成,然后訪問埠+7861埠,可以開始使用Kohya_ss訓練模型了,

image.png

五、總結

安裝完Stable Diffusion及上面的推薦插件,你的Stable Diffuion已經具備強大的生產力,后續我會繼續同大家一起探索和分享更多的使用經驗,敬請期待系列文章下一集,
現在購買京東云GPU云主機新人即享99元7天的一折體驗價(合0.59元/小時),即刻開啟煉丹之旅,

ME1688521750020.png
ME1688520180384.png

作者:京東科技 王雷

來源:京東云開發者社區

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/556784.html

標籤:其他

上一篇:以科技創新驅動高質量發展,天翼云作業系統獲國資委權威認證!

下一篇:返回列表

標籤雲
其他(162208) Python(38266) JavaScript(25527) Java(18291) C(15239) 區塊鏈(8275) C#(7972) AI(7469) 爪哇(7425) MySQL(7290) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5876) 数组(5741) R(5409) Linux(5347) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4613) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2438) ASP.NET(2404) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) HtmlCss(1993) .NET技术(1986) 功能(1967) Web開發(1951) C++(1942) python-3.x(1918) 弹簧靴(1913) xml(1889) PostgreSQL(1882) .NETCore(1863) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 網閘典型架構簡述

    網閘架構一般分為兩種:三主機的三系統架構網閘和雙主機的2+1架構網閘。 三主機架構分別為內端機、外端機和仲裁機。三機無論從軟體和硬體上均各自獨立。首先從硬體上來看,三機都用各自獨立的主板、記憶體及存盤設備。從軟體上來看,三機有各自獨立的作業系統。這樣能達到完全的三機獨立。對于“2+1”系統,“2”分為 ......

    uj5u.com 2020-09-10 02:00:44 more
  • 如何從xshell上傳檔案到centos linux虛擬機里

    如何從xshell上傳檔案到centos linux虛擬機里及:虛擬機CentOs下執行 yum -y install lrzsz命令,出現錯誤:鏡像無法找到軟體包 前言 一、安裝lrzsz步驟 二、上傳檔案 三、遇到的問題及解決方案 總結 前言 提示:其實很簡單,往虛擬機上安裝一個上傳檔案的工具 ......

    uj5u.com 2020-09-10 02:00:47 more
  • 一、SQLMAP入門

    一、SQLMAP入門 1、判斷是否存在注入 sqlmap.py -u 網址/id=1 id=1不可缺少。當注入點后面的引數大于兩個時。需要加雙引號, sqlmap.py -u "網址/id=1&uid=1" 2、判斷文本中的請求是否存在注入 從文本中加載http請求,SQLMAP可以從一個文本檔案中 ......

    uj5u.com 2020-09-10 02:00:50 more
  • Metasploit 簡單使用教程

    metasploit 簡單使用教程 浩先生, 2020-08-28 16:18:25 分類專欄: kail 網路安全 linux 文章標簽: linux資訊安全 編輯 著作權 metasploit 使用教程 前言 一、Metasploit是什么? 二、準備作業 三、具體步驟 前言 Msfconsole ......

    uj5u.com 2020-09-10 02:00:53 more
  • 游戲逆向之驅動層與用戶層通訊

    驅動層代碼: #pragma once #include <ntifs.h> #define add_code CTL_CODE(FILE_DEVICE_UNKNOWN,0x800,METHOD_BUFFERED,FILE_ANY_ACCESS) /* 更多游戲逆向視頻www.yxfzedu.com ......

    uj5u.com 2020-09-10 02:00:56 more
  • 北斗電力時鐘(北斗授時服務器)讓網路資料更精準

    北斗電力時鐘(北斗授時服務器)讓網路資料更精準 北斗電力時鐘(北斗授時服務器)讓網路資料更精準 京準電子科技官微——ahjzsz 近幾年,資訊技術的得了快速發展,互聯網在逐漸普及,其在人們生活和生產中都得到了廣泛應用,并且取得了不錯的應用效果。計算機網路資訊在電力系統中的應用,一方面使電力系統的運行 ......

    uj5u.com 2020-09-10 02:01:03 more
  • 【CTF】CTFHub 技能樹 彩蛋 writeup

    ?碎碎念 CTFHub:https://www.ctfhub.com/ 筆者入門CTF時時剛開始刷的是bugku的舊平臺,后來才有了CTFHub。 感覺不論是網頁UI設計,還是題目質量,賽事跟蹤,工具軟體都做得很不錯。 而且因為獨到的金幣制度的確讓人有一種想去刷題賺金幣的感覺。 個人還是非常喜歡這個 ......

    uj5u.com 2020-09-10 02:04:05 more
  • 02windows基礎操作

    我學到了一下幾點 Windows系統目錄結構與滲透的作用 常見Windows的服務詳解 Windows埠詳解 常用的Windows注冊表詳解 hacker DOS命令詳解(net user / type /md /rd/ dir /cd /net use copy、批處理 等) 利用dos命令制作 ......

    uj5u.com 2020-09-10 02:04:18 more
  • 03.Linux基礎操作

    我學到了以下幾點 01Linux系統介紹02系統安裝,密碼啊破解03Linux常用命令04LAMP 01LINUX windows: win03 8 12 16 19 配置不繁瑣 Linux:redhat,centos(紅帽社區版),Ubuntu server,suse unix:金融機構,證券,銀 ......

    uj5u.com 2020-09-10 02:04:30 more
  • 05HTML

    01HTML介紹 02頭部標簽講解03基礎標簽講解04表單標簽講解 HTML前段語言 js1.了解代碼2.根據代碼 懂得挖掘漏洞 (POST注入/XSS漏洞上傳)3.黑帽seo 白帽seo 客戶網站被黑帽植入劫持代碼如何處理4.熟悉html表單 <html><head><title>TDK標題,描述 ......

    uj5u.com 2020-09-10 02:04:36 more
最新发布
  • 一份保姆級的Stable Diffusion部署教程,開啟你的煉丹之路

    在經歷了一系列的探索后,我為你總結出了一套零基礎的、非常好上手的借助京東云GPU云主機部署安裝Stable Diffusion WebUI以及相關工具和插件的保姆集教程,請查收。 ......

    uj5u.com 2023-07-08 08:02:04 more
  • 以科技創新驅動高質量發展,天翼云作業系統獲國資委權威認證!

    近日,國資委發布《中央企業科技創新成果產品手冊(2022年版)》(后稱手冊),天翼云作業系統成功入選基礎軟體領域創新成果,獲國資委權威認可。 ......

    uj5u.com 2023-07-08 08:01:47 more
  • Kurator v0.4.0版本更新4大內容,滿足多云環境的復雜需求

    摘要:在最新發布的 v0.4.0 版本中,Kurator 進一步豐富了分布式云原生場景下的應用統一管理能力,以便更好地滿足多云環境的復雜需求。 本文分享自華為云社區《Kurator v0.4.0:引領分布式云原生管理的全新篇章》,作者:華為云云原生團隊。 Kurator 是一款開源的分布式云原生平臺 ......

    uj5u.com 2023-07-08 08:01:37 more
  • 北斗衛星授時器(NTP時間源服務器, GPS網路校時系統)技術引數描述

    北斗衛星授時器(NTP時間源服務器, GPS網路校時系統)技術引數描述 北斗衛星授時器(NTP時間源服務器, GPS網路校時系統)技術引數描述 京準電子科技官微——ahjzsz 1.1.1. 系統概述 時鐘系統采用系統論和程序論的設計思想,應用當今世界上先進的通信及計算機技術,采用分布式結構,設計出 ......

    uj5u.com 2023-07-08 08:01:09 more
  • 用寫代碼的方式畫圖-試下PlantUML吧

    為大家推薦一個專注于“畫圖”本身的工具 PlantUML,通過寫代碼的方式完成滿足各種需求場景的畫圖作業,將人的精力集中到思想的表達與傳遞,避免無謂的圖形頁面樣式修改調整,進而提升作業效率 ......

    uj5u.com 2023-07-08 08:00:42 more
  • 中國對鎵和鍺實施出口管制:全球半導體行業的新挑戰與機遇

    隨著全球半導體行業的競爭日益激烈,中國近日宣布對鎵和鍺實施出口管制,這是對美國對中國半導體行業技術封鎖的回應。這一決定可能會對全球半導體供應鏈產生深遠影響,引發一場全球范圍內的科技和經濟震動。 ......

    uj5u.com 2023-07-08 08:00:33 more
  • 京東統一頭尾管理系統探索實踐

    你瀏覽過的每一個網頁的背后都是有許多個業務系統在支撐,并由專門的研發團隊來負責維護。而各業務系統為了能夠保持統一的網頁風格,往往都會使用相同的頁面頭部和尾部,我們稱之為公共頭尾。 ......

    uj5u.com 2023-07-08 08:00:27 more
  • 最近很火的開源培訓系統,支持免費商用,3個月1000star!

    專案簡介 PlayEdu 開源培訓系統自發布以來,3個月內幫助上千位開發者部署了私有化培訓平臺,并在 Github 上獲得了1000star。 專案地址 Github 地址:https://github.com/PlayEdu/PlayEdu GItee 地址:https://gitee.com/p ......

    uj5u.com 2023-07-08 08:00:05 more
  • SkyEye處理器仿真系列:龍芯2K1000處理器

    ??SkyEye簡介: 天目全數字實時仿真軟體SkyEye作為基于可視化建模的硬體行為級仿真平臺,能夠為嵌入式軟體提供虛擬化運行環境,開發、測驗人員可在該虛擬運行環境上進行軟體開發、軟體測驗和軟體驗證活動。小到芯片,大到系統,SkyEye均可進行模擬。 01.背景介紹 1936年,被譽為“計算機科學 ......

    uj5u.com 2023-07-08 07:53:55 more
  • 測驗技術的重要性與應用:現狀、方法和未來展望

    在軟體開發領域,測驗技術扮演著至關重要的角色。測驗技術是通過系統性的驗證和評估來檢查軟體系統的正確性、可靠性和性能的程序。它旨在發現潛在的缺陷、錯誤和漏洞,并提供反饋和建議給開發團隊,以便及時修復和改進。測驗技術的目標是確保軟體系統能夠按照預期的方式作業,并滿足用戶的需求和期望。 ......

    uj5u.com 2023-07-08 07:53:47 more