tf.gather()函数

tf.gather()
该接口的作用:就是抽取出params的第axis维度上在indices里面所有的indextf.gather(params,indices,validate_indices=None,name=None,axis=0
)'''
Args:params: A Tensor. The tensor from which to gather values. Must be at least rank axis + 1.indices: A Tensor. Must be one of the following types: int32, int64. Index tensor. Must be in range [0, params.shape[axis]).axis: A Tensor. Must be one of the following types: int32, int64. The axis in params to gather indices from. Defaults to the first dimension. Supports negative indexes.name: A name for the operation (optional).
Returns:A Tensor. Has the same type as params.
'''

参数说明:

params: A Tensor.
indices: A Tensor. types必须是: int32, int64. 里面的每一个元素大小必须在 [0, params.shape[axis])范围内.
axis: 维度。沿着params的哪一个维度进行抽取indices
返回的是一个tensor

示例

1.当axis参数省略时,即axis默认为axis=0

temp=np.arange(7)*7*2+tf.constant(1,shape=[7])
print(temp) #temp是一个tf张量,直接打印只显示形状和类型,需要创建会话机制temp1=tf.gather(temp,[0,2,4]) #取temp一维张量中第0,第2,第4的值形成一个tf张量with tf.Session() as sess:print(sess.run(temp))print(sess.run(temp1))

结果:

Tensor("add:0", shape=(7,), dtype=int32)
[ 1 15 29 43 57 71 85]
[ 1 29 57]

2.当temp为多维时,这里是4维张量,indices=[0,2],axis=0

input =[ [[[1, 1, 1], [2, 2, 2]],[[3, 3, 3], [4, 4, 4]],[[5, 5, 5], [6, 6, 6]]],[[[7, 7, 7], [8, 8, 8]],[[9, 9, 9], [10, 10, 10]],[[11, 11, 11], [12, 12, 12]]],[[[13, 13, 13], [14, 14, 14]],[[15, 15, 15], [16, 16, 16]],[[17, 17, 17], [18, 18, 18]]]]print(tf.shape(input))
with tf.Session() as sess:output=tf.gather(input, [0,2],axis=0)#其实默认axis=0print(sess.run(output))

结果:

Tensor("Shape:0", shape=(4,), dtype=int32)
[[[[ 1  1  1][ 2  2  2]][[ 3  3  3][ 4  4  4]][[ 5  5  5][ 6  6  6]]][[[13 13 13][14 14 14]][[15 15 15][16 16 16]][[17 17 17][18 18 18]]]]

解释:

