首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >访问神经网络权值和神经元激活

访问神经网络权值和神经元激活
EN

Stack Overflow用户
提问于 2016-04-23 14:46:16
回答 1查看 1.6K关注 0票数 5

在使用Keras训练网络之后:

  1. 我想以某种顺序访问网络的最终训练权重。
  2. 我想知道每个输入的神经元激活值。例如,经过训练后,如果我通过X作为网络的输入,我想知道网络中每个神经元的X的神经元激活值。

Keras提供了对这些东西的API访问吗?我想做进一步的分析,基于神经元的激活值。

Update:我知道我完全可以使用Theano来完成这个任务,但是Theano需要更低级别的编码。而且,既然Keras是建立在Theano之上的,我认为有可能有办法做到这一点?

如果Keras不能做到这一点,那么在Tensorflow和Caffe之间,哪个可以呢?Keras是最容易使用的,其次是Tensorflow/Caffe,但我不知道其中哪个提供了我需要的网络访问。对我来说,最后的选择是到西亚诺去,但是我认为和西亚诺一起建立一个深层次的CNN会更费时。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-04-23 19:35:55

这是在Keras常见问题中讨论的,您基本上想要计算每个层的激活,所以您可以使用以下代码来实现:

代码语言:javascript
运行
复制
from keras import backend as K

#The layer number
n = 3 
# with a Sequential model
get_nth_layer_output = K.function([model.layers[0].input],
                                  [model.layers[n].output])
layer_output = get_nth_layer_output([X])[0]

不幸的是,您需要为每个层编译和运行一个函数,但这应该是简单明了的。

要获得权重,可以在任何层调用权重()

代码语言:javascript
运行
复制
nth_weights = model.layers[n].get_weights()
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36812256

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档