Программный интерфейс: оценка, ввод-вывод и Studio¶
Внешние тензоры¶
cnn_neat.data_api: ExternalData, ExternalSplit, use_external_data,
resolve_val_loader / train / test / screen. Тензоры не сериализуются в JSON
конфига. task_mode=regression + fitness_metric ∈ {mse,mae}: фитнес = −ошибка
по forward_features. Невалидный геном в регрессии получает −1e9, не 0
(в классификации 0 по-прежнему худший score).
Отсев и многоуровневая оценка¶
ScreenCacheStore, GenomeScreenCacheEntry, refresh_elite_screen_cache, refresh_breeding_pool_screen_cache, weights_fingerprint — LRU RAM (дефолт 1000 записей / 50 GiB), ключ = full + effective hash + fingerprint весов.
evaluate_population_fitness_tiered, TieredEvalResult, select_indices_for_full_metrics.
Прочие поля: stagnation_patience (num_generations<=0 требует patience>0), stagnation_unit (generations | genomes), dynamic_population_enabled, fitness_eval_parallel, fitness_discard_screen_rejects.
Атомарный и асинхронный ввод-вывод¶
atomic_write_text, atomic_write_json, replace_with_retry (до 12 попыток, WinError 5/32), interprocess_file_lock.
ArtifactWriter — один фон-поток JSON/PT/HTML (async_artifact_writes=True), чтобы breed/eval не ждали диск.
Archive v3¶
RunArchive, empty_archive, RestoreCompatibilityReport. Индекс run_archive.json + epochs/epoch_XXXX.json + веса. Политика: archive_weights_policy ∈ {full, top_k, none} (дефолт top_k=1). archive_weight_stats_enabled (дефолт off). runtime_checkpoint_enabled (дефолт off).
DeferredGenerationArtifacts — отложенная запись артефактов поколения (веса +
weight_stats) через ArtifactWriter; SaveManager управляет flush.
Статистика весов¶
weight_stats.py: tensor_aggregates, summarize_state_dict,
summarize_weights_store, epoch_weight_stats_relpath, champion_weight_scalars.
Пишет epochs/epoch_XXXX_weight_stats.json (O(N) агрегаты state_dict без forward).
Многоклассовый режим и слияние десяти бинарных задач¶
multiclass_head.py: multiclass_logits, multiclass_classification_loss,
predict_multiclass_from_logits, compute_multiclass_metrics.
ova_merge.py: merge_ova_champions, ChampionSpec, save_seed_artifact,
load_seed_artifact.
CPU-параллелизм мутаций¶
mutation_mp.py: propose_parents_mp, shutdown_pools.
runtime_cpu.py: cpu_count, resolve_cpu_workers.
Studio / контроль¶
| Модуль | Символы |
|---|---|
studio_status.py |
write_studio_status, LiveProgressReporter, load_studio_status |
memory_snapshot.py |
snapshot_evolver_memory, process_rss_bytes, cuda_memory_entries, format_bytes |
study_control.py |
request_pause / resume, checkpoint_pause, load/save_control |
Worker id: env CNN_NEAT_WORKER_ID. Dual-worker host — apps/neat_studio/widgets/dual_worker_host.py.
См. Studio I/O, NEAT Studio.