MCPcopy Create free account
hub / github.com/DFin/Neural-Network-Visualisation / build_default_timeline

Function build_default_timeline

training/mlp_train.py:240–303  ·  view source on GitHub ↗
(dataset_size: int)

Source from the content-addressed store, hash-verified

238
239
240def build_default_timeline(dataset_size: int) -> list[TimelineMilestone]:
241 if dataset_size <= 0:
242 raise ValueError("Dataset must contain at least one example.")
243
244 specs: list[tuple[str, str, str, float, float | None]] = [
245 ("initial", "Initial weights", "initial", 0.0, None),
246 ("approx_50", "≈50 images", "approx", 50 / BASE_DATASET_SIZE, None),
247 ("approx_120", "≈120 images", "approx", 120 / BASE_DATASET_SIZE, None),
248 ("approx_250", "≈250 images", "approx", 250 / BASE_DATASET_SIZE, None),
249 ("approx_500", "≈500 images", "approx", 500 / BASE_DATASET_SIZE, None),
250 ("approx_1k", "≈1k images", "approx", 1_000 / BASE_DATASET_SIZE, None),
251 ("approx_2k", "≈2k images", "approx", 2_000 / BASE_DATASET_SIZE, None),
252 ("approx_3_5k", "≈3.5k images", "approx", 3_500 / BASE_DATASET_SIZE, None),
253 ("approx_5_8k", "≈5.8k images", "approx", 5_800 / BASE_DATASET_SIZE, None),
254 ("approx_8_7k", "≈8.7k images", "approx", 8_700 / BASE_DATASET_SIZE, None),
255 ("approx_13k", "≈13k images", "approx", 13_000 / BASE_DATASET_SIZE, None),
256 ("approx_19_5k", "≈19.5k images", "approx", 19_500 / BASE_DATASET_SIZE, None),
257 ("approx_28_5k", "≈28.5k images", "approx", 28_500 / BASE_DATASET_SIZE, None),
258 ("approx_40k", "≈40k images", "approx", 40_000 / BASE_DATASET_SIZE, None),
259 ("dataset_1x", "1× dataset", "dataset_multiple", 1.0, 1.0),
260 ("approx_80k", "≈80k images", "approx", 80_000 / BASE_DATASET_SIZE, None),
261 ("dataset_1_5x", "1.5× dataset", "dataset_multiple", 1.5, 1.5),
262 ("dataset_2x", "2× dataset", "dataset_multiple", 2.0, 2.0),
263 ("dataset_2_5x", "2.5× dataset", "dataset_multiple", 2.5, 2.5),
264 ("dataset_3x", "3× dataset", "dataset_multiple", 3.0, 3.0),
265 ("dataset_4x", "4× dataset", "dataset_multiple", 4.0, 4.0),
266 ("dataset_5x", "5× dataset", "dataset_multiple", 5.0, 5.0),
267 ("dataset_6_5x", "6.5× dataset", "dataset_multiple", 6.5, 6.5),
268 ("dataset_8_5x", "8.5× dataset", "dataset_multiple", 8.5, 8.5),
269 ("dataset_10x", "10× dataset", "dataset_multiple", 10.0, 10.0),
270 ("dataset_12_5x", "12.5× dataset", "dataset_multiple", 12.5, 12.5),
271 ("dataset_15x", "15× dataset", "dataset_multiple", 15.0, 15.0),
272 ("dataset_17_5x", "17.5× dataset", "dataset_multiple", 17.5, 17.5),
273 ("dataset_20x", "20× dataset", "dataset_multiple", 20.0, 20.0),
274 ("dataset_25x", "25× dataset", "dataset_multiple", 25.0, 25.0),
275 ("dataset_30x", "30× dataset", "dataset_multiple", 30.0, 30.0),
276 ("dataset_35x", "35× dataset", "dataset_multiple", 35.0, 35.0),
277 ("dataset_40x", "40× dataset", "dataset_multiple", 40.0, 40.0),
278 ("dataset_45x", "45× dataset", "dataset_multiple", 45.0, 45.0),
279 ("dataset_50x", "50× dataset", "dataset_multiple", 50.0, 50.0),
280 ]
281
282 milestones: list[TimelineMilestone] = []
283 last_threshold = -1
284 for identifier, label, kind, ratio, dataset_multiple in specs:
285 if ratio <= 0.0:
286 threshold_images = 0
287 else:
288 scaled = dataset_size * ratio
289 threshold_images = max(1, int(round(scaled)))
290 if threshold_images <= last_threshold:
291 threshold_images = last_threshold + 1
292 milestones.append(
293 TimelineMilestone(
294 identifier,
295 threshold_images,
296 label,
297 kind,

Callers 1

mainFunction · 0.85

Calls 1

TimelineMilestoneClass · 0.85

Tested by

no test coverage detected