slice()函数原型为:

tf.slice(input_, begin, size, name=None)

函数有4个参数:

1,input_ :图片的矩阵输入格式。

2,begin :开始截取的位置(输入矩阵的某一点,通常是[x,y,z]的形式)

3,size :从开始截取点向各维度截取的距离(通常也是[x,y,z]的形式)

4,name :该tensor的名字。

tensor(a,b,c)

tensor(z,y,x) 向量在三维坐标的表示如三维坐标轴。tf.slice()参数顺序也是(z,y,x)。

官网例子:

# 'input' is [[[1, 1, 1], [2, 2, 2]],
# [[3, 3, 3], [4, 4, 4]],
# [[5, 5, 5], [6, 6, 6]]]
tf.slice(input, [1, 0, 0], [1, 1, 3]) ==> [[[3, 3, 3]]]
tf.slice(input, [1, 0, 0], [1, 2, 3]) ==> [[[3, 3, 3],
[4, 4, 4]]]
tf.slice(input, [1, 0, 0], [2, 1, 3]) ==> [[[3, 3, 3]],
[[5, 5, 5]]]

解读:

1,input是一个3维向量,作为tf.slice()函数的输入值(待截取的tensor)

2,第二个参数 [ 1,0,0 ] 是截取的起始点,这里就是第2行的第一个数字 “3”

3,第三个参数有3个示例,只讲(1)(3):

(1) [ 1,1,3 ] 是截取的距离,第一个维度截取1个距离,于是首先截取出[ [ [ 3,3,3 ] , [ 4,4,4 ] ] ] 这部分。第二个维度截取1个距离,那么再截出[ [ [ 3,3,3 ] ] ]这部分。第3个维度截取3个距离,即将全部3个元素截取,得到结果。

(3)[ 2,1,3 ] 第一个维度是2,于是截出来

[  [  [ 3,3,3 ] , [ 4,4,4 ] ,

[  [ 5,5,5 ] , [ 6,6,6 ] ] ]

这部分。第二个维度是1,再截取一个距离,得:

[  [  [ 3,3,3 ]  ,

[  [ 5,5,5 ] ] ]

这部分。第三个维度截3个距离,得到结果,若截2个距离,得:

[  [  [ 3,3 ]  ,

[  [ 5,5 ] ] ]

注:

(1)第3个参数中可以用-1,如[1,-1,-1],表示第2,3维度从起点一直截取到最后。

(2)多维向量不要理解为线,面,体之类的,那样的话3维以上的点就会对应错。有多少层符号"[ ]",就有多少维,从外层向内层,维度依次增加。

Tensorflow API 学习(1)-tf.slice()的更多相关文章

  1. tensorflow API _ 6 (tf.gfile)

    一.gfile模块是什么 tf.gfile模块的主要角色是:1.提供一个接近Python文件对象的API,以及2.提供基于TensorFlow C ++ FileSystem API的实现. C ++ ...

  2. tensorflow API _ 2 (tf.app.flags.FLAGS)

    tf.app.flags.FLAGS 的使用,主要是在用命令行执行程序时,需要传些参数,代码如下:新建一个名为:app_flags.py 的文件. #coding:utf-8  import tens ...

  3. tensorflow API _ 3 (tf.train.polynomial_decay)

    学习率的三种调整方式:固定的,指数的,多项式的 def _configure_learning_rate(num_samples_per_epoch, global_step): "&quo ...

  4. TensorFlow源代码学习--1 Session API reference

    学习TensorFlow源代码,先把API文档扒出来研究一下整体结构: 一下是文档内容的整理,简单翻译一下 原文地址:http://www.tcvpr.com/archives/181 TensorF ...

  5. 深度学习实践-物体检测-faster-RCNN(原理和部分代码说明) 1.tf.image.resize_and_crop(根据比例取出特征层,进行维度变化) 2.tf.slice(数据切片) 3.x.argsort()(对数据进行排列,返回索引值) 4.np.empty(生成空矩阵) 5.np.meshgrid(生成二维数据) 6.np.where(符合条件的索引) 7.tf.gather取值

    1. tf.image.resize_and_crop(net, bbox, 256, [14, 14], name)  # 根据bbox的y1,x1,y2,x2获得net中的位置,将其转换为14*1 ...

  6. tensorflow之tf.slice()

    转载:https://www.jianshu.com/p/71e6ef6c121b https://www.cnblogs.com/chamie/p/11073363.html def slice(i ...

  7. TensorFlow入门学习(让机器/算法帮助我们作出选择)

    catalogue . 个人理解 . 基本使用 . MNIST(multiclass classification)入门 . 深入MNIST . 卷积神经网络:CIFAR- 数据集分类 . 单词的向量 ...

  8. TensorFlow API 汉化

    TensorFlow API 汉化 模块:tf   定义于tensorflow/__init__.py. 将所有公共TensorFlow接口引入此模块. 模块 app module:通用入口点脚本. ...

  9. (转) TensorFlow深度学习,一篇文章就够了

    TensorFlow深度学习,一篇文章就够了 2016/09/22 · IT技术 · TensorFlow, 深度学习 分享到:6   原文出处: 我爱计算机 (@tobe迪豪 )    作者: 陈迪 ...

随机推荐

  1. oracle 获取时间

    1.获取当前时间的前24小时的各小时时间段 select to_char(to_date(to_char(sysdate ) ,'yyyy-mm-dd hh24') || ':00:00','yyyy ...

  2. JS框架_(Qrcode.js)将你的内容转换成二维码格式

    百度云盘 传送门 密码:304e 输入网址点击按钮生成二维码,默认为我的博客首页 二维码格式演示 <!DOCTYPE html> <html lang="en"& ...

  3. Redis大 key的发现与删除方法全解析

    个推作为国内第三方推送市场的早期进入者,专注于为开发者提供高效稳定的推送服务,经过9年的积累和发展,服务了包括新浪.滴滴在内的数十万APP.由于我们推送业务对并发量.速度要求很高,为此,我们选择了高性 ...

  4. 各种框架实现了经典的 todo 应用

    http://todomvc.com/ 版权声明:本文为博主原创文章,未经博主允许不得转载.

  5. Java常考面试题整理(五)

    81.RMI中的远程接口(Remote Interface)扮演了什么样的角色? 参考答案: 远程接口用来标识哪些方法是可以被非本地虚拟机调用的接口.远程对象必须要直接或者是间接实现远程接口.实现了远 ...

  6. Springboot2.x使用redis作为缓存

    一.Springboot2.x关于配置redis作为缓存. 基本配置如下: (1)在application.properties文件中 spring.redis.database=2 //第几个数据库 ...

  7. Linux环境快速搭建elasticsearch6.5.4集群和Head插件

    https://blog.csdn.net/boling_cavalry/article/details/86358716

  8. ffmpeg循环推流

    ffmpeg循环推流 有时候需要轮播出一路直播 这个时候循环推流就比较方便了 ffmpeg -stream_loop - -re -i d:/Media/a.ts -vcodec h264 -acod ...

  9. android 播放音乐媒体文件(三)

    看段小代码: mMediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);mMediaPlayer.setDataSource(url);mM ...

  10. SQL Server高可用实现方案

    名词解释: WSFC:Windows Server Failover Cluster,在Windows Server操作系统上,由WSFC提供高可用性.故障检测和SQL Server AlwaysOn ...