resnet34训练好后在测试文件中不论传入什么图片都是相同的输出结果,查了一下是Batch Normalization的问题,在训练模式下就会这样,但是使用K.set_learning_phase(1)在testing.py的开头开始没效果
训练文件中的函数:
def Conv2d_BN(x, nb_filter, kernel_size, strides=(1, 1), padding='same', name=None):
x = Conv2D(nb_filter, kernel_size, padding=padding, strides=strides, activation='relu')(x)
x = BatchNormalization(axis=3)(x)
return x
测试文件中就是这样的
def predict(file):
x = load_img(file, target_size=(img_width,img_height))
x = img_to_array(x)
x = np.expand_dims(x, axis=0)
array = model.predict(x)
result = array[0]
请问要怎么让测试文件开启测试模式
不知道你这个问题是否已经解决, 如果还没有解决的话: