recbole.data.dataloader.knowledge_dataloader

class recbole.data.dataloader.knowledge_dataloader.KGDataLoader(config, dataset, sampler, shuffle=False)[source]

Bases: recbole.data.dataloader.abstract_dataloader.AbstractDataLoader

KGDataLoader is a dataloader which would return the triplets with negative examples in a knowledge graph.

Parameters
  • config (Config) – The config of dataloader.

  • dataset (Dataset) – The dataset of dataloader.

  • sampler (KGSampler) – The knowledge graph sampler of dataloader.

  • shuffle (bool, optional) – Whether the dataloader will be shuffle after a round. Defaults to False.

shuffle

Whether the dataloader will be shuffle after a round. However, in KGDataLoader, it’s guaranteed to be True.

Type

bool

property pr_end

This property marks the end of dataloader.pr which is used in __next__().

class recbole.data.dataloader.knowledge_dataloader.KnowledgeBasedDataLoader(config, dataset, sampler, kg_sampler, shuffle=False)[source]

Bases: recbole.data.dataloader.abstract_dataloader.AbstractDataLoader

KnowledgeBasedDataLoader is used for knowledge based model.

It has three states, which is saved in state. In different states, _next_batch_data() will return different Interaction. Detailed, please see state.

Parameters
  • config (Config) – The config of dataloader.

  • dataset (Dataset) – The dataset of dataloader.

  • sampler (Sampler) – The sampler of dataloader.

  • kg_sampler (KGSampler) – The knowledge graph sampler of dataloader.

  • shuffle (bool, optional) – Whether the dataloader will be shuffle after a round. Defaults to False.

state

This dataloader has three states:

In the first state, this dataloader would only return the triplets with negative examples in a knowledge graph.

In the second state, this dataloader would only return the user-item interaction.

In the last state, this dataloader would return both knowledge graph information and user-item interaction information.

Type

KGDataLoaderState

property pr_end

This property marks the end of dataloader.pr which is used in __next__().

set_mode(state)[source]

Set the mode of KnowledgeBasedDataLoader, it can be set to three states:

  • KGDataLoaderState.RS

  • KGDataLoaderState.KG

  • KGDataLoaderState.RSKG

The state of KnowledgeBasedDataLoader would affect the result of _next_batch_data().

Parameters

state (KGDataLoaderState) – the state of KnowledgeBasedDataLoader.