什么是与theano的tensorflow.contrib.layers.convolution2d等效的num_outputs?

时间:2017-07-28 14:16:22

标签: tensorflow theano

在Tensorflow-contrib中,2D convolution是根据filter_size和num_outputs定义的。你如何控制Theano的nnet.conv2d类型的num_outputs?

1 个答案:

答案 0 :(得分:0)

简短回答:必须在运行时根据过滤器张量的形状确定。

与TF不同,Theano不会在张量中存储明确的形状信息。

在TF中,你可以这样做:

w = tf.placeholder('float32', [64,64], name='w')

在Theano中,编译时无法告诉x64 x 64矩阵。你能做的最好的是:

w = T.matrix(name='w', dtype='float32')

在编译时,Theano只知道张量等级,以及哪些维度可以播放。

在运行时,张量的形状是已知的。如果图像批量是4D张量的形状[N, C, H, W],则过滤器的大小为[D, C, U, V]num_outputs将推断为D

编辑实际上您可以在filter_shape中指定theano.tensor.nnet.conv2d参数,但它只是提示Theano选择最佳卷积算法。仍然必须在运行时确定形状不匹配错误。