簡體   English   中英

Tensorflow是否等效於pandas.DataFrame.resample?

[英]Tensorflow equivalent to pandas.DataFrame.resample?

我正在尋找一種重采樣時間序列張量的張量流等效方法。

我有一個具有以下尺寸的張量[batch_size,時間,特征]。 我試圖實現的是一種創建新張量的方法,該張量將多個時間步長匯總在一起,並且新功能應該是一些匯總函數(比方說平均值)。

因此,例如,如果這是原始數據:

batch_size | time | feature
    0      |  0   |    1
    0      |  1   |    4
    0      |  2   |    7
    0      |  3   |    1
    1      |  0   |    2
    1      |  1   |    8
...
    N=?    |  T=? |    ?

並且我想每隔兩個時間步重新采樣一次,結果應該是這樣的:

batch_size | time (scaled)| feature
    0      |  0   |    2.5 (=(1+5)/2)
    0      |  1   |    4   (=(7+1)/2)
    1      |  0   |    5   (=(2+8)/2)
...

如果沒有優雅的方法,我想也許可以使用

  • tf.strided_slice創建切片列表。 其中每個分片都具有匯總的所有時間步長(上例中為“ 2”)。
  • 對每個切片應用帶有avg()函數的tf.scan
  • 將所有切片結果連接到新張量

我是tensorflow的新手,所以不確定我的偽代碼是否有意義。 也很費勁地實現它。

很感謝任何形式的幫助 :)

您可以使用平均池

result = tf.layers.average_pooling1d(x, [1, 2, 1], [1, 2, 1])

如果你要2個元素來獲得平均不-只是改變2〜3兩pool_sizestrides

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM