priyadeepjaiswal9c commited on
Commit
37aae04
·
verified ·
1 Parent(s): 7e30c36

model + card + eval artifacts

Browse files
Files changed (4) hide show
  1. README.md +12 -10
  2. best.pt +2 -2
  3. confusion_matrix.png +0 -0
  4. metrics.json +101 -101
README.md CHANGED
@@ -28,11 +28,10 @@ audio → 64×101 log-mel spectrogram. Output: one of 12 classes — the keyword
28
  CC-BY-4.0): 105,829 one-second utterances, 35 words. Official
29
  validation/testing lists (speaker-disjoint); "unknown" = seeded 10% sample
30
  of the 25 non-keyword words; "silence" = background-noise crops.
31
- - **Training recipe**: AdamW lr 3e-3 (cosine-annealed), batch 128, label
32
- smoothing 0.1, fp32. Augmentation: ±100 ms time-shift + background-noise
33
- mixing (p=0.8, vol U(0,0.1)).
34
- - **This checkpoint**: 3 epochs on Apple M2 (MPS) — an interim model; a
35
- 30-epoch Colab T4 run will replace it (this card will be updated).
36
  - **Features**: log-mel, 64 mels, 25 ms window / 10 ms hop, normalized by
37
  train-set global mean/std (stored inside the checkpoint).
38
 
@@ -41,12 +40,15 @@ audio → 64×101 log-mel spectrogram. Output: one of 12 classes — the keyword
41
  <!-- METRICS_TABLE: produced by evaluate.py, never hand-written -->
42
  | metric | value |
43
  |---|---|
44
- | accuracy | 95.38% |
45
- | macro-F1 | 95.35% |
46
- | CPU latency (batch=1, 1 thread, Apple M2) | 1.86 ms mean / 1.96 ms p95 |
47
 
48
- Per-class F1 and the confusion matrix: see `metrics.json` and
49
- `confusion_matrix.png` in this repo.
 
 
 
50
 
51
  ## Usage
52
 
 
28
  CC-BY-4.0): 105,829 one-second utterances, 35 words. Official
29
  validation/testing lists (speaker-disjoint); "unknown" = seeded 10% sample
30
  of the 25 non-keyword words; "silence" = background-noise crops.
31
+ - **Training**: 30 epochs on a free Colab T4 (GPU), AdamW lr 3e-3
32
+ (cosine-annealed), batch 128, label smoothing 0.1, fp32. Best validation
33
+ accuracy 96.15% at epoch 30. Augmentation: ±100 ms time-shift +
34
+ background-noise mixing (p=0.8, vol U(0,0.1)).
 
35
  - **Features**: log-mel, 64 mels, 25 ms window / 10 ms hop, normalized by
36
  train-set global mean/std (stored inside the checkpoint).
37
 
 
40
  <!-- METRICS_TABLE: produced by evaluate.py, never hand-written -->
41
  | metric | value |
42
  |---|---|
43
+ | accuracy | 96.65% |
44
+ | macro-F1 | 96.64% |
45
+ | CPU latency (batch=1, 1 thread, Apple M2) | 1.90 ms mean / 2.08 ms p95 |
46
 
47
+ Per-class F1 ranges from 0.921 ("unknown", the hardest class) to 0.998
48
+ ("silence"); all 10 keywords score ≥0.94. Full per-class table and the
49
+ confusion matrix: see `metrics.json` and `confusion_matrix.png` in this repo.
50
+ Evaluating this checkpoint on the Colab T4 and on an Apple M2 produced
51
+ bit-for-bit identical metrics (reproducible across devices).
52
 
53
  ## Usage
54
 
