-实战随笔-

1. 训练不好的原因

2. Small Batch v.s. Large Batch

  • 大batch size更能准确地计算出梯度,在显存能允许的情况下收敛速度是比较快的,在并行计算上更占优势
  • batch size太大,内存容易不够用,噪音就太小,有时会有陷入局部最小的情况
  • 迭代次数少,但是每次迭代的时间长
  • 对于二阶优化算法,如果估计不好一阶导数,那么对二阶导数的估计会有更大的误差,减小batch换来的收敛速度提升远不如引入大量噪声导致的性能下降,因此在使用二阶优化算法时,往往要采用大batch

  • 小batch size只是用更少的计算来近似梯度,引入的随机性会更大些,方差大,易于逃离局部最优,泛化能力好,有时候能有更好的效果
  • batch size太小,迭代次数多,稳定性差,可能引起恶性的震荡无法收敛。
  • 工程上在使用GPU训练时,跑一个样本花的时间与跑几十个样本甚至几百个样本的时间是一样的。在工程实际中,从收敛速度的角度来说,小批量的样本集是最优的

3. python中“Non-ASCIl character in file, but no encoding declared”的解决

在最开头加上:

# -*- coding: UTF-8 -*-

4. Tensorflow参考

Tensorflow的基本概念与常用函数

5. 快捷键

Jupyter Notebook:

Shift+enter 运行代码并进入下一行

两个空格加回车可以在Markdown里面换行

pycharm: Ctrl+/ 注释与取消注释

pycharm connecting to console转半天:删掉.idea文件

l: 显示行号

nvidia-smi 查看显卡使用

6. 杂项

python数组默认右边开区间

python中x*y表示MATLAB中x.*y   # 矩阵对应元素相乘

python中x.dot(y)表示MATLAB中x*y   # 真实矩阵相乘

7. 卷积层

8. 反向传播BP公式推导

Neural networks and deep learninghttp://neuralnetworksanddeeplearning.com/chap2.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值