在theano中输入任意大小

时间:2016-02-02 11:21:03

标签: python-2.7 theano

我在Theano建立了一个cnn网络。输入是很多图像,但它们的大小不同。 numpy.array的元素大小相同 我怎样才能将它们作为输入? 非常感谢。

2 个答案:

答案 0 :(得分:0)

您需要进行一些数据格式化。 NN的输入大小是恒定的,因此如果您的CNN图像具有不同的大小,您需要在输入之前将它们调整为您的输入大小。它就像一个人太靠近或远离一幅画,你的领域为了清楚地看到一切,你需要调整你与图像的距离。

答案 1 :(得分:0)

在训练您的网络时,出于架构和性能原因,您的所有输入图像应该具有相同的形状,通常是正方形。你可以实现平方输入,例如通过做

  1. 重塑图像,使得较小的边等于方形边长,同时保持纵横比
  2. 沿着另一个轴裁剪图像,无论是在中间还是在随机位置,以获得正方形
  3. 这可确保图像不会失真。

    也就是说,如果您已经训练过您的网络,并希望将其应用于大于其正常输入大小的图像,那么您可以在图像上对卷轴进行卷积。 Pierre Sermanet的OverFeat论文对此进行了解释。它也在http://sklearn-theano.github.io

    的sklearn-theano的估算器中实现