tensorflow中tf.slice和tf.gather切片函数的使用

yipeiwu_com7年前Python基础

tf.slice(input_, begin, size, name=None):按照指定的下标范围抽取连续区域的子集

tf.gather(params, indices, validate_indices=None, name=None):按照指定的下标集合从axis=0中抽取子集,适合抽取不连续区域的子集

输出:

input = [[[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]]]
           
tf.gather(input, [0, 2]) ==> [[[1, 1, 1], [2, 2, 2]],
        [[5, 5, 5], [6, 6, 6]]]

假设我们要从input中抽取[[[3, 3, 3]]],这个输出在inputaxis=0的下标是1,axis=1的下标是0,axis=2的下标是0-2,所以begin=[1,0,0],size=[1,1,3]。

假设我们要从input中抽取[[[3, 3, 3], [4, 4, 4]]],这个输出在inputaxis=0的下标是1,axis=1的下标是0-1,axis=2的下标是0-2,所以begin=[1,0,0],size=[1,2,3]。

假设我们要从input中抽取[[[3, 3, 3], [5, 5, 5]]],这个输出在inputaxis=0的下标是1-2,axis=1的下标是0,axis=2的下标是0-2,所以begin=[1,0,0],size=[2,1,3]。

假设我们要从input中抽取[[[1, 1, 1], [2, 2, 2]],[[5, 5, 5], [6, 6, 6]]],这个输出在input的axis=0的下标是[0, 2],不连续,可以用tf.gather抽取。input[0]和input[2]

以上这篇tensorflow中tf.slice和tf.gather切片函数的使用就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

详解python算法之冒泡排序

详解python算法之冒泡排序

python之冒泡排序 概念: 重复地走访过要排序的元素列,依次比较两个相邻的元素,如果他们的顺序(如从大到小、首字母从A到Z)错误就把他们交换过来。走访元素的工作是重复地进行直到没有相...

python 利用栈和队列模拟递归的过程

一、递归 递归调用:一个函数,调用的自身,称为递归调用 递归函数:一个可以调用自身的函数称为递归函数   凡是循环能干的事,递归都能干 方法: 1、写出临界条件 2、找这一次和上一次的关...

Python Django 简单分页的实现代码解析

Python Django 简单分页的实现代码解析

这篇文章主要介绍了Python Django 简单分页的实现代码解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 models.py...

一行Python代码过滤标点符号等特殊字符

很多时候我们需要过滤掉标点符号等特殊字符,网上虽然有一堆的方法,但是都没有找到一个非常满意的,有些过滤不了中文的标点符号,有些过滤不了英文的标点符号,有些过滤不全。 最后通过查看正则表达...

Saltstack快速入门简单汇总

saltstack是使用python编写的开源自动化部署与管理工具,拥有良好的扩展性以及优秀的执行效率,配置简单,可以工作在多平台上,经常被描述为 Func加强版+Puppet精简版。...