tf.slice用法

函数:tf.slice(inputs, begin, size, name)
作用:从列表、数组、张量等对象中抽取一部分数据
begin和size是两个多维列表,他们共同决定了要抽取的数据的开始和结束位置
begin表示从inputs的哪几个维度上的哪个元素开始抽取 ,begin基于下标0开始
size表示在inputs的各个维度上抽取的元素个数
若begin[]或size[]中出现-1,表示抽取对应维度上的所有元素
测试:如下是一个三维Tensor数据表
在这里插入图片描述

    import tensorflow as tf
    import numpy as np
    #这个代码演示测试tf.slice函数
    t=[[[1,1,1],[2,2,2]],[[3,3,3],[4,4,4]],[[5,5,5],[6,6,6]]]
    s1=tf.slice(t,[1,0,0],[1,1,3])
    #begin=[1,0,0],表明从第1维的[0,0]开始切片,也就是从[3,3,3]开始
    #size=[1,1,3]表明切片后是1维,切片的尺寸为1行3列。
    s2=tf.slice(t,[0,1,1],[2,1,1])
    #begin=[0,1,1],表明从第0维的[1,1]开始切片,也就是从[2,2,2]的第二个2开始
    #size=[2,1,1]表明切片后的切片的尺寸为相邻的两张表,数据1行1列。
    sess=tf.Session()
    print(sess.run(s1))
    #输出结果为[[[3 3 3]]],一行三列
    print(sess.run(s2))
    #输出结果:
    [[[2]]
     [[4]]]
    #测试维度:
    print(sess.run(s1).shape)
    print(sess.run(s2).shape)
    #结果如下
    (1, 1, 3)
    (2, 1, 1)

点击此处运行代码
下面的立体图说明切片的实际方法:
(size的大小不能大于切片刀下方表格数据的尺寸,维度数不能大于被切片数据的维度)
以s2为例
在这里插入图片描述

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值