我想在张量流中对图像执行卷积。我希望内核和图像一样高,非常薄。例如:
kernel_size = [200, 24]
image_size = [200, 400]
如果我使用填充"相同",而不是将矢量输出,我得到[200,400]图像,因为张量流填充顶部和底部的图像并与内核进行卷积填充图像。
另一方面,如果我使用填充" VALID",顶部和底部的问题消失了,但它也没有完全覆盖我的图像的水平方向,这样,如果图像的水平尺寸不能被内核维度整除,你会失去它的一部分。
有没有办法执行"有效"在顶部和底部填充"相同"左右填充?还是有另一种方法吗?
答案 0 :(得分:1)
使用tensorflow的卷积函数的默认填充选项无法执行此操作,您必须手动填充张量以使水平维度可被内核维度整除。
手动填充后使用VALID填充,以便不要将手动填充的像素视为填充
之外的其他内容要手动填充张量,你可以使用tf.concat一个具有你想要的形状和值的恒定张量。如果你的图像总是大小相同,那就不难理解了。
答案 1 :(得分:1)
对于任何non-standard padding,TF都有自定义填充操作:tf.pad()
。所以只需弄清楚什么是适当的填充并调用类似
module_b