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

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

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

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

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

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

相关推荐