繁体   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