tensorflow 函数解读系列之 tf.slice()

本文详细解析了TensorFlow中的tf.slice()函数,介绍了如何从Tensor中进行切片操作。重点强调了切片操作的两个关键点:begin和size的正确使用,并通过实例说明了错误示例及其原因。同时,提到了begin可以设置为0,size可以设置为-1以保留相应维度的所有数据。
摘要由CSDN通过智能技术生成

 tf.slice 是tensorflow的切片用法

定义为:

def slice(input_, begin, size, name=None):
    """
    :param input_: 输入数据,切片对象
    :param begin:  切片的起始位置, begin.size = input_.shape[0]. 
    :param size:   切片后数据的 shape,size[i] 表示在 input_ 的第 i 
                   个维度中想要保留的数据个数
    :param name: 
    :return: 
    """

具体而言,切片就是以 begin 为起始点,size 为大小从 input_ 数据中截取一段内容。

以一种更 pythonic 的方式介绍就是,

tf.slice(input_,[0,1], [1,2]) == foo[0:1, 1:3]

所以这里需要注意的点是

1. begin[i] + size[i] < input_.shape[i]

        对应的维度和需要小于给定数据的维度

        举个例子:

import tensorflow as tf
var = [[1,2,3],[4,5,6]]
with tf.Session() as sess:
    print(sess.run(tf.slice(var, [0,0], [2,1]))) # [[1], [2]]
    print
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值