解讀 Explainable Image Similarity Integrating Siamese Networks and Grad-CAM

給出論文(Explainable Image Similarity Integrating Siamese Networks and Grad-CAM)的內容解讀、代碼運行說明

論文鏈接:J. Imaging | Free Full-Text | Explainable Image Similarity: Integrating Siamese Networks and Grad-CAM (mdpi.com)

代碼文件:ioannislivieris/Grad_CAM_Siamese (github.com)

論文理解

Grad CAM Siamese 算法集成了孿生網絡和 Grad-CAM,以提供圖像相似性任務的可解釋性。前者用于計算兩個輸入圖像之間的相似性,而后者用于可視化和解釋由基于卷積的孿生網絡做出的決策。

該算法的一個優點是,它能夠提供圖像相似度評分以及支持決策的視覺直觀解釋(事實解釋)和不支持決策的解釋(反事實解釋)。

非事實性解釋:當刪除這些特征,決策會更加準確,或理解為:a description of “what would have not happened when a certain decision was taken”。詳見參考文獻19:Grad-CAM: Visual Explanations from Deep Networks via Gradient-based Localization

數據集

  1. 花卉數據集(Flowers dataset):
    • 包含4242張花卉圖片,分辨率為320×240。
    • 圖片被分類為五個類別:“chamomile”(甘菊)、“tulip”(郁金香)、“rose”(玫瑰)、“sunflower”(向日葵)和“dandelion”(蒲公英)。
  2. 皮膚癌數據集(Skin cancer dataset):
    • 包含2800張圖片,分辨率為224×224。
    • 圖片涉及1400個惡性(Malignant)和1400個良性(Benign)的腫瘤病例。
  3. AirBnB數據集(AirBnB dataset):
    • 包含864張室內和室外房屋圖片,分辨率為600×400。
    • 圖片被分類為12個類別:“backyard”(后院)、“basement”(地下室)、“bathroom”(浴室)、“bedroom”(臥室)、“decor”(裝飾)、“dining-room”(餐廳)、“entrance”(入口)、“house-exterior”(房屋外觀)、“kitchen”(廚房)、“living-room”(客廳)、“outdoor”(戶外)、“staircase”(樓梯)和“TV room”(電視房)。

模型訓練過程

  1. 創建訓練對。對于訓練數據集中的每張圖片,研究者會隨機選擇另外兩張圖片。其中一張圖片與原始圖片屬于同一個類別(同類圖片),另一張圖片屬于不同的類別(異類圖片)。也因此,Training instances、Validation instances、Testing instances輸出均為偶數,而且三者和為輸入圖片數的兩倍。
  2. 分配標簽。如果兩張圖片屬于同一個類別,這對圖片會被標記為標簽零(0)。這意味著它們是相似的或相同的。如果兩張圖片屬于不同的類別,這對圖片會被標記為標簽一(1)。這意味著它們是不同的。
  3. 定義相似度。孿生網絡的輸出是一個距離值,它表示兩張圖片之間的相似程度。距離值越小,表示圖片越相似;距離值越大,表示圖片越不相似。相似度是通過 1 減去距離值 d 來定義的,即相似度 = 1 ? d。這樣,如果d接近0(即圖片非常相似),相似度就會接近1;如果d較大(即圖片不相似),相似度就會接近0。當然可以預設閾值為 0.5 來準確判斷相似與否,這也是論文中所采用的方式。
  4. 通過隨機選擇正樣本(同一類別的圖片)和負樣本(不同類別的圖片),孿生網絡可以通過對比學習來優化其參數,使得正樣本間的距離減小,負樣本間的距離增大。
  5. 對于正樣本對(同一類別的圖片),我們希望這個得分接近1(或較高的值),表示它們是相似的;對于負樣本對(不同類別的圖片),我們希望得分接近0(或較低的值),表示它們是不相似的。

關于計算相似度值的細節:

02.Inference.pypred = model(image1, image2),調用 utils/Siamese.pyforward(),進一步利用歐氏距離 F.pairwise_distance 計算距離值,并將這個距離視為不相似度,后面 1-model() 就是相似度。

