如何在tensorflow中判断tensor(张量)的值

Posted sulashi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在tensorflow中判断tensor(张量)的值相关的知识,希望对你有一定的参考价值。

       众所周知,在tensorflow程序中,tensor只是占位符,在会话层没有run出tensor的值之前,我们是无法获知tensor的值的(不过笔者听说tensorflow要改良这一机制,将tensor转化为可以判断值的数据结构-flag:2017.11.13)。也就是说,下面的逻辑是无法实现的:

1 #a is a 1-D tensor, b is a 1-D tensor too.
2 if a == b:
3     #take some actions...
4 else:
5     #take some other actions...

       可是,我们在程序中有可能需要根据tensor的值作出判断,以采取不同的操作。笔者就曾经遇到过这种问题,笔者在构造一个网络时,网络的输入为两个tensor,在这里分别称为a和b,需要根据b的值对a采取不同的操作。可是,在程序中是无法通过逻辑语句去判断tensor b的值的。那么,我们应该怎么办呢?

       对于这个问题,tensorflow官方已经为我们提供了一个能满足功能的接口,即tf.cond,如下图所示。

技术图片

 

以上是关于如何在tensorflow中判断tensor(张量)的值的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Tensorflow 中对无维度的张量进行切片

AI - TensorFlow Tensor

TensorFlow低阶API—— 张量

TensorFlow张量Tensor

张量(tensor)的阶、形状、数据类型

LSTM和tensor张量