auto-sync 2026-07-03T00:30:47Z workspace
Browse files
workspace/cil/metrics.py
CHANGED
|
@@ -206,6 +206,24 @@ def proxy_support_distance(
|
|
| 206 |
)
|
| 207 |
|
| 208 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 209 |
def negative_near_at_threshold(
|
| 210 |
generated_tangents: Matrix,
|
| 211 |
negative_tangents: Matrix,
|
|
@@ -228,6 +246,37 @@ def negative_near_at_threshold(
|
|
| 228 |
return count / len(generated)
|
| 229 |
|
| 230 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 231 |
def positives_closer_than_negatives(
|
| 232 |
generated_tangents: Matrix,
|
| 233 |
positive_tangents: Matrix,
|
|
|
|
| 206 |
)
|
| 207 |
|
| 208 |
|
| 209 |
+
def mean_nearest_distance_to_set(
|
| 210 |
+
generated_tangents: Matrix,
|
| 211 |
+
reference_tangents: Matrix,
|
| 212 |
+
*,
|
| 213 |
+
k: int | None = None,
|
| 214 |
+
) -> float | None:
|
| 215 |
+
"""Mean nearest RMS-L2 distance from generated tangents to a reference set."""
|
| 216 |
+
|
| 217 |
+
generated = _prefix(generated_tangents, k)
|
| 218 |
+
if not generated or not reference_tangents:
|
| 219 |
+
return None
|
| 220 |
+
distances = [
|
| 221 |
+
min(_rms_l2(tangent, reference) for reference in reference_tangents)
|
| 222 |
+
for tangent in generated
|
| 223 |
+
]
|
| 224 |
+
return sum(distances) / len(distances)
|
| 225 |
+
|
| 226 |
+
|
| 227 |
def negative_near_at_threshold(
|
| 228 |
generated_tangents: Matrix,
|
| 229 |
negative_tangents: Matrix,
|
|
|
|
| 246 |
return count / len(generated)
|
| 247 |
|
| 248 |
|
| 249 |
+
def candidate_diversity(generated_tangents: Matrix, *, k: int | None = None) -> float:
|
| 250 |
+
"""Mean pairwise RMS-L2 distance among generated tangents."""
|
| 251 |
+
|
| 252 |
+
generated = _prefix(generated_tangents, k)
|
| 253 |
+
if len(generated) < 2:
|
| 254 |
+
return 0.0
|
| 255 |
+
distances = []
|
| 256 |
+
for left_index, left in enumerate(generated):
|
| 257 |
+
for right in generated[left_index + 1 :]:
|
| 258 |
+
distances.append(_rms_l2(left, right))
|
| 259 |
+
return sum(distances) / len(distances)
|
| 260 |
+
|
| 261 |
+
|
| 262 |
+
def collapse_rate(
|
| 263 |
+
generated_tangents: Matrix,
|
| 264 |
+
*,
|
| 265 |
+
k: int | None = None,
|
| 266 |
+
threshold: float = 1.0e-6,
|
| 267 |
+
) -> float:
|
| 268 |
+
"""Fraction of generated tangents collapsed onto the first proposal."""
|
| 269 |
+
|
| 270 |
+
if threshold < 0.0:
|
| 271 |
+
raise ValueError("threshold must be non-negative")
|
| 272 |
+
generated = _prefix(generated_tangents, k)
|
| 273 |
+
if not generated:
|
| 274 |
+
return 0.0
|
| 275 |
+
first = generated[0]
|
| 276 |
+
collapsed = sum(1 for tangent in generated if _rms_l2(first, tangent) <= threshold)
|
| 277 |
+
return collapsed / len(generated)
|
| 278 |
+
|
| 279 |
+
|
| 280 |
def positives_closer_than_negatives(
|
| 281 |
generated_tangents: Matrix,
|
| 282 |
positive_tangents: Matrix,
|
workspace/data/cil_charts/test/charts_00000.npz
CHANGED
|
@@ -1,3 +1,3 @@
|
|
| 1 |
version https://git-lfs.github.com/spec/v1
|
| 2 |
-
oid sha256:
|
| 3 |
size 6058720
|
|
|
|
| 1 |
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:92c57d778e4a61b29e57d7e848c828629efd34df3a1bed53137052c01a09c2be
|
| 3 |
size 6058720
|
workspace/data/cil_charts/test/index.json
CHANGED
|
@@ -15,7 +15,7 @@
|
|
| 15 |
"wrong_direction": 410,
|
| 16 |
"wrong_gripper": 410
|
| 17 |
},
|
| 18 |
-
"content_hash": "
|
| 19 |
"dataset": "/scratch/knguy52/dovla/experiments/six_task_h16_collection",
|
| 20 |
"deployment_candidate_excludes_expert": true,
|
| 21 |
"deployment_clean": false,
|
|
@@ -433,9 +433,11 @@
|
|
| 433 |
"fe9cc6e4934a28231d7c864c377b2a1b72e4da2b05bf70064db4c6199fe432b9",
|
| 434 |
"ff354ad90b2deec831a173c06965f2dffc0ea3f17b056e3e5ad55763a2c52d93"
|
| 435 |
],
|
| 436 |
-
"include_outcomes":
|
| 437 |
"label_counts": {
|
| 438 |
-
"
|
|
|
|
|
|
|
| 439 |
},
|
| 440 |
"leakage_contract": {
|
| 441 |
"deployment_must_not_read_outcomes": true,
|
|
@@ -453,7 +455,7 @@
|
|
| 453 |
{
|
| 454 |
"num_rows": 6560,
|
| 455 |
"path": "charts_00000.npz",
|
| 456 |
-
"sha256": "
|
| 457 |
}
|
| 458 |
],
|
| 459 |
"skip_counts": {},
|
|
|
|
| 15 |
"wrong_direction": 410,
|
| 16 |
"wrong_gripper": 410
|
| 17 |
},
|
| 18 |
+
"content_hash": "1710ede7c73d8f72479fd63dd9941a0e8bb55211d3ea0267963abc9e7a043b91",
|
| 19 |
"dataset": "/scratch/knguy52/dovla/experiments/six_task_h16_collection",
|
| 20 |
"deployment_candidate_excludes_expert": true,
|
| 21 |
"deployment_clean": false,
|
|
|
|
| 433 |
"fe9cc6e4934a28231d7c864c377b2a1b72e4da2b05bf70064db4c6199fe432b9",
|
| 434 |
"ff354ad90b2deec831a173c06965f2dffc0ea3f17b056e3e5ad55763a2c52d93"
|
| 435 |
],
|
| 436 |
+
"include_outcomes": true,
|
| 437 |
"label_counts": {
|
| 438 |
+
"negative": 5179,
|
| 439 |
+
"neutral": 1222,
|
| 440 |
+
"positive": 159
|
| 441 |
},
|
| 442 |
"leakage_contract": {
|
| 443 |
"deployment_must_not_read_outcomes": true,
|
|
|
|
| 455 |
{
|
| 456 |
"num_rows": 6560,
|
| 457 |
"path": "charts_00000.npz",
|
| 458 |
+
"sha256": "92c57d778e4a61b29e57d7e848c828629efd34df3a1bed53137052c01a09c2be"
|
| 459 |
}
|
| 460 |
],
|
| 461 |
"skip_counts": {},
|
workspace/data/cil_charts/val/charts_00000.npz
CHANGED
|
@@ -1,3 +1,3 @@
|
|
| 1 |
version https://git-lfs.github.com/spec/v1
|
| 2 |
-
oid sha256:
|
| 3 |
size 6190771
|
|
|
|
| 1 |
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:023fc16bb169c4c958c10e95859ed60bf6fa37d57098208e2ca6da8000a0cc4d
|
| 3 |
size 6190771
|
workspace/data/cil_charts/val/index.json
CHANGED
|
@@ -15,7 +15,7 @@
|
|
| 15 |
"wrong_direction": 419,
|
| 16 |
"wrong_gripper": 419
|
| 17 |
},
|
| 18 |
-
"content_hash": "
|
| 19 |
"dataset": "/scratch/knguy52/dovla/experiments/six_task_h16_collection",
|
| 20 |
"deployment_candidate_excludes_expert": true,
|
| 21 |
"deployment_clean": false,
|
|
@@ -442,9 +442,11 @@
|
|
| 442 |
"fee98f221151bb980cdb862306da346bf3b0d9cec0b9cbdd9c2ba13ef635201a",
|
| 443 |
"ff1366cc917bc6dcdc630665d80888e067a67153e0291eb502ce1c061598ceb9"
|
| 444 |
],
|
| 445 |
-
"include_outcomes":
|
| 446 |
"label_counts": {
|
| 447 |
-
"
|
|
|
|
|
|
|
| 448 |
},
|
| 449 |
"leakage_contract": {
|
| 450 |
"deployment_must_not_read_outcomes": true,
|
|
@@ -462,7 +464,7 @@
|
|
| 462 |
{
|
| 463 |
"num_rows": 6704,
|
| 464 |
"path": "charts_00000.npz",
|
| 465 |
-
"sha256": "
|
| 466 |
}
|
| 467 |
],
|
| 468 |
"skip_counts": {},
|
|
|
|
| 15 |
"wrong_direction": 419,
|
| 16 |
"wrong_gripper": 419
|
| 17 |
},
|
| 18 |
+
"content_hash": "fa0fe0e3881ee70ce91492445871614d01b3a47fc7c576659c53ff17ddee4e42",
|
| 19 |
"dataset": "/scratch/knguy52/dovla/experiments/six_task_h16_collection",
|
| 20 |
"deployment_candidate_excludes_expert": true,
|
| 21 |
"deployment_clean": false,
|
|
|
|
| 442 |
"fee98f221151bb980cdb862306da346bf3b0d9cec0b9cbdd9c2ba13ef635201a",
|
| 443 |
"ff1366cc917bc6dcdc630665d80888e067a67153e0291eb502ce1c061598ceb9"
|
| 444 |
],
|
| 445 |
+
"include_outcomes": true,
|
| 446 |
"label_counts": {
|
| 447 |
+
"negative": 5134,
|
| 448 |
+
"neutral": 1325,
|
| 449 |
+
"positive": 245
|
| 450 |
},
|
| 451 |
"leakage_contract": {
|
| 452 |
"deployment_must_not_read_outcomes": true,
|
|
|
|
| 464 |
{
|
| 465 |
"num_rows": 6704,
|
| 466 |
"path": "charts_00000.npz",
|
| 467 |
+
"sha256": "023fc16bb169c4c958c10e95859ed60bf6fa37d57098208e2ca6da8000a0cc4d"
|
| 468 |
}
|
| 469 |
],
|
| 470 |
"skip_counts": {},
|