在torch中访问神经网络内部神经元的简单方法是什么?
我用torch7的nn库训练了一个多层神经网络。我想看看当一些输入被转发到网络时,来自某些特定内部神经元的输出值是什么,或者手动更改输出。
这些是可能的吗?如果是这样的话,对于已经训练和保存的网络,是否有简单的解决方案?原因是我的神经网络是一个自动编码器,因此中间的神经元是重要的-整个网络的输出。
发布于 2016-10-07 08:49:05
如果您的神经网络名为nnet,而感兴趣的层是middle_module,则执行以下操作:
middle_module = nn.Linear(...)
nnet = nn.Sequential(...)
nnet:forward(your_data)
local hidden_output = middle_module.output始终保存nn模块的output实例变量。这是由于反向传播的实现细节造成的。
编辑:我知道你问的是已经保存的模型。如果您知道感兴趣模块的索引,则可以使用nn.Sequential.get。
https://stackoverflow.com/questions/39905081
复制相似问题