首页 > 解决方案 > 训练准确度分数不同于后续测试准确度分数

问题描述

训练准确度在准确度阈值回调后报告为准确度:0.8500 但是当我返回并使用我的 TestFolder() 函数测试每张图像时,我得到完全不同的结果,这是为什么呢?

def TestFolder(TestFolderDir,TestItem):
dir_path = TestFolderDir
Wins=0
Losses=0
for i in os.listdir(dir_path):
    img = image.load_img(dir_path+'//'+i,target_size=(Y_Dimensions,X_Dimensions,3))
    #plt.imshow(img)
    #plt.show()
    X=image.img_to_array(img)
    X=np.expand_dims(X,axis=0)
    images=np.vstack([X])
    val=float(model.predict(images))
    val=round(val)
    #print(val)
    if val==0:
        if TestItem==0:
            Wins=Wins+1
        else:
            Losses=Losses+1 
    if val==1:
        if TestItem==1:
            Wins=Wins+1
        else:
            Losses=Losses+1        
if Wins==0:
    Wins=0.00001
if Losses==0:
    Losses=0.00001
ratio=round(Wins/(Wins+Losses),2)
print("[LTM]["+TestFolderDir+"]Batch Accuracy: ",ratio)
WriteTxt("LTM_BatchAccuracy"+str(TestItem),str(ratio))

标签: pythontensorflow

解决方案


推荐阅读