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

2.7 KiB
Raw Blame History

对话记录

日期: 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.txtresults/summary.txt)。
  • 已补充示例代码与文档:feature_split.jsonhybrid_diffusion.pytrain_stub.pymodel_design.md,并更新了 /home/anay/Dev/diffusion/mask-ddpm/example/README.md
  • 新增可运行脚本与数据准备:data_utils.pyprepare_data.pytrain.pysample.py,并修正 train_stub.py 以匹配新的离散掩码接口。
  • 已运行 prepare_data.py 生成 results/cont_stats.jsonresults/disc_vocab.json(采样 50k 行)。
  • 用户计划使用 conda 创建新环境并安装 GPU 版 PyTorch建议环境名 mask-ddpmPython 3.10,使用 cu121 安装源。
  • 已运行 example/train.pyCPU 回退CUDA 初始化警告),生成 example/results/model.pt;已运行 example/sample.py 得到采样张量形状 (2, 64, 53)(2, 64, 30),并将加载方式改为 weights_only=True
  • 已将 train.pysample.py 改为自动选择 GPU可用则使用否则回退 CPU并记录当前环境下 /dev/nvidia* 不存在导致 CUDA 不可用。