我正在处理大量的图片数据集(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_q
和low_q
是到图片的路径列表
我不断收到错误:TypeError: 'NoneType' object is not callable
没有tf.keras.utils.Sequence()
代码也能正常工作,但我需要保留它
我哪里做错了?
另外,我被要求在Keras上做,如果可以的话,我宁愿用Torch做
我尝试了不同的文件,不同的格式等,它的工作,如果我会删除类,但我需要它
1条答案
按热度按时间soat7uwm1#
如果指定拟合方法的参数x,则该方法应该有效:
model.fit(x = Pictures(high_q, low_q, 1), epochs = 7)