如何从tf.estimator.Estimator
中选择一个层,并访问该层中每个单元的权重向量?具体来说,我试图可视化一个Dense层的权重。
查看https://github.com/tensorflow/tensorflow/blob/r1.3/tensorflow/python/layers/core.py,似乎权重被称为核(kernels),但在使用Estimator抽象时,我无法访问这些权重。
附注:关于Estimator实现的示例,可以参考https://www.tensorflow.org/get_started/estimator
回答:
Estimator 有一个方法叫做get_variable_value
。因此,一旦你生成了一个检查点(或从中加载了变量值),并且如果你知道密集层的名称,你可以使用matplotlib做类似下面的操作:
import matplotlib.pyplot as pltweights = estimator.get_variable_value('dense/kernel')plt.imshow(weights, cmap='gray')plt.show()