我是Theano的新手,我一直在寻找这个问题大约2个月。我使用的是此网站提供的代码:http://deeplearning.net/tutorial/DBN.html
我有一个4层深信仰网络,实际上有2个隐藏层。 据我所知,这段代码正在对我的数据集进行分类(我必须提供标签)。但我希望用这种算法“减少输入的维数”。所以我必须提取最后一个隐藏层的神经元的值。但我不能。
我该怎么做?
提前谢谢
答案 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)