Python 我如何评估一个从目录中加载数据流的模型?
您好,我培训了一个模型,图像正在加载:Python 我如何评估一个从目录中加载数据流的模型?,python,tensorflow,keras,Python,Tensorflow,Keras,您好,我培训了一个模型,图像正在加载: batch_size = 16 # Data augmentation and preprocess train_datagen = ImageDataGenerator(rescale=1./255, shear_range=0.2, zoom_range=0.2, horizontal_flip=True, validation_split=0.20) # set validation split # Train d
batch_size = 16
# Data augmentation and preprocess
train_datagen = ImageDataGenerator(rescale=1./255,
shear_range=0.2,
zoom_range=0.2,
horizontal_flip=True,
validation_split=0.20) # set validation split
# Train dataset
train_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 dataset
validation_generator = train_datagen.flow_from_directory(
'PetImages/train',
target_size=(244, 244),
batch_size=batch_size,
class_mode='binary',
subset='validation') # set as validation data
test_datagen = ImageDataGenerator(rescale=1./255)
# Test dataset
test_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)
最后,我使用:
score = model.evaluate_generator(test_datagen, steps=STEP_SIZE_VALID)
print(f'Test loss: {score[0]} / Test accuracy: {score[1]}')
我认为你应该在求值之前把
numpy
x转换成张量。看看这个。