9. 目录结构与复现

2.6k 字 · 源文件 PROJECT.md 第 1631 行起 · goal discipline external

text
D:\projectofai\
├─ PROJECT.md                  ← 本文件,唯一权威
├─ README.md                   ← 快速上手
├─ RUN_ON_SERVER.md            ← 云端部署与验证步骤
├─ LICENSE                     ← MIT(**只覆盖原创代码**)
├─ NOTICE                      ← ★ 授权范围、来源与定位、边界声明
├─ viz_dashboard.py            ← ★ 浏览器实时训练面板(零外部依赖)
├─ core\
│   ├─ task_base.py            任务基类 + 5 项自检门(不通过拒绝训练)
│   ├─ tasks\match.py          延迟匹配任务(已修可识别性 + 打断标签)
│   ├─ tasks\arithmetic.py     ★ 算术数据管线(预训练场,§6A)
│   ├─ models.py               6 种循环单元 + 显式时间循环("零件")
│   ├─ glyphs.py               汉字点阵字库(宋体 + 参考框对齐)
│   ├─ logger.py               全程日志 + 动态控制
│   └─ darlin\                 ★ 架构本体("这块表")
│       ├─ __init__.py         一句话定义 + 命名体系
│       ├─ tick.py             时间刻 + ln(2) 门禁
│       ├─ barrel.py           持续状态容器(保存/恢复/自主活动报告)
│       ├─ rotor.py            ★ 内生动力学(结构 + 驱动,两半)
│       ├─ dentate.py          模式分离(**结论:上游塌缩,暂搁置**)
│       ├─ hybrid.py           混合执行(enc@GPU + 循环@CPU,含正确性验证)
│       └─ escapement.py       可打断 + **标签平衡门禁**
├─ characters\                 ★ 角色同人内容(**不在 MIT 范围内**)
│   └─ README.md               非官方声明 + 目录约定
├─ experiments\               一次实验一个文件
│   └─ tail_to_jsonl.py        纯文本日志 -> jsonl(**含编码嗅探**)
├─ archive\                   归档:Brian2/STDP 时代的证据链(不再推进)
├─ data\                      参考数据(只读)
└─ results\                   输出(每个实验一个子目录)

#日志与可视化的约定

优先让实验直接写 jsonl(用 core/logger.py),不要写纯文本再后处理 —— 后者会引入编码问题(§5 第 18 条)且丢失结构化信息。

  • 直接写 jsonl 的例子:exp15_multi_delay_lr.py
  • 需要事后转换的例子:exp14_capacity.py(用 tail_to_jsonl.py,含 BOM 嗅探)
  • 面板:python viz_dashboard.py results 8766 → 递归扫描,下拉切换

#授权边界(重要)

目录授权
core/, experiments/, data/MIT
characters/见该目录说明,不在 MIT 内
第三方依赖各自授权

架构与角色刻意分离:架构无 IP 关联、可自由开源; 角色内容隔离在 characters/,发布节奏由创作者掌握。详见 NOTICE。

#关键复现命令

powershell
## 任务自检门(必须全 PASS,含可识别性)
python core\tasks\match.py

## 训练管线健全性
python experiments\diag_pipeline.py

## 复现已知胜出配置(8 种子,期望 ≥7 成功)
python experiments\exp08_reproduce_winner.py --seeds 8 --iter 1000

## 零输入自主动力学
python experiments\exp10_autonomous.py

## 配置搜索(分片并行)
& experiments\run_search_shards.ps1 -NShards 6 -Iter 1000 -Batch 512

## 实时监控 + 动态调整
python experiments\watch_run.py results\exp11\run.jsonl --follow
python experiments\watch_run.py results\exp11\run.jsonl --set lr_scale=0.5 --note "损失震荡"

## ★ 浏览器可视化面板(实时观察训练曲线 + 延迟扫描热图 + 动态控制)
python viz_dashboard.py results 8766
##   -> http://127.0.0.1:8766
##   递归扫描 results/,下拉切换实验;控制区可改 lr_scale / eval_every /
##   delay_weights / stop / note(写 control.json,训练进程会读)

← 返回《PROJECT.md》目录