Download classes.py from thietnt/Fruit_Disease_EfficientNetB0: direct link, hf CLI and curl.
- Browser
- Download file 10.6 kB
-
https://huggingface.co/thietnt/Fruit_Disease_EfficientNetB0/resolve/main/classes.py
- Command line
-
hf download hf://thietnt/Fruit_Disease_EfficientNetB0/classes.py
-
curl -L -o classes.py https://huggingface.co/thietnt/Fruit_Disease_EfficientNetB0/resolve/main/classes.py
10.6 kB
| """ | |
| Fruit Disease Classification - Complete 17-Class Knowledge Base & Pathogen Database | |
| Integrated with TacNhan.json and EfficientNetB0_model_labels.txt | |
| Classes across: Apple (Táo), Guava (Ổi), Mango (Xoài), Pomegranate (Lựu) | |
| """ | |
| import json | |
| from pathlib import Path | |
| BASE_DIR = Path(__file__).resolve().parent | |
| TAC_NHAN_PATH = BASE_DIR / "TacNhan.json" | |
| FRUIT_CLASSES = [ | |
| "APPLE_Blotch_Apple", | |
| "APPLE_Healthy_Apple", | |
| "APPLE_Rot_Apple", | |
| "APPLE_Scab_Apple", | |
| "GUAVA_Anthracnose_Guava", | |
| "GUAVA_Fruitfly_Guava", | |
| "GUAVA_Healthy_Guava", | |
| "MANGO_Alternaria_Mango", | |
| "MANGO_Anthracnose_Mango", | |
| "MANGO_Black Mould Rot (Aspergillus)_Mango", | |
| "MANGO_Healthy_Mango", | |
| "MANGO_Stem and Rot (Lasiodiplodia)_Mango", | |
| "POMEGRANATE_Alternaria_Pomegranate", | |
| "POMEGRANATE_Anthracnose_Pomegranate", | |
| "POMEGRANATE_Bacterial_Blight_Pomegranate", | |
| "POMEGRANATE_Cercospora_Pomegranate", | |
| "POMEGRANATE_Healthy_Pomegranate" | |
| ] | |
| FRUIT_VN_MAP = { | |
| "APPLE_Blotch_Apple": "🍎 Táo - Bệnh đốm lá đốm quả (Marssonina Blotch)", | |
| "APPLE_Healthy_Apple": "🍎 Táo - Khỏe mạnh (Healthy Apple)", | |
| "APPLE_Rot_Apple": "🍎 Táo - Bệnh thối quả (Black Rot / Bitter Rot)", | |
| "APPLE_Scab_Apple": "🍎 Táo - Bệnh vảy nấm (Apple Scab)", | |
| "GUAVA_Anthracnose_Guava": "🍈 Ổi - Bệnh thán thư (Anthracnose)", | |
| "GUAVA_Fruitfly_Guava": "🍈 Ổi - Bị ruồi đục quả tấn công (Fruitfly Damage)", | |
| "GUAVA_Healthy_Guava": "🍈 Ổi - Khỏe mạnh (Healthy Guava)", | |
| "MANGO_Alternaria_Mango": "🥭 Xoài - Bệnh đốm lá đốm quả do nấm Alternaria", | |
| "MANGO_Anthracnose_Mango": "🥭 Xoài - Bệnh thán thư (Anthracnose)", | |
| "MANGO_Black Mould Rot (Aspergillus)_Mango": "🥭 Xoài - Bệnh thối mốc đen (Aspergillus Black Mould)", | |
| "MANGO_Healthy_Mango": "🥭 Xoài - Khỏe mạnh (Healthy Mango)", | |
| "MANGO_Stem and Rot (Lasiodiplodia)_Mango": "🥭 Xoài - Bệnh thối đầu cuống quả (Stem-end Rot)", | |
| "POMEGRANATE_Alternaria_Pomegranate": "🫐 Lựu - Bệnh đốm đen thối đen Alternaria", | |
| "POMEGRANATE_Anthracnose_Pomegranate": "🫐 Lựu - Bệnh thán thư (Anthracnose)", | |
| "POMEGRANATE_Bacterial_Blight_Pomegranate": "🫐 Lựu - Bệnh cháy vi khuẩn (Bacterial Blight)", | |
| "POMEGRANATE_Cercospora_Pomegranate": "🫐 Lựu - Bệnh đốm mắt chim Cercospora", | |
| "POMEGRANATE_Healthy_Pomegranate": "🫐 Lựu - Khỏe mạnh (Healthy Pomegranate)" | |
| } | |
| DISEASE_INFO = { | |
| "APPLE_Blotch_Apple": { | |
| "status": "warning", | |
| "fruit": "Táo", | |
| "severity": "Trung bình", | |
| "description": "Vết bệnh màu nâu sẫm hoặc xám đen, viền răng cưa không đều trên vỏ táo và mặt lá, làm giảm phẩm cấp quả.", | |
| "treatment": "Cắt tỉa cành thông thoáng, thu dọn tàn dư lá rụng. Phun luân phiên thuốc gốc đồng hoặc Captan, Mancozeb." | |
| }, | |
| "APPLE_Healthy_Apple": { | |
| "status": "healthy", | |
| "fruit": "Táo", | |
| "severity": "Không có", | |
| "description": "Quả táo phát triển tốt, bề mặt căng bóng đều màu, không có dấu hiệu nấm bệnh hay côn trùng gây hại.", | |
| "treatment": "Tiếp tục quy trình tưới tiêu và bổ sung phân bón trung vi lượng cân đối." | |
| }, | |
| "APPLE_Rot_Apple": { | |
| "status": "danger", | |
| "fruit": "Táo", | |
| "severity": "Cao", | |
| "description": "Vùng thối mềm màu nâu đen lan tròn nhanh chóng, phần thịt quả bên trong bị phân hủy nhũn chua.", | |
| "treatment": "Thu gom tiêu hủy ngay các quả thối để tránh lây nhiễm. Phun phòng ngừa Thiophanate-methyl hoặc Fludioxonil sau đợt mưa kéo dài." | |
| }, | |
| "APPLE_Scab_Apple": { | |
| "status": "warning", | |
| "fruit": "Táo", | |
| "severity": "Trung bình", | |
| "description": "Các vết đốm màu xanh ô liu dần chuyển sang màu đen như lớp vảy mốc, làm quả bị nứt nẻ và dị dạng.", | |
| "treatment": "Thu gom lá khô cuối vụ. Phun Myclobutanil hoặc Difenoconazole vào giai đoạn nụ hoa và quả non." | |
| }, | |
| "GUAVA_Anthracnose_Guava": { | |
| "status": "warning", | |
| "fruit": "Ổi", | |
| "severity": "Trung bình", | |
| "description": "Đốm bệnh tròn lõm màu nâu xám trên vỏ ổi, có hạt bào tử hồng nhạt khi độ ẩm không khí cao.", | |
| "treatment": "Bao trái sớm. Phun thuốc trừ nấm gốc Azoxystrobin, Difenoconazole hoặc Copper Hydroxide." | |
| }, | |
| "GUAVA_Fruitfly_Guava": { | |
| "status": "danger", | |
| "fruit": "Ổi", | |
| "severity": "Rất cao", | |
| "description": "Vết châm nhỏ của ruồi đục quả, bên trong có ấu trùng (dòi) ăn rỗng thịt quả làm quả nhanh thối và rụng non.", | |
| "treatment": "Bao trái bằng túi chuyên dụng khi quả cỡ ngón tay cái. Dùng bẫy dẫn dụ Methyl Eugenol diệt ruồi trưởng thành." | |
| }, | |
| "GUAVA_Healthy_Guava": { | |
| "status": "healthy", | |
| "fruit": "Ổi", | |
| "severity": "Không có", | |
| "description": "Quả ổi căng bóng, màu xanh sáng tự nhiên, cấu trúc thịt quả giòn và lành lặn.", | |
| "treatment": "Bao bọc bảo vệ quả chống côn trùng và bón phân hữu cơ định kỳ." | |
| }, | |
| "MANGO_Alternaria_Mango": { | |
| "status": "warning", | |
| "fruit": "Xoài", | |
| "severity": "Trung bình", | |
| "description": "Đốm bệnh hình tròn hoặc bầu dục màu nâu sậm, có các vòng đồng tâm trên vỏ xoài làm quả mất giá trị.", | |
| "treatment": "Phun phòng trừ nấm Mancozeb hoặc Chlorothalonil khi thời tiết ấm ẩm." | |
| }, | |
| "MANGO_Anthracnose_Mango": { | |
| "status": "warning", | |
| "fruit": "Xoài", | |
| "severity": "Trung bình - Cao", | |
| "description": "Các mảng đốm đen loang lổ trên vỏ xoài, hoa và lá non, gây thui hoa và rụng quả non hàng loạt.", | |
| "treatment": "Tỉa cành tạo độ thông thoáng. Phun phòng trừ bằng Prochloraz, Difenoconazole trước và sau khi trổ hoa." | |
| }, | |
| "MANGO_Black Mould Rot (Aspergillus)_Mango": { | |
| "status": "danger", | |
| "fruit": "Xoài", | |
| "severity": "Cao", | |
| "description": "Vết bệnh phủ lớp bột mốc đen mịn như nhung trên bề mặt quả bị trầy xước trong quá trình thu hoạch.", | |
| "treatment": "Tránh làm trầy xước vỏ khi thu hái và vận chuyển. Rửa sạch quả sau thu hoạch bằng nước ấm." | |
| }, | |
| "MANGO_Healthy_Mango": { | |
| "status": "healthy", | |
| "fruit": "Xoài", | |
| "severity": "Không có", | |
| "description": "Quả xoài phát triển toàn diện, vỏ láng mịn, màu sắc tự nhiên không tì vết.", | |
| "treatment": "Duy trì bao quả và chế độ bón phân Kali giúp vỏ xoài sáng đẹp." | |
| }, | |
| "MANGO_Stem and Rot (Lasiodiplodia)_Mango": { | |
| "status": "danger", | |
| "fruit": "Xoài", | |
| "severity": "Cao", | |
| "description": "Bắt đầu thối sẫm màu từ phần cuống quả lan rộng xuống thân quả sau thu hoạch và tồn trữ.", | |
| "treatment": "Cắt cuống dài 1-2cm khi thu hái, xử lý quả bằng nước ấm 52°C trong 5 phút trước khi đóng gói." | |
| }, | |
| "POMEGRANATE_Alternaria_Pomegranate": { | |
| "status": "warning", | |
| "fruit": "Lựu", | |
| "severity": "Trung bình", | |
| "description": "Bệnh thối tim Alternaria xâm nhập từ đài hoa làm các hạt lựu bên trong chuyển màu đen thối chua.", | |
| "treatment": "Phun thuốc phòng trừ nấm ngay từ giai đoạn rụng cánh hoa." | |
| }, | |
| "POMEGRANATE_Anthracnose_Pomegranate": { | |
| "status": "warning", | |
| "fruit": "Lựu", | |
| "severity": "Trung bình", | |
| "description": "Các vết đốm trũng tròn màu nâu sẫm trên vỏ quả lựu, làm quả kém phát triển và sượng thịt.", | |
| "treatment": "Phun Copper Oxychloride hoặc Carbendazim định kỳ 15 ngày/lần trong mùa mưa." | |
| }, | |
| "POMEGRANATE_Bacterial_Blight_Pomegranate": { | |
| "status": "danger", | |
| "fruit": "Lựu", | |
| "severity": "Rất cao", | |
| "description": "Vết bệnh màu đen góc cạnh, quả bị nứt dọc hình chữ Y hoặc chữ L, rỉ dịch vi khuẩn nguy hiểm.", | |
| "treatment": "Cắt bỏ cành bệnh đem tiêu hủy xa vườn. Phun luân phiên Streptomycin Sulfate và thuốc gốc đồng." | |
| }, | |
| "POMEGRANATE_Cercospora_Pomegranate": { | |
| "status": "warning", | |
| "fruit": "Lựu", | |
| "severity": "Trung bình", | |
| "description": "Các đốm tròn nhỏ viền đen tâm xám (mắt chim) xuất hiện dày đặc trên lá và vỏ lựu.", | |
| "treatment": "Phun phòng Mancozeb hoặc Difenoconazole khi phát hiện các đốm đầu tiên." | |
| }, | |
| "POMEGRANATE_Healthy_Pomegranate": { | |
| "status": "healthy", | |
| "fruit": "Lựu", | |
| "severity": "Không có", | |
| "description": "Quả lựu căng mọng, vỏ đỏ hồng hoặc vàng bóng, không có khuyết tật hay đốm bệnh.", | |
| "treatment": "Tưới nước điều độ giữ ẩm đều, tránh để đất khô kiệt rồi tưới đột ngột làm nứt quả." | |
| } | |
| } | |
| # ============================================================ | |
| # TacNhan.json Integration: Load & Map Pathogen Data | |
| # ============================================================ | |
| PATHOGEN_MAP = {} | |
| if TAC_NHAN_PATH.is_file(): | |
| try: | |
| with open(TAC_NHAN_PATH, "r", encoding="utf-8") as f: | |
| raw_data = json.load(f) | |
| for key, val in raw_data.items(): | |
| nhan_goc = val.get("nhan_goc") | |
| if nhan_goc: | |
| PATHOGEN_MAP[nhan_goc] = val | |
| print(f"[classes.py] Loaded {len(PATHOGEN_MAP)} pathogen entries from TacNhan.json") | |
| except Exception as e: | |
| print(f"[classes.py] Warning: Error reading TacNhan.json: {e}") | |
| def get_pathogen_info(class_name: str) -> dict: | |
| """Retrieve detailed pathogen cause information for a specific class.""" | |
| if class_name in PATHOGEN_MAP: | |
| return PATHOGEN_MAP[class_name] | |
| return { | |
| "nhan_goc": class_name, | |
| "ten_tieng_viet": FRUIT_VN_MAP.get(class_name, class_name), | |
| "tac_nhan": [], | |
| "loai": "Không có", | |
| "ghi_chu": "" | |
| } | |