我有一个完全卷积的神经网络,U-网,可以在下面读到。
我想用它对图像进行像素级分类。我有两个尺寸的训练图像: 512x512和768x768。我使用尺寸的反射垫(256,256,256,256,256,256)在前一步,(384,384,384)在后一步。我先做连续填充,再做卷积,得到输出的输入大小。
但是由于我的填充取决于图像/输入的大小,所以我不能建立一个通用的模型(我正在使用火炬)。
在这种情况下,填充物是怎么做的?
我刚开始深造,任何帮助都会很好。谢谢。
发布于 2016-07-07 20:53:58
您的模型将只接受第一层大小的图像。在将它们转发到网络之前,您必须对它们进行预处理。为了做到这一点,您可以使用:
image.scale(img, width, height, 'bilinear')
img将是缩放的图像,width和height是模型的第一层的大小(如果我没有弄错的话,它是572*572),'bilinear'是它将用来缩放图像的算法。
请记住,可能需要提取图像的平均值或将其更改为BGR (取决于模型是如何训练的)。
发布于 2016-07-07 18:57:20
要做的第一件事是处理所有的图像,使其大小相同。CONV层输入要求所有图像都具有指定的维度。
Caffe允许您在prototxt文件中重新构造;在Torch中,我认为有一个类似的命令可以放在createModel的前面,但我不记得命令名了。如果没有,则需要在模型流之外执行该操作。
https://stackoverflow.com/questions/38241234
复制相似问题