損失函數計算公式
L = 1 2 [ ( 1 ? y ) ( D w ) 2 + y { max ? ( 0 , m ? D w ) } 2 ] , \mathcal{L}=\frac{1}{2}\left[(1-y)\left(D_w\right)^2+y\left\{\max \left(0, m-D_w\right)\right\}^2\right], L=21?[(1?y)(Dw?)2+y{max(0,m?Dw?)}2],
where D w D_w Dw? is the model’s output and m m m is the margin value, which was set to 2 .

損失函數的取值范圍為:[0, +∞],詳見參考文獻34:Understanding the Behaviour of Contrastive Loss

應用場景

論文針對三種數據集分別進行訓練和評估,下面詳細介紹花卉、房間數據集的結果,以便更好理解事實性解釋和非事實性解釋以及對模型輸出的解讀。
在這里插入圖片描述

上面兩個圖象均屬于玫瑰類別。模型的預測值為 0.24,也即模型預測輸入圖像間的相似性為 76%。由于相似度得分大于預定義的閾值 0.5,因此模型提示輸入圖像屬于同一類。圖 a、d 為原圖,對比圖 b、e,可知模型做出相似的的決策依據為花瓣處,對比圖 c、f,可知模型做出不相似的的決策依據為花莖處,或者說,如果改變兩朵花的花莖處,那么能提高圖像的相似度,使得相似這一決策更加準確。

在這里插入圖片描述

上面兩個圖象均屬于 AirBnB 數據集中的不同類別,即第一張圖片屬于臥室類,而第二張圖片屬于客廳類。模型預測值為 0.516,即相似度得分為 48.4%,表明該模型預測輸入圖像大致屬于不同的類。圖 b、e 表明模型將重點放在第一張圖像中的椅子和第二張圖像中的燈、壁爐和時鐘上,以預測圖像不相似。圖 c、f 給出了兩幅圖像的反事實解釋,這表明模型分別關注了第一幅和第二幅圖像中的床和沙發,以及兩幅圖像中呈現的桌子。兩張圖像都有一個共同的項目(桌子)以及兩個視覺上相似的項目(床和沙發),所以有 48.4% 的相似得分。

代碼復現

代碼層級目錄

- checkpoints  # 存放訓練好的模型- car|-- model.pth  # 此文件為未訓練至擬合的模型
- Data  # AirBnB、Flowers、Skin_cancer 均為論文提供的數據集# data_for_compare 是用于計算相似度的圖片文件夾- AirBnB|-- class 1  # 每個class文件夾下,存放圖片文件|-- class 2|-- ...- car|-- class 1|-- class 2|-- ...- Flowers|-- class 1|-- class 2|-- ...- ...
- utils  # 工具類文件夾- dataset.py- early_stopping.py- Grad_CAM.py- imshow.py- ...
- 01.Train_Siamese_model.ipynb  # 用于訓練模型,測試集評估模型
- 02.Inference.ipynb  # 利用訓練好的模型計算兩個圖片的相似度
- environment.yml  # 環境依賴
- README.md

環境配置

conda 環境

基礎環境:Anaconda 3、文本編輯器(非必要,如:vscode、notepad++)

方式一:

# 切換路徑至 environment.yml 所在目錄
> conda env create -f environment.yml
# 切換虛擬環境
> conda activate pytorch_siamese

方式二:(推薦)

# 根據 environment.yml 文件中的 python 版本信息,先創建帶有 Python 版本的虛擬環境(h6244533_0 標識特定版本)
> conda create -n pytorch_siamese python=3.8.17=h6244533_0
# 切換虛擬環境
> conda activate pytorch_siamese
# 若網絡下載慢,則做如下設置。意為:若 1000s 沒有收到任何數據,就認為是一個超時錯誤,默認值為 60s
> conda config --set remote_read_timeout_secs 1000.0
# 切換目錄至 environment.yml 所在路徑,安裝其他包
> conda env update --file environment.yml

不需要設置鏡像源,保持默認即可。

如果下載擴展包失敗,可以嘗試將 environment.yml 文件拆封成多個文件,多次小批量下載 Python 擴展包,定位到不易下載的擴展包,搜索相關解決辦法。

添加鏡像源下載 Python 擴展包時,可能出現報錯信息有:error3、error4,因未能解決,故不推薦設置鏡像源。

GPU 配置

nvcc -V 查看 CUDA 編譯器版本;nvidia-smi 查看 NVIDIA 驅動支持 CUDA 的版本。

