请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

图像增强+网络加深+批归一化,发现测试数据无法收敛的问题?

如下截图,训练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


0 回复 有任何疑惑可以回复我~
  • 提问者 jandy_chen #1
    谢谢,老师,原来构建图做了归一处理,等同于对跑测试数也做了归一化
    回复 有任何疑惑可以回复我~ 2020-02-26 10:12:58
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号