通过这个代码,我只得到一个类的单一图像预测。
classes = model.predict(images)
print(classes)
结果:[[0。0000100000000000000.]]
有没有可能得到每个类的百分比预测,例如得到前5个类?在
是,我可以共享模型-编辑2018年5月11日
model = Sequential()
model.add(Conv2D(8, (3, 3), input_shape=(32, 32,3)))
model.add(Activation('relu'))
model.add(Conv2D(16, (3, 3)))
model.add(Activation('relu'))
model.add(MaxPooling2D(pool_size=(2, 2), strides=(2, 2)))
model.add(Dropout(0.25))
model.add(Flatten())
model.add(Dense(64))
model.add(Activation("relu"))
model.add(Dropout(0.25))
model.add(Dense(20))
model.add(Activation("softmax"))
model.compile(loss='categorical_crossentropy',
optimizer='Adam',
metrics=['accuracy'])
model.fit_generator(train_batches,steps_per_epoch=140,validation_data=valid_batches,validation_steps=40,epochs=1000,verbose=2)
model.save_weights('weights.h5')
对测试数据集进行预测
^{pr2}$结果:
array([[0.0000000e+00, 0.0000000e+00, 0.0000000e+00, ..., 0.0000000e+00,
0.0000000e+00, 0.0000000e+00],
[6.6144131e-16, 0.0000000e+00, 1.4948792e-07, ..., 8.4376645e-15,
0.0000000e+00, 0.0000000e+00],
[0.0000000e+00, 0.0000000e+00, 0.0000000e+00, ..., 0.0000000e+00,
0.0000000e+00, 0.0000000e+00],
...,
[0.0000000e+00, 0.0000000e+00, 0.0000000e+00, ..., 0.0000000e+00,
0.0000000e+00, 0.0000000e+00],
[0.0000000e+00, 0.0000000e+00, 0.0000000e+00, ..., 0.0000000e+00,
0.0000000e+00, 0.0000000e+00],
[0.0000000e+00, 0.0000000e+00, 1.8744760e-06, ..., 0.0000000e+00,
0.0000000e+00, 0.0000000e+00]], dtype=float32)
以及我的单一图像预测
img = image.load_img('C:/Users/Kinga/Desktop/user_test/2.jpg', target_size=(32, 32))
x = image.img_to_array(img)
x = np.expand_dims(x, axis=0)
images = np.vstack([x])
classes = model.predict(images)
print(classes)
[[0. 0. 0. 0. 0. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]]
目前没有回答
相关问题 更多 >
编程相关推荐