1. 逻辑运算Tensorflow版本:V2.8.0
Tensorflow中的逻辑运算主要有以下几种:
方法 | 比较逻辑 |
---|---|
tf.math.equal | a = b a= b a=b |
tf.math.greaterl | a > b a>b a>b |
tf.math.less | a < b aa<b |
tf.math.greater_equal | a ≥ b a\ge b a≥b |
tf.math.less_equal | a ≤ b a\le b a≤b |
tf.math.not_equal | a ≠ b a\ne b a=b |
tf.math.is_nan | a = n a n a= nan a=nan |
具体使用方法举例如下:
Tensorflow中常用的数据统计主要包括:最值、最值位置、均值、范数等。具体使用方法如下:
- 范数:
- 最大值、最小值、均值、和:和范数一样,不仅可以求张量全局的的最大、最小、均值等信息,也可以求制定维度上的最大、最小、均值等信息。
虽然示例中主要是用tf.int32这种类型的张量,但是很多方法只能对tf.float或tf.doule类型的张量进行运算。比如L2范数的求解及tf.math.reduce_std()。
前述介绍tf.stack()方法时讲到,只有shape完全相同的张量;而tf.concat()方法则要求只能有一个维度上的长度不同。若不符合这两个条件,则不能进行张量的合并。这个时候可以先对长度较短的张量进行扩张,这就需要用到tf.pad()方法。
上例中,张量a具有两个维度:对于axis=0该维度,其对应的扩充方案为tf.pad()中的参数paddings中的第0个([1,2]),即在该维度的左侧填充1个0,右侧填充2个0;对于axis=1该维度,其对应的扩充方案为paddings中的第1个([2,3])。即在该维度的左侧填充2个0,右侧填充3个0;默认填充0,可以通过参数constant_values修改;paddings的长度必须等于张量a的维度数,若在某个维度上不进行扩充,可将其对应的扩充方案设为[0,0]。若paddins的长度不等于对应张量的维度,则报错InvalidArgumentError: The first dimension of paddings must be the rank of inputs 。具体如下:
除了CONSTANT模式,tf.pad()还提供了其他模式:REFLECT、SYMMETRIC。
数据限幅就是对张量中元素的范围进行最大最小限制。具体如下:
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)