时间:2021-05-22
最近一直在用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值的实现方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
初学tensorflow,如果写的不对的,请更正,谢谢!tf.reshape(tensor,shape,name=None)函数的作用是将tensor变换为参数
由于Keras是一种建立在已有深度学习框架上的二次框架,其使用起来非常方便,其后端实现有两种方法,theano和tensorflow。由于自己平时用tensor
在学习TensorFlow的过程中,我们需要知道某个tensor的值是什么,这个很重要,尤其是在debug的时候。也许你会说,这个很容易啊,直接print就可以
最近在使用tensorflow进行网络训练的时候,需要提取出别人训练好的卷积核的部分层的数据。由于tensorflow中的tensor和python中的list
tensorflow版本1.4获取变量维度是一个使用频繁的操作,在tensorflow中获取变量维度主要用到的操作有以下三种:Tensor.shapeTenso