上一篇我介绍了三种向Tensorflow提供数据的方式。这一篇我会说一说如何使用Tensorflow的重载操作。
就像Numpy一样,Tensorflow重载了许多Python运算符,使构建图更容易,代码更具可读性。
1、重载切片操作
切片操作是索引张量非常容易的重载操作符之一。
虽然该操作很方便,但在使用此操作时请务必小心。切片操作非常低效,通常最好应该避免使用,特别是当切片数量很高时,效率非常低的。
2、重载算术和逻辑运算符
Tensorflow还会重载一系列算术和逻辑运算符。
也可以使用这些操作的增强版本。例如x = y和x ** = 2也是有效的。
3、不支持的重载操作
由于在Python中是不允许重载“and”,“or”和“not”关键字的,所以Tensorflow也不允许使用张量作为布尔值,因为它很容易出错。
其他不支持的运算符:等于(==)和不等于(!=)运算符,它们在Numpy中可以重载,但在Tensorflow中是不可以的,而是用tf.equal和tf.not_equal来实现的。