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

Программный интерфейс: оценка, ввод-вывод и 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.