較低版本的 CUDA 編譯版本可以在較高版本驅動下運行,為了確保最佳兼容性和充分利用新特性,理想的情況是確保 CUDA 工具包版本與 GPU 驅動支持的 CUDA 運行時版本相匹配或相近。

有時需要指定某一塊 GPU 用于訓練模型,需要為每塊 GPU 指定唯一的編號,而后在代碼中指定 GPU。

代碼運行

  1. 更新數據集。汽車圖片數據存放在 \Data\car 中,圖片大小與已有汽車圖片保持統一,均為:寬 1200px,高 800px,若大小不一致,則 02.Inference.ipynb 輸出的圖像變形,暫時未知是否對模型訓練有影響。子文件夾按汽車類別劃分,文件夾名稱無要求,最好直觀可理解,目錄層級關系詳見「代碼層級目錄」。
  2. 更新 config.yml 文件中的參數,如:backbone_model、optimizer。
  3. 運行 01.Train_Siamese_model.ipynb,訓練模型并用測試集評估。運行 Training 部分可能會報錯 「報錯記錄及解決」部分的 error1,按提供的解決方法操作即可。
  4. 運行 02.Inferences.ipynb 計算兩個圖像的相似度,并以熱力圖的形式展示兩張圖像的事實性解釋(Factual explanations)和非事實性解釋(Counterfactual explanations),以獲得可解釋的結果。其中,用于比對相似度的圖像,需要手動設置路徑。代碼會輸出熱力圖等圖片到當前路徑下,需及時存放輸出圖片,以免被覆蓋。

報錯記錄及解決

error1 - Initializing libiomp5md.dll, but found libiomp5md.dll already initialized

本報錯信息,出現在 Training 部分。

詳細報錯信息:

OMP: Error #15: Initializing libiomp5md.dll, but found libiomp5md.dll already initialized.
OMP: Hint This means that multiple copies of the OpenMP runtime have been linked into the program. That is dangerous, since it can degrade performance or cause incorrect results. The best thing to do is to ensure that only a single OpenMP runtime is linked into the process, e.g. by avoiding static linking of the OpenMP runtime in any library. As an unsafe, unsupported, undocumented workaround you can set the environment variable KMP_DUPLICATE_LIB_OK=TRUE to allow the program to continue to execute, but that may cause crashes or silently produce incorrect results. For more information, please see http://www.intel.com/software/products/support/.

解決辦法:

若代碼基于 conda 虛擬環境 pytorch_siamese 中的 Python 運行,那么刪除 .\anaconda3\envs\pytorch_siamese\Library\bin 中的 libiomp5md.dll

若代碼基于 base 環境中的 Python運行(不建議這樣),則刪除 .\anaconda3\Library\bin\libiomp5md.dll 文件。

參考鏈接:

關于OMP: Error #15: Initializing libiomp5md.dll, but found libiomp5md.dll already initialized.錯誤解決方法 - 知乎 (zhihu.com)

就是他!讓你的python內核莫名掛掉 | KMP_DUPLICATE_LIB_OK=TRUE 的始作俑者 - 知乎 (zhihu.com)

error2 - CondaError: Downloaded bytes did not match Content-Length

CondaError: Downloaded bytes did not match Content-Lengthurl: https://conda.anaconda.org/nvidia/win-64/libcublas-dev-11.11.3.6-0.tar.bz2target_path: D:\Program\anaconda3\pkgs\libcublas-dev-11.11.3.6-0.tar.bz2Content-Length: 394161490downloaded bytes: 389249421
> conda config --set remote_read_timeout_secs 1000.0

error3 - CondaHTTPError: HTTP 429 TOO MANY REQUESTS

CondaHTTPError: HTTP 429 TOO MANY REQUESTS for url <https://mirrors.ustc.edu.cn/anaconda/cloud/menpo/win-64/repodata.json>
Elapsed: 00:49.357271An HTTP error occurred when trying to retrieve this URL.
HTTP errors are often intermittent, and a simple retry will get you on your way.
'https//mirrors.ustc.edu.cn/anaconda/cloud/menpo/win-64'

不清楚是不是訪問量太多,導致報錯。嘗試刪除在鏡像源中報錯鏈接,但又會出現新的報錯鏈接。

error4 - 嘗試 aliyun 報錯

UnavailableInvalidChannel: HTTP 403 FORBIDDEN for channel anaconda/pkgs/msys2 <http://mirrors.aliyun.com/anaconda/pkgs/msys2>

