Instructions to use dkrak737/sunshine-plants-convnext-384 with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- timm
How to use dkrak737/sunshine-plants-convnext-384 with timm:
import timm model = timm.create_model("hf_hub:dkrak737/sunshine-plants-convnext-384", pretrained=True) - Notebooks
- Google Colab
- Kaggle
Sunshine Plants Classifier (ConvNeXt-Base @ 384, 113 classes)
113๊ฐ์ง ์๋ฌผ(๊ด์ฝ/ํ๋ธ/๊ฝ/๋ค์ก ๋ฑ) ์ด๋ฏธ์ง๋ฅผ ๋ถ๋ฅํ๋ ConvNeXt-Base ๋ชจ๋ธ์
๋๋ค.
ImageNet-22k ์ฌ์ ํ์ต๋ timm ๊ฐ์ค์น(convnext_base.fb_in22k_ft_in1k)๋ฅผ ๋ฐฑ๋ณธ์ผ๋ก ๋ ๋จ๊ณ ํ์ต:
- 224 ํด์๋ 37 epoch ํ์ต โ val_acc 93.29%
- 384 ํด์๋ 11 epoch ํ์ธํ๋ โ val_acc 94.05%
์ฑ๋ฅ
| Split | Top-1 Accuracy |
|---|---|
| Validation (best) | 94.05% |
| Test mean per-class | 93.48% |
| Test median per-class | 94.12% |
- 100% ์ ํ ํด๋์ค: 24๊ฐ
- 80% ๋ฏธ๋ง ์ฝ์ ํด๋์ค: 4๊ฐ (
Dracaena_fragrans_Compacta,Radermachera_sinica,Howea_forsteriana,Dypsis_lutescens) - ๊ฐ์ ์(genus) ๋ด๋ถ ํผ๋: 22.7% (๋ณ์ข ํตํฉ์ผ๋ก ๊ฐ์ ์ฌ์ง)
์์ธํ ํด๋์ค๋ณ ์ ํ๋์ ํผ๋ ๋ถ์์ summary_class_confusion.txt ์ฐธ๊ณ .
์ฌ์ฉ๋ฒ
timm + safetensors (๊ถ์ฅ)
import json
import timm
import torch
from PIL import Image
from huggingface_hub import hf_hub_download
from safetensors.torch import load_file
REPO = "dkrak737/sunshine-plants-convnext-384"
with open(hf_hub_download(REPO, "labels.json"), "r") as f:
labels = json.load(f)
class_names = [labels["id2label"][str(i)] for i in range(labels["num_classes"])]
model = timm.create_model(
"convnext_base.fb_in22k_ft_in1k",
pretrained=False,
num_classes=len(class_names),
)
model.load_state_dict(load_file(hf_hub_download(REPO, "model.safetensors")))
model.eval()
cfg = timm.data.resolve_model_data_config(model)
cfg["input_size"] = (3, 384, 384)
transform = timm.data.create_transform(**cfg, is_training=False)
img = Image.open("plant.jpg").convert("RGB")
with torch.inference_mode():
probs = model(transform(img).unsqueeze(0)).softmax(-1)[0]
top = probs.topk(5)
for p, i in zip(top.values, top.indices):
print(f"{p.item()*100:6.2f}% {class_names[i]}")
Gradio ๋ฐ๋ชจ
์ด ๋ ํฌ์๋ app.py๊ฐ ํฌํจ๋์ด ์์ด, ๋ก์ปฌ์์ ๋ฐ๋ก ๋์ธ ์ ์์ต๋๋ค:
git clone https://huggingface.co/dkrak737/sunshine-plants-convnext-384
cd sunshine-plants-convnext-384
pip install -r requirements.txt
python app.py
# โ http://localhost:7860
๋๋ Hugging Face Space๋ก ๋ฐฐํฌํด ๋ธ๋ผ์ฐ์ ์์ ๋ฐ๋ก ์ฌ์ฉํ ์๋ ์์ต๋๋ค (SDK: gradio).
ํ์ต ์ธํ
| ํญ๋ชฉ | ๊ฐ |
|---|---|
| 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 |
์ ๋ ฅ/์ถ๋ ฅ
- ์ ๋ ฅ: RGB ์ด๋ฏธ์ง (timm transform, 384ร384, ImageNet ์ ๊ทํ)
- ์ถ๋ ฅ: 113-dim logits โ softmax ํ๋ฅ
- ํด๋์ค ๋ชฉ๋ก:
class_names.txt๋๋labels.json(idโlabel ๋งคํ)
ํ๊ณ ๋ฐ ์ฝ์
ํ์ต ๋ฐ์ดํฐ์ ๋ถ์ ๊ธฐ์ค์ผ๋ก ์๋ ค์ง ์ฝ์ :
- Dracaena ์ ๋ณ์ข
๊ตฌ๋ถ ์ด๋ ค์ โ
D_fragrans_Compacta69.6%,D_draco84.0%,D_sanderiana88.2%. ์ ํํ๊ฐ ๋งค์ฐ ์ ์ฌํ ๋ณ์ข ๋ค๋ก, ๋ณ์ข ํตํฉ ๋๋ ์ถ๊ฐ ๋ฐ์ดํฐ ํ์. - ์ผ์ ๊ณ์ด ํผ๋ โ
Radermachera_sinicaโHeteropanax_fragrans8๊ฑด,Howea_forsterianaโDypsis_lutescens6๊ฑด. ๋ค๋ฅธ ์๋ผ๋ฆฌ์ ํผ๋์ด๋ผ ์ง์ง ์ฝ์ . - ์ฅ๋ฏธ ๋ณ์ข
โ
Rosa_David_AustinโRosa_chinensis_minima. - ํ์ต ๋ฐ์ดํฐ์ ์๋ ์ข ์ ๋ถ๋ฅ ๋ถ๊ฐ๋ฅ (๊ฐ์ฅ ๊ฐ๊น์ด 113๊ฐ ์ค ํ๋๋ก ๊ฐ์ ๋ถ๋ฅ๋จ).
๋ผ์ด์ ์ค
- ๋ชจ๋ธ ๊ฐ์ค์น: Apache 2.0
- ๋ฐฑ๋ณธ ๋ผ์ด์ ์ค:
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}}
}
- Downloads last month
- 20
Model tree for dkrak737/sunshine-plants-convnext-384
Base model
timm/convnext_base.fb_in22k_ft_in1k