best.pt CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:4f872d71c4fe13745e997121616928efba7cbf01ff6f22b1e4640db1564535d5
3
- size 504897
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:3ec8eed15c9db102f524022beae1455aca2ad46460f665fcf78c40410445c1df
3
+ size 507969
confusion_matrix.png CHANGED
metrics.json CHANGED
@@ -1,81 +1,81 @@
1
  {
2
  "checkpoint": "checkpoints/best.pt",
3
- "trained_epochs": 3,
4
  "test_set": "official speech_commands_test_set_v0.02",
5
  "n_test": 4890,
6
- "accuracy": 0.9537832310838446,
7
- "macro_f1": 0.9535491997697852,
8
  "per_class": {
9
  "silence": {
10
- "precision": 0.9645390070921985,
11
  "recall": 1.0,
12
- "f1-score": 0.9819494584837545,
13
  "support": 408.0
14
  },
15
  "unknown": {
16
- "precision": 0.8866498740554156,
17
- "recall": 0.8627450980392157,
18
- "f1-score": 0.8745341614906832,
19
  "support": 408.0
20
  },
21
  "yes": {
22
- "precision": 0.988009592326139,
23
  "recall": 0.9832935560859188,
24
- "f1-score": 0.9856459330143541,
25
  "support": 419.0
26
  },
27
  "no": {
28
- "precision": 0.9383886255924171,
29
- "recall": 0.9777777777777777,
30
- "f1-score": 0.9576783555018138,
31
  "support": 405.0
32
  },
33
  "up": {
34
- "precision": 0.9437939110070258,
35
- "recall": 0.9482352941176471,
36
- "f1-score": 0.9460093896713615,
37
  "support": 425.0
38
  },
39
  "down": {
40
- "precision": 0.9671717171717171,
41
- "recall": 0.9433497536945813,
42
- "f1-score": 0.9551122194513716,
43
  "support": 406.0
44
  },
45
  "left": {
46
- "precision": 0.96875,
47
- "recall": 0.9781553398058253,
48
- "f1-score": 0.9734299516908212,
49
  "support": 412.0
50
  },
51
  "right": {
52
- "precision": 0.9718670076726342,
53
- "recall": 0.9595959595959596,
54
- "f1-score": 0.96569250317662,
55
  "support": 396.0
56
  },
57
  "on": {
58
- "precision": 0.9516539440203562,
59
- "recall": 0.9444444444444444,
60
- "f1-score": 0.9480354879594424,
61
  "support": 396.0
62
  },
63
  "off": {
64
- "precision": 0.94,
65
- "recall": 0.9353233830845771,
66
- "f1-score": 0.9376558603491272,
67
  "support": 402.0
68
  },
69
  "stop": {
70
- "precision": 0.9852941176470589,
71
- "recall": 0.9781021897810219,
72
- "f1-score": 0.9816849816849816,
73
  "support": 411.0
74
  },
75
  "go": {
76
- "precision": 0.9375,
77
- "recall": 0.9328358208955224,
78
- "f1-score": 0.9351620947630923,
79
  "support": 402.0
80
  }
81
  },
@@ -95,166 +95,166 @@
95
  0
96
  ],
97
  [
 
 
 
98
  2,
99
- 352,
100
- 2,
101
- 5,
102
- 6,
103
- 5,
104
- 5,
105
- 9,
106
- 8,
107
  5,
108
- 2,
109
- 7
 
110
  ],
111
  [
112
- 1,
113
- 4,
114
- 412,
115
  0,
 
 
116
  0,
117
  0,
118
- 2,
119
  0,
 
120
  0,
121
  0,
 
122
  0,
123
  0
124
  ],
125
  [
126
  0,
 
127
  0,
 
128
  0,
129
- 396,
130
- 0,
131
- 3,
132
- 1,
133
  0,
134
  0,
135
  0,
136
  0,
137
- 5
138
  ],
139
  [
 
140
  2,
141
- 7,
142
  0,
143
  0,
144
- 403,
145
  0,
146
  0,
147
  0,
148
- 4,
149
  6,
150
- 3,
 
151
  0
152
  ],
153
  [
154
- 1,
155
- 5,
156
- 1,
157
- 8,
158
  0,
159
- 383,
160
  0,
 
161
  2,
 
 
162
  1,
163
  0,
164
  0,
 
165
  5
166
  ],
