科探空谷
  • Home
  • zhimind home
  • Categories
  • Tags
  • Archives
  • 留学
    • 学校库
    • 专业库
    • 研究方向与招生
    • 工具
    • GPA计算器
    • 脑洞背单词
    • 脱口而出

机器学习开发教训

目录

  • 一些教训
    • version control 版本控制
    • 参数控制
    • 训练集要打乱顺序
    • 控制随机种子
    • 一定要单步调试过一遍
    • 未完待续 +1s
目录

一些教训¶

version control 版本控制¶

特别是需要将版本与实验结果关联起来, 并分离参数, 意思是,不要通过修改文件来修改实验参数

这样,能把实验结果与对应的代码版本关联起来, 并进行追踪

参数控制¶

用 argparse 这种, 把实验参数从代码中分离

训练集要打乱顺序¶

如 Pytorch dataloader 里的 shuffle=True

特别是在均匀分布时, 如果不随机打乱, 每个批次都极度不平衡

另外, 不同 loader 如果是随机顺序, 会影响全局的 seed

比如, test_loader 有没有拿来求每一个 epoch或批次的损失函数、 准确度, 会改变 seed, 造成训练结果变化

控制随机种子¶

set_frame_work(seed)

方便复现

一定要单步调试过一遍¶

特别是分支循环条件语句, 一定要确定符合预期

教训 self.no_stein 默认设置为 None, 结果 if self.no_stein is False 就错过了

未完待续 +1s¶


Published

8月 30, 2018

Last Updated

8月 30, 2018

Category

机器学习

Tags

  • CS 22
  • 机器学习 14
  • 人工智能 28

Stay in Touch

  • Powered by Pelican. Theme: Elegant by Talha Mansoor