🚀 大型貓科動物分類器
這是一個基於視覺變換器(Vision Transformers)構建的圖像分類器,可將大型貓科動物的圖像分類為以下類別,為相關研究和識別工作提供了高效準確的解決方案。
🚀 快速開始
訓練與推理
- 訓練:點擊
可在Colab中進行訓練。
- 推理:點擊
可在Colab中進行推理。
使用示例
from PIL import Image
import matplotlib.pyplot as plt
from transformers import ViTFeatureExtractor, ViTForImageClassification
def identify_big_cat(img_path:str)->str:
"""
Function that reads an image of a big cat (belonging to Panthera family) and returns the corresponding species
"""
img = Image.open(img_path)
model_panthera = ViTForImageClassification.from_pretrained("smaranjitghose/big-cat-classifier")
feature_extractor = ViTFeatureExtractor.from_pretrained('smaranjitghose/big-cat-classifier')
inputs = feature_extractor(images=img, return_tensors="pt")
outputs = model_panthera(**inputs)
logits = outputs.logits
predicted_class_idx = logits.argmax(-1).item()
return model_panthera.config.id2label[predicted_class_idx]
our_big_cat = identify_big_cat("path_of_the_image")
print(f"Predicted species: {our_big_cat}" )
託管API
點擊 此處 查看。
庫應用使用方法
克隆倉庫
git clone https://github.com/smaranjitghose/Big_Cat_Classifier.git
進入克隆的倉庫
cd Big_Cat_Classifier
選擇以下兩種方式之一運行:
A) 不使用Docker
確保你已安裝最新穩定版本的 Python 3 並將其添加到系統路徑
pip install -r requirements.txt
streamlit run app.py
B) 使用Docker
確保你已安裝 Docker
docker build -t smaranjitghose/big-cat-classifier:latest .
docker images
docker run -t -i -p 8080:8080 --name "big-cat-classifier" smaranjitghose/big-cat-classifier

部署
Heroku部署
- 移除Docker容器中暴露特定端口的行
- 確保啟動命令使用變量端口號
ENTRYPOINT ["streamlit", "run", "app.py", "--server.port=$PORT"]
heroku login -i
heroku create
heroku container:login
heroku container:push web
heroku container:release web
heroku open
✨ 主要特性
- 精準分類:能夠將大型貓科動物圖像準確分類為獵豹、美洲豹、花豹、獅子和老虎等類別。
- 多途徑使用:支持訓練、推理、API調用以及本地應用部署等多種使用方式。
📦 安裝指南
克隆倉庫
git clone https://github.com/smaranjitghose/Big_Cat_Classifier.git
進入倉庫
cd Big_Cat_Classifier
安裝依賴
不使用Docker
pip install -r requirements.txt
使用Docker
docker build -t smaranjitghose/big-cat-classifier:latest .
📚 詳細文檔
分類類別
類別編號 |
大型貓科動物 |
示例圖片 |
0 |
獵豹 |
 |
1 |
美洲豹 |
 |
2 |
花豹 |
 |
3 |
獅子 |
 |
4 |
老虎 |
 |
注意事項
⚠️ 重要提示
- 由於美洲豹和花豹外觀相似,模型可能會將兩者混淆。可參考 [1] [2] 這兩篇文章瞭解兩者區別。
- 理論上,模型應能準確識別每個物種的地理種群變體。但在實際場景中可能並非如此,因為在訓練階段收集數據集時未考慮此因素。例如,孟加拉虎、西伯利亞虎、印支虎和馬來亞虎的圖像應被識別為老虎。
- 模型對某些大型貓科動物稀有變種(如白虎、雪豹或黑豹)的分類性能尚未專門確定,儘管一些測試結果令人滿意。
📄 許可證
文檔未提及相關內容,故跳過該章節。
🔧 技術細節
文檔未提及相關內容,故跳過該章節。
參考與致謝
本項目參考了 Hugging Pics ,在此表示感謝。