應該是阿里云的鏈接無法訪問。

error5 - 根據 environment.yml 下載擴展包時,報錯 UnicodeDecodeError

詳細報錯信息:UnicodeDecodeError: 'gbk' codec can't decode byte 0xff in position 0: illegal multibyte sequence

原因:yaml 文件編碼非 utf-8,重新設置編碼即可

具體操作(以 vscode 為例):用 vscode 打開 yaml 文件后,點擊右下角文件編碼,save with Encoding -> UTF-8

error6 - torch.cuda.OutOfMemoryError: CUDA out of memory

x詳細報錯信息:torch.cuda.OutOfMemoryError: CUDA out of memory. Tried to allocate 236.00 MiB (GPU 0; 23.65 GiB total capacity; 13.64 GiB already allocated; 49.12 MiB free; 18.92 GiB allowed; 13.85 GiB reserved in total by PyTorch) If reserved memory is >> allocated memory try setting max_split_size_mb to avoid fragmentation

解決辦法:減小batch_size

error7 - 下載包時,報錯 Solving environment: failed、ResolvePackageNotFound

原因:environment.yml 中對擴展包除了有版本號約束,還有特定版本標識,如: tqdm=4.65.0=pyhd8ed1ab_1,這導致難以找到對應的版本。

解決方法1:將 conda-forge 添加到 channel 列表,以便搜索擴展包時也在 conda-forge channel 中查找:

> conda config --append channels conda-forge

解決方法2:根據報錯信息的提示,進入 Anaconda Cloud 中,尋找指定版本的擴展包并下載。

  1. 搜索指定擴展包
  2. 查看列表中的擴展包及版本號
  3. 點擊目標版本的擴展包鏈接
  4. intallers 部分,找到 conda 下載命令

解決方法3:刪除 yaml 文件中的第二個等號后的內容。如果仍報錯,則將報錯的擴展包暫時不安裝,等其他擴展包安裝好后再安裝。

解決方法4:在 Anaconda Cloud 中尋找指定版本擴展包的 Files,離線下載擴展包。此方法不推薦,可能導致 conda 無法識別到來源(unknown),并報錯。

補充:Linux 系統/服務器中安裝 Anaconda

  1. 通過在 Linux 終端中運行 uname -m 命令來確定的系統架構

  2. 下載 Anaconda。訪問 Anaconda 官方網站 或者 清華大學開源軟件鏡像站 等提供下載鏈接的網站。

  3. 選擇版本。在下載頁面,找到對應于的操作系統和系統架構的 Anaconda 安裝包鏈接。

  4. 使用 wget 命令在 Linux 終端中下載安裝包。例如:

    wget https://repo.anaconda.com/archive/Anaconda3-2024.02-1-Linux-x86_64.sh
    
  5. 下載完成后,給予安裝腳本執行權限:

    chmod +x Anaconda3-2024.02-1-Linux-x86_64.sh
    
  6. 執行安裝腳本開始安裝過程:

    ./Anaconda3-2024.02-1-Linux-x86_64.sh
    
  7. 按照安裝程序的提示進行操作,閱讀并接受許可協議,選擇安裝路徑,并決定是否要初始化 Anaconda 環境變量。瀏覽協議,enter,最后yes

  8. 配置環境變量

    vim ~/.bashrc# 在末尾添加如下語句,此處路徑為 anacodda3 實際安裝路徑
    export PATH=/home/xxxx/anacodnae/bin:$PATH# 添加完后激活環境
    source ~/bashrc
    
  9. conda -V 測試


參考文章:

PyTorch 代碼中 GPU 編號與 nvidia-smi 命令中的 GPU 編號不一致問題解決方法

PackagesNotFoundError: The following packages are not available from current channels的解決辦法-CSDN博客

解決創建conda環境時Solving environment: failed 和 ResolvePackageNotFound 的錯誤_solving environment: failed resolvepackagenotfound-CSDN博客

圖像相似度分析——相似度算法 (qq.com)
圖片相似度計算(CVPR2015-DeepCompare) (qq.com)
無需訓練/部署模型,一文學會圖像相似度算法pHash原理和實戰 (qq.com)

