预测模型正在预测相同的输出

时间:2020-08-17 07:47:42

标签: python tensorflow

我使用了大约560张图像的训练数据,并且为了进行测试,我最初使用了200张图像。

问题是model.predict函数正在为所有其他200张图像预测相同的答案

图层代码为

    model=Sequential()
model.add( Conv2D(64, (3,3) , input_shape=(100, 100, 1)) )
model.add(Activation("relu"))
model.add(MaxPooling2D(pool_size=(2,2)))

model.add(Conv2D(64,(3,3) ))
model.add(Activation("relu"))
model.add(MaxPooling2D(pool_size=(2,2)))

model.add(Flatten()) #it will convert our features data from 3d to 1d
model.add(Dense(64))

model.add(Dense(1))
model.add(Activation("sigmoid"))

model.compile(loss="binary_crossentropy",
              optimizer="adam",
              metrics=['accuracy'])

hist=model.fit(x,y,batch_size=42,epochs=10,validation_split=0.1)

模型预测代码:

import matplotlib.pyplot as plt

fig=plt.figure()

for num,data in enumerate(test_data[:12]):    
    img_num = data[1]
    img_data = data[0]
    
    y = fig.add_subplot(3,4,num+1)
    orig = img_data
    data = img_data.reshape(-1,IMG_SIZE,IMG_SIZE,1)
    #model_out = model.predict([data])[0]
    model_out = model.predict_on_batch([data])
   # print(model_out)
    if np.argmax(model_out) == 1: 
        str_label='positive' 
        print(np.argmax(model_out))
    else: 
        str_label='Negative'
        print(np.argmax(model_out))
        
    y.imshow(orig,cmap='gray')
    plt.title(str_label)
    y.axes.get_xaxis().set_visible(False)
    y.axes.get_yaxis().set_visible(False)
plt.show()

The output is

预测模型正在预测与我的测试数据相同的结果。 我正在使用小型数据集来测试数据。

0 个答案:

没有答案