问题标签 [data-augmentation]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
37 浏览

tensorflow - 拟合生成器函数中的数据增强错误

我正在尝试训练用于面部表情检测的 cnn 模型并减少输入类中的不平衡,我使用来自 keras 的 ImageDataGenerator 来扩大我的数据集。

这是我的代码:

我生成了很多图像并将其输入模型进行训练,但它给了我这个错误:无法将输入数组从形状(28709,128)广播到形状(28709)

如何确定此错误的原因?

0 投票
1 回答
195 浏览

python - 张量流中的掩码张量部分,数据增强

我正在尝试实施以下论文:https ://arxiv.org/abs/1904.08779 ,以便在 Speech to Text 中取得更好的效果。
我正在尝试使用mozilla DeepSpeech repo 来实现它。它使用 tensorflow 数据集模型来加载数据。

音频转换为频谱图并计算 mfcc,因此当数据到达 augment_spec 函数时,它的形状为 (?, 26)。? 是对可变音频长度进行整形的结果。我试图掩盖图像的某些部分,为此我想乘以张量,一个是 1 和 0 的掩码,使用类似这样的代码

问题是这些说明:

由于在构建图形时张量尚未定义形状,因此不起作用,所以我不知道如何实现这一点。你能帮我解决这个问题吗?非常感谢!!

更新:在@kempy 回答之后,我的代码现在看起来像这样:

但是现在我收到了这个错误:

我不知道如何解决这个问题,谢谢你的帮助

0 投票
0 回答
28 浏览

data-augmentation - 做数据增强后可以在训练数据中选择一些数据吗?

我正在训练一个用于语义分割的 UNET,但我只有 200 个标记图像。鉴于数据集的规模较小,它肯定需要一些数据增强技术。

我对测试和验证集有疑问。

我有自定义数据生成器,它不断从文件夹中为训练模型提供数据。

所以我打算做的是:

  • 对训练集进行数据扩充并将所有数据保存在同一个文件夹中

  • “随机”选择一些训练数据进入测试和验证集(当然,在训练之前)。

我不确定这是否可以,因为我们只是做了一些简单的处理(翻转、转置、调整亮度)

先分离数据然后对训练文件夹中的其余数据进行扩充会更好吗?

0 投票
1 回答
2529 浏览

tensorflow - 无法转换类型的对象张量

我正在尝试使用 tensorflow 的 left_right 和 up_down 增强函数随机化翻转增强。我通过 tf.cond() 根据布尔条件映射函数时遇到错误

0.1版

0.2版

错误

TypeError:无法将类型对象转换为张量。内容: 。考虑将元素转换为支持的 type.ROR:

让我知道我错过了什么或是否需要更多信息。

0 投票
2 回答
1729 浏览

python - 是否有用于整个数据集的图像数据增强的 python 代码?

我正在研究用于图像分类问题的 CNN(卷积神经网络)。我有一个包含 1000 张图像的数据集,这些图像不足以适应我设计的模型,我想在训练 CNN 之前增加图像的数量。如何使用 python 扩充我的数据集。

0 投票
1 回答
268 浏览

tensorflow - 如何在使用 Keras flow_from_directory 时沿深度轴组合两个 RGB 图像以准备 6 通道输入数据?

train_generator 使用 Keras flow_from_directory 从磁盘读取批量 RGB 图像数据(下面的示例代码)。但就我而言,我有两个图像目录,因此我想读取一对图像并将它们沿深度轴堆叠以在它之前形成一个 6 通道图像(即 2x R、2x G、2x B 通道)转到 fit_generator。

所以,我的问题是如何在使用 Keras flow_from_directory 的同时沿深度轴组合两个 RGB 图像来准备 6 通道输入数据?

我正在从这里关注一个用于分类的示例 CNN 代码:

https://gist.github.com/fchollet/0830affa1f7f19fd47b06d4cf89ed44d

0 投票
1 回答
280 浏览

tensorflow - 仅使用 tensorflow 进行训练中的数据增强

我想做一些随机增强,只在火车时间。

我已将增强合并为图表的一部分——我认为这是一种错误,因为同一个图表也用于测试——而且我不希望测试图像被增强。

我希望仅在测试时应用上述增强 - 怎么做?

0 投票
1 回答
1530 浏览

python-3.x - 如何通过数据增强增加图像数量

我正在尝试使用 pytorch 应用数据增强。特别是,我有一个包含 150 个图像的数据集,我想对每个图像应用 5 个变换(水平翻转、3 个随机旋转和垂直翻转)以获得 750 个图像,但是使用我的代码我总是有 150 个图像。

0 投票
2 回答
2747 浏览

python - 带有中心裁剪的 Keras ImageDataGenerator 用于旋转和平移移位

我需要进行数据扩充,但不需要任何填充模式,, constant, reflect, 。相反,每次旋转或平移图像时,我都希望将其居中裁剪(如下所示),以免出现任何黑色、白色、反射或恒定边缘/边界,如此所述。nearestwrap

在此处输入图像描述

ImageDataGenerator考虑到这些要点,我如何扩展课程(如果这是唯一的方法并且没有开箱即用的中心裁剪)?

  1. 保留ImageDataGenerator的现有部分而不是扩充部分,并编写自定义扩充函数

  2. 在增强发生之前保留原始大小的图像而不调整大小将是有效的,因为中心裁剪会在调整大小后导致大量数据丢失。Translate/Rotate -> Center crop -> Resize应该比Resize -> Translate/Rotate -> Center crop

0 投票
1 回答
245 浏览

keras - 使用 flow_from_directory 进行训练和验证,无需扩充

我正在训练一个简单的 CNN,其中 Nt=148 + Nv=37 图像分别用于训练和验证。我使用该ImageGenerator.flow_from_directory()方法是因为我计划将来使用数据增强,但目前我不想要任何数据增强。我只想从磁盘中一张一张地读取图像(并且每张都只读取一次,这对于验证非常重要)以避免将所有图像都加载到内存中。

但以下内容让我认为正在发生与预期不同的事情:

  1. 训练和验证准确度达到的值不类似于以 148 或 37 作为分母的分数。实际上试图从 delta 的约数中估计一个合理的分母,导致数字远大于 148(大约 534 或 551,见下文(*)为什么我认为它们应该是 19 的倍数)和 37
  2. 验证训练和验证数据集上的所有预测(使用单独的程序,它只读取验证目录一次并且不使用上述生成器),显示了一些不完全是 (1-val_acc)*Nv 的失败正如我所料

(*) 最后我发现我用于两者的批量大小都是 19,所以我希望我提供每个 epoch 19*7=133 或 19*8=152 个训练图像和 19 或 38 个图像作为验证集纪元结束。

顺便说一句:是否可以使用model.fit_generator()从 构建的生成器ImageGenerator.flow_from_directory()来实现: - 没有数据增强 - 两个生成器应分别将所有图像分别提供给训练过程和验证过程,每个 epoch 只提供一次 - 洗牌很好,实际上需要,以便每个时期运行不同

同时,我将自己定位为将批量大小设置为等于验证集长度(即 37)。作为训练集数量的一个分隔符,我认为它应该计算出这些数字。

但是我仍然不确定以下代码是否达到了“根本没有数据增强”的要求