python-3.x - 使用 keras 扩充数据时如何修改标签

标签 python-3.x dataset artificial-intelligence deep-learning keras

我正在研究回归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/

相关文章:

python - 我可以将打印作业直接从 python 程序发送到 CUPS 打印服务器的 IP 地址吗?

artificial-intelligence - 具有 Sigmoid 激活的神经网络是否使用阈值?

artificial-intelligence - Ada 中的 AI 库框架

java - 是否有 API 可以获取 GCP AI Hub 中的所有公共(public)类别

如果两个列表中满足条件,python将跳过循环中的下一个索引

python - 如何将字典中的值与字符串中的多个元素相加?

asp.net - .ashx 处理程序中的 View 状态?

Python iloc 索引之间的区别

python-3.x - numpy.corrcoef() 对返回值的疑问

c# - 向 DataSet 添加了多条记录,但数据库中仅存储一条记录 (C#)