tf.slice()函数用法

import tensorflow as tf

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

print(t.get_shape())

length = tf.constant([3,2,1,1,1])
print(length)

# for each in t:
#     t_slice = tf.slice(t, [0, 0], [[3,2,1,1,1],0])
#
# print(t_slice)

t_1 = tf.constant([1,1,1,0])
length_1 = tf.constant(3)
slice_1 = tf.slice(t_1,[0],[length_1])

all_slice = []
stacks_t = tf.unstack(t)
for i, each_row in enumerate(stacks_t):
    slice_k = tf.slice(t_1,[0],[length[i]])
    all_slice.append(tf.expand_dims(slice_k,0))


# slice_t = tf.stack(all_slice,axis=0)

with tf.Session() as sess:
    # print(sess.run(tf.slice(t, [0, 0], [4,  3])))
    print(sess.run(slice_1))
    print(sess.run(all_slice))
    # print(sess.run(stacks_t))

output:

(5, 4)
Tensor("Const_1:0", shape=(5,), dtype=int32)
[1 1 1]
[array([[1, 1, 1]], dtype=int32), array([[1, 1]], dtype=int32), array([[1]], dtype=int32), array([[1]], dtype=int32), array([[1]], dtype=int32)]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值