如何将张量流从 (None, N) 重塑为 (None, M, N)?

时间:2021-01-02 08:41:18

标签: python tensorflow lstm

enter image description here

上图来自本教程:https://www.tensorflow.org/tutorials/structured_data/time_series

我想要做的是将多步、单次 LSTM 模型转换为残差模型,在那里我获取最终输入并将其添加到预测中。

class ResidualWrapper(tf.keras.Model):
    def __init__(self, model):
        super().__init__()
        self.model = model
    def call(self, inputs, *args, **kwargs):
        delta = self.model(inputs, *args, **kwargs)
        print(inputs.shape)
        # (None, 128, 16)
        print(delta.shape)
        # (None, 12, 16)
        print(inputs[:, -1, :].shape)
        # (None, 16)
        
        return  inputs[:,-1,:] + delta 

输入的形状为: (BATCH_SIZE, N_STEPS, FEATURES)

预测的形状是 (BATCH_SIZE, OUT_STEPS, FEATURES)

我想添加最后一个输入和所有特征并将其添加到预测中。

如何将 (None, 16) 变成 (None, 12, 16)

0 个答案:

没有答案