我正在为我的图像数据拟合自动编码器模型以进行异常检测。为了定义异常标志的阈值,我想查看我的训练集的 MSE 值分布。 下面的代码读取训练集图像并对其进行预处理
datagen = ImageDataGenerator(rescale=1./255,
zoom_range=[0.5,0.5],
brightness_range=[0.,3.])
train_gen = datagen.flow_from_directory( './autoencoder/PreProcessed Image/Train',
target_size = (height, width),
batch_size = 16,
class_mode = 'input',
color_mode='rgb',
shuffle = True)
一旦建立了模型,我知道 Model.evaluate 给出了整个集合的 MSE 平均值,但我需要访问单个图像 MSE 值来创建这些值的直方图。有什么建议么? 我使用以下命令创建原始图像及其重建图像的列表,然后计算每个图像及其预测之间的 mse,但没有运气(我不确定如何检索图像及其重建图像来计算 mse)
data_batch = []
predicted_batch = []
img_num = 0
while img_num <= train_gen.batch_index:
data=train_gen.next()
data_batch.append(data[0])
predicted = model.predict(data[0])
predicted_batch.append(predicted)
img_num = img_num+1
我想创建一个包含所有训练图像及其重建图像的 mse 值列表