I have implemented the following version of my ResNet50. I trained my model with my own data in another notebook so I just load the weights and compile the model. Now, I just want to make predictions on my new unseen data.
def resnet50F(im_size):
resnet = ResNet50(input_shape=(im_size, im_size, 3), weights='imagenet', include_top = False)
headModel = AvgPool2D(pool_size=(3,3))(resnet.output)
headModel = Flatten(name='flatten')(headModel)
headModel = Dense(256, activation='relu')(headModel)
headModel = Dropout(0.5)(headModel)
headModel = Dense(1, activation='sigmoid')(headModel)
model = Model(inputs=resnet.input, outputs=headModel)
model.trainable = True
return model
resnet50 = resnet50F(im_size=224)
resnet50.load_weights(PATH_MODEL_WEIGHTS)
opt = optimizers.Adam(learning_rate=1e-6)
resnet50.compile(loss='binary_crossentropy', optimizer=opt, metrics=METRICS)
predictions = resnet50.predict(X)
However, when I print predictions I get the following output:
[[4.22752373e-06]
[2.81104029e-10]
[3.21204737e-02]
[5.09007333e-12]
[6.25871266e-08]
[3.95518853e-08]
[3.76289577e-09]
[1.04685043e-07]
[4.40788448e-01]
[4.18029167e-09]
[1.68976447e-04]
[4.83552366e-03]
[5.67837298e-01]
[1.92822833e-02]
[1.86168763e-04]
[3.30054699e-11]
[1.55285016e-01]
[1.40850764e-12]
[4.75460291e-02]
[2.36899691e-08]
[1.91837142e-04]
[2.70789745e-03]
[2.28864295e-07]
[1.04725331e-08]
[3.17185315e-15]
[1.86515141e-08]
[9.09119472e-03]
[2.67773657e-06]
[6.43107248e-03]
[1.06139310e-14]
[3.12786847e-01]
[1.47488710e-04]
[7.75789477e-09]
[2.05256441e-03]
[5.19017190e-11]
[6.54808059e-02]
[9.27565736e-04]
[6.90304815e-26]
[8.59875661e-14]
[2.54806340e-01]
[1.05227390e-02]
[4.43476923e-02]
[3.65121141e-02]
[4.71908916e-13]
[1.16901109e-02]
[2.83952375e-07]
[6.87847793e-01]
[6.25556211e-08]
[2.92979064e-03]
[1.00091375e-08]
[7.29291560e-06]
[7.43216195e-16]
[1.16142066e-04]
[6.63836045e-06]
[4.89238771e-12]
[3.75503966e-08]
[7.99435584e-05]
[5.35736717e-06]
[2.15524092e-11]
[1.89218114e-14]
[4.04082388e-02]
[1.11348586e-09]
[1.72054302e-03]
[2.21202258e-11]
[2.13359108e-08]
[2.09557402e-05]
[1.01457292e-04]
[9.81324539e-03]
[9.62927871e-08]
[4.38750768e-03]
[7.26699904e-02]
[6.57562000e-16]
[4.28197110e-13]]
As I understand it, it's supposed to represent the probability of my model to belong to class 1. So there's either only one sample predicted as class 1 (5.67837298e-01) or I am missing something in my methodology.