在 Tensorflow 中使用索引对张量进行切片

Posted

技术标签:

【中文标题】在 Tensorflow 中使用索引对张量进行切片【英文标题】:Slicing a tensor by using indices in Tensorflow 【发布时间】:2017-06-02 14:25:14 【问题描述】:

基本上我有一个二维数组,我想做这个漂亮的类似 numpy 的东西

noise_spec[:rows,:cols]

在张量流中。这里 rows 和 cols 只是两个整数。

【问题讨论】:

【参考方案1】:

确实,TensorFlow 现在对切片有更好的支持,因此您可以使用与 NumPy 完全相同的语法:

result = noise_spec[:rows, :cols]

【讨论】:

不幸的是,u = U[idx_i,:] 不适用于 tf 1.8.0。 idx_i 是我想选择的行的随机索引。 tf.nn.embedding_lookup 工作。【参考方案2】:

发现了,是

tf.slice(noise_spec, [0,0],[rows, cols])

【讨论】:

以上是关于在 Tensorflow 中使用索引对张量进行切片的主要内容,如果未能解决你的问题,请参考以下文章

[TensorFlow系列-17]:TensorFlow基础 - 张量的索引与切片

当切片本身是张量流中的张量时如何进行切片分配

根据张量流中给定的序列长度数组对 3D 张量进行切片

如何在 Tensorflow 中对无维度的张量进行切片

如何在 Tensorflow 中进行切片分配

如何在 TensorFlow 中对批次进行切片并在每个切片上应用操作