我不是caffe和Python的专家,但我正在努力逐步学习。我有点困惑,所以如果专家看看我的问题,我真的很感激。
我正在研究图像……
一般来说,你的理解看起来是正确的。但:
Caffe blobs(顶部,底部)将图像存储为(通道*行*列)形式,与通常的形式(行*列*通道)不同。在1通道图像(如标签)的情况下它没有区别,但在彩色图像的情况下它确实如此。我怀疑tf.warp在这种情况下是否正常工作。
我认为没有理由为各种增强(移位,翻转等)制作单独的图层。在一个python层中完成所有这些操作没有问题。但我不明白你想在这种情况下有很多底部和顶部。此外,你已经显示的python层没有增加,因为它只是产生一组相似的移位图像来代替原始图像。它不会改善培训过程。通常使用的即时增强方法是一种变换,它不会影响净形状,但会随机(!)转换数据代替原始数据。因此,网络在不同的训练时期处理相同的输入图像,它实际上处理通过随机变换从该输入图像产生的不同图像。所以你必须随机选择x_trans,y_trans来完成你的例子。在通常情况下,您还可以添加随机翻转和随机高斯噪声等。这种转换可以同时应用,也可以随机选择其中一种。无论如何,该层必须只有一对数据+标签作为底部和顶部。