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) in input.

  • 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 same offsets, if those are not None. Only supported for mode='sum'.

Returns:

Tensor output shape of (B, embedding_dim).

Note

A few notes about input and offsets:

  • input and offsets have to be of the same type, either int or long

  • If input is 2D of shape (B, N), it will be treated as B bags (sequences) each of fixed length N, and this will return B values aggregated in a way depending on the mode. offsets is ignored and required to be None 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 in input. Therefore, for offsets of shape (B), input will be viewed as having B bags. Empty bags (i.e., having 0-length) will have returned vectors filled by zeros.