Files
mask-ddpm/CONVERSATION.md
2026-01-09 02:14:20 +08:00

28 lines
2.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 对话记录
日期: 2025-02-14
用户要求我先阅读 `/home/anay/Dev/diffusion/mask-ddpm` 中的 MD 文档,并按照该文档说明来推进工作。同时,在该项目中新增一个 MD 文件用于记录我们的对话,方便后续 AI 了解上下文。
已阅读文档:
- `/home/anay/Dev/diffusion/mask-ddpm/TODO-FOR-AI.md`
当前状态:
- 完成了文档阅读。
- 已创建本对话记录文件。
后续记录:
- 已开始检查数据集。发现 HAI 的 CSV 文件是 Git LFS 指针文件需要拉取真实内容Modbus 数据集当前可见的 CSV 主要是攻击日志(字段如 Timestamp/TargetIP/Attack/TransactionID其主体数据为 PCAP需要额外特征提取。
- 已阅读 `/home/anay/Dev/diffusion/dataset/hai/README.md`。关键信息HAI CSV 是时间序列特征数据,第一列为时间戳,后续为 SCADA 点位末尾为攻击标签列HAI 22.04 起使用 Git LFS 下载实际 CSV 内容。
- 用户尝试 `git lfs pull` 时遇到 LFS 配额超限(上游仓库配额不足),导致无法拉取 HAI 的真实 CSV 内容。
- 用户选择从 Kaggle 下载 HAI 数据集并手动放入本地目录。
- 在本地发现可读取的 HAI CSV 为 gzip 格式:`/home/anay/Dev/diffusion/dataset/hai/hai-20.07/*.csv.gz``/home/anay/Dev/diffusion/dataset/hai/hai-21.03/*.csv.gz`,列名包含大量 SCADA 点位与攻击标签列。
- 基于 `hai-21.03/train1.csv.gz` 前 5000 行的启发式统计,初步划分了离散/连续特征(离散多为开关、状态与攻击标签;连续为传感器/过程变量)。
-`/home/anay/Dev/diffusion/mask-ddpm/example` 中创建了示例文件夹,包含 `analyze_hai21_03.py` 和结果输出(`results/feature_split.txt``results/summary.txt`)。
- 已补充示例代码与文档:`feature_split.json``hybrid_diffusion.py``train_stub.py``model_design.md`,并更新了 `/home/anay/Dev/diffusion/mask-ddpm/example/README.md`
- 新增可运行脚本与数据准备:`data_utils.py``prepare_data.py``train.py``sample.py`,并修正 `train_stub.py` 以匹配新的离散掩码接口。
- 已运行 `prepare_data.py` 生成 `results/cont_stats.json``results/disc_vocab.json`(采样 50k 行)。
- 用户计划使用 conda 创建新环境并安装 GPU 版 PyTorch建议环境名 `mask-ddpm`Python 3.10,使用 cu121 安装源。
- 已运行 `example/train.py`CPU 回退CUDA 初始化警告),生成 `example/results/model.pt`;已运行 `example/sample.py` 得到采样张量形状 `(2, 64, 53)``(2, 64, 30)`,并将加载方式改为 `weights_only=True`
- 已将 `train.py``sample.py` 改为自动选择 GPU可用则使用否则回退 CPU并记录当前环境下 `/dev/nvidia*` 不存在导致 CUDA 不可用。