圖像相似度分析——相似度算法 (qq.com)
圖片相似度計算(CVPR2015-DeepCompare) (qq.com)
無需訓練/部署模型,一文學會圖像相似度算法pHash原理和實戰 (qq.com)
教你如何實現圖片特征向量提取與相似度計算 (qq.com)

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

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

相關文章

純網絡的系統能否定級備案?

很多單位想把網絡基礎設施進行定級備案和測評&#xff0c;但是不知道這樣可否&#xff1f; 目前湖北省是可以的。因為根據《定級指南》的術語解釋3.2對等級保護對象的定義是包括通信基礎設施的&#xff0c;也就是網絡基礎設施。其他地區目前有的地方可以有的地方不行&#xff…

2024年武漢東湖高新中級職稱報名時間是什么時候?

2024年武漢市東湖高新中級職稱上半年批次報名已經截止了&#xff0c;下半年東湖高新至少還有一次報名機會&#xff0c;所以各位東湖高新區評職稱的朋友們&#xff0c;不要錯過這次了。 2024年武漢東湖高新區中級職稱報名條件&#xff1a; 1.東湖高新區社保滿足1年&#xff0c;近…

進口不銹鋼氣動輸送泵-美國品牌

進口不銹鋼氣動輸送泵是一種利用壓縮空氣為動力&#xff0c;通過氣閥控制進行往復運動&#xff0c;將能量轉換為泵的動能&#xff0c;從而實現對液體或固體物料輸送的設備。以下是關于進口不銹鋼氣動輸送泵的詳細介紹&#xff1a; 一、產品特點 材質優良&#xff1a;主體部分…

seata源碼分析(03)_創建代理的過程

seata提供了ProxyUtil工具類為事務組件創建代理對象&#xff0c;在spring環境中&#xff0c;seata提供了GlobalTransactionScanner類和SeataAutoDataSourceProxyCreator為組件創建AOP代理&#xff0c;本文重點分析這兩個類。 ProxyUtil io.seata.integration.tx.api.util.Pro…

【中年危機】程序猿自救指南

中年危機&#xff0c;一個聽起來就充滿挑戰的詞匯&#xff0c;它不僅僅是一個年齡的標記&#xff0c;更是一個個人成長和職業發展的轉折點。 構架個人品牌&#xff1a; 學會打造IP個人品牌是職業生涯中的重要資產。在中年時期&#xff0c;你已經積累了豐富的經驗和知識&#x…

golang的http客戶端封裝

簡介 net/http 是 Go 語言標準庫的一部分&#xff0c;它提供了創建 HTTP 客戶端和服務器的能力。這個包通過簡化與 HTTP 協議的交互&#xff0c;讓開發者能夠方便地構建 HTTP 請求和響應&#xff0c;以及處理路由等任務。 本文以 net/http 包作為底層&#xff0c;封裝一個包含…

HTCC電路板是什么,有哪些主要應用領域

HTCC英文名稱是High-Temperature Co-Fired Ceramic&#xff0c;又稱高溫共燒多層陶瓷基板。因其具有導熱系數高、耐熱性好、熱膨脹系數小、機械強度高、絕緣性好、耐腐蝕等優勢&#xff0c;是保持高速增加的PCB線路板之一。 SPEA作為專業電路板測試設備方案服務商&#xff0c;公…

FY-SA-20237·8-WhyWeSpin

Translated from the Scientific American, July/August 2023 issue. Why We Spin (我們為什么旋轉) Primates may play with reality by twirling around 翻譯&#xff1a;靈長類動物有能力通過旋轉或旋轉運動來操縱或扭曲他們對現實的感知。 解釋&#xff1a; “Primates”…

Java生成指定長度驗證碼

生成指定長度驗證碼的簡單思路在Java中通常涉及以下幾個步驟&#xff1a; 1、定義字符池&#xff1a; 首先&#xff0c;需要定義一個包含所有可能字符的字符串&#xff0c;這個字符池通常包括數字(0-9)、大寫字母(A-Z)、小寫字母(a-z)。 例如&#xff1a; String chars "…

【開發心得】三步本地化部署llama3大模型

目錄 第一步&#xff1a;啟動ollama 第二步&#xff1a;啟動dify 第三步&#xff1a;配置模型&#xff08;截圖&#xff09; 最近llama3很火&#xff0c;本文追擊熱點&#xff0c;做一個本地化部署的嘗試&#xff0c;結果還成功了&#xff01; 當然也是站在別人的肩膀上&…

