tensorflow张量的简单用法

举报
sm15722473365 发表于 2020/10/31 01:34:23 2020/10/31
【摘要】 维度增加 tf.expand_dims(input,axis,name=None)维度减少 tf.squeeze(input,axis=None,name=None)转置 tf.transpose(a,perm=None,conjugate=False,name='transpose')a = tf.constant([[1,3],[5,7]])b = tf.constant([[2,4],...

维度增加 tf.expand_dims(input,axis,name=None)


维度减少 tf.squeeze(input,axis=None,name=None)


转置 tf.transpose(a,perm=None,conjugate=False,name='transpose')


a = tf.constant([[1,3],[5,7]])

b = tf.constant([[2,4],[6,8]])

tf.add(a,b)

print('算数加法:','\n',tf.add(a,b).numpy()) 

print('算数减法:','\n',tf.subtract(a,b).numpy()) 

print('算数乘法:','\n',tf.multiply(a,b).numpy()) 

print('算数除法:','\n',tf.divide(a,b).numpy())


print(tf.matmul(a,b)) # 矩阵乘法


创建变量tensor 

var_1 = tf.Variable(tf.ones([2,3]))

#变量加法 

var_1.assign_add(tf.ones([2,3]))


张量的数据统计主要包括: 

 tf.reduce_min/max/mean():求解最小值最大值和均值函数; 

 tf.argmax()/tf.argmin():求最大最小值位置; 

 tf.equal():逐个元素判断两个张量是否相等;

 tf.unique():除去张量中的重复元素。 

 tf.nn.in_top_k(prediction, target, K):用于计算预测值和真是值是否相等,返回一个 bool 类型的 张量。


张量的拼接

d = tf.concat(values=[a, b, c], axis=0)  # 在第一个维度上进行连接

e = tf.concat(values=[a, b, c], axis=1)  # 在第二个维度上进行连接


x = tf.stack(values=[A, B, C, D], axis=0)  # 增加一个第0维度,并在这个维度上面堆叠(常用)

y = tf.stack(values=[A, B, C, D], axis=1)  # 增加一个第1维度,并在这个维度上面堆叠

z = tf.stack(values=[A, B, C, D], axis=2)  # 增加一个第2维度,并在这个维度上面堆叠


张量的分割

image.png


排序

tf.sort/argsort(input, direction, axis): 

 input:输入张量;

 direction:排列顺序,可为 DESCENDING 降序或者 ASCENDING(升序)。默认为 ASCENDING(升序);

 axis:按照 axis 维度进行排序。默认 axis=-1 最后一个维度。


tf.nn.top_k(input,K,sorted=TRUE): 

 input:输入张量; 

 K:需要输出的前 k 个值及其索引。 

 sorted: sorted=TRUE 表示升序排列;sorted=FALSE 表示降序排列。


#取出第一张图片第二个通道中在[20,40]位置的像素点 

tensor_h[0][19][39][1]

#取出 tensor_h([4,100,100,3])中,第 1,2,4 张图像。 

indices = [0,1,3] 

tf.gather(tensor_h,axis=0,indices=indices,batch_dims=1)


  • 515.53KB 下载次数:0
  • 88.48KB 下载次数:0

    附件下载

  • 5.pdf 515.53KB 下载次数:0
  • ipy.zip 88.48KB 下载次数:0
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。