167
  [
168
- 1,
169
- 5,
170
- 1,
171
  0,
 
172
  1,
173
- 1,
174
- 403,
175
  0,
 
 
 
 
176
  0,
177
  0,
178
  0,
179
  0
180
  ],
181
  [
182
- 1,
183
- 10,
 
184
  0,
185
  1,
186
  1,
187
  0,
188
- 2,
189
- 380,
190
- 0,
191
  1,
192
  0,
193
- 0
194
  ],
195
  [
 
196
  3,
197
- 5,
198
  0,
199
  0,
200
  3,
201
  0,
202
- 1,
203
  0,
204
- 374,
205
- 8,
206
  0,
207
- 2
 
 
 
208
  ],
209
  [
 
210
  1,
211
- 4,
212
  0,
213
  0,
214
- 11,
 
215
  0,
216
  0,
 
 
217
  0,
218
- 5,
219
- 376,
220
- 1,
221
- 4
222
  ],
223
  [
224
  0,
225
  2,
226
  0,
227
  0,
228
- 1,
229
  2,
230
  0,
231
  0,
232
  0,
233
- 2,
234
- 402,
235
- 2
236
  ],
237
  [
238
- 3,
239
- 3,
240
- 1,
241
- 12,
242
- 1,
243
- 2,
244
  2,
245
  0,
 
 
246
  1,
247
  2,
248
  0,
249
- 375
 
 
 
250
  ]
251
  ],
252
  "n_parameters": 119372,
253
  "weight_file_mb": 0.506619,
254
  "cpu_latency": {
255
- "mean_ms": 1.8594329250845476,
256
- "p50_ms": 1.8418545005260967,
257
- "p95_ms": 1.9583475965191608,
258
  "runs": 200,
259
  "threads": 1
260
  }
 
1
  {
2
  "checkpoint": "checkpoints/best.pt",
3
+ "trained_epochs": 30,
4
  "test_set": "official speech_commands_test_set_v0.02",
5
  "n_test": 4890,
6
+ "accuracy": 0.9664621676891616,
7
+ "macro_f1": 0.9664371919645123,
8
  "per_class": {
9
  "silence": {
10
+ "precision": 0.9951219512195122,
11
  "recall": 1.0,
12
+ "f1-score": 0.9975550122249389,
13
  "support": 408.0
14
  },
15
  "unknown": {
16
+ "precision": 0.927860696517413,
17
+ "recall": 0.9142156862745098,
18
+ "f1-score": 0.9209876543209876,
19
  "support": 408.0
20
  },
21
  "yes": {
22
+ "precision": 0.9951690821256038,
23
  "recall": 0.9832935560859188,
24
+ "f1-score": 0.9891956782713085,
25
  "support": 419.0
26
  },
27
  "no": {
28
+ "precision": 0.9637681159420289,
29
+ "recall": 0.9851851851851852,
30
+ "f1-score": 0.9743589743589743,
31
  "support": 405.0
32
  },
33
  "up": {
34
+ "precision": 0.9253393665158371,
35
+ "recall": 0.9623529411764706,
36
+ "f1-score": 0.9434832756632064,
37
  "support": 425.0
38
  },
39
  "down": {
40
+ "precision": 0.9747474747474747,
41
+ "recall": 0.9507389162561576,
42
+ "f1-score": 0.9625935162094763,
43
  "support": 406.0
44
  },
45
  "left": {
46
+ "precision": 0.973621103117506,
47
+ "recall": 0.9854368932038835,
48
+ "f1-score": 0.9794933655006032,
49
  "support": 412.0
50
  },
51
  "right": {
52
+ "precision": 0.9770992366412213,
53
+ "recall": 0.9696969696969697,
54
+ "f1-score": 0.973384030418251,
55
  "support": 396.0
56
  },
57
  "on": {
58
+ "precision": 0.9620253164556962,
59
+ "recall": 0.9595959595959596,
60
+ "f1-score": 0.9608091024020228,
61
  "support": 396.0
62
  },
63
  "off": {
64
+ "precision": 0.9546599496221663,
65
+ "recall": 0.9427860696517413,
66
+ "f1-score": 0.9486858573216521,
67
  "support": 402.0
68
  },
69
  "stop": {
70
+ "precision": 0.9854014598540146,
71
+ "recall": 0.9854014598540146,
72
+ "f1-score": 0.9854014598540146,
73
  "support": 411.0
74
  },
75
  "go": {
76
+ "precision": 0.9649122807017544,
77
+ "recall": 0.9577114427860697,
78
+ "f1-score": 0.9612983770287141,
79
  "support": 402.0
80
  }
81
  },
 
95
  0
96
  ],
