Перейти к содержанию

ExperimentConfig — поля 2026 года

Frozen dataclass cnn_neat.experiment.ExperimentConfig. Мутация только через dataclasses.replace или replace_experiment_config(cfg, **changes) (пересчитывает derived paths / CV folds).

Полная таблица всех групп, включая классические поля: гиперпараметры.

Конус размножения

Поле Default Смысл
breeding_cone_enabled False Спекулятивное дерево в RAM
breeding_cone_ram_fraction 0.50 Доля total RAM
breeding_cone_ram_reserve_bytes 8 GiB Резерв OS
breeding_cone_workers 0 Expand workers (0 = авто = все CPU, runtime_cpu.resolve_cpu_workers)
breeding_cone_multiprocess True Process-pool шарды (реальный multi-core)
breeding_cone_max_depth 1 Глубина узлов конуса
breeding_cone_prefetch_generations 1 Горизонт prefetch
breeding_cone_stockpile_factor 8.0 Запас детей на predicted keepers; expand не останавливается на ready >= pop
breeding_cone_warmup_timeout_sec 120 Блок до первого serve
breeding_cone_fill_timeout_sec 30 После отбора элит: добрать keeper-детей (safety net)

Очередь потомков

Поле Default Смысл
offspring_queue_recent_fraction 0.50 Смесь recent vs older
offspring_queue_breed_mode recent_split recent_split | top_fitness
offspring_queue_max_size 1000 Cap очереди

Дополнения двух треков и периодического дообучения

Поле Default Смысл
periodic_gd_targets offspring_queue queue | population | elites
periodic_gd_parallel 1 CUDA-stream workers
periodic_gd_device None cpu/cuda независимо от eval
periodic_gd_max_batches_per_epoch None Cap батчей
periodic_gd_cv_* off / 5 / True K-fold протокол
periodic_gd_spill_refinement_train True Train-кэш на host между GD
periodic_gd_fold_only_gpu True На CUDA только активный fold
periodic_gd_park_forward_hash_cache True Park Merkle-графа перед GD
gd_lineage_track_enabled False Два пула после первого GD
gd_lineage_expand_slots 0 \(\Delta\) слотов Линия градиентного дообучения (GD-lineage)
periodic_gd_max_applies 0 Кап принятых GD на линии (0 = безлимит)

Бюджет структуры и кэш хэшей прямого прохода

Поле Default Смысл
fitness_cache_full_structure_max_copies 1 Max resident full-hash
fitness_cache_effective_structure_max_copies 0 0 = unlimited effective
fitness_forward_hash_cache_enabled False Merkle pool
_streaming_elite False defer_commit + top-K commit
_gpu_resident False Не spill на host
_preserve_protected_parents False Не evict protected
_evict_covered_parents True Covered — жертвы
_strict_capacity False Fail run при overflow
_flush_after_periodic_gd False Invalidate weight-changed
_planned False Unique-miss план
_planned_from_generation 0 С какого gen включать план

Оценка, видеопамять и артефакты

Поле Default Смысл
stagnation_patience None Early stop; нужен при num_generations<=0
stagnation_unit generations generations | genomes
stagnation_min_delta 0 Игнорировать тики меньше этого
dynamic_population_enabled False Retarget pop from cache/VRAM occupancy
dynamic_population_min / _max 4 / 128 Клип live pop в режиме кеша
dynamic_population_target_occupancy 0.70 Цель max(VRAM, cache)
dynamic_population_max_grow 1.25 Потолок роста за поколение
dynamic_population_cache_min 10 Если уже жизнеспособный cache-pop не держит N после успешного гена — naive + jump; seed < N не дропает; OOM сначала режет pop; 0 = никогда
dynamic_population_naive_size 100 Совместимость; после drop pop не прыгает
dynamic_population_naive_max 0 Потолок после drop (0 = max(max, naive_size)); sequential может быть больше cache max
fitness_eval_parallel 1 Параллельный eval
fitness_discard_screen_rejects False Rejects → −∞
adaptive_population_vram True Host-stage если веса > 50% VRAM
population_gpu_chunk_bytes None Cap весов на чанк
archive_weights_policy top_k full | top_k | none; default — веса чемпиона
archive_weights_top_k 1 Если top_k
archive_weight_stats_enabled False Sidecar-статистика весов
runtime_checkpoint_enabled False Full-pop evolution_checkpoint.pt
archive_restore_mode strict strict | auto
async_artifact_writes True Фон JSON/PT/HTML