勘察顺序
1.输入数据问题是否出错,
2.权值初始化是否过小,
3.初始学习率是否过大或者过小(或者学习率是否在下降),
4.是否使用BN,bn的初始化问题,
5.优化器是否合适,更换不同的优化器.
存在卷积操作
存在多层卷积操作时,适当加入batch_normalization
conv1 = tf.layers.conv2d(inputs=inputs, filters=512, kernel_size=(3, 3), strides=1, padding='same', activation=None)
conv1 = tf.layers.batch_normalization(conv1)
conv1 = tf.nn.relu6(conv1)
mp1 = tf.layers.max_pooling2d(conv1, pool_size=[3, 3], strides=2, padding='same')
注意:
1 卷积操作不使用激活函数
2 + batch_normalization
3 使用激活函数映射到非线性区域
4 使用map_pooling
操作