2017-10-13 62 views
0

我有一個時間序列(表示爲張量),形狀爲[Batch_Size, T, 40]。現在,我想從時間步0開始的序列中提取其他所有矢量,並且擴展到2,4,...,從而產生大小爲[Batch_Size, T/2, 40]的東西。Tensorflow:提取每個其他元素

什麼是TensorFlow中最有效/最快速的方法?請注意,T是固定的,如果有幫助的話是已知的。

在此先感謝!

回答

1

使用切片符號和指定的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]]] 
相關問題