我正在研究回归nn。
我正在使用 keras 1.2.1,并希望使用数据增强来改进我的模型。
为此,我修改了代码以使用生成器:
datagen = ImageDataGenerator(horizontal_flip=True)
datagen.fit(X_train, y_train, shuffle=True, validation_split=0.2, nb_epoch=EPOCHS, callbacks=callbacks)
我遇到的问题是我需要修改此数据的关联 y_label 以说明我水平翻转图像的事实。
在这个简单的例子中,如果图像被翻转,我基本上需要将 y_label 的符号从正翻转为负,反之亦然。
最佳答案
在最近的 tensorflow-keras 版本中,我们可以在 内完成。 map 数据增强功能,使用 tf.data API。
flip_prob=tf.random.uniform(shape=[1])
image = tf.cond(flip_prob < 0.5, lambda: tf.image.flip_left_right(image), lambda: image)
label = tf.cond(flip_prob < 0.5, lambda: -label, lambda: label) # label is int
我们也可以使用 tf.py_function 使用 python 条件语句(用于扩充)来实现相同的结果。
关于python-3.x - 使用 keras 扩充数据时如何修改标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43668437/