Python 无法批处理组件0中具有不同形状的张量。第一个元素有形状[224224,3],第二个元素有形状[28432622,3]
我想用我自己的数据集修改SIMCLR的代码,该数据集包含一个目录“train”,其中有两个子目录:“dog”和“cat” 这里,输入是一个文本文件,图像的名称用“,”和相应的标签分隔 我试着这样做:Python 无法批处理组件0中具有不同形状的张量。第一个元素有形状[224224,3],第二个元素有形状[28432622,3],python,tensorflow,tensorflow2.x,Python,Tensorflow,Tensorflow2.x,我想用我自己的数据集修改SIMCLR的代码,该数据集包含一个目录“train”,其中有两个子目录:“dog”和“cat” 这里,输入是一个文本文件,图像的名称用“,”和相应的标签分隔 我试着这样做: textdata = tf.data.Dataset.from_tensor_slices(self.file_path) textdata = textdata.shuffle(5000, reshuffle_each_iteration=True)
textdata = tf.data.Dataset.from_tensor_slices(self.file_path)
textdata = textdata.shuffle(5000, reshuffle_each_iteration=True)
epoch_counter = tf.data.Dataset.range(current_epoch, num_epochs)
if self.config.task == 'pretrain':
data = textdata.map(lambda fnames: self.read(fnames))
data = data.map(lambda image: self.augment(image))
data = epoch_counter.flat_map(lambda i: tf.data.Dataset.zip((data, tf.data.Dataset.from_tensors(i).repeat())))
else:
#textdata = textdata.map(lambda fnames: tf.strings.split(fnames, os.path.sep))
#data_image = textdata.map(lambda fnames: self.read(fnames[0]))
if self.config.task == 'classification' or self.config.task == 'regression':
data_image = tf.data.Dataset.from_tensor_slices(self.file_path)
data_image = data_image.map(lambda fnames: self.read(fnames))
data_label = textdata.map(lambda fnames: self.process_path(fnames))
我发现这个错误:
tensorflow.python.framework.errors_impl.InvalidArgumentError: Cannot batch tensors with different shapes in component 0. First element had shape [224,224,3] and element 2 had shape [2843,2622,3].
tensorflow.python.framework.errors_impl.InvalidArgumentError: Cannot batch tensors with different shapes in component 0. First element had shape [224,224,3] and element 2 had shape [2843,2622,3].