Python AI 實現繪畫功能(附帶源碼)

本文我們將為大家介紹如何基于一些開源的庫來搭建一套自己的 AI 作圖工具。

需要使用的開源庫為 Stable Diffusion web UI,它是基于 Gradio 庫的 Stable Diffusion 瀏覽器界面

Stable Diffusion web UI GitHub 地址:GitHub - AUTOMATIC1111/stable-diffusion-webui: Stable Diffusion web UI

運行 Stable Diffusion 需要硬件要求比較高,運行時會消耗較大的資源,特別是顯卡。

Windows 環境安裝

本地環境要求安裝 Python 3.10.6 或以上版本,并把它加入到本機的環境變量中。

下載 Stable Diffusion web UI GitHub 源碼?GitHub - AUTOMATIC1111/stable-diffusion-webui: Stable Diffusion web UI。

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

如果沒有安裝 Git ,可以在右上角下載 zip 壓縮包。

解壓 stable-diffusion-webui,并進入 stable-diffusion-webui 目錄。

接下來我們需要下載模型,下載地址:https://huggingface.co/CompVis/stable-diffusion-v-1-4-original

將下載的模型移動到?stable-diffusion-webui/models/Stable-diffusion?目錄下。

進入 stable-diffusion-webui 目錄:

Windows 使用非管理員運行:

webui-user.bat

Linux 和 Mac OS 環境執行以下命令:

./webui.sh

接下來程序就會自動安裝并啟動,啟動成功會看到一個可訪問的 URL 地址?http://127.0.0.1:7860:

訪問?http://127.0.0.1:7860,界面如下:

注意:?如果安裝出現卡住不動,很可能是下載 Github 源碼出現問題了,可以使用 Github 的一些鏡像來解決,目前還沒非常穩定的鏡像,建議 Google 搜索下。 我這邊在 2023 年 4 月 6 號使用以下鏡像地址?https://hub.fgit.ml,打開 stable-diffusion-webui 目錄的 launch.py 文件,替換以下部分代碼的 Github 地址(代碼大概在 230~240 行之間):

Civitai 介紹

Civitai 有許多定制好的模型,而且可以免費下載,我們使用國風3模型來測試,下載地址:https://civitai.com/models/10415/3-guofeng3?modelVersionId=36644

下載完后,我們將模型移動到?stable-diffusion-webui/models/Stable-diffusion?目錄下,重新啟動 stable-diffusion-webui :

./webui.sh

這樣我們就可以在模型列表中選擇國風3模型了:

選擇后,我們可以到模型介紹頁面去拷貝一些提示詞和測試參數:

?為了快速生成,我高度跟寬度都減半了,之后點生成按鈕即可:

生成完整過程,可以關注我們希望你也學會了,更多編程源碼模板請來二當家的素材網:https://www.erdangjiade.com:

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/717553.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/717553.shtml
英文地址,請注明出處:http://en.pswp.cn/news/717553.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

快速解決maven依賴沖突

我們在開發過程中經常出現maven依賴沖突,或者maven版本不匹配的情況,我們可以使用阿里云原生腳手架來做maven管理,添加需要的組件,然后點擊獲取代碼,就可以獲得對應的依賴文件。

【重要公告】對BSV警報系統AS的釋義

??發表時間:2024年2月15日 由BSV區塊鏈協會開發并管理的BSV警報系統(Alert System,以下簡稱“AS”)是BSV網絡的重要組件。它是一個復雜的系統,主要職能是在BSV區塊鏈網絡內發布信息。這些信息通常與網絡訪問規則NAR相…

c# 任務(Task)介紹

任務(Task) Task作為C#異步的核心,Task位于System.Threading.Tasks命名空間下。 創建任務的基本原理是使用線程池,也就是說任務最終也是要交給線程去執行的。但是微軟優化了任務的線程池,使線程的控制更加精準和高效…

自定義TypeHandler

