TimeDistributedEmbeddingBag#
- class pytorch_forecasting.models.nn.embeddings.TimeDistributedEmbeddingBag(*args, batch_first: bool = False, **kwargs)[source]#
Bases:
EmbeddingBag
Initializes internal Module state, shared by both nn.Module and ScriptModule.
Methods
forward
(x)Forward pass of EmbeddingBag.
- forward(x)[source]#
Forward pass of EmbeddingBag.
- Parameters:
input (Tensor) – Tensor containing bags of indices into the embedding matrix.
offsets (Tensor, optional) – Only used when
input
is 1D.offsets
determines the starting index position of each bag (sequence) ininput
.per_sample_weights (Tensor, optional) – a tensor of float / double weights, or None to indicate all weights should be taken to be
1
. If specified,per_sample_weights
must have exactly the same shape as input and is treated as having the sameoffsets
, if those are notNone
. Only supported formode='sum'
.
- Returns:
Tensor output shape of (B, embedding_dim).
Note
A few notes about
input
andoffsets
:input
andoffsets
have to be of the same type, either int or longIf
input
is 2D of shape (B, N), it will be treated asB
bags (sequences) each of fixed lengthN
, and this will returnB
values aggregated in a way depending on themode
.offsets
is ignored and required to beNone
in this case.If
input
is 1D of shape (N), it will be treated as a concatenation of multiple bags (sequences).offsets
is required to be a 1D tensor containing the starting index positions of each bag ininput
. Therefore, foroffsets
of shape (B),input
will be viewed as havingB
bags. Empty bags (i.e., having 0-length) will have returned vectors filled by zeros.