tensorflow张量的简单用法

举报
sm15722473365 发表于 2020/10/31 01:34:23 2020/10/31
5.2k+ 0 0
【摘要】 维度增加 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

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

    全部回复

    上滑加载中

    设置昵称

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

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

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