keras 用了ImageDataGenerator(1.0/255)之后的predict和predict_generator预测结果不一致的问题

网友投稿 275 2022-08-27

keras 用了ImageDataGenerator(1.0/255)之后的predict和predict_generator预测结果不一致的问题

用keras写图像分类的代码的时候,我们一般使用imagedatagenerator:

ImageDataGenerator(1.0/255)

示例代码:

test_datagen = ImageDataGenerator(1.0/255)test_data_dir = './data_v1'IMAGE_SIZE=(128,128)batch_size = 32classes=[]with open("labels.txt","r") as f: for line in f.readlines(): classes.append(line.strip("\n").split("\t")[0]) validation_generator = test_datagen.flow_from_directory( test_data_dir, target_size=IMAGE_SIZE, batch_size=batch_size, color_mode="grayscale", classes=classes, shuffle=False, class_mode='categorical', seed=42)

但是训练完了之后,我们想predict一张图片,然后你会发现,如果不用imagedatagenerator,预测的结果就不一样:

解决方案

mg_path='data_v1/hippo05/2.jpg'img = load_img(img_path,color_mode="grayscale",target_size=(img_width,img_height),interpolation='nearest')img_arr=img_to_array(img).astype('float32')# img_arr /= 255.img_arr=np.expand_dims(img_arr,axis=0) # print(img_arr.shape)# output=intermediate_layer_model.predict(img_arr)# print(output)# print(output.shape)print(img_arr.shape)res=test_datagen.flow(img_arr, batch_size=1)out2=model.predict(img_arr)print(out2)idx=np.argmax(out2)print(idx)

在处理好图片了之后,调用一下image_datagen就可以了,这个感觉是个trick,所以分享出来

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Error executing Jupyter command ‘notebook‘: [Errno 2] No such file or directory
下一篇:2022年品牌营销未来发展趋势预测!(2021年营销趋势)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~