Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 

Repository files navigation

貓狗影像分類機器學習模型

專案簡介

本專案旨在建立一個貓狗影像分類模型,透過卷積神經網絡 (CNN) 對影像進行特徵擷取,並區分圖片中的動物是貓還是狗。模型在 Kaggle 的 Dogs vs Cats 資料集上進行訓練,最終達到不錯的分類效果。此專案提供訓練、測試與推論的完整流程,方便後續擴充與應用。


環境需求

  • Python: 3.6 或以上版本
  • 主要函式庫:
    • TensorFlow 2.x 或 PyTorch(依您所使用的深度學習框架)
    • Keras(若使用 TensorFlow 作為後端)
    • NumPy
    • OpenCV 或 Pillow(用於影像預處理)
    • scikit-learn(用於資料切分與評估)

資料集

  • Dogs vs Cats 資料集
    • 來源:Kaggle (Dogs vs Cats)
    • 請下載資料集後,解壓縮至專案的 data/ 資料夾,或依據程式設定調整資料路徑。

模型架構

本模型主要使用卷積神經網絡 (CNN),基本架構如下:

  • 卷積層與池化層:負責影像特徵提取
  • 全連接層:用以整合特徵並進行二分類
  • 激活函式:在最後一層使用 Sigmoid 或 Softmax 進行輸出

模型的詳細架構可參考 model.py 中的定義,根據需求進行調整與優化。


安裝與設定

  1. Clone 專案

    git clone https://github.com/your_username/cat_dog_classifier.git
    cd cat_dog_classifier
    
    
  2. 建立虛擬環境並安裝相依套件

    python -m venv venv
    source venv/bin/activate   # Linux / macOS
    venv\Scripts\activate      # Windows
    
    pip install -r requirements.txt
  3. 準備資料集

    • 下載 Dogs vs Cats 資料集 並解壓縮到 data/ 資料夾內,或依照需求修改資料路徑。

模型訓練

執行下列指令開始模型訓練:

python train.py --data_path ./data --epochs 50 --batch_size 32

參數說明:

  • --data_path:指定資料集路徑
  • -epochs:訓練週期數(預設 50)
  • -batch_size:每次訓練的批次大小(預設 32)

測試與推論

訓練完成後,您可以使用以下指令對單張圖片進行預測:

python predict.py --image_path ./data/sample.jpg

程式會輸出預測結果,顯示該圖片為貓或狗。


結果展示

在驗證集上,本模型達到了約 90% 的分類準確率。更多詳細結果與模型調參細節,請參閱專案中的報告文件或 results/ 資料夾內的相關資料。


未來改進方向

-模型優化:探索更深層次的網絡結構(如 ResNet、Inception 等)以提升分類效能。 -資料增強:應用資料增強技術以改善模型的泛化能力。 -超參數調整:進一步透過交叉驗證和網格搜尋優化模型參數。 -部署應用:嘗試將模型部署至 Web 或行動裝置,進行即時預測。


問題回報

如果您在使用過程中遇到任何問題,歡迎在 Issue 中提出,或直接聯繫作者討論改進方案。

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages