在TensorFlow中可视化预训练网络的功能

时间:2016-06-10 15:54:28

标签: neural-network tensorflow pre-trained-model

对于医疗应用,我正在使用 TensorFlow 重新训练预训练的 Inception-v3 网络。

此网络有最后一层:

  

pool_3:0(2048个功能)

使用TF的classify_image,我发现哪些特征对每个样本最重要。所以有一个数组包含前N个特征的索引,按权重排序。

下一步是可视化特征向量以更好地理解结果。

我该怎么做呢? TensorBoard能够做到这一点吗? 我有点失落。任何建议/帮助表示赞赏!

1 个答案:

答案 0 :(得分:1)

也许只打印N个有趣的组件会对你有帮助吗?

您可以使用以下内容获取pool_3向量:

graph = ...   # the session graph (sess.graph) containing Inception model
features = graph.get_tensor_by_name('inception_v3/pool3:0')  # I don't know the exact name, find it in TensorBoard
features_values = sess.run(features)
print features_values[top_N_indices]

如果您想使用TensorBoard,您只能绘制:

  • 标量要素(标量摘要):您可以使用tf.gather(features, [indice])
  • 独立绘制每个要素
  • 激活的直方图:我认为这不是很有用,但你可以尝试一下
  • 图像:你可以构建一个包含有趣特征的图像来绘制吗?这会有点复杂,您可以看到与this previous questionthis issue相关的this tutorial