CatFeaturesItemNet

class rectools.models.nn.item_net.CatFeaturesItemNet(emb_bag_inputs: Tensor, input_lengths: Tensor, offsets: Tensor, n_cat_feature_values: int, n_factors: int, dropout_rate: float, **kwargs: Any)[source]

Bases: ItemNetBase

Network for item embeddings based only on categorical item features.

Parameters
  • emb_bag_inputs (torch.Tensor) – Inputs for torch.nn.EmbeddingBag.forward method for full items catalog.

  • input_lengths (torch.Tensor) – Lengths of indexes in emb_bag_inputs for each item in full catalog.

  • offsets (torch.Tensor) – Offsets for torch.nn.EmbeddingBag.forward method for full items catalog.

  • n_cat_feature_values (torch.Tensor) – Number of stored unique category feature and value pairs.

  • n_factors (int) – Latent embedding size of item embeddings.

  • dropout_rate (float) – Probability of a hidden unit to be zeroed.

  • kwargs (Any) –

Methods

forward(items)

Forward pass to get item embeddings from categorical item features.

from_dataset(dataset, n_factors, ...)

Create CatFeaturesItemNet from RecTools dataset.

from_dataset_schema(dataset_schema, ...)

Construct CatFeaturesItemNet from Dataset schema.

Attributes

out_dim

Return categorical item embedding output dimension.

forward(items: Tensor) Tensor[source]

Forward pass to get item embeddings from categorical item features.

Parameters

items (torch.Tensor) – Internal item ids.

Returns

Item embeddings.

Return type

torch.Tensor

classmethod from_dataset(dataset: Dataset, n_factors: int, dropout_rate: float, **kwargs: Any) Optional[Self][source]

Create CatFeaturesItemNet from RecTools dataset.

Parameters
  • dataset (Dataset) – RecTools dataset.

  • n_factors (int) – Latent embedding size of item embeddings.

  • dropout_rate (float) – Probability of a hidden unit of item embedding to be zeroed.

  • kwargs (Any) –

Return type

Optional[Self]

classmethod from_dataset_schema(dataset_schema: DatasetSchema, n_factors: int, dropout_rate: float, **kwargs: Any) Optional[Self][source]

Construct CatFeaturesItemNet from Dataset schema.

Parameters
  • dataset_schema (DatasetSchema) – RecTools schema for dataset.

  • n_factors (int) – Latent embedding size of item embeddings.

  • dropout_rate (float) – Probability of a hidden unit of item embedding to be zeroed.

  • kwargs (Any) –

Return type

Optional[Self]

property out_dim: int

Return categorical item embedding output dimension.