Theano FCN实现与训练经验与教训小结
来源:互联网 发布:淘宝二手手机靠谱么 编辑:程序博客网 时间:2024/05/18 13:25
NaN
- 计算softmax loss时要用numeric robust 的计算方式. softmax与 loss可能要分开计算. 得到前者的计算方式可以是常规方法. 但计算后者时要注意无穷大和NaN的出现.
- NaN的出现一定是因为出现了无穷大. 无穷大的出现则是因为变量存储的数值超出了变量数据类型能表示的最大值.使用GPU计算常用float32, 它的最大表示值在\(10^{38.5}\)附近.
- learning_rate太大可能导致非数的出现: weight值会变得很大(超过10应该就算大了). 在forward的过程中会不断乘以weight值, 这样就会导致神经元的激活值达到无穷大. 然后, 只要碰到值为0的weight(小概率)或与其他的无穷大, 就会出现NaN.
- 像素级别的loss的取均值决定learning_rate的数量级. 我使用\(224\times 224\)的图片, 如果loss是对单个像素的均值, 则数量级在\(10^{-5}\). 如果是对单张图片的loss, 要再小4个数量级.(caffe fcn使用了\(10^{-10}\))
- 出现问题时要积极寻找到问题来源, 重要的问题说三遍:出现问题时要积极寻找到问题来源, 出现问题时要积极寻找到问题来源. 不能瞎猜, 更不能直接放弃.
loss不下降了
- 先尝试使用更小的learning_rate, 如果不行, 就尝试更大的. 在使用不同大小的learning_rate训练网络的过程中, learning_rate并非一定要递减.
0 0
- Theano FCN实现与训练经验与教训小结
- FCN-加载训练与测试数据
- 各种经验与教训
- 经验与教训
- 软件测试:经验与教训
- 软件测试经验与教训
- 软件测试:经验与教训
- 软件测试经验与教训一
- 软件测试经验与教训二
- 软件测试经验与教训三
- 我的英语学习经验与教训
- HP笔记本电脑装系统教训与经验
- <软件测试经验与教训>评注【原创】
- 《软件测试经验与教训》读书笔记
- 一次二次开发中的经验与教训(一)
- 我的考研经验与教训
- 工作这两年的经验与教训
- 《软件测试经验与教训》--读书笔记
- Python NaN
- 数组和指针相互之间的联系与调用
- Deconvolution Using Theano
- ES学习(四)拼音插件分词elasticsearch-analysis-pinyin
- theano log softmax 4D
- Theano FCN实现与训练经验与教训小结
- Develop>Training(18)---添加动画
- caffe solver configuration
- C实现Unix时间戳和本地时间转化
- caffe 指定GPU
- 层次化聚类
- Mutual Information
- 学习笔记——内部类的特殊用法
- 聚类算法的评估应面向具体问题