以 ImageNet 預訓練的 InceptionV3(PyTorch)產生類別活化圖(Class Activation Map,CAM)的命令列(主控台)範例,可在 Windows 11 與 Ubuntu Linux 24.04 執行。程式會對影像進行分類,印出機率最高的前 k 個 ImageNet 類別,並輸出一張圖:最上方是原始影像,下方則是每個類別各一張 CAM 熱力圖疊加結果,用來呈現網路判斷時關注的區域。內附範例影像與權重,可以直接執行。

 

[資料夾結構]

  • CLAUDE.md / AGENT.md:程式規格文件,兩個檔案內容完全相同。
  • CHANGELOG.md:版本變更紀錄。
  • copyright.txt:版權聲明。
  • data/cam/:cat_dog.png(範例影像)與 imagenet_class_index.json(1000 個類別的對照表)。
  • model/cam/:inception_v3_google-1a9a5a14.pth(ImageNet 權重);產生的 CAM 圖檔({name}_cam.png)也會存在這裡。
  • src/pretrainedmodels/:內含的 Cadene pretrainedmodels 套件。
  • tool/tools.py:共用工具函式。
  • src/:原始程式碼、啟動腳本與本說明文件。
  • venv/:Python 虛擬環境,由步驟 01 建立。

[操作步驟及說明]

1. 01_venv_create.bat / 01_venv_create.sh

刪除舊的 venv/,建立全新的虛擬環境,並安裝 src/requirements.txt 中的相依套件。若 pip 安裝失敗,會直接中止並顯示錯誤訊息。

 

2. 02_venv_activate.bat / 02_venv_activate.sh

啟用虛擬環境。Linux 請以 source 方式執行:source src/02_venv_activate.sh。

 

3. 03_cam.bat / 03_cam.sh

對影像進行分類,並把 CAM 圖檔存到 model/cam/。

 

4. 99_venv_clear.bat / 99_venv_clear.sh

刪除 venv/ 虛擬環境資料夾。

 

[Python 程式進入點]

src/cam.py

  • --source data/cam/cat_dog.png:輸入的影像路徑
  • --top 3:要顯示的類別數量
  • --weights model/cam/inception_v3_google-1a9a5a14.pth:使用的權重檔
  • --labels data/cam/imagenet_class_index.json:類別名稱對照表
  • --output model/cam/{name}_cam.png:輸出的圖檔路徑
  • --show:另開視窗顯示結果(選用,需要有桌面環境)

程式會印出機率最高的前 k 個類別名稱與機率值;輸出的圖檔由原始影像,加上每個類別各一張以 jet 色彩對應的熱力圖疊加而成。

 

[快速開始]

Windows 11

src\01_venv_create.bat

src\03_cam.bat

 

Ubuntu 24.04

bash src/01_venv_create.sh

bash src/03_cam.sh

 

只要把 --source 指向自己的影像,就能分析其他圖片,例如:src\03_cam.bat --source path\to\photo.jpg --top 5。

 

[參考資料]

這個 SDK 內建於 MYAI Studio 人工智慧開發工具。

 

單獨購買價格:3,000元,永久授權,單一 SDK 授權,單機授權,一次下載,一年電子郵件範例諮詢服務。如果是軟體客製化問題,請購買我們的客製化顧問服務點數。