您好,我訓練了一個模型,并且加載了圖像:batch_size = 16# Data augmentation and preprocesstrain_datagen = ImageDataGenerator(rescale=1./255, shear_range=0.2, zoom_range=0.2, horizontal_flip=True, validation_split=0.20) # set validation split# Train datasettrain_generator = train_datagen.flow_from_directory( 'PetImages/train', target_size=(244, 244), batch_size=batch_size, class_mode='binary', subset='training') # set as training data# Validation datasetvalidation_generator = train_datagen.flow_from_directory( 'PetImages/train', target_size=(244, 244), batch_size=batch_size, class_mode='binary', subset='validation') # set as validation datatest_datagen = ImageDataGenerator(rescale=1./255)# Test datasettest_datagen = test_datagen.flow_from_directory( 'PetImages/test')問題是如何使用 test_datagen 評估模型?我嘗試了以下但沒有工作:x=[]y=[]test_datagen.reset()for i in range(test_datagen.__len__()): a,b=test_datagen.next() x.append(a) y.append(b)x=np.array(x)y=np.array(y)print(x.shape)print(y.shape)score = model.evaluate(x, y)print(f'Test loss: {score[0]} / Test accuracy: {score[1]}')我收到此錯誤:無法將 NumPy 數組轉換為張量(不支持的對象類型 numpy.ndarray)。
1 回答

胡子哥哥
TA貢獻1825條經驗 獲得超6個贊
最后我用:
score = model.evaluate_generator(test_datagen, steps=STEP_SIZE_VALID)
print(f'Test loss: {score[0]} / Test accuracy: {score[1]}')
添加回答
舉報
0/150
提交
取消