nekomeowww commited on
Commit
dcf6050
·
verified ·
1 Parent(s): 9af99d7

Add Balatro card-corner CNN ONNX model

Browse files
Files changed (3) hide show
  1. .gitattributes +20 -1
  2. README.md +106 -0
  3. onnx/model.onnx +3 -0
.gitattributes CHANGED
@@ -8,6 +8,7 @@
8
  *.h5 filter=lfs diff=lfs merge=lfs -text
9
  *.joblib filter=lfs diff=lfs merge=lfs -text
10
  *.lfs.* filter=lfs diff=lfs merge=lfs -text
 
11
  *.mlmodel filter=lfs diff=lfs merge=lfs -text
12
  *.model filter=lfs diff=lfs merge=lfs -text
13
  *.msgpack filter=lfs diff=lfs merge=lfs -text
@@ -25,7 +26,6 @@
25
  *.safetensors filter=lfs diff=lfs merge=lfs -text
26
  saved_model/**/* filter=lfs diff=lfs merge=lfs -text
27
  *.tar.* filter=lfs diff=lfs merge=lfs -text
28
- *.tar filter=lfs diff=lfs merge=lfs -text
29
  *.tflite filter=lfs diff=lfs merge=lfs -text
30
  *.tgz filter=lfs diff=lfs merge=lfs -text
31
  *.wasm filter=lfs diff=lfs merge=lfs -text
@@ -33,3 +33,22 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8
  *.h5 filter=lfs diff=lfs merge=lfs -text
9
  *.joblib filter=lfs diff=lfs merge=lfs -text
10
  *.lfs.* filter=lfs diff=lfs merge=lfs -text
11
+ *.lz4 filter=lfs diff=lfs merge=lfs -text
12
  *.mlmodel filter=lfs diff=lfs merge=lfs -text
13
  *.model filter=lfs diff=lfs merge=lfs -text
14
  *.msgpack filter=lfs diff=lfs merge=lfs -text
 
26
  *.safetensors filter=lfs diff=lfs merge=lfs -text
27
  saved_model/**/* filter=lfs diff=lfs merge=lfs -text
28
  *.tar.* filter=lfs diff=lfs merge=lfs -text
 
29
  *.tflite filter=lfs diff=lfs merge=lfs -text
30
  *.tgz filter=lfs diff=lfs merge=lfs -text
31
  *.wasm filter=lfs diff=lfs merge=lfs -text
 
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
36
+ # Audio files - uncompressed
37
+ *.pcm filter=lfs diff=lfs merge=lfs -text
38
+ *.sam filter=lfs diff=lfs merge=lfs -text
39
+ *.raw filter=lfs diff=lfs merge=lfs -text
40
+ # Audio files - compressed
41
+ *.aac filter=lfs diff=lfs merge=lfs -text
42
+ *.flac filter=lfs diff=lfs merge=lfs -text
43
+ *.mp3 filter=lfs diff=lfs merge=lfs -text
44
+ *.ogg filter=lfs diff=lfs merge=lfs -text
45
+ *.wav filter=lfs diff=lfs merge=lfs -text
46
+ # Image files - uncompressed
47
+ *.bmp filter=lfs diff=lfs merge=lfs -text
48
+ *.gif filter=lfs diff=lfs merge=lfs -text
49
+ *.png filter=lfs diff=lfs merge=lfs -text
50
+ *.tiff filter=lfs diff=lfs merge=lfs -text
51
+ # Image files - compressed
52
+ *.jpg filter=lfs diff=lfs merge=lfs -text
53
+ *.jpeg filter=lfs diff=lfs merge=lfs -text
54
+ *.webp filter=lfs diff=lfs merge=lfs -text
README.md ADDED
@@ -0,0 +1,106 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ language:
3
+ - en
4
+ - multilingual
5
+
6
+ license: mit
7
+
8
+ tags:
9
+ - CNN
10
+ - ONNX
11
+ - onnxruntime
12
+ - Balatro
13
+
14
+ datasets:
15
+ - proj-airi/games-balatro-2024-entities-detection
16
+ ---
17
+
18
+ # Balatro (2024, game) card-corner classifier
19
+
20
+ This model classifies cropped Balatro card corners into rank and suit labels.
21
+ It is a small shared-backbone CNN, not an Ultralytics YOLO classifier.
22
+
23
+ ## ONNX Interface
24
+
25
+ The exported ONNX model is available at:
26
+
27
+ ```text
28
+ onnx/model.onnx
29
+ ```
30
+
31
+ Input:
32
+
33
+ ```text
34
+ images: float32[batch, 3, 64, 64]
35
+ ```
36
+
37
+ Outputs:
38
+
39
+ ```text
40
+ rank_logits: float32[batch, 13]
41
+ suit_logits: float32[batch, 4]
42
+ ```
43
+
44
+ Rank label order:
45
+
46
+ ```text
47
+ A, 2, 3, 4, 5, 6, 7, 8, 9, 10, J, Q, K
48
+ ```
49
+
50
+ Suit label order:
51
+
52
+ ```text
53
+ spades, hearts, clubs, diamonds
54
+ ```
55
+
56
+ ## Training Run
57
+
58
+ The recovered local training run is stored at:
59
+
60
+ ```text
61
+ runs/classify/card-corner-cnn/mps-aug-weighted-seed2-latest
62
+ ```
63
+
64
+ The run includes `args.json`, `metrics.json`, PyTorch checkpoints, and a copy
65
+ of the exported ONNX model under `onnx/model.onnx`.
66
+
67
+ Best validation metrics from the recovered run:
68
+
69
+ ```text
70
+ rank_accuracy: 0.8387096774193549
71
+ suit_accuracy: 1.0
72
+ exact_accuracy: 0.8387096774193549
73
+ ```
74
+
75
+ ## Export
76
+
77
+ Use the export utility to regenerate the ONNX artifact from a checkpoint:
78
+
79
+ ```bash
80
+ pixi run python cli/export-card-corner-classifier-onnx.py \
81
+ --checkpoint runs/classify/card-corner-cnn/mps-aug-weighted-seed2-latest/card-corner-classifier-best.pt \
82
+ --output models/games-balatro-2024-card-corner-classifier/onnx/model.onnx
83
+ ```
84
+
85
+ ## Publish
86
+
87
+ After authenticating with Hugging Face, upload this model directory as the model
88
+ repository root:
89
+
90
+ ```bash
91
+ pixi run python - <<'PY'
92
+ from huggingface_hub import HfApi
93
+
94
+ repo_id = 'proj-airi/games-balatro-2024-card-corner-classifier'
95
+ folder = 'models/games-balatro-2024-card-corner-classifier'
96
+
97
+ api = HfApi()
98
+ api.create_repo(repo_id=repo_id, repo_type='model', exist_ok=True)
99
+ api.upload_folder(
100
+ repo_id=repo_id,
101
+ repo_type='model',
102
+ folder_path=folder,
103
+ commit_message='Add Balatro card-corner CNN ONNX model',
104
+ )
105
+ PY
106
+ ```
onnx/model.onnx ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:8ece8aabd5bafd9a4be31f93eb1122a9756a6e23b1b8e1c4773dff640741916b
3
+ size 2772679