tf.slice()

转载自:https://blog.csdn.net/chenxieyy/article/details/53031943

  • 函数原型

tf.slice(inputs,begin,size,name=‘‘)   从inputs中抽取部分内容

  • 参数说明

inputs:可以是list,array,tensor

begin:n维列表,begin[i] 表示从inputs中第i维抽取数据时,相对0的起始偏移量,也就是从第i维的begin[i]开始抽取数据

size:n维列表,size[i]表示要抽取的第i维元素的数目

有几个关系式如下:

(1) i in [0,n]

(2)tf.shape(inputs)[0]=len(begin)=len(size)

(3)begin[i]>=0   抽取第i维元素的起始位置要大于等于0

(4)begin[i]+size[i]<=tf.shape(inputs)[i]

  • 例子
import tensorflow as tf
import numpy as np
x=[[1,2,3],[4,5,6]]
y=np.arange(24).reshape([2,3,4])
z=tf.constant([[[1,2,3],[4,5,6]], [[7,8,9],[10,11,12]],  [[13,14,15],[16,17,18]]]
sess=tf.Session()
begin_x=[1,0]        #第一个1,决定了从x的第二行[4,5,6]开始,第二个0,决定了从[4,5,6] 中的4开始抽取
size_x=[1,2]           # 第一个1决定了,从第二行以起始位置抽取1行,也就是只抽取[4,5,6] 这一行,在这一行中从4开始抽取2个元素
out=tf.slice(x,begin_x,size_x)
print sess.run(out)  #  结果:[[4 5]]  

begin_y=[1,0,0]
size_y=[1,2,3]
out=tf.slice(y,begin_y,size_y)
print sess.run(out)  # 结果:[[[12 13 14] [16 17 18]]]  

begin_z=[0,1,1]
size_z=[-1,1,2]
out=tf.slice(z,begin_z,size_z)
print sess.run(out)  # size[i]=-1 表示第i维从begin[i]剩余的元素都要被抽取,结果:[[[ 5  6]] [[11 12]] [[17 18]]]  

In [48]: out=tf.slice(z,[0,1,1],[1,1,2])
In [49]: sess.run(out)
Out[49]: array([[[5, 6]]], dtype=int32)

In [50]: out=tf.slice(z,[0,1,1],[2,1,2])
In [51]: sess.run(out)
Out[51]:
array([[[ 5, 6]],[[11, 12]]], dtype=int32)

原文地址:https://www.cnblogs.com/helloworld0604/p/9064187.html

时间: 2024-08-30 14:48:35

tf.slice()的相关文章

tf.slice函数解析

tf.slice函数解析 觉得有用的话,欢迎一起讨论相互学习~Follow Me tf.slice(input_, begin, size, name = None) 解释 :这个函数的作用是从输入数据input中提取出一块切片,切片的尺寸是size,切片的开始位置是begin. 切片的尺寸size表示输出tensor的数据维度,其中size[i]表示在第i维度上面的元素个数. 开始位置begin表示切片相对于输入数据input_的每一个偏移量,比如数据input_是 [[[1, 1, 1],

tf.slice()函数详解(极详细)

目录 1.官方注释 2.参数解释 3.例子 参考 tf.slice()是TensorFlow库中分割张量的一个函数,其定义为def slice(input_, begin, size, name=None):.tf.slice()函数的那些参数设置实在是不好理解,查了好多资料才理解,所以这边记录一下. 1.官方注释 官方的注释如下: """Extracts a slice from a tensor. This operation extracts a slice of si

TF Boys (TensorFlow Boys ) 养成记(五)

郑重声明:此文为本人原创,转载请注明出处:http://www.cnblogs.com/Charles-Wan/p/6207039.html 有了数据,有了网络结构,下面我们就来写 cifar10 的代码. 首先处理输入,在 /home/your_name/TensorFlow/cifar10/ 下建立 cifar10_input.py,输入如下代码: from __future__ import absolute_import # 绝对导入 from __future__ import div

学习笔记TF042:TF.Learn、分布式Estimator、深度学习Estimator

TF.Learn,TensorFlow重要模块,各种类型深度学习及流行机器学习算法.TensorFlow官方Scikit Flow项目迁移,谷歌员工Illia Polosukhin.唐源发起.Scikit-learn代码风格,帮助数据科学从业者更好.更快适应接受TensorFlow代码.囊括许多TensorFlow代码.设计模式,用户更快搭建机器学习模型实现应用.避免大量代码重复,把精力放在搭建更精确模型.与其他contrib模块无逢结合. 分布式Estimator.Estimator,各种各样

TF Boys (TensorFlow Boys ) 养成记(二)

TensorFlow 的 How-Tos,讲解了这么几点: 1. 变量:创建,初始化,保存,加载,共享: 2. TensorFlow 的可视化学习,(r0.12版本后,加入了Embedding Visualization) 3. 数据的读取: 4. 线程和队列: 5. 分布式的TensorFlow: 6. 增加新的Ops: 7. 自定义数据读取: 由于各种原因,本人只看了前5个部分,剩下的2个部分还没来得及看,时间紧任务重,所以匆匆发车了,以后如果有用到的地方,再回过头来研究.学习过程中深感官方

tf源码中的object_detection_tutorial.ipynb文件

今天看到原来下载的tf源码的目标检测源码中test的代码不知道跑哪儿去了,这里记录一下... Imports import numpy as np import os import six.moves.urllib as urllib import sys import tarfile import tensorflow as tf import zipfile from collections import defaultdict from io import StringIO from ma

『TensorFlow』函数查询列表_张量属性调整

数据类型转换Casting 操作 描述 tf.string_to_number(string_tensor, out_type=None, name=None) 字符串转为数字 tf.to_double(x, name='ToDouble') 转为64位浮点类型–float64 tf.to_float(x, name='ToFloat') 转为32位浮点类型–float32 tf.to_int32(x, name='ToInt32') 转为32位整型–int32 tf.to_int64(x, n

学习笔记TF015:加载图像、图像格式、图像操作、颜色

TensorFlow支持JPG.PNG图像格式,RGB.RGBA颜色空间.图像用与图像尺寸相同(height*width*chnanel)张量表示.通道表示为包含每个通道颜色数量标量秩1张量.图像所有像素存在磁盘文件,需要被加载到内存. 图像加载与二进制文件相同.图像需要解码.输入生成器(tf.train.string_input_producer)找到所需文件,加载到队列.tf.WholeFileReader加载完整图像文件到内存,WholeFileReader.read读取图像,tf.ima

人工智能(AI)库TensorFlow 踩坑日记之二

上次 踩坑日志之一 遗留的问题终于解决了,所以作者(也就是我)终于有脸出来写第二篇了. 首先还是贴上 卷积算法的示例代码地址 :https://github.com/tensorflow/models   这个库里面主要是一些常用的模型用tensorflow实现之后的代码.其中我用的是 models/tree/master/tutorials/image/cifar10 这个示例,上一篇也大致讲过了. 关于上次遇到问题是: 虽然训练了很多次,但是每次实际去用时都是相同的结果.这个问题主要原因是