本仓库很多目录以 problem 命名,散落着各类待排查 / 已解决的坑。这里汇总成一张表,方便回顾。
状态图例:✅ 已解决/已掌握 🟡 有结论但未彻底解决 🔴 未解决/待排查。
| # | 板块 | 问题 | 现象 | 可能原因 / 结论 | 状态 |
|---|---|---|---|---|---|
| 1 | xgboost/problem_v0.7 |
gblinear 学不动 | train-auc / test-auc 全程恒为 0.5,error 不变(0.301),model_lr.dump.head 里 weight 全是 0,只剩 bias≈-0.811 |
L1 正则 alpha=5.0 过强,把所有线性权重压成 0,模型退化为常数预测 → AUC=0.5。可尝试调小 alpha、增大 num_round、检查特征是否有区分度 |
🔴 |
| 2 | xlearn/problem |
FM/FFM 训练内存问题 | 见 memory.PNG 截图;train.problem.5 是大体量 libsvm 稀疏数据 |
大稀疏数据 + 模型/索引常驻内存。结论待补:考虑分块、降维特征、或 on-disk 训练 | 🔴 |
| 3 | wolfram-mxnet |
Wolfram 11.3 vs 12.0 导出的 LSTM 加载方式不同 | 同一个 wolfram_lstm 模型,12.0 版本 bind 时缺输入报错 |
12.0 需要额外的 Nodes 输入(从 wolfram_lstm-12.0.nodes.txt 读 180 维);11.3 不需要。见 python/load_bind_test1.py 的 predict113 vs predict120 |
✅ |
| 4 | mxnet/.../wolfram_* |
LSTM 模型 bind 缺状态报错 | 直接 bind 报缺少参数 | 需手动初始化 4.State 与 4.CellState 为零向量 [[0,0,0,0,0]] |
✅ |
| 5 | mxnet/python/1.4/.../tempa.py |
mx.nd.load 读取失败 |
mx.nd.load('model.mma12.0/simple model-0000.json') |
参数应从 *-0000.params 读取,而非 .json(.json 是 symbol 结构)。这是个调试残片 |
🟡 |
| 6 | 图像预处理 | 推理结果与 Wolfram 不一致 | Python 端预测与 Mma 端对不上 | 必须复现 Wolfram NetEncoder 的 1 - img/255 颜色反相,并正确 transpose 到 (batch, RGB, H, W) |
✅ |
- #1 xgboost:做一组
alpha ∈ {0, 0.1, 1, 5}的对照实验,确认是不是 L1 把权重清零;同时核对train/test数据本身是否线性可分。 - #2 xlearn:记录具体内存峰值与数据规模,确定瓶颈在数据加载还是模型本身。
- 把
wolfram_v1 / v1a / v2三版的差异写清,保留最终可用版本,其余标注为历史迭代。