97
  [
98
+ 0,
99
+ 373,
100
+ 1,
101
  2,
102
+ 7,
103
+ 3,
104
+ 4,
105
+ 7,
 
 
 
 
106
  5,
107
+ 1,
108
+ 1,
109
+ 4
110
  ],
111
  [
 
 
 
112
  0,
113
+ 3,
114
+ 412,
115
  0,
116
  0,
 
117
  0,
118
+ 3,
119
  0,
120
  0,
121
+ 1,
122
  0,
123
  0
124
  ],
125
  [
126
  0,
127
+ 2,
128
  0,
129
+ 399,
130
  0,
131
+ 2,
132
+ 2,
 
 
133
  0,
134
  0,
135
  0,
136
  0,
137
+ 0
138
  ],
139
  [
140
+ 1,
141
  2,
 
142
  0,
143
  0,
144
+ 409,
145
  0,
146
  0,
147
  0,
 
148
  6,
149
+ 5,
150
+ 2,
151
  0
152
  ],
153
  [
 
 
 
 
154
  0,
155
+ 5,
156
  0,
157
+ 6,
158
  2,
159
+ 386,
160
+ 0,
161
  1,
162
  0,
163
  0,
164
+ 1,
165
  5
166
  ],
167
  [
 
 
 
168
  0,
169
+ 2,
170
  1,
 
 
171
  0,
172
+ 2,
173
+ 0,
174
+ 406,
175
+ 1,
176
  0,
177
  0,
178
  0,
179
  0
180
  ],
181
  [
182
+ 0,
183
+ 7,
184
+ 0,
185
  0,
186
  1,
187
  1,
188
  0,
189
+ 384,
190
+ 1,
 
191
  1,
192
  0,
193
+ 1
194
  ],
195
  [
196
+ 1,
197
  3,
 
198
  0,
199
  0,
200
  3,
201
  0,
 
202
  0,
 
 
203
  0,
204
+ 380,
205
+ 8,
206
+ 1,
207
+ 0
208
  ],
209
  [
210
+ 0,
211
  1,
 
212
  0,
213
  0,
214
+ 15,
215
+ 1,
216
  0,
217
  0,
218
+ 3,
219
+ 379,
220
  0,
221
+ 3
 
 
 
222
  ],
223
  [
224
  0,
225
  2,
226
  0,
227
  0,
228
+ 0,
229
  2,
230
  0,
231
  0,
232
  0,
233
+ 1,
234
+ 405,
235
+ 1
236
  ],
237
  [
238
+ 0,
 
 
 
 
 
239
  2,
240
  0,
241
+ 7,
242
+ 3,
243
  1,
244
  2,
245
  0,
246
+ 0,
247
+ 1,
248
+ 1,
249
+ 385
250
  ]
251
  ],
252
  "n_parameters": 119372,
253
  "weight_file_mb": 0.506619,
254
  "cpu_latency": {
255
+ "mean_ms": 1.9022779599981732,
256
+ "p50_ms": 1.8711250013438985,
257
+ "p95_ms": 2.0753729018906597,
258
  "runs": 200,
259
  "threads": 1
260
  }