上一篇我介绍了三种向Tensorflow提供数据的方式。这一篇我会说一说如何使用Tensorflow的重载操作。

  就像Numpy一样,Tensorflow重载了许多Python运算符,使构建图更容易,代码更具可读性。

  1、重载切片操作

  切片操作是索引张量非常容易的重载操作符之一。


Tensorflow入门教程(五)——如何使用重载操作_python


  虽然该操作很方便,但在使用此操作时请务必小心。切片操作非常低效,通常最好应该避免使用,特别是当切片数量很高时,效率非常低的。

  2、重载算术和逻辑运算符

Tensorflow还会重载一系列算术和逻辑运算符。


Tensorflow入门教程(五)——如何使用重载操作_python_02


也可以使用这些操作的增强版本。例如x + = y和x ** = 2也是有效的。

  3、不支持的重载操作


由于在Python中是不允许重载“and”,“or”和“not”关键字的,所以Tensorflow也不允许使用张量作为布尔值,因为它很容易出错。


Tensorflow入门教程(五)——如何使用重载操作_python_03


其他不支持的运算符:等于(==)和不等于(!=)运算符,它们在Numpy中可以重载,但在Tensorflow中是不可以的,而是用tf.equal和tf.not_equal来实现的。