DeepLearningTutorials中的convolutional_mlp.py中的过时/错误代码?

时间:2016-05-25 11:34:46

标签: neural-network theano deep-learning conv-neural-network

This代码包含以下内容:

from theano.tensor.nnet import conv2d
...
# convolve input feature maps with filters
    conv_out = conv2d(
        input=input,
        filters=self.W,
        filter_shape=filter_shape,
        input_shape=image_shape
    )
由于&{39; input_shape'而引起例外的

尽管在documentation中提到它,但没有被发现:

  

" image_shape ... - input_shape"的弃用别名

在本地和我发现的source中查看conv.py:

def conv2d(input, filters, image_shape=None, filter_shape=None,
       border_mode='valid', subsample=(1, 1), **kargs):

毋庸置疑,没有input_shape的痕迹。 如果修改上面的代码如下

# convolve input feature maps with filters
    conv_out = conv2d(
        input=input,
        filters=self.W,
        filter_shape=filter_shape,
        image_shape=image_shape
    )

,异常消失,代码运行正常。

我错过了什么?如果不推荐使用image_shape,那么在input_shape没有的情况下如何运作呢?

repositorytheano版本是否已过时?

PS:我本想直接问http://deeplearning.net的人,但我找不到。

1 个答案:

答案 0 :(得分:1)

您确定安装了最新版本吗?

conv.py包含已弃用的conv2d实现。新的实施可以在__init__.py

中找到

确保您使用的是导入语句

from theano.tensor.nnet import conv2d

而不是

from theano.tensor.nnet.conv import conv2d

因为第二个将导入已弃用的实现