提取DBN最后隐藏层,Theano,Python

时间:2016-10-11 07:37:40

标签: python theano

我是Theano的新手,我一直在寻找这个问题大约2个月。我使用的是此网站提供的代码:http://deeplearning.net/tutorial/DBN.html

我有一个4层深信仰网络,实际上有2个隐藏层。 据我所知,这段代码正在对我的数据集进行分类(我必须提供标签)。但我希望用这种算法“减少输入的维数”。所以我必须提取最后一个隐藏层的神经元的值。但我不能。

我该怎么做?

提前谢谢

1 个答案:

答案 0 :(得分:0)

DBM是在多个RBM的分层构建的。快速查看提供的链接中的代码,您应该查看DBM中的附加图层,并在以下模型中提供输入时打印此图层的输出结果。

    sigmoid_layer = HiddenLayer(rng=numpy_rng,
                                input=layer_input,
                                n_in=input_size,
                                n_out=hidden_layers_sizes[i],
                                activation=T.nnet.sigmoid)

    self.sigmoid_layers.append(sigmoid_layer)

    rbm_layer = RBM(numpy_rng=numpy_rng,
                    theano_rng=theano_rng,
                    input=layer_input,
                    n_visible=input_size,
                    n_hidden=hidden_layers_sizes[i],
                    W=sigmoid_layer.W,
                    hbias=sigmoid_layer.b)

    self.rbm_layers.append(rbm_layer)