【TensorFlow】数据统计、张量排序、张量限幅

数据统计:

求x中y维度上的最大值:

tf.reduce_max(x,axis=y)

 

求x中y维度上的最小值:

tf.reduce_min(x,axis=y)

 

求x中y维度中的平均值:

tf.reduce_mean(x,axis=y)

 

若不设置axis参数,则默认范围为全维度,即在全维度中寻找最大值(最小值、平均值)

例:
### x= [ [1,2,3],
###      [4,5,6],
###      [7,8,9] ]
### x.shape    ->[3,3]
m=tf.reduce_max(x,axis=0)
### m == [7,8,9]
n=tf.reduce_min(x,axis=0)
### n == [1,2,3]
z=tf.reduce_mean(x,axis=0)
### z == [4,5,6]

 寻找x中y维度上最大值的位置:

tf.argmax(x,axis=y)

 

寻找x中y维度上最小值的位置:

tf.argmin(x,axis=y)

例:
### x= [ [1,2,3],
###      [4,5,6],
###      [7,8,9] ]
### x.shape    ->[3,3]
m=tf.argmax(x,axis=0)
### m == [2 2 2]    意思为在0轴上(列),位值分别为2 2 2的数在所在列上最大
n=tf.argmin(x,axis=0)
### n == [0 0 0]

比较x和y各个位上的数是否相同,返回bool值,常用于计算精度:

tf.equal(x,y)

例:
### x=[1,2,3,4,5]
### y=[1,2,3,5,4]
z=tf.equal(x,y)
### z==(True,True,True,False,False)

 去重:返回两部分,第一部分为去重后的tensor,第二部分为第一部分在原tensor中的索引.

tf.unique(x)

例:
### x=[1,2,3,4,5,4,3,2,1]
n,m=tf.unique(x)
### n==[1,2,3,4,5]
### m==[0,1,2,3,4,3,2,1,0]

张量排序:

将x中的数从小到大的顺序排序:

tf.sort(x)

 

将x中的数从大到小的顺序排序:

tf.sort(x,direction='DESCENDING')

例:
### x=[3,5,4,1,2]
y=tf.sort(x)
### y==[1,2,3,4,5]
z=tf.sort(x,direction='DESCENDING')
### z==[5,4,3,2,1]

 张量限幅:

将x中的数控制在大于n的范围内,即<n的数等于n:

tf.maximum(x,n)

例:
### x=[1,2,3,4,5]
y=tf.maximum(x,3)
### y==[3,3,3,4,5]

 将x中的数控制在小于n的范围内,即>n的数等于n:

tf.minimum(x,n)

例:
### x=[1,2,3,4,5]
y=tf.minimum(x,3)
### y==[1,2,3,3,3]

将x中的数控制在min和max之间,即<min的数等于min,>max的数等于max:

tf.clip_by_value(x,min,max)

例:
### x=[1,2,3,4,5,6,7,8,9]
y=tf.clip_by_value(x,3,7)
### y==[3,3,3,4,5,6,7,7,7]

使x中的数,小于0的等于0,其余不变:

tf.nn.relu(x)

等同于:

tf.maximum(x,0)

例:
### x=[-3,-2,-1,0,1,2,3]
y=tf.nn.relu(x)
### y=[0,0,0,0,1,2,3]

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值