Views
No views yet
convnext_base.fb_in22k_ft_in1k)를 백본으로 두 단계 학습:| Split | Top-1 Accuracy |
|---|---|
| Validation (best) | 94.05% |
| Test mean per-class | 93.48% |
| Test median per-class | 94.12% |
Dracaena_fragrans_Compacta, Radermachera_sinica, Howea_forsteriana, Dypsis_lutescens)summary_class_confusion.txt 참고.1import json
2import timm
3import torch
4from PIL import Image
5from huggingface_hub import hf_hub_download
6from safetensors.torch import load_file
7
8REPO = "dkrak737/sunshine-plants-convnext-384"
9
10with open(hf_hub_download(REPO, "labels.json"), "r") as f:
11 labels = json.load(f)
12class_names = [labels["id2label"][str(i)] for i in range(labels["num_classes"])]
13
14model = timm.create_model(
15 "convnext_base.fb_in22k_ft_in1k",
16 pretrained=False,
17 num_classes=len(class_names),
18)
19model.load_state_dict(load_file(hf_hub_download(REPO, "model.safetensors")))
20model.eval()
21
22cfg = timm.data.resolve_model_data_config(model)
23cfg["input_size"] = (3, 384, 384)
24transform = timm.data.create_transform(**cfg, is_training=False)
25
26img = Image.open("plant.jpg").convert("RGB")
27with torch.inference_mode():
28 probs = model(transform(img).unsqueeze(0)).softmax(-1)[0]
29 top = probs.topk(5)
30for p, i in zip(top.values, top.indices):
31 print(f"{p.item()*100:6.2f}% {class_names[i]}")app.py가 포함되어 있어, 로컬에서 바로 띄울 수 있습니다:1git clone https://huggingface.co/dkrak737/sunshine-plants-convnext-384
2cd sunshine-plants-convnext-384
3pip install -r requirements.txt
4python app.py
5# → http://localhost:7860| 항목 | 값 |
|---|---|
| Backbone | convnext_base.fb_in22k_ft_in1k (timm) |
| Pretrain | ImageNet-22k → ImageNet-1k |
| Stage 1 | 224×224, 37 epochs |
| Stage 2 | 384×384, 11 epochs (fine-tune) |
| Optimizer | AdamW + layer-wise LR decay |
| EMA | enabled (ModelEma) |
| Augmentation | timm default + RandAugment |
| Hardware | RunPod GPU |
class_names.txt 또는 labels.json (id↔label 매핑)D_fragrans_Compacta 69.6%, D_draco 84.0%, D_sanderiana 88.2%. 잎 형태가 매우 유사한 변종들로, 변종 통합 또는 추가 데이터 필요.Radermachera_sinica ↔ Heteropanax_fragrans 8건, Howea_forsteriana ↔ Dypsis_lutescens 6건. 다른 속끼리의 혼동이라 진짜 약점.Rosa_David_Austin ↔ Rosa_chinensis_minima.timm/convnext_base.fb_in22k_ft_in1k 와 동일 (Apache 2.0)@misc{sunshine-plants-2026,
author = {dkrak737},
title = {Sunshine Plants Classifier (ConvNeXt-Base 384, 113 classes)},
year = {2026},
howpublished = {\url{https://huggingface.co/dkrak737/sunshine-plants-convnext-384}}
}