2019-12-09

    今天开始阅读师兄给的deeplab项目代码,加油加油加油。

1、python中的命令行参数解析模块 —— argparse

    学会如何添加必选变量,可选变量,设置变量缩写,帮助信息,指定读入的变量类型,限制变量的输入范围choices,设置默认变量等。

    参考:https://docs.python.org/3/howto/argparse.html#introducing-positional-arguments

2、sync-bn ——待解惑

    貌似是当使用多个gpu的时候,需要同步BN层,具体为什么我还没有搞明白

3、batchsize的重要性

    batch-size过大,下降方向为整体方向,学习不到足够的东西,batch-size过小,每次下降方向横冲直撞,其实会偏向每个都有的特征方向,最终导致学习不到东西,无法达到预期准确率。只有合理的batch-size才能快准。

    这一部分有一点难以消化,于是又参考了知乎文章:https://www.zhihu.com/question/32673260/answer/71137399

4、shuffle

    打乱数据集很重要。简单的实现方法有——用random函数打乱index

    复杂的方法有:https://blog.csdn.net/kaede1209/article/details/81953262

5、随机梯度下降SGD的学习

    参考讲解:https://www.zhihu.com/question/264189719

                    https://zhuanlan.zhihu.com/p/28060786

    码住一篇机器学习优化方法的综述《Optimization Methods for Large-Scale Machine Learning》,下载至Onedrive中了。

    torch.optim中提供了SGD的使用方法,还有Adam等:https://pytorch.org/docs/0.4.1/optim.html

你可能感兴趣的:(2019-12-09)