Machine learning 千层面中的实时数据扩充

Machine learning 千层面中的实时数据扩充,machine-learning,deep-learning,conv-neural-network,lasagne,nolearn,Machine Learning,Deep Learning,Conv Neural Network,Lasagne,Nolearn,我需要对我的数据集进行实时扩充,以便输入到CNN,但我真的很难找到适合它的库。我曾尝试过caffe,但DataTransform不支持很多实时增强功能,如旋转等。因此为了便于实现,我选择了Lasagne。但它似乎也不支持实时增强。我看到过一些与面部关键点检测相关的帖子,他正在使用nolearn.lasagne的Batchiterator。但我不确定它是否是实时的。没有合适的教程。最后,我应该如何通过nolearn或其他方式在Lasagne中进行实时增强?您可以用于CNN培训的实时数据增强。是gi

我需要对我的数据集进行实时扩充,以便输入到CNN,但我真的很难找到适合它的库。我曾尝试过
caffe
,但
DataTransform
不支持很多实时增强功能,如旋转等。因此为了便于实现,我选择了
Lasagne
。但它似乎也不支持实时增强。我看到过一些与面部关键点检测相关的帖子,他正在使用
nolearn.lasagne
Batchiterator
。但我不确定它是否是实时的。没有合适的教程。最后,我应该如何通过
nolearn
或其他方式在
Lasagne
中进行实时增强?

您可以用于CNN培训的实时数据增强。是github中CIFAR10数据集的示例代码。您也可以修改它以适应您的需要,或者复制源代码并添加到lasagne项目中,但我以前没有尝试过导入lasagne。其基本思想是在每一批中随机增加数据。如果您有适合网络的批循环,则可以在将数据发送到网络之前调用增强功能。

是的,您可以在千层面中进行实时数据增强。最简单的方法是使用。只需将其插入到输入层之后。如果高斯噪声不是您所需要的,那么至少您有高斯噪声作为一个示例,说明如何实现您自己的噪声

请注意在千层面中如何使用
确定性
参数。默认情况下,它处于禁用状态,因此在训练期间会添加噪波。在测试过程中,您设置了
deterministic=True
,并且简单地避免了增强。

是的,您提到的教程确实使用实时(动态)增强来随机翻转输入图像(和目标坐标)


该库有大量迭代器示例,这些迭代器可以进行多种类型的扩充。例如,
AffineTransformBatchIteratorMixin
动态执行随机仿射变换。

您可以使用意大利宽面条中的nolearn的
BatchIterator
进行实时增强。之前(发布时)的问题是我们可以与迭代器关联的实时函数数量的限制。我找到了一个很好的方法来解决这个问题。很快就会更新。这个答案不是关于千层面的