Instructions to use ANSEONGMIN/hanja-swinv2 with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- timm
How to use ANSEONGMIN/hanja-swinv2 with timm:
import timm model = timm.create_model("hf_hub:ANSEONGMIN/hanja-swinv2", pretrained=True) - Notebooks
- Google Colab
- Kaggle
- ποΈ Hanja Swin Transformer V2 (ANSEONGMIN/hanja-swinv2)
ποΈ Hanja Swin Transformer V2 (ANSEONGMIN/hanja-swinv2)
ANSEONGMIN/hanja-swinv2λ μ€λ μΈμ ννμ λ§λͺ¨λ‘ νΌμλ νκ΅ κΈμλ¬Έ/κ³ λ¬Έμ νλ³Έ μ΄λ―Έμ§λ₯Ό 볡μνκ³ μλ νλ
νκΈ° μν΄ νμ΅λ Swin Transformer V2 κΈ°λ° 13,974μ’
νμ λΉμ λΆλ₯ λͺ¨λΈμ
λλ€. κ³ λ €λνκ΅ μ§λ₯μ 보 SWμμΉ΄λ°λ―Έ μ΅μ’
νλ‘μ νΈ κ²½μ§λνμμ **λμ(μ 보ν΅μ κΈ°ννκ°μμ₯μ)**μ μμν EpiText νλ‘μ νΈμ ν΅μ¬ λΉμ AI μμ§μ
λλ€.
π EpiText νλ‘μ νΈ μνκ³ (Ecosystem & Models)
EpiText μμ€ν μ **λΉμ λͺ¨λΈ(Swin V2)**κ³Ό **κ³ μ νλ¬Έ λ¬Έλ§₯ μΈμ΄ λͺ¨λΈ(SikuRoBERTa)**μ λ©ν°λͺ¨λ¬ μμλΈλ‘ ꡬλλ©λλ€.
| λͺ¨λΈ / μ μ₯μ | λ§ν¬ | μ€λͺ λ° λ΄λΉ μν |
|---|---|---|
| ποΈ Vision AI Model | ANSEONGMIN/hanja-swinv2 | (νμ¬ λͺ¨λΈ) 13,974μ’ κ³ λ¬Έμ νμ λΉμ μΈμ (Swin V2 Small) |
| π NLP Context Model | jhangyejin/epitext-sikuroberta | μ¬κ³ μ μ(εεΊ«ε ¨ζΈ) κΈ°λ° κ³ μ λ¬Έλ§₯ μΆλ‘ λ° κ΅¬λμ /μ€μΈμ 보μ (SikuRoBERTa MLM) |
| π¬ Core Research Repo | rntqkdl/Epitext_Project | λ°μ΄ν° μ μ , λ‘±ν μΌ μμ€ ν¨μ μ€κ³, λͺ¨λΈ νμ΅ λ° νκ° μμΉ΄μ΄λΈ |
| βοΈ Production Backend | jincerity/Epitext_Back | FastAPI λΉλκΈ° μΈνΌλ°μ€ μλ² λ° Docker 컨ν μ΄λ μλΉ |
| π» Production Frontend | jincerity/Epitext_Front | νλ³Έ μ΄λ―Έμ§ μ λ‘λ λ° Grad-CAM ννΈλ§΅ μκ°ν UI |
π λͺ¨λΈ μ±λ₯ μ§ν (Model Performance)
| νκ°μ§ν | μμΉ (Metrics) | λΉκ³ |
|---|---|---|
| Top-1 Classification Accuracy | 96.63% | 13,974μ’ κ·Ήλ¨μ λ‘±ν μΌ λΆκ· ν νκ²½ |
| Top-5 Classification Accuracy | 99.38% | μμ 5κ° ν보 λ΄ μ λ΅ ν¬ν¨λ₯ |
| Rare Class Detection Rate | 92.40% | μν μ 1~2κ° ν¬κ· νμ νμ§μ¨ |
| Baseline λλΉ ν₯μλ | +38.23%p | κΈ°μ‘΄ ResNet50(58.40%) λλΉ μ±λ₯ λΉμ½μ μμΉ |
π οΈ λͺ¨λΈ μν€ν μ² λ° νμ΅ μ€ν (Architecture & Training)
- κΈ°λ° μν€ν
μ²:
swinv2_small_window16_256(timmκΈ°λ°, Window Size 16) - μ λ ₯ ν΄μλ: $256 \times 256 \times 3$ (RGB)
- μ΄ ν΄λμ€ μ: 13,974 Classes (
char_mapping.json) - λ°μ΄ν°μ
κ·λͺ¨:
- μμ² μμ§ λ°μ΄ν°: κ·μ₯κ°, κ΅μ¬νΈμ°¬μμν(κ³ λμ¬λ£, κ³ λ €μ¬λ£), κΈμλ¬Έ μ‘°μ¬λ³΄κ³ μ(2018~2023), μ§μμ΄μ λ± μ΄ 13,966κ° νλ³Έ μ΄λ―Έμ§ / 8,759κ° νλ λ¬Έ / 6,345κ° λ²μλ¬Έ
- νμ§ μ μ : 7κ°μ§ νμ§ μ§ν(μ‘°λͺ
, λͺ
μλΉ, λΈλ¬, λ
Έμ΄μ¦, λ§μ€ν¬) κΈ°λ° IQR νν°λ§ λ° EasyOCR(
ch_tra) νν°λ§μ ν΅ν΄ κ³ νμ§ λ°μ΄ν°μ ν보.
- νμ΅ νλΌλ―Έν°:
- Effective Batch Size: 576 (Batch 192 $\times$ Gradient Accumulation 3), Mixed Precision(AMP)
- 2-Tier μ°¨λ± νμ΅λ₯ : Backbone (
3e-5) / Classification Head (3e-4) - μ€μΌμ€λ¬: Cosine Annealing with Warmup (5 Epochs)
- λΆκ· ν μμ€ ν¨μ: λΉλμ μ κ³±κ·Ό μμ κ°μ€μΉ ($w_c = (1/N_c)^{0.5}$) Cross-Entropy Loss
π λΉ λ₯Έ μμ (Quick Start / How to Use)
1. ν¨ν€μ§ μ€μΉ
pip install torch torchvision timm pillow
2. νμ΄μ¬ μΆλ‘ μμ μ½λ (Inference Pipeline)
import torch
import torch.nn as nn
import timm
from torchvision import transforms
from PIL import Image
import json
# 1. λͺ¨λΈ μν€ν
μ² μ μ (13,974 ν΄λμ€)
model = timm.create_model("swinv2_small_window16_256", pretrained=False, num_classes=13974)
# 2. Hugging Face κ°μ€μΉ λ‘λ (λ‘컬 체ν¬ν¬μΈνΈ λλ HF Hub λ€μ΄λ‘λ)
checkpoint_path = "swin_checkpoint.pth" # Hugging Face Repo νμΌ κ²½λ‘
checkpoint = torch.load(checkpoint_path, map_location="cpu")
model.load_state_dict(checkpoint["model_state_dict"] if "model_state_dict" in checkpoint else checkpoint)
model.eval()
# 3. μ΄λ―Έμ§ μ μ²λ¦¬ νμ΄νλΌμΈ (256x256)
transform = transforms.Compose([
transforms.Resize((256, 256)),
transforms.ToTensor(),
transforms.Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225])
])
# 4. νλ³Έ μ΄λ―Έμ§ μμΈ‘ μν
image_path = "sample_takbon.jpg"
image = Image.open(image_path).convert("RGB")
input_tensor = transform(image).unsqueeze(0)
with torch.no_grad():
outputs = model(input_tensor)
probabilities = torch.softmax(outputs, dim=1)
top5_prob, top5_indices = torch.topk(probabilities, 5)
print("=== Top-5 Hanja Prediction ===")
for i in range(5):
idx = top5_indices[0][i].item()
prob = top5_prob[0][i].item()
print(f"Top-{i+1}: Class Index {idx} (Probability: {prob*100:.2f}%)")
π¬ NLP μμλΈ μ°λ (SikuRoBERTa)
λΉμ λͺ¨λΈμ΄ μμΈ‘ν Top-5 νμ ν보ꡰμ jhangyejin/epitext-sikuroberta λͺ¨λΈκ³Ό κ²°ν©λμ΄, μλ€ λ¬Έλ§₯(MLM)μ κ°μ₯ μμ°μ€λ¬μ΄ νμλ‘ μ΅μ’ 보μ (Post-Correction)λ©λλ€.
π Citation & License
- License: MIT License
- Academic Inquiries: κ³ λ €λνκ΅ μ§λ₯μ 보 SWμμΉ΄λ°λ―Έ 7κΈ° EpiText Team (μμ±λ―Ό:
tjdals2299@gmail.com)
- Downloads last month
- -