TensorFlow:张量排序,填充和复制
一、张量排序
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:张量排序,填充和复制相关推荐
- 【TensorFlow2.0】(7) 张量排序、填充、复制、限幅、坐标选择
各位同学好,今天和大家分享一下TensorFlow2.0中的一些操作.内容有: (1)排序 tf.sort().tf.argsort().top_k():(2)填充 tf.pad():(3)复制 tf ...
- 深度学习(15)TensorFlow高阶操作四: 填充与复制
深度学习(15)TensorFlow高阶操作四: 填充与复制 1. Pad 2. 常用于Image Padding 3. tile 4. tile VS broadcast_to Outline pa ...
- 深度学习(14)TensorFlow高阶操作三: 张量排序
深度学习(14)TensorFlow高阶操作三: 张量排序 一. Sort, argsort 1. 一维Tensor 2. 多维Tensor 二. Top_k 三. Top-k accuracy(To ...
- top中的res只增不减_tensorflow中张量排序与accuracy计算
今天跟B站"奔跑的东兵卫"大佬的教程,学习了在tensorflow中进行张量排序和accuracy计算的内容. 大概的想法是这样. 模型计算导出的预测结果output的shape是 ...
- Tensor的填充与复制
针对tensorflow2.0 (1)tf.pad函数:张量的填充 In [4]: a = tf.reshape(tf.range(9),[3,3])In [5]: a Out[5]: <tf. ...
- Tensorflow张量和维度概念的理解
Tensorflow张量和维度概念的理解 理解tensorflow张量的概念:张量就是一个数据存储容器,一种数据结构,是人为定义的.因为在计算机内存中哪里有什么2维空间3维空间,都是一块块连续的内存区 ...
- 【Java Collections类:sort()升序排序、reverse()降序排序、copy()复制、fill()填充题】
正向排序 使用 Collections 类的静态方法 sort() 可以对集合中的元素进行升序排序.这要求列表中的所有元素都必须实现 Comparable 接口,而且所有元素都必须是使用指定比较器可相 ...
- TensorFlow张量的维度变换
在神经网络运算过程中,维度变换是最核心的张量操作,通过维度变换可以将数据任意地切换形式,满足不同场合的运算需求. 维度变换的一个例子: Y = X@W + b X 的 shape 为[2,4] W 的 ...
- TensorFlow2.0:张量排序
** 一 sort argsort排序 ** tf.sort( )按照升序或者降序对张量进行排序 tf.argsort( )按照升序或者降序对张量进行排序,但返回的是索引 In [4]: a = tf ...
最新文章
- php校友录毕业论文,基于WEB的同学校友录的设计(PHP,MySQL)(附答辩记录)
- 独家 | 一文带你熟悉贝叶斯统计
- server2016 查看图片 预览图片
- java的query_Java-Query
- C#中巧用Lambda表达式实现对象list进行截取
- 各种服务器系统桌面,服务器系统云桌面
- python加载模型_解决python 无法加载downsample模型的问题
- ****** 四 ******、软设笔记【数据结构】-排序、插入排序、选择排序
- 部署KMS激活后用户端一些情况的确认
- 网络安全实验室 综合关 解析
- 龙威ol服务器维护,《龙威OL》搅屎棍职业技能攻略详解
- Java基础(五十二)-IO编程
- 稚晖君的HoloCubic 透明棱镜小电视
- 利用tcp三次握手,使用awl伪装MAC地址进行多线程SYN洪水攻击
- mac常见问题(五) Mac 无法开机
- 前清秘史――努尔哈赤
- 2022年Spark基础学习笔记
- 【Linux】Linux权限管理————shell运行原理 | Linux权限管理 | 粘滞位 | 权限掩码umask
- OCR:财务报表识别
- 什么是SaaS? 定义软件即服务