File size: 7,449 Bytes
9b1a2b2
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
{
  "bundle_id": "ff8d28f5e8d0416eb63e7b958b6b950b69dd89a0baca0089f399b20cbc3c529f",
  "class_name": "insect_present",
  "feature_contract": {
    "bundle_schema_version": 1,
    "class_name": "insect_present",
    "event_threshold": 0.9995,
    "feature_dimension": 1536,
    "feature_dtype": "float64",
    "model_slug": "insectnet-dev2-field-probe",
    "perch_model_tree_sha256": "3fb2d54b3e34534f1130052b25737e54bbb5ebfd340ec040d4510772b64c81ff",
    "preprocess_recipe_id": "ffmpeg-mono-32khz-f32le-5s-nonoverlap-v1",
    "runtime_event_config": {
      "merge_gap_samples": 0,
      "sample_rate": 32000
    },
    "score_semantics": "uncalibrated_case_control_ranking_score",
    "source_artifact_sha256": "9cd5f753db357220a180ead0d13019d46f69d469898b9a88bfdb12ca38fecf14",
    "training_manifest_hash": "825c40602fe65611c3bef36c4fc8f7b120913b62a56728b355ccf8f775e178a5",
    "versions": {
      "numpy": "2.4.6",
      "python": "3.11.15",
      "scikit_learn": "1.8.0"
    }
  },
  "grouped_metrics": {
    "test": {
      "macro_average_precision": 0.9407957017869505,
      "macro_f1": 0.8750794784850512,
      "per_class": {
        "cicada": {
          "average_precision": 0.9560167253803571,
          "evaluated_samples": 598,
          "f1": 0.8725490196078431,
          "precision": 0.8725490196078431,
          "recall": 0.8725490196078431,
          "support": 102
        },
        "insect_present": {
          "average_precision": 0.9689711683433123,
          "evaluated_samples": 598,
          "f1": 0.9186813186813186,
          "precision": 0.954337899543379,
          "recall": 0.885593220338983,
          "support": 236
        },
        "orthoptera": {
          "average_precision": 0.8973992116371823,
          "evaluated_samples": 598,
          "f1": 0.8340080971659919,
          "precision": 0.911504424778761,
          "recall": 0.7686567164179104,
          "support": 134
        }
      },
      "samples": 598
    },
    "validation": {
      "macro_average_precision": 0.9418044200300654,
      "macro_f1": 0.8784168127301409,
      "per_class": {
        "cicada": {
          "average_precision": 0.9944732584926053,
          "evaluated_samples": 796,
          "f1": 0.9358752166377816,
          "precision": 0.9642857142857143,
          "recall": 0.9090909090909091,
          "support": 297
        },
        "insect_present": {
          "average_precision": 0.9827087863937448,
          "evaluated_samples": 796,
          "f1": 0.9404466501240695,
          "precision": 0.979328165374677,
          "recall": 0.9045346062052506,
          "support": 419
        },
        "orthoptera": {
          "average_precision": 0.8482312152038461,
          "evaluated_samples": 796,
          "f1": 0.7589285714285714,
          "precision": 0.8333333333333334,
          "recall": 0.6967213114754098,
          "support": 122
        }
      },
      "samples": 796
    }
  },
  "logical_dataset_hash": "825c40602fe65611c3bef36c4fc8f7b120913b62a56728b355ccf8f775e178a5",
  "model_family": "InsectNet",
  "release_id": "insectnet-research-0.3.0-perch2",
  "research_thresholds": {
    "cicada": 0.11,
    "insect_present": 0.85,
    "orthoptera": 0.86
  },
  "retained_window_byte_audit": {
    "hash_mismatches": 0,
    "missing": 0,
    "shared_unique_paths_across_active_heads": 10748
  },
  "rights": {
    "core_releasable_windows": 4137,
    "private_training_windows": 0,
    "research_noncommercial_windows": 1960
  },
  "runtime_slug": "insectnet-dev2-field-probe",
  "samples": 6097,
  "schema_version": 1,
  "source_artifact_public": false,
  "source_artifact_sha256": "9cd5f753db357220a180ead0d13019d46f69d469898b9a88bfdb12ca38fecf14",
  "source_summary": [
    {
      "dataset": "esc50",
      "explicit_or_declared_negative": 1960,
      "groups": 1498,
      "label_authorities": {
        "dataset_category_label": 1960
      },
      "partitions": {
        "test": 281,
        "train": 1409,
        "validation": 270
      },
      "positive": 0,
      "recordings": 1960,
      "rights_lanes": {
        "research_noncommercial": 1960
      },
      "rows": 1960,
      "source_locator_field_coverage": {},
      "unknown": 0
    },
    {
      "dataset": "inat-cat-negatives",
      "explicit_or_declared_negative": 26,
      "groups": 26,
      "label_authorities": {
        "source_taxon_negative_for_insect_targets": 26
      },
      "partitions": {
        "test": 5,
        "train": 18,
        "validation": 3
      },
      "positive": 0,
      "recordings": 26,
      "rights_lanes": {
        "core_releasable": 26
      },
      "rows": 26,
      "source_locator_field_coverage": {},
      "unknown": 0
    },
    {
      "dataset": "inat-chicken-negatives",
      "explicit_or_declared_negative": 42,
      "groups": 30,
      "label_authorities": {
        "source_taxon_weak_label": 42
      },
      "partitions": {
        "test": 2,
        "train": 29,
        "validation": 11
      },
      "positive": 0,
      "recordings": 42,
      "rights_lanes": {
        "core_releasable": 42
      },
      "rows": 42,
      "source_locator_field_coverage": {},
      "unknown": 0
    },
    {
      "dataset": "insectset459",
      "explicit_or_declared_negative": 0,
      "groups": 334,
      "label_authorities": {
        "source_weak_label": 2096
      },
      "partitions": {
        "test": 236,
        "train": 1441,
        "validation": 419
      },
      "positive": 2096,
      "recordings": 2096,
      "rights_lanes": {
        "core_releasable": 2096
      },
      "rows": 2096,
      "source_locator_field_coverage": {},
      "unknown": 0
    },
    {
      "dataset": "oxfordshire-full-train",
      "explicit_or_declared_negative": 623,
      "groups": 76,
      "label_authorities": {
        "expert_temporal_annotation_overlap": 1656
      },
      "partitions": {
        "train": 1656
      },
      "positive": 1033,
      "recordings": 552,
      "rights_lanes": {
        "core_releasable": 1656
      },
      "rows": 1656,
      "source_locator_field_coverage": {
        "doi": 1656,
        "license": 1656,
        "source_member": 1656
      },
      "unknown": 0
    },
    {
      "dataset": "ross308-negatives",
      "explicit_or_declared_negative": 317,
      "groups": 14,
      "label_authorities": {
        "bundled_readme_environment_label": 59,
        "manual_temporal_annotation": 258
      },
      "partitions": {
        "test": 74,
        "train": 150,
        "validation": 93
      },
      "positive": 0,
      "recordings": 26,
      "rights_lanes": {
        "core_releasable": 317
      },
      "rows": 317,
      "source_locator_field_coverage": {},
      "unknown": 0
    }
  ],
  "split_audit": {
    "duplicate_window_ids": 0,
    "groups_crossing_partitions": 0,
    "missing_required_fields": 0,
    "recordings_crossing_partitions": 0
  },
  "training_manifest_jsonl_sha256": "0904e001b988d03a66c402aee884f7f6a9404240bc7f33c28fc38e2822c650ee",
  "training_manifest_public": false,
  "training_source_state": {
    "changed_paths": [
      "scripts/train_perch_candidate.py",
      "src/insectnet/candidate.py",
      "tests/test_candidate.py"
    ],
    "dirty": true,
    "git_commit": "16c71e04ea8b9c34dec79df55f7fb8552af5dfd5",
    "limitation": "Exact trained and data bytes survive; the clean commit alone does not reconstruct the historical dirty trainer source state."
  }
}