Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 千层面/nolearn自动编码器-如何获得隐藏层输出?_Python_Neural Network_Lasagne_Autoencoder_Nolearn - Fatal编程技术网

Python 千层面/nolearn自动编码器-如何获得隐藏层输出?

Python 千层面/nolearn自动编码器-如何获得隐藏层输出?,python,neural-network,lasagne,autoencoder,nolearn,Python,Neural Network,Lasagne,Autoencoder,Nolearn,我已经用千层面/nolearn培训过自动编码器。假设网络层为[500100100500]。我对神经网络进行了如下训练: net.fit(X, X) 我想做如下事情: net.predict(X, layer=2) 因此,我将获得数据的抑制表示。因此,如果我的初始数据有一个形状[10000,500],结果数据将是[10000,100] 我搜索了一下,但找不到该怎么做。 千层面/nolearn可以吗?答案似乎在文档中: 以下是相关部分: 要计算网络的输出,您应该调用 lasagne.layer

我已经用千层面/nolearn培训过自动编码器。假设网络层为[500100100500]。我对神经网络进行了如下训练:

net.fit(X, X)
我想做如下事情:

net.predict(X, layer=2)
因此,我将获得数据的抑制表示。因此,如果我的初始数据有一个形状[10000,500],结果数据将是[10000,100]

我搜索了一下,但找不到该怎么做。
千层面/nolearn可以吗?

答案似乎在文档中:

以下是相关部分:

要计算网络的输出,您应该调用
lasagne.layers.get_output()
。这将穿越网络 图表

您可以使用要计算的层调用此函数 输出表达式:

>>> y = lasagne.layers.get_output(l_out)
在这种情况下,将返回表示 和输入变量相关联的输入变量的函数输出
lasagne.layers.InputLayer
网络中的一个或多个实例

您还可以指定一个Theano表达式作为
lasagne.layers.get_output()
的第二个参数作为输入:


假设
net
属于
nolearn.lasagne.NeuralNet
类型,您似乎可以使用
net.get_all_layers()
访问底层层对象。我在文档中没有看到它,但它在第592行。

而不是
net.predict(X,layer=2)
,尝试
net.get\u output(net.layers\u[1],X)
,或者
net.get\u output('name\u of_layer\u 2',X)
,如果您已经命名了图层的话。

Hi ovolve。我在千层面上用nolearn训练了网络。我想我不能使用上面的代码。代码中未使用“net”对象。我错过了什么吗?@Stergios对不起,我没意识到nolearn隐藏了图层。我已经更新了答案。注意,我还没有测试这段代码。
>>> x = T.matrix('x')
>>> y = lasagne.layers.get_output(l_out, x)
>>> f = theano.function([x], y)