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. JS框架_(coolShow.js)图片旋转动画特效

    百度云盘 传送门 密码:ble6 coolShow.js插件图片旋转动画效果 <!DOCTYPE HTML> <head> <meta http-equiv=" ...

  2. (转译)2019年WEB漏洞扫描工具和软件前十名推荐

    这些工具都有助于发现漏洞,从而最大限度地提高测试人员的时间和效率.这些工具,2019年更新,也可用于寻找漏洞. 为何扫描? 这资源是什么? Web应用程序对黑客具有极大的吸引力,并且出于百万种不同的原 ...

  3. js+jq 淡入淡出轮播(点击+定时+鼠标进入移出事件)

    <!DOCTYPE html><html> <head> <meta charset="utf-8" /> <title> ...

  4. [BZOJ2002][洛谷P3203][Hnoi2010]Bounce 弹飞绵羊(LCT维护链长)

    luogu传送门 2002: [Hnoi2010]Bounce 弹飞绵羊 Time Limit: 10 Sec  Memory Limit: 259 MBSubmit: 16082  Solved:  ...

  5. Hibernate与MyBaits的区别?

    (1)Hibernate是全自动,而myBatis是半自动,Hibernate完全可以通过对象关系模型实现对数据库的操作,拥有完整的JavaBean对象与数据库的映射结构来自动生成SQL.而myBat ...

  6. 191121CSS

    一.CSS 1.css选择器 css选择器的使用方法 <!DOCTYPE html> <html lang="en"> <head> <m ...

  7. C#操作WMI文章汇总

    http://blog.csdn.net/linux7985/article/details/5698932 http://www.cnblogs.com/ocean2000/archive/2008 ...

  8. [论文理解] Spatial Transformer Networks

    Spatial Transformer Networks 简介 本文提出了能够学习feature仿射变换的一种结构,并且该结构不需要给其他额外的监督信息,网络自己就能学习到对预测结果有用的仿射变换.因 ...

  9. 批处理bat相关

    时间 %date:~0,4%%date:~5,2%%date:~8,2%_%time:~0,2%%time:~3,2%%time:~6,2% 判断 if %date:~2,1%==/ (echo en ...

  10. 全面解读php-流程控制

    一.PHP遍历数组的三种方式 示例: $arr = [1, 2, 3 4, 'five' => 5]; 1.for ()  for循环只能用于遍历纯索引数组!如果存在关联数组,count统计时会 ...