在自动编码器模型中计算图像的 MSE

问题描述 投票:0回答:0

我正在为我的图像数据拟合自动编码器模型以进行异常检测。为了定义异常标志的阈值,我想查看我的训练集的 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 值列表

autoencoder mse
© www.soinside.com 2019 - 2024. All rights reserved.