【運維項目經歷|027】PXE自動化部署與管理平臺

&#x1f341;博主簡介&#xff1a; &#x1f3c5;云計算領域優質創作者 &#x1f3c5;2022年CSDN新星計劃python賽道第一名 &#x1f3c5;2022年CSDN原力計劃優質作者 &#x1f3c5;阿里云ACE認證高級工程師 &#x1f3c5;阿里云開發者社區專…

Nginx企業級負載均衡:技術詳解系列(18)—— 作為上傳服務器

你好&#xff0c;我是趙興晨&#xff0c;97年文科程序員。 在上一期的技術分享中&#xff0c;我們探討了如何高效搭建Nginx下載服務器&#xff0c;并討論了長連接優化策略。那么今天&#xff0c;咱們進一步了解Nginx的另一面——作為上傳服務器的配置技巧。 作為上傳服務器&a…

怎么做好企業短信服務呢?(文字短信XML接口示例)

企業短信服務已經成為各行各業都信賴的行業推廣方式之一&#xff0c;并且短信行業也與時俱進的發展著&#xff0c;隨之而來的就是市場上短信平臺的數量也隨之增多。那么怎么在魚龍混雜的短信行業中選擇適合自己的企業短信服務平臺呢&#xff1f;企業短信服務平臺又適用于哪些應…

Django的PATH路徑轉換器

本書1-7章樣章及配套資源下載鏈接: https://pan.baidu.com/s/1OGmhHxEMf2ZdozkUnDkAkA?pwdnanc 源碼、PPT課件、教學視頻等&#xff0c;可以從前言給出的下載信息下載&#xff0c;大家可以評估一下。 在Django框架中&#xff0c;默認內置了一組PATH路徑轉換器&#xff0c;具…

第一篇【傳奇開心果系列】AI工業應用經典算法和Python示例:基于AI的智能制造技術經典算法與Python實踐

傳奇開心果博文系列 系列博文目錄AI工業應用經典算法和Python示例系列 博文目錄前言一、AI在智能制造方面的應用場景介紹二、基于AI的智能制造技術經典算法介紹三、支持向量機機器學習算法Python示例代碼四、隨機森林機器學習算法Python示例代碼五、深度學習算法Python示例代碼…

linux指令-高階指令用法

提示&#xff1a;文章寫完后&#xff0c;目錄可以自動生成&#xff0c;如何生成可參考右邊的幫助文檔 文章目錄 前言一、pandas是什么&#xff1f;二、使用步驟 1.引入庫2.讀入數據總結 前言 linux操作系統的環境變量的使用基礎需要先了解 提示&#xff1a;以下是本篇文章正文…

【linux】(2)文件內容排序sort

sort 是一個用于排序文件內容的命令行工具&#xff0c;在 Linux 和 Unix 系統中非常常用。 基本用法 sort [OPTION]... [FILE]...常用選項 按數值排序 -n sort -n filename例子&#xff1a;對包含數值的文件進行排序。 按字典順序排序 -d sort -d filename例子&#xff1…

大宋咨詢(深圳酒店神秘顧客調查)酒店客房神秘人體驗調查內容

酒店客房神秘檢查內容&#xff0c;是酒店管理中至關重要的環節。通過專業的神秘顧客對客房進行細致入微的檢查&#xff0c;可以確保客房的清潔度、設施設備的完好性以及服務質量等方面達到高標準&#xff0c;幫助他們更好地了解客戶的需求和滿意度&#xff0c;從而提高服務質量…

Facebook開戶|Facebook公共主頁疑難雜癥詳解

??要要切克鬧&#xff0c;公共主頁我來道...哈嘍呀家人們中午好&#xff0c;上一次學習還是在上一次..hhh相信很多家人在做Facebook的時候總會遇到各種各樣匪夷所思的bug&#xff01;經常被搞心態吧&#xff01;那么咱們今天呢就來總結一下各類的bug以及解決方法&#xff0c;…

InvokeAI學習教程三:換臉

啟動InvokeAI&#xff0c;我們先生成一張圖&#xff1a; 在正向提示詞里輸入&#xff1a;Avant-garde couture, tactile textures, vogue aesthetics, vibrant color palette, intricate embroidery details, dramatic silhouettes 生成一張高貴夫人的圖像&#xff0c; 或者你從…