在Tensorflow中查看权重的实现

刚开始学习tensorflow,还不太会用,开个博记录,今天遇到一个问题是用tf.layers.dense创建的全连接层,如何查看权重?

知道kernel表示了权重,但是如何提示成变量?

我分成两步:

1、查看tensor:tf.trainable_variables()

命令行里中运行即可,如下图:

在Tensorflow中查看权重的实现_第1张图片

可以看到tensor的name,或用更简洁的方式:variable_name = [v.name for v in tf.trainable_variables()]

运行后,trainable_variable()即存入variable_name中:

在Tensorflow中查看权重的实现_第2张图片

2、获取权重:tf.get_default_graph().get_tensor_by_name('variable_name')

如:w1=tf.get_default_graph().get_tensor_by_name('Actor/l1/kernel:0')

即可根据get tensor by name

菜鸟的笨方法^-^

—————————————————————————————————

更新:tf.get_collection(tf.GraphKeys.TRAINABLE_VARIABLES,scope)也可查看,可得到某scope下的tensor

即从某scope的tf.GraphKeys.TRAINABLE_VARIABLES中取出所有变量,是一个列表

以上这篇在Tensorflow中查看权重的实现就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

你可能感兴趣的:(在Tensorflow中查看权重的实现)