tf.slice

本文详细介绍了TensorFlow中的tf.slice函数,包括其功能、参数使用方法、示例和常见应用场景。通过实例演示如何从张量中提取指定大小和起始位置的切片,这对于理解张量操作和数据处理至关重要。

参考   tf.slice - 云+社区 - 腾讯云

从张量中提取一个切片。

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

这个操作从begin指定的位置开始,从张量输入中提取一个大小为size的切片。切片大小用张量形状表示,其中size[i]是要切片的输入的第i维的元素个数。切片的起始位置(begin)表示为输入每个维度中的偏移量。换句话说,begin[i]是要从中切片的输入的第i维的偏移量。注意,tf.Tensor。getitem通常是执行切片的一种更符合python风格的方法,因为它允许您编写foo[3:7,:-2]而不是tf。切片(foo, [3,0], [4, foo.get_shape()[1]-2])。开始是从零开始的;大小从1。如果size[i]为-1,则维度i中的所有剩余元素都包含在切片中。换句话说,这相当于设置:

  • size[i] = input.dim_size(i) - begin[i]

这项行动需要:

  • 0 <= begin[i] <= begin[i] + size[i] <= Di for i in[0, n]

例:

t = tf.constant([[[1, 1, 1], [2, 2, 2]],
                 [[3, 3, 3], [4, 4, 4]],
                 [[5, 5, 5], [6, 6, 6]]])
tf.slice(t, [1, 0, 0], [1, 1, 3])  # [[[3, 3, 3]]]
tf.slice(t, [1, 0, 0], [1, 2, 3])  # [[[3, 3, 3],
                                   #   [4, 4, 4]]]
tf.slice(t, [1, 0, 0], [2, 1, 3])  # [[[3, 3, 3]],
                                   #  [[5, 5, 5]]]

参数:

  • input_:张量。
  • begin:一个int32或int64张量。
  • 大小:一个int32或int64张量。
  • name:操作的名称(可选)。

返回值:

  • 与输入类型相同的张量。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Wanderer001

ROIAlign原理

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值