【问题标题】:CNTK with python - activation for each layerCNTK 与 python - 激活每一层
【发布时间】:2017-12-01 15:26:41
【问题描述】:

我正在使用 CNTK 的 python API 来训练一些我使用 save_model 函数保存的 CNN。

现在我想在我的网络上运行一些分析。具体来说,我想看看每一层的激活。显然,我可以像这样在一些名为 img 的数据上运行我的网络:

model.eval(img)

但这只会给我网络中最后一个层的输出。有没有一些简单的方法也可以从前面的层中获取输出?

【问题讨论】:

    标签: python conv-neural-network cntk


    【解决方案1】:

    实际上,甚至为该任务提供了一个示例:https://github.com/Microsoft/CNTK/tree/master/Examples/Image/FeatureExtraction

    让我简要概述一下基本步骤:

    重要的是你的节点的名称,你想得到它的输出。

    # get the node in the graph of which you desire the output
    node_in_graph = loaded_model.find_by_name(node_name)
    output_nodes  = combine([node_in_graph.owner])
    
    # evaluate the node e.g. using a minibatch_source
    mb = minibatch_source.next_minibatch(1)
    output = output_nodes.eval(mb[features_si])
    
    # access the values as a one dimensional vector
    out_values = output[0].flatten()
    desired_output = out_values[np.newaxis]
    

    基本上你只是做同样的事情,只是你检索一个中间节点。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-26
      • 1970-01-01
      • 2016-12-24
      • 1970-01-01
      相关资源
      最近更新 更多