Instructions to use rociiu/yolo-go-stone-classifier with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- ultralytics
How to use rociiu/yolo-go-stone-classifier with ultralytics:
from huggingface_hub import hf_hub_download from ultralytics import YOLO # pick the weights file from this repo's "Files and versions" tab weights = hf_hub_download("rociiu/yolo-go-stone-classifier", "<weights>.pt") model = YOLO(weights) source = 'http://images.cocodataset.org/val2017/000000039769.jpg' model.predict(source=source, save=True) - Notebooks
- Google Colab
- Kaggle
Download README.md from rociiu/yolo-go-stone-classifier: direct link, hf CLI and curl.
- Browser
- Download file 3.64 kB
-
https://huggingface.co/rociiu/yolo-go-stone-classifier/resolve/main/README.md
- Command line
-
hf download hf://rociiu/yolo-go-stone-classifier/README.md
-
curl -L -o README.md https://huggingface.co/rociiu/yolo-go-stone-classifier/resolve/main/README.md
license: mit
language:
- en
tags:
- yolo
- yolov8
- ultralytics
- go
- baduk
- weiqi
- board-game
- image-classification
- computer-vision
- coreml
- ios
datasets:
- rociiu/go-board-patches
metrics:
- accuracy
model-index:
- name: yolo-go-stone-classifier
results:
- task:
type: image-classification
dataset:
type: go-board-patches
name: Go Board Stone Patches
metrics:
- type: accuracy
value: 1
name: Top-1 Accuracy
- type: val_loss
value: 0.00011
YOLOv8n-cls Go Stone Classifier
A fine-tuned YOLOv8n-cls model that classifies 64Γ64 image patches from a Go board into three classes: empty, black stone, or white stone. Trained on synthetic board renders from SGF game records, then exported to Core ML for on-device inference on iOS.
Model Details
| Base Model | yolov8n-cls.pt (Ultralytics YOLOv8 Nano) |
| Task | Image Classification (3 classes) |
| Input Size | 64Γ64 pixels |
| Classes | empty, black, white |
| Framework | Ultralytics YOLOv8 |
| Training Device | Apple MPS (Metal Performance Shaders) |
| Optimizer | AdamW |
| Epochs | 30 (early stopped at 17) |
| Batch Size | 128 |
| Learning Rate | 0.001 (cosine schedule) |
Performance
| Metric | Value |
|---|---|
| Top-1 Accuracy | 100% |
| Top-5 Accuracy | 100% |
| Best Val Loss | 0.00011 (epoch 17) |
| Best Train Loss | 0.00204 (epoch 14) |
The model converges rapidly β reaching >99.9% accuracy by epoch 1 β because the 64Γ64 patch classification task is well-separated for these three classes.
Training Data
Synthetic 64Γ64 image patches extracted from Go board renders generated from SGF game records. The dataset includes:
- Renders with realistic stone textures, grid lines, star points
- Multiple renders per board state (3 renders with random augmentation)
- Up to 10 board snapshots per SGF game
- Dataset split: 70% train / 15% val / 15% test
Repository Contents
.
βββ weights/
β βββ best.pt # Best checkpoint (val_loss=0.00011)
β βββ last.pt # Final epoch checkpoint
βββ args.yaml # Training configuration
βββ results.csv # Per-epoch metrics
βββ results.png # Training curves
βββ confusion_matrix.png # Confusion matrix
βββ confusion_matrix_normalized.png
βββ best.mlpackage/ # Core ML export for iOS
βββ Manifest.json
βββ Data/com.apple.CoreML/
βββ model.mlmodel
βββ weights/weight.bin
Usage
Python (Ultralytics)
from ultralytics import YOLO
model = YOLO("best.pt")
results = model("path/to/go_board.jpg")
iOS (Core ML)
Drop best.mlpackage into your Xcode project. The model accepts a 64Γ64 RGB image and outputs class probabilities for empty/black/white.
import CoreML
import Vision
guard let model = try? VNCoreMLModel(for: go_stone_classifier().model) else { return }
let request = VNCoreMLRequest(model: model) { request, error in
if let results = request.results as? [VNClassificationObservation] {
for result in results {
print("\(result.identifier): \(result.confidence)")
}
}
}
Citation
If you use this model, please cite:
@misc{yolo-go-stone-classifier,
author = {rociiu},
title = {YOLOv8n-cls Go Stone Classifier},
year = {2026},
publisher = {Hugging Face},
howpublished = {\url{https://huggingface.co/rociiu/yolo-go-stone-classifier}},
}
License
MIT