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

Структура файлов

Пакет cnn_neat/ содержит ~72 Python-файл (включая forward_cache/ и cache_wave_sim/). Публичный __init__.py экспортирует классическое ядро; исследовательские API импортируются по пути модуля.

cifar-10-CNN_NEAT/
├── cnn_neat/
│   ├── experiment.py, experiment_io.py, config.py, paths.py, logging.py, progress.py
│   ├── network.py, connection_gene.py, forward_plan.py, forward_runtime.py
│   ├── mutations.py, mutation_candidates.py, lineage.py, registry.py
│   ├── evolver.py, evolution_loop.py, run_experiment.py
│   ├── eval.py, tiered_eval.py, screen_cache.py, binary_head.py, heads.py
│   ├── multiclass_head.py, ova_merge.py       multi-tip head + OVA-merge seed
│   ├── mutation_mp.py, runtime_cpu.py         ProcessPool-мутации родителей
│   ├── weight_stats.py                        O(N) агрегаты весов поколения
│   ├── periodic_gd.py, elite_refinement.py, finetune.py
│   ├── breeding_cone.py, breeding_cone_mp.py
│   ├── structure_cache_budget.py, cache_capacity_guard.py, dynamic_population.py
│   ├── forward_cache/          Merkle pool, planned unique-miss, eviction
│   ├── cache_wave_sim/         песочница eviction-политики
│   ├── population_vram.py, vram_batch.py, runtime_gpu.py
│   ├── atomic_io.py, async_io.py, run_archive.py, save.py
│   ├── studio_status.py, memory_snapshot.py, study_control.py
│   ├── dashboard.py, final_report.py, unified_report.py, report_viz.py, arch_viz.py
│   └── cifar10_data.py, comparison_metrics.py, generation_summary.py, ...
├── apps/
│   ├── neat_studio/            desktop GUI, dual workers
│   ├── neat_lab/               одиночный run + archive/dashboard
│   └── study_bot/              Telegram pause/resume/status
├── scripts/ablation/
│   ├── 05_structured_study.py  исторический A→B→C→D
│   ├── 06_ova_class_study.py   OVA 10 классов
│   ├── 09…12_*.py              hash-cache / GPU-only / no-cache
│   ├── 13_merge_ova_multiclass_seed.py, 14/14b_multiclass_evolve*.py
│   ├── 15_ova_mnist_gpu_only_study.py, 16_mnist_multiclass_from_ova.py
│   ├── 17_mnist_per_node_act_study.py, 18_cifar_per_node_act_study.py
│   ├── 19_mnist_val5k_light_gd_study.py
│   ├── multiclass_evolve_lib.py, mnist_multiclass_from_ova_lib.py
│   ├── mnist_per_node_act_lib.py, cifar_per_node_act_lib.py, mnist_val5k_light_gd_lib.py
│   └── ova_ad_study_runner.py, ova_dashboard.py, ova_interpret.py
├── scripts/analysis/           инфографики script 11/13-15, cache capacity
├── tests/                      73 pytest-модуля
├── docs/mkdocs/                канон сайта
└── runs/                       артефакты (не коммитить)

Граф зависимостей ядра

flowchart TB
  subgraph genome [Геном]
    net[network]
    gene[connection_gene]
    plan[forward_plan]
  end
  subgraph evo [Эволюция]
    mut[mutations]
    cand[mutation_candidates]
    evolver[evolver]
    loop[evolution_loop]
    cone[breeding_cone]
  end
  subgraph mem [Память]
    fc[forward_cache]
    budget[structure_cache_budget]
    screen[screen_cache]
    vram[population_vram]
  end
  gene --> net
  plan --> net
  cand --> mut
  mut --> evolver
  cone --> evolver
  evolver --> loop
  fc --> loop
  budget --> fc
  screen --> loop
  vram --> loop

Классический публичный экспорт (cnn_neat.__init__): CnnNeat, ConvolutionalNeuralNetwork, ExperimentConfig, run_evolution, VRAMBatchController, PopulationVRAMManager, периодическое градиентное дообучение (periodic GD) helpers. Остальное — import-by-path, см. справочник функций.