自定義TypeHandler 繼承BaseTypeHandler指定具體的泛型 MappedTypes({Date.class}) MappedJdbcTypes({JdbcType.DATE}) public class DateTimeWithTImeZoneTypeHandler extends BaseTypeHandler<Date> {Log log LogFactory.getLog(DateTimeWithTImeZoneTypeHandler.cl…

C++基于多設計模式下的同步異步日志系統day4

&#x1f4df;作者主頁&#xff1a;慢熱的陜西人 &#x1f334;專欄鏈接&#xff1a;C基于多設計模式下的同步&異步日志系統 &#x1f4e3;歡迎各位大佬&#x1f44d;點贊&#x1f525;關注&#x1f693;收藏&#xff0c;&#x1f349;留言 只要內容主要實現了同步日志消息…

Kubernetes的Sevice管理

服務原理: 所有服務都是根據這個服務衍生或者變化出來,根服務---- 服務感知后端靠標簽 slelector 標簽選擇器 kubectl label pods web1 appweb kubectl cluter-info dump | grep -i service-cluster-ip-range 服務ip取值范圍 Service 管理: 創建服務: --- kind: Serv…

React富文本編輯器開發(六)

現在&#xff0c;相關的基礎知識我們應該有個大概的了解了&#xff0c;但離我們真正的開發出一個實用型的組件還有一段距離&#xff0c;不過不用擔心&#xff0c;我們離目標已經越來越近。 以現在我們所了解的內容而言&#xff0c;或許你發現了一個問題&#xff0c;就是我們的編…

CentOS配網報錯:network is unreachable

常用命令&#xff1a; 打開&#xff1a; cd /etc/sysconfig/network-scripts/ 修改&#xff1a; vim ifcfg-ens33 打開修改&#xff1a; vim /etc/sysconfig/network-scripts/ifcfg-ens33 保存&#xff1a; 方法1&#xff1a;ESCZZ&#xff08;Z要大寫&#xff09; 方…

LabelImg官方文檔摘錄

LabelImg官方文檔&#xff1a;https://github.com/HumanSignal/labelImg 注釋&#xff08;annotation&#xff09;以 PASCAL VOC 格式保存為 XML 文件&#xff0c;這是ImageNet使用的格式。此外&#xff0c;它還支持 YOLO 和 CreateML 格式。 安裝 使用CSDN博主打包的程序&a…

Linux:地址空間的轉換以及線程的理解和使用

文章目錄 線程的理解地址空間的轉換問題總結 線程的優點線程的缺點線程的健壯性問題 本篇主要進行對于進程和線程的理解&#xff0c;以及對于線程的一部分使用方法和使用的原理 線程的理解 首先回顧前面一篇的內容中&#xff0c;對于進程的基本認識&#xff1a; 什么是線程&…

OWASP TOP 10解析:構建堅不可摧的Web應用安全防線

當涉及到Web應用程序安全的話題時&#xff0c;OWASP&#xff08;開放式Web應用程序安全項目&#xff09;的TOP 10是一個不可忽視的參考點。OWASP TOP 10列舉了當前Web應用程序中最嚴重的安全風險&#xff0c;幫助開發人員、測試人員和安全專業人員更好地理解并針對這些風險采取…

【LeetCode:2368. 受限條件下可到達節點的數目 + BFS】

&#x1f680; 算法題 &#x1f680; &#x1f332; 算法刷題專欄 | 面試必備算法 | 面試高頻算法 &#x1f340; &#x1f332; 越難的東西,越要努力堅持&#xff0c;因為它具有很高的價值&#xff0c;算法就是這樣? &#x1f332; 作者簡介&#xff1a;碩風和煒&#xff0c;…

Mybatis實戰(1)

mybatis-pageHelper 1&#xff0c;添加依賴&#xff1a; <dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>1.3.2</version></dependency><!--pag…

SpringBoot-yaml語法

1.概念 在Springboot的項目中&#xff0c;配置文件有以下幾種格式&#xff1a; Application.propertiesApplication.yamlApplication.yml 其中官方推薦我們使用yaml的格式(因為能表示的數據類型很多樣) 2.基本語法 # yaml形式的配置文件# 普通的key-value&#xff08;分號之后…

用numpy搭建自己的神經網絡

搭建之前的基礎與思考 構建模型的基本思想&#xff1a; 構建深度學習的過程&#xff1a;產生idea&#xff0c;將idea轉化成code&#xff0c;最后進行experiment&#xff0c;之后根據結果修改idea&#xff0c;繼續idea–>code–>experiment的循環&#xff0c;直到最終訓練…

matplotlib條形圖

matplotlib條形圖 假設你獲取到了2017年內地電影票房前20的電影(列表a)和電影票房數據(列表b), 那么如何更加直觀的展示該數據? from matplotlib import pyplot as plta ["Wolf Warrior 2", "Fast and Furious 8", "Kung Fu Yoga", "Jo…

【LiveData】LiveData轉換及操作符分析

使用示例 LiveData操作符可以將一個LiveData轉換為另一個LiveData 當源LiveData發生變更時&#xff0c;會自動通知目標LiveData val srcLiveData : LiveData<T>val dstLiveData : LiveData<R>dstLiveData srcLiveData.distinctUntilChanged().switchMap{returnsw…

線性表——單鏈表的增刪查改

本節復習鏈表的增刪查改 首先&#xff0c; 鏈表不是連續的&#xff0c; 而是通過指針聯系起來的。 如圖&#xff1a; 這四個節點不是連續的內存空間&#xff0c; 但是彼此之間使用了一個指針來連接。 這就是鏈表。 現在我們來實現鏈表的增刪查改。 目錄 單鏈表的全部接口…

位運算---求n的二進制表示中第k位是1還是0 (lowbit)

操作&#xff1a; 先把第k位移到最后一位&#xff08;右邊第一位&#xff09; 看個位是1還是0 lowbit(x)&#xff1a;返回x的最右邊的1。 原理&#xff1a; 其中 &#xff0c;意思是 是 的補碼。 就可以求出最右邊的一位1。 應用&#xff1a; 當中 的個數。 int re…

AI-數學-高中-33概率-事件的關系與運算

原作者視頻&#xff1a;【概率】【一數辭典】2事件的關系與運算_嗶哩嗶哩_bilibili 事件&#xff1a; 和/并事件&#xff1b;積/交事件&#xff1b;互訴事件&#xff1b;對立(補集)事件&#xff1b;