2017-10-13 2 views
0

[Batch_Size, T, 40]의 모양을 가진 시계열 (텐서로 표시)이 있습니다. 이제 timestep 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]]]