python - Tensorflow:提取所有其他元素

标签 python tensorflow

我有一个形状为[Batch_Size, T, 40]的时间序列(表示为张量)。现在,我想提取序列中从时间步 0 开始的所有其他向量,并扩展到 2, 4, ...,从而产生大小 [Batch_Size, T/2, 40]

在 TensorFlow 中执行此操作最有效/最快的方法是什么?请注意,T 是固定的并且已知是否有帮助。

提前致谢!

最佳答案

使用切片表示法并在需要提取/采样的第二个轴上指定步长 2:

t[:,::2]
<小时/>

示例:

import tensorflow as tf
​
t = tf.reshape(tf.range(24), (2,6,2))
​
sess = tf.Session()
print('original: \n', sess.run(t), '\n')
print('every other: \n', sess.run(t[:,::2]))
original: 
 [[[ 0  1]
  [ 2  3]
  [ 4  5]
  [ 6  7]
  [ 8  9]
  [10 11]]

 [[12 13]
  [14 15]
  [16 17]
  [18 19]
  [20 21]
  [22 23]]] 

every other: 
 [[[ 0  1]
  [ 4  5]
  [ 8  9]]

 [[12 13]
  [16 17]
  [20 21]]]

关于python - Tensorflow:提取所有其他元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46721407/

相关文章:

python - 如何确保在 Python 的子类方法上调用 super 方法?

python - 为什么 gevent-websocket 是同步的?

machine-learning - 机器学习多分类: Why use 'one-hot' encoding instead of a number

tensorflow 工具 : can't figure out how to build/run summarize_graph

tensorflow - 如何从 ImageDataGenerator 获取 x_train 和 y_train?

python - 如何在 v1.13.1 中恢复 tensorflow v1.1.0 保存的模型

python - Flask 中的全局变量不一致

javascript - 用方括号包裹单词而不是 sglQuotedString 或 dblQuotedString

python - 如何创建离散二维直方图

java - 为多个模型指定 CPU 或 GPU tensorflow java 的工作