ViperEkura
|
6e150ea6d0
|
refactor : Storage 层重构为 Store,移除 Fetcher 中间层,支持多段数据与显式长度
- 合并 BaseStorage + MultiSegmentFetcher + BaseSegmentFetcher 三层为 Store ABC
- Store._data 直接持有 Dict[str, List[Tensor]],不做强制拼接避免 OOM
- _fetch_key 统一用 bisect 跨段切片,单段多段同一路径
- _length 显式存储(min total across keys),__len__ 返回 O(1)
- MmapStore/H5Store/JSONStore 统一走 _normalize() 注册分段并预计算累积长度
- 所有 I/O 函数 (save_h5/load_h5/json_to_bin 等) 保持不变
|
2026-05-28 14:23:49 +08:00 |
ViperEkura
|
65ab69543b
|
refactor: 统一序列化层,消除分散的 I/O 路径
- Checkpoint 改为 @dataclass,内聚 save/load 方法
- 提取 save_safetensors/load_safetensors/save_json/load_json 共享工具
- 新增 save_model/load_model_config/load_model_weights 模块函数
- automodel 和 lora 统一委托到 serialization 模块
|
2026-05-26 16:44:40 +08:00 |
ViperEkura
|
7dea929788
|
refactor: checkpoint 按 HF 方式存独立 .pt 文件,callback 接管恢复
- Checkpoint.save/load: extra 逐 key 写为 {key}.pt 而非单个 extra.pt
- meta.json 新增 timestamp
- CheckpointCallback: save_extra/load_extra 静态方法 + extra_keys 类属性
- on_train_begin 接管 optimizer/scheduler 恢复,TrainContextBuilder 不再传 load_extra_fn
|
2026-05-16 18:29:04 +08:00 |
ViperEkura
|
04c0dc7a47
|
refactor: Storage 改用工厂模式,server reload 接入 uvicorn
- 新增 StorageFactory(BaseFactory[BaseStorage]) 替代手写 dict 注册
- H5Storage / JSONStorage 通过 @StorageFactory.register 注册
- dataset.py 使用 StorageFactory.create() 替代 create_storage()
- 删除 create_storage / available_storage_types 死函数
- server.py reload 参数正式传入 uvicorn.run()
|
2026-05-16 17:00:26 +08:00 |
ViperEkura
|
0ca6c9e6eb
|
test: 增加 13 个边界条件测试,不需要 base_test_env 的函数移除该参数
- Fetcher 空/边界/跨段测试
- Storage 未加载 fetch 异常
- detect_format 无效路径/不支持格式
- create_storage 无效类型
- JSON pre-tokenized 无 tokenizer
- load_json 跳过 config.json
- Dataset 未加载/数据过短
- 所有 import 提到文件顶部
|
2026-05-12 11:47:30 +08:00 |
ViperEkura
|
5889179c54
|
refactor: 抽取 BaseStorage 存储抽象,支持 JSON 原始文本数据加载
- 新增 astrai/dataset/storage.py:BaseStorage/H5Storage/JSONStorage + Fetchers + 序列化函数
- BaseDataset.load() 接入存储抽象,自动检测 HDF5/JSON 格式
- JSON 支持原始文本 + tokenizer callable 加载时 tokenize
- 新增 BaseDataset.count / keys 属性进行长度观测
- serialization.py 精简为只保留 Checkpoint 类
- 函数放前、类放后,删除分隔注释
|
2026-05-12 11:17:24 +08:00 |
ViperEkura
|
39766aa1dc
|
chore: 修改类名,优化导入顺序
|
2026-04-05 22:27:57 +08:00 |
ViperEkura
|
9c31d78a22
|
chore: 将data 模块命名为dataset
|
2026-04-04 16:16:27 +08:00 |
ViperEkura
|
bd9741dc5f
|
refactor: 从data 模块分离tokenizer
|
2026-04-04 16:12:58 +08:00 |
ViperEkura
|
b531232a9b
|
style: 修改为显式导入
|
2026-04-04 16:02:49 +08:00 |
ViperEkura
|
e97536758f
|
refactor: 优化工厂模式结构
|
2026-04-04 11:33:58 +08:00 |
ViperEkura
|
0852b852f8
|
refactor: 优化参数传递,清理导入样式
|
2026-04-03 22:06:32 +08:00 |
ViperEkura
|
2e009cf59a
|
chore: 更新项目名称
|
2026-03-31 09:34:11 +08:00 |
ViperEkura
|
426af2d75f
|
style: 使用ruff 工具优化代码风格
|
2026-03-30 23:32:28 +08:00 |
ViperEkura
|
3e8f2eba81
|
fix: 修复路径问题
|
2026-03-20 21:14:02 +08:00 |
ViperEkura
|
50f76cd7c7
|
refactor: 重构数据模块中的数据集类命名和文件结构
|
2026-03-19 22:37:32 +08:00 |
ViperEkura
|
5713b55500
|
refactor: 修改 StepMonitorCallback, 分离职责
|
2026-03-04 19:45:39 +08:00 |
ViperEkura
|
8a8d6369bc
|
fix: 修复 dataset 和 checkpoint 的 bug
|
2026-03-02 11:12:21 +08:00 |
ViperEkura
|
582d4ae9a7
|
refactor(data): 修改文件加载方案
|
2026-02-22 21:14:10 +08:00 |
ViperEkura
|
7dfa5cc0ac
|
refactor(data): 重构MmapFileHandler类并改进数据加载机制
|
2026-01-11 19:37:28 +08:00 |
ViperEkura
|
9dab96c31f
|
test(checkpoint): 添加多进程检查点测试功能
|
2026-01-08 22:04:39 +08:00 |
ViperEkura
|
4da70785b5
|
refactor(tests): 重构测试文件目录结构
|
2026-01-08 21:34:52 +08:00 |