一、张量排序

1.Sort, argsort

1.1一维

a=tf.random.shuffle(tf.range(5))    #numpy = array([2,0,3,4,1])
tf.sort(a,direction='DESCENDING')     #numpy = array([4,3,2,1,0])
tf.argsort(a,direction='DESCENDING')     #numpy = array([3,2,0,4,1])
idx=tf.argsort(a,direction='DESCENDING')
tf.garther(a,idx)      #numpy = array([4,3,2,1,0])

1.2二维

a=tf.random.uniform([3,3],maxval=10,dtype=tf.int32)   #array([[4,6,8],[9,4,7],[4,5,1]])
tf.sort(a)    #array([[4,6,8],[4,7,9],[5,4,1]])
tf.argsort(a)    #array([[0,1,2],[1,2,0],[2,0,1]])

2.Top_k
Only return top-k values and indices

a=tf.random.uniform([3,3],maxval=10,dtype=tf.int32)   #array([[4,6,8],[9,4,7],[4,5,1]])
res = tf.math.top_k(a,2)
res.indices   #array([[2,1],[0,2],[1,0]])
res.values   #array([[8,6],[9,7],[5,4]])

Top-k Accuracy

def accuracy(output,target,topk=(1,)):maxk=max(topk)batch_size=target.shape[0]pred=tf.math.top_k(output,maxk).indicespred=tf.transpose(pred,perm=[1,0])target_=tf.broadcast_to(target,pred.shape)correct=tf.equal(pred,target_)res=[]for k in topk:correct_k=tf.cast(tf.reshape(correct[:k],[-1]),dtype=tf.float32)correct_k=tf.reduce_sum(correct_k)acc=float(correct_k/batch_size)res.append(acc)return res

二、填充和复制

1.pad

a=tf.reshape(tf.range(9),[3,3])
tf.pad(a,[[1,2],[3,4]]) #上1,下2,左3,右4

2.Image padding

a=tf.random.normal([4,28,28,3])
b=tf.pad(a,[[0,0],[2,2],[2,2],[0,0]])
b.shape    #TensorShape([4,32,32,3])

3.tile

a=tf.reshape(tf.range(9),[3,3])  #array([[0,1,2],[3,4,5],[6,7,8]])
tf.tile(a,[1,2])
tf.tile(a,[2,1])
tf.tile(a,[2,2])

4.tile VS broadcast_to

aa=tf.expand_dims(a,axis=0)   #TensorShape([1,3,3])
tf.tile(aa,[2,1,1])   #TensorShape([2,3,3])
tf.broadcast_to(aa,[2,3,3])   #TensorShape([2,3,3])

TensorFlow:张量排序,填充和复制相关推荐

  1. 【TensorFlow2.0】(7) 张量排序、填充、复制、限幅、坐标选择

    各位同学好,今天和大家分享一下TensorFlow2.0中的一些操作.内容有: (1)排序 tf.sort().tf.argsort().top_k():(2)填充 tf.pad():(3)复制 tf ...

  2. 深度学习(15)TensorFlow高阶操作四: 填充与复制

    深度学习(15)TensorFlow高阶操作四: 填充与复制 1. Pad 2. 常用于Image Padding 3. tile 4. tile VS broadcast_to Outline pa ...

  3. 深度学习(14)TensorFlow高阶操作三: 张量排序

    深度学习(14)TensorFlow高阶操作三: 张量排序 一. Sort, argsort 1. 一维Tensor 2. 多维Tensor 二. Top_k 三. Top-k accuracy(To ...

  4. top中的res只增不减_tensorflow中张量排序与accuracy计算

    今天跟B站"奔跑的东兵卫"大佬的教程,学习了在tensorflow中进行张量排序和accuracy计算的内容. 大概的想法是这样. 模型计算导出的预测结果output的shape是 ...

  5. Tensor的填充与复制

    针对tensorflow2.0 (1)tf.pad函数:张量的填充 In [4]: a = tf.reshape(tf.range(9),[3,3])In [5]: a Out[5]: <tf. ...

  6. Tensorflow张量和维度概念的理解

    Tensorflow张量和维度概念的理解 理解tensorflow张量的概念:张量就是一个数据存储容器,一种数据结构,是人为定义的.因为在计算机内存中哪里有什么2维空间3维空间,都是一块块连续的内存区 ...

  7. 【Java Collections类:sort()升序排序、reverse()降序排序、copy()复制、fill()填充题】

    正向排序 使用 Collections 类的静态方法 sort() 可以对集合中的元素进行升序排序.这要求列表中的所有元素都必须实现 Comparable 接口,而且所有元素都必须是使用指定比较器可相 ...

  8. TensorFlow张量的维度变换

    在神经网络运算过程中,维度变换是最核心的张量操作,通过维度变换可以将数据任意地切换形式,满足不同场合的运算需求. 维度变换的一个例子: Y = X@W + b X 的 shape 为[2,4] W 的 ...

  9. TensorFlow2.0:张量排序

    ** 一 sort argsort排序 ** tf.sort( )按照升序或者降序对张量进行排序 tf.argsort( )按照升序或者降序对张量进行排序,但返回的是索引 In [4]: a = tf ...

最新文章

  1. php校友录毕业论文,基于WEB的同学校友录的设计(PHP,MySQL)(附答辩记录)
  2. 独家 | 一文带你熟悉贝叶斯统计
  3. server2016 查看图片 预览图片
  4. java的query_Java-Query
  5. C#中巧用Lambda表达式实现对象list进行截取
  6. 各种服务器系统桌面,服务器系统云桌面
  7. python加载模型_解决python 无法加载downsample模型的问题
  8. ****** 四 ******、软设笔记【数据结构】-排序、插入排序、选择排序
  9. 部署KMS激活后用户端一些情况的确认
  10. 网络安全实验室 综合关 解析
  11. 龙威ol服务器维护,《龙威OL》搅屎棍职业技能攻略详解
  12. Java基础(五十二)-IO编程
  13. 稚晖君的HoloCubic 透明棱镜小电视
  14. 利用tcp三次握手,使用awl伪装MAC地址进行多线程SYN洪水攻击
  15. mac常见问题(五) Mac 无法开机
  16. 前清秘史――努尔哈赤
  17. 2022年Spark基础学习笔记
  18. 【Linux】Linux权限管理————shell运行原理 | Linux权限管理 | 粘滞位 | 权限掩码umask
  19. OCR:财务报表识别
  20. 什么是SaaS? 定义软件即服务

热门文章

  1. socket通信入门
  2. 使用 core dump 查找程序遇到严重问题退出的原因
  3. Classical Inheritance in JavaScript
  4. .NET Mvc Razor也可以这样玩!
  5. DirectX 3D相关资源参考
  6. asp.net中获取当前url的方法
  7. WIFI只sta和ap建立连接的过程
  8. 为什么我的vc6.0建立工程时显示不能访问类查文件类信息,类查看信息不可用
  9. 初玩树莓派所遇见的坑
  10. 波卡链Substrate (7)Grandpa协议三“2阶段同步”