图像增强+网络加深+批归一化,发现测试数据无法收敛的问题?
来源:5-11 批归一化实战(2)
jandy_chen
2020-02-25
如下截图,训练10K step 发现训练数据的准确度有上来,但是测试数据且一直是9%上下,是否正常??
于是看代码发现,原先这步”/ 127.5 - 1, # 归一化,“是放在加载数据的类里面,,后面由于做图像数据增强移动出来,于时,如下截图所示,在训练评估测试时也加了一下,但继续在训练个10K,也是一样,测试数据准确度太低了(感觉不正常)
请问:
1、测试数据这个地方是否需要做一下归一化处理??
2、如上所问10K的训练,测试数据准确性,是可能什么原因导致?
写回答
1回答
-
同学你好,这里应该需要让训练集和测试集统一操作,如果训练集上归一化了,那么测试集上也需要归一化。
而关于这里的逻辑,我在搭建graph的时候已经做了归一化,所以感觉你这里对测试集再做归一化重复了。
见代码中的最后一行。
x = tf.placeholder(tf.float32, [batch_size, 3072]) y = tf.placeholder(tf.int64, [batch_size]) is_training = tf.placeholder(tf.bool, [])# [None], eg: [0,5,6,3]x_image = tf.reshape(x, [-1, 3, 32, 32])# 32*32x_image = tf.transpose(x_image, perm=[0, 2, 3, 1]) x_image_arr = tf.split(x_image, num_or_size_splits=batch_size, axis=0) result_x_image_arr = [] for x_single_image in x_image_arr: # x_single_image: [1, 32, 32, 3] -> [32, 32, 3] x_single_image = tf.reshape(x_single_image, [32, 32, 3]) data_aug_1 = tf.image.random_flip_left_right(x_single_image) data_aug_2 = tf.image.random_brightness(data_aug_1, max_delta=63) data_aug_3 = tf.image.random_contrast( data_aug_2, lower=0.2, upper=1.8) x_single_image = tf.reshape(data_aug_3, [1, 32, 32, 3]) result_x_image_arr.append(x_single_image) result_x_images = tf.concat(result_x_image_arr, axis=0) normal_result_x_images = result_x_images / 127.5 - 1
012020-02-26
相似问题