Caffe中的反卷积 - blob大小超过INT_MAX

时间:2017-05-02 10:36:37

标签: deep-learning caffe

诚然,我有一个相当庞大的网络。它基于来自paper的网络,声称使用Caffe进行实施。这是拓扑结构:

Topology of generative deconvolutional neural network

尽我所能,我试图重新创建模型。作者使用术语“upconv”,它是2x2 unpooling,然后是5x5卷积的组合。我把它当作一个带有步幅2和内核大小为5的去卷积层(如果你不相信,请纠正我)。以下是完整modelsolver

的简短摘要
...

# upconv2
layer {
  name: "upconv2"
  type: "Deconvolution"
  bottom: "upconv1rec"
  top: "upconv2"
  convolution_param {
    num_output: 65536 # 256x16x16
    kernel_size: 5
    stride: 2
  }
}
layer {
  name: "upconv2-rec"
  type: "ReLU"
  bottom: "upconv2"
  top: "upconv2rec"
  relu_param {
    negative_slope: 0.01
  }
}

# upconv3
layer {
  name: "upconv3"
  type: "Deconvolution"
  bottom: "upconv2rec"
  top: "upconv3"
  convolution_param {
    num_output: 94208 # 92x32x32
    kernel_size: 5
    stride: 2
  }
}

...

但似乎这对Caffe来说太大了:

I0502 10:42:08.859184 13048 net.cpp:86] Creating Layer upconv3
I0502 10:42:08.859184 13048 net.cpp:408] upconv3 <- upconv2rec
I0502 10:42:08.859184 13048 net.cpp:382] upconv3 -> upconv3
F0502 10:42:08.859184 13048 blob.cpp:34] Check failed: shape[i] <= 2147483647 / count_ (94208 vs. 32767) blob size exceeds INT_MAX

我如何解决这个限制?

0 个答案:

没有答案