Tensorflow 将二维卷积转换为一维卷积+;张量流中的仿射变换?

Tensorflow 将二维卷积转换为一维卷积+;张量流中的仿射变换?,tensorflow,image-processing,machine-learning,conv-neural-network,convolution,Tensorflow,Image Processing,Machine Learning,Conv Neural Network,Convolution,我有一个带有Shape=[NxHxWxC\u in]的特殊输入,还有一个Size=[n\u h,n\u w,stride\u h,stride\u w]的内核,它有C\u out个过滤器(如果这样可以简化事情,那么步长可以是1和1,但一般的答案会更好) 在TensorFlow中,创建一维Conv/仿射变换层组合以获得与二维卷积相同的结果的最有效方法是什么 我发现了一种叫做螺旋变换的东西,但我看不出它是否可以扩展到多个通道(其中C_-in和C_-out是相当大的数字) 您可以使用来创建一维卷积,这

我有一个带有
Shape=[NxHxWxC\u in]
的特殊输入,还有一个
Size=[n\u h,n\u w,stride\u h,stride\u w]
的内核,它有
C\u out
个过滤器(如果这样可以简化事情,那么步长可以是1和1,但一般的答案会更好)

在TensorFlow中,创建一维Conv/仿射变换层组合以获得与二维卷积相同的结果的最有效方法是什么


我发现了一种叫做螺旋变换的东西,但我看不出它是否可以扩展到多个通道(其中
C_-in
C_-out
是相当大的数字)

您可以使用来创建一维卷积,这与多维卷积是等价的。

但这似乎并没有降低计算复杂度。那么,这种转换的目的是什么呢?它并不难(我不知道它是否改善了内存访问模式,我不是这方面的专家)。在我看来,这是一个表示技巧(与以矩阵形式构建二维卷积的想法相同)。但是如果你有一个1D卷积的构造块,你想用它来进行N-D卷积,这就是方法。啊,这是有意义的。但是,如果我理解正确的话,您最终会执行大量的乘零运算,因为您将内核填充到与输入相同的大小。