def decode(self, static_encoding_batch: th.Tensor, dynamic_encoding_batch: th.Tensor):
    assert (static_encoding_batch.size()[0] == dynamic_encoding_batch.size()[0]), f'static encoding batch and dynamic encoding batch have different sizes, respectively {static_encoding_batch.size()[0]} and {dynamic_encoding_batch.size()[0]}'
    assert (dynamic_encoding_batch.size() == (dynamic_encoding_batch.size()[0], self._dyn_encoding_size)), f"dynamic_encoding have wrong size, should be {(dynamic_encoding_batch.size()[0], self._dyn_encoding_size)}, but it's {dynamic_encoding_batch.size()}"
    assert (static_encoding_batch.size() == (static_encoding_batch.size()[0], self._static_encoding_size)), f"static_encoding_batch have wrong size, should be {(static_encoding_batch.size()[0], self._static_encoding_size)}, but it's {static_encoding_batch.size()}"
    state_batch = th.cat((static_encoding_batch, dynamic_encoding_batch), 1)
    return self._decoder(state_batch)
def decode(self, static_encoding_batch: th.Tensor, dynamic_encoding_batch: th.Tensor):
    assert (static_encoding_batch.size()[0] == dynamic_encoding_batch.size()[0]), f'static encoding batch and dynamic encoding batch have different sizes, respectively {static_encoding_batch.size()[0]} and {dynamic_encoding_batch.size()[0]}'
    assert (dynamic_encoding_batch.size() == (dynamic_encoding_batch.size()[0], self._dyn_encoding_size)), f"dynamic_encoding have wrong size, should be {(dynamic_encoding_batch.size()[0], self._dyn_encoding_size)}, but it's {dynamic_encoding_batch.size()}"
    assert (static_encoding_batch.size() == (static_encoding_batch.size()[0], self._static_encoding_size)), f"static_encoding_batch have wrong size, should be {(static_encoding_batch.size()[0], self._static_encoding_size)}, but it's {static_encoding_batch.size()}"
    state_batch = th.cat((static_encoding_batch, dynamic_encoding_batch), 1)
    return self._decoder(state_batch)