TensorFlow打印tensor值的实现方法

yipeiwu_com6年前Python基础

最近一直在用TF做CNN的图像分类,当softmax层得到预测结果后,我希望能够看到预测结果,以便和标签之间进行比较。特此补上,以便自己记忆。

我现在通过softmax层得到变量train_logits,如果我直接执行print(train_logits)时,得到的结果如下(因为我是134类分类,所以结果是(1,134)维):

这貌似什么都看不出来。

其实tensorflow提供输出中间值方法方便debug。

这个函数就是[tf.Print]。

tf.Print( 
input_, 
data, 
message=None, 
first_n=None, 
summarize=None, 
name=None 
)

参数:

input_: 通过此op的一个tensor.

data: 当此op被计算之后打印输出的tensor list。

message: 错误消息的前缀,是一个string。

first_n: 只记录first_n次. 总是记录负数;这是个缺省.

summarize: 对每个tensor只打印的条目数量。如果是None,对于每个输入tensor只打印3个元素。

name: op的名字.

返回值:

和input_相同的tensor.

将print(train_logits)修改为sess.run(tf.Print(train_logits,[train_logits]))后,得到的结果如下图:

发现值已经能够打印啦!但是只能输出3个条目,这是因为参数summarize默认只打印3个参数!

将sess.run(tf.Print(train_logits,[train_logits]))修改为sess.run(tf.Print(train_logits,[train_logits],summarize=134))后(我是134类分类),得到的结果如下图:

这样就能成功地打印tensor的中间结果了!以后调参、查看模型效果就直观多了!

以上这篇TensorFlow打印tensor值的实现方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python编程给numpy矩阵添加一列方法示例

首先我们有一个数据是一个mn的numpy矩阵现在我们希望能够进行给他加上一列变成一个m(n+1)的矩阵 import numpy as np a = np.array([[1,2,3...

python实现杨氏矩阵查找

本文实例为大家分享了python实现杨氏矩阵查找的具体代码,供大家参考,具体内容如下 问题描述: 在一个m行n列二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的...

浅析python参数的知识点

浅析python参数的知识点

python之参数,定义时小括号中的参数,用来接收参数用的,称为 “形参” 调用时小括号中的参数,用来传递给函数用的,称为 “实参”。 1、思考一个问题,如下: 现在需要定义一个函数,这...

Python获取当前函数名称方法实例分享

本文实例主要是Python中获取当前运行函数的名称,具体如下。 python 具有强大的自省能力,在函数运行时,可以在函数内部获取到当前所在的函数名称,请看示例代码 #coding=...

django数据模型on_delete, db_constraint的使用详解

# 半夜撸代码  正在一顿操作猛如虎的时候,发现删了其中一张表的某条记录,结果发现其他表跟这个字段的关联的也都被删除,我已经写了db_constraint=False 难道我用...