Kerasmodel.fit返回无类型对象

wvmv3b1j  于 2023-02-23  发布在  其他
关注(0)|答案(1)|浏览(172)

我正在处理大量的图片数据集(1920x1088),这就是为什么我决定用tf.keras.utils.Sequence()加载它这是它看起来的样子:

class Pictures(keras.utils.Sequence):
    
    def __init__(self, x_set, y_set, batch_size):
        self.x, self.y = x_set, y_set
        self.batch_size = batch_size
      
    def load_sample(self, file):
        image = Image.open(file)    # Открываем изображение
        image.load()    # Загружаем его
        return image
  
    def __len__(self):
        return math.ceil(len(self.x) / self.batch_size)

    def __getitem__(self, idx):
        batch_x = self.x[idx * self.batch_size:(idx + 1) *
        self.batch_size]
        batch_y = self.y[idx * self.batch_size:(idx + 1) *
        self.batch_size]
        
        return np.array([cv2.resize(cv2.imread(file_name), (1920, 1088)) for file_name in batch_x]).astype('float32') / 255.0, np.array([cv2.resize(cv2.imread(file_name), (1920, 1088)) for file_name in batch_y]).astype('float32') / 255.0

我的模型如下所示:

model.compile(optimizer = tf.keras.optimizers.Adam(learning_rate = 0.001), loss = 'mean_absolute_error',
              metrics = ['acc'])
model.fit(Pictures(high_q, low_q, 1), epochs = 7)

high_qlow_q是到图片的路径列表
我不断收到错误:TypeError: 'NoneType' object is not callable
没有tf.keras.utils.Sequence()代码也能正常工作,但我需要保留它
我哪里做错了?
另外,我被要求在Keras上做,如果可以的话,我宁愿用Torch做
我尝试了不同的文件,不同的格式等,它的工作,如果我会删除类,但我需要它

soat7uwm

soat7uwm1#

如果指定拟合方法的参数x,则该方法应该有效:model.fit(x = Pictures(high_q, low_q, 1), epochs = 7)

相关问题