Load_model并计算准确性以进行预测

时间:2020-08-17 13:21:59

标签: python keras file-upload

i = Input(shape=(100,100,1,))

x = Conv2D(32,(3,3),strides=1,activation='relu')(i)
x = BatchNormalization()(x)
x = MaxPooling2D((2, 2))(x)

x = Conv2D(64,(3,3),strides=1,activation='relu')(x)
x = BatchNormalization()(x)
x = MaxPooling2D((2, 2))(x)

x = Conv2D(128,(3,3),strides=1,activation='relu')(x)
x = BatchNormalization()(x)
x = MaxPooling2D((2, 2))(x)

x = Flatten()(x)
x = Dropout(0.2)(x)
x = Dense(50, activation='relu')(x)
x = Dense(2, activation='softmax')(x)

model = Model(i,x)
model.compile(optimizer='adam',loss='sparse_categorical_crossentropy', 
metrics= ['accuracy'])

train_data, test_data, train_target, test_target = 
train_test_split(data,target,test_size=0.1)

checkpoint = ModelCheckpoint('model_mask.h5',monitor='val_loss',verbose=0,
save_best_only=True,mode='auto')


history = model.fit(train_data,train_target,epochs=20,callbacks= 
[checkpoint],validation_data=(test_data,test_target))

那是我的模型和模型运行得很好。

model = load_model("model_mask.h5")  

img_resp = requests.get(url=url)
img_arr = np.array(bytearray(img_resp.content),dtype=np.uint8)
img = cv2.imdecode(img_arr, cv2.IMREAD_COLOR)
gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
faces = face_clsfr.detectMultiScale(gray,1.3,5)

face_img = gray[y:y+w,x:x+w]
resized = cv2.resize(face_img,(100,100))
normalized = resized/255.0
reshaped = np.reshape(normalized,(1,100,100,1))
result = model.predict(reshaped)

我上传了训练有素的模型。也可以开启或关闭其预测掩码。但我想找到准确性。 我正在使用openCv和python。我训练了模型并上传了模型。但是,现在我想计算摄像机快照的准确性吗?我该如何编码?

1 个答案:

答案 0 :(得分:0)

如果要获取分类指标,则需要一组测试图像。然后,您需要记录测试集中所有图像的预测标签和真实标签。完成所有操作后,您将能够计算所需的任何指标。

相关问题