ItemNetConstructorBase

class rectools.models.nn.item_net.ItemNetConstructorBase(n_items: int, item_net_blocks: Sequence[ItemNetBase], **kwargs: Any)[source]

Bases: ItemNetBase

Constructed network for item embeddings based on aggregation of embeddings from transferred item network types.

Parameters
  • n_items (int) – Number of items in the dataset.

  • item_net_blocks (Sequence(ItemNetBase)) – Latent embedding size of item embeddings.

  • kwargs (Any) –

Methods

forward(items)

Forward pass through item net blocks and aggregation of the results.

from_dataset(dataset, n_factors, ...)

Construct ItemNet from RecTools dataset and from various blocks of item networks.

from_dataset_schema(dataset_schema, ...)

Construct ItemNet from Dataset schema.

get_all_embeddings()

Return item embeddings.

Attributes

catalog

Return tensor with elements in range [0, n_items).

property catalog: Tensor

Return tensor with elements in range [0, n_items).

forward(items: Tensor) Tensor[source]

Forward pass through item net blocks and aggregation of the results.

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, item_net_block_types: Sequence[Type[ItemNetBase]], **kwargs: Any) Self[source]

Construct ItemNet from RecTools dataset and from various blocks of item networks.

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.

  • item_net_block_types (sequence of type(ItemNetBase)) – Sequence item network block types.

  • kwargs (Any) –

Return type

Self

classmethod from_dataset_schema(dataset_schema: DatasetSchema, n_factors: int, dropout_rate: float, item_net_block_types: Sequence[Type[ItemNetBase]], **kwargs: Any) Self[source]

Construct ItemNet 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.

  • item_net_block_types (sequence of type(ItemNetBase)) – Sequence item network block types.

  • kwargs (Any) –

Return type

Self

get_all_embeddings() Tensor[source]

Return item embeddings.

Return type

Tensor