我正在使用 Imgaug 对我的训练数据进行图像增强。代码如下:
training_augment = iaa.Sequential([iaa.Fliplr(0.5),
iaa.Flipud(0.5),
iaa.Sometimes(0.5, iaa.Rot90((1, 3))),
iaa.Sometimes(0.25, iaa.Affine(rotate=(-30, 30),
scale=(1.0, 1.25),
translate_percent={"x": (-0.1, 0.1), "y": (-0.1, 0.1)},
cval=1.0)),
iaa.AdditiveGaussianNoise(loc=0, scale=(0.0, 0.2), per_channel=0.5)])
以下是错误:
ValueError: Got dtype 'float64',这是一个禁止的 dtype(uint32、uint64、uint128、uint256、int32、int64、int128、int256、float64、float96、float128、float256)。
使用 AdditiveGuassianNoise 时出现此错误,而使用其余部分时,它运行正常。我不太确定错误的含义。如果有人可以提供帮助,将不胜感激。谢谢
还将我的自定义数据生成器代码添加到图像所在的位置:
def create_augmented_batch(self, index): # call in the training images
image_list, labels_batch = self._create_balanced_batch(index)
if self.augmentation is not None:
image_list = self.augmentation.augment(images=image_list)
return image_list, labels_batch
def __getitem__(self, index):
if self.augmentation is None:
images, labels = self.create_batch(index) # for test images
else:
images, labels = self.create_augmented_batch(index) # for training images
return images[..., np.newaxis], tf.keras.utils.to_categorical(np.array(labels), num_classes=self.num_classes)