第一个[ 是列表语法需要的括号,剩下的最里面的三个[[[是axis=0需要搜寻的中括号。这里一共有3个[[[。
indices的[0,2]即取第0个[[[和第2个[[[,也就是第0个和第2个三维立体。

3.当indices=[0,2],axis=1

input =[ [[[1, 1, 1], [2, 2, 2]],[[3, 3, 3], [4, 4, 4]],[[5, 5, 5], [6, 6, 6]]],[[[7, 7, 7], [8, 8, 8]],[[9, 9, 9], [10, 10, 10]],[[11, 11, 11], [12, 12, 12]]],[[[13, 13, 13], [14, 14, 14]],[[15, 15, 15], [16, 16, 16]],[[17, 17, 17], [18, 18, 18]]]]
print(tf.shape(input))
with tf.Session() as sess:output=tf.gather(input, [0,2],axis=1)#默认axis=0print(sess.run(output))

结果:

Tensor("Shape:0", shape=(4,), dtype=int32)
[[[[ 1  1  1][ 2  2  2]][[ 5  5  5][ 6  6  6]]][[[ 7  7  7][ 8  8  8]][[11 11 11][12 12 12]]][[[13 13 13][14 14 14]][[17 17 17][18 18 18]]]]

解释:

第一个[ 是列表语法需要的括号,先把这个干扰去掉,剩下的每个[[[中所有内侧的 [[ 是axis=1搜索的中括号。
然后[0,2]即再取每个[[[体内的第0个[[和第2个[[,也就是去每个三维体的第0个面和第2个面

tf.gather( )的详细解析相关推荐

  1. TF之TF flags:TF flags(命令行解析)的简介、安装、使用方法之详细攻略

    TF之TF flags:TF flags(命令行解析)的简介.安装.使用方法之详细攻略 目录 TF flags的简介 TF flags的安装 TF flags的使用方法 TF flags的简介 1.f ...

  2. yolo算法的优缺点分析_YOLO算法详细解析(一)

    目标检测和目标分类 图像识别算法是计算机视觉的基础算法,例如VGG,GoogLeNet,ResNet等,这类算法主要是判断图片中目标的种类. 目标检测算法和图像识别算法类似,但是目标检测算法不仅要识别 ...

  3. PointNet网络结构详细解析

    PointNet网络结构详细解析 一.重要知识点 Transforming point clouds data to regular 3D voxel grids or collections of ...

  4. 【二】gym初次入门一学就会---代码详细解析简明教程----平衡杆案例

    相关文章: [一]gym环境安装以及安装遇到的错误解决 [二]gym初次入门一学就会-简明教程 [三]gym简单画图 [四]gym搭建自己的环境,全网最详细版本,3分钟你就学会了! [五]gym搭建自 ...

  5. Pytorch的nn.DataParallel详细解析

    前言 pytorch中的GPU操作默认是异步的,当调用一个使用GPU的函数时,这些操作会在特定设备上排队但不一定在稍后执行.这就使得pytorch可以进行并行计算.但是pytorch异步计算的效果对调 ...

  6. OpenCL编程详细解析与实例

    OpenCL编程详细解析与实例 C语言与OpenCL的编程示例比较 参考链接: https://www.zhihu.com/people/wujianming_110117/posts 先以图像旋转的 ...

  7. 深度学习目标检测详细解析以及Mask R-CNN示例

    深度学习目标检测详细解析以及Mask R-CNN示例 本文详细介绍了R-CNN走到端到端模型的Faster R-CNN的进化流程,以及典型的示例算法Mask R-CNN模型.算法如何变得更快,更强! ...

  8. celery的使用(最新详细解析)

    celery的使用(最新详细解析) 一. Celery简介 Celery是一个简单.灵活且可靠的,处理大量消息的分布式系统,专注于实时处理的异步任务队列,同时也支持任务调度. Celery的架构由三部 ...

  9. 汇编语言 第3版 王爽 检测点习题部分—答案及详细解析

    第一章 基础知识 检测点1.1 (1)1个CPU的寻址能力为8KB,那么它的地址总线的宽度为()位. (2)1KB的存储器有() 个存储单元,存储单元的编号从()到() . (3)1KB的存储器可以存 ...

最新文章

  1. Java IO编程全解(五)——AIO编程
  2. 大理石在哪儿_如何创建用户体验写作课程而又不失大理石
  3. Spring和JSF集成:MVC螺母和螺栓
  4. mysql cmd grep_通过 mysqlbinlog 和 grep 命令定位binlog文件中指定操作
  5. 光伏项目用地政策解析
  6. R语言页游渠道分析(转)
  7. 该来的终于来了:“第一起”基于 IPv6 的 DDoS 攻击
  8. ITIL是什么意思?ITIL是什么?
  9. 网站视频很卡怎么办?有没有免费的视频平台?使用阿里云OSS对象云存储+下行流量包解决网站文件/视频访问慢问题
  10. Excel如何按照颜色排序
  11. iphone游戏开发(转)
  12. 恭喜 李星鹏 成为 Layotto Committer!
  13. MD5 32位加密
  14. PWM脉冲宽度调制技术控制LED亮度
  15. SPI协议主机verilog
  16. 使用python开发的图形界面的pdf拆分合并工具
  17. SRS4.0源码分析-RTMP入口
  18. 软件智能:aaas系统的AI众生-一个脑力原型
  19. CorelDraw安装时,安装界面显示不全的解决方法,
  20. 年薪50W,字节、腾讯抢着要,转行数据分析岗真香!

热门文章

  1. boost::parameter::deduced相关的测试程序
  2. boost::mp11::mp_similar相关用法的测试程序
  3. boost::mp11::mp_pairwise_fold相关用法的测试程序
  4. boost::lexical_cast用法的测试程序
  5. boost::hof::rotate用法的测试程序
  6. boost::graph模块实现dijkstra算法的测试程序
  7. boost::rational用法的测试程序
  8. boost::geometry::detail::overlay::select_rings用法的测试程序
  9. GDCM:解析XPATH文件的测试程序
  10. ITK:在签名图像中找到零交叉点