Easy_Rec Config
Dataset parameters
name (str)– Name of the dataset to use, e.g. ml-1m, amazon_beauty, behance. Default to ml-100k.data_folder (str)– Path to the raw dataset folder. Default to ../data/raw/.min_rating (int or float)– Minimum rating threshold. Interactions below this value will be filtered out. Default to 0.min_items_per_user (int)– Minimum number of items a user must have interacted with. Interactions below this value will be filtered out. Default to 5.min_users_per_item (int)– Minimum number of users that must have interacted with an item. Interactions below this value will be filtered out. Default to 5.densify_index (bool)– IfTrue, user and item indices will be re-mapped to a contiguous range. Default to True.split_method (str)– Method used to split the dataset into train/val/test sets. Default to leave_n_out, for the moment is the only option.test_sizes (list of int or null)– Number of final interactions kept for validation and test sets. Default to [1, 1].dataset_paramssplit_keys (dict)– Keys used to group data for splitting. Default to {train: [sid, uid], val: [sid, uid], test: [sid, uid]}.
collator_paramssequential_keys (list of str)– Keys used to identify sequence order. Default to [sid].padding_value (int)– Value used to pad sequences. Default to 0.lookback (int)– Number of past items to include in each training sample i.e. length of the sequence. Default to 200.lookforward (int)– Number of future items to predict. Default to 1.simultaneous_lookforward (int)– Number of future steps included in a single prediction step. Default to 1.out_seq_len (dict)– Output sequence length per split.train- Default to null.val- Default to 1 .test- Default to 1.
num_negatives (dict)– Number of negative samples per positive example. To include all in a set, put 1. .train- Default to 1.val- Default to 100.test- Default to 100.
negatives_distribution (str)– Strategy for sampling negatives. Default to uniform, for the moment it’s the only option.
Loader parameters
batch_size (int)– Number of samples processed in each training batch. Default to 128.drop_last (bool)– If True, discards the last batch if it contains fewer than batch_size samples. Default to True. See this link for more details https://discuss.pytorch.org/t/usage-of-drop-last-on-data-loader/66741 .num_workers (int)– The number of workers processing the data. Default to 1.shuffle (bool)– If True, shuffles the dataset at every epoch. Default to True.persisent_workers (bool)– If True, worker processes remain active between epochs to improve loading speed. Default to False.pin_memory (bool)– If True, allocates tensors in pinned memory, which speeds up GPU transfers. Default to False.
Training parameters
accelerator (str)– Specifies the hardware accelerator to use. Options in [cpu, cuda, mps]. Default set to cpu.enable_checkpointing (bool)– Enables or disables automatic checkpoint saving during training. Default to True.max_epochs (int)– Maximum number of training epochs. Default to 600.log_every_n_steps (int)– Number of steps between logging events. Default to 1.callbacksModelCheckpointdirpath (str)– Directory path where checkpoints are saved. Example: ${__exp__.project_folder}out/models/${__exp__.name}/.filename (str)– Base name for saved checkpoint files. Default to best.save_top_k (int)– Number of best models to keep. Default to 1.save_last (bool)– Whether to save the last checkpoint regardless of performance. Default to True.monitor (str)– Metric to monitor for saving best checkpoints. Example: val_NDCG_@10/dataloader_idx_0.mode (str)– Whether to maximize or minimize the monitored metric. Options in [min, max]. Default to max.enable_version_counter (bool)– If False, overwrites the best model instead of creating versions. Default to False.
loggername (str)– Logger type to use, e.g. CSVLogger, WandbLogger. Default to CSVLogger.save_dir (str)– Directory where logs are saved. Example: ${__exp__.project_folder}out/log/${__exp__.name}/.version (int)– Logger version. If 0, overwrites existing logs. Default to 0.
Model parameters
Common features
name (str)– Name of the recommender model. Options in [BERT4Rec, Caser, CORE, CosRec, GRU4Rec, HGN, LightGCN, Mamba4Rec, NARM, NCF, SASRec]emb_size (int)– Size of the items and positions embeddings. Default to 64.
BERT4Rec
bert_num_blocks (int)– Number of Transformer blocks in the encoder of BERT4Rec. Default to 2.ber_num_heads (int)– Number of attention heads in the Transformer model of BERT4Rec. Default to 4.dropout_rate (float)– Dropout rate for regularization. Default to 0.1.
Caser
lookback (int)– Length of the input sequence (number of past time steps considered). Typically sourced from ${data_params.dataset_params.lookback}.num_ver_filters (int)– Number of vertical convolutional filters. Default to 2.num_hor_filters (int)– Number of horizontal convolutional filters. Default to 2.act_conv (str)– Activation function used in the convolutional layers. Default to Tanh.act_fc (str)– Activation function used in the fully connected layers. Default to Tanh.drop_rate (float)– Dropout rate for regularization. Default to 0.5.
CORE
sess_dropout_rate (float)– Dropout rate applied to session representations for regularization. Default to 0.2.item_dropout_rate (float)– Dropout rate applied to item representations for regularization. Default to 0.2.
CosRec
block_dims (list of int)– Dimensions of convolutional or processing blocks. Default to [128, 256].fc_dim (int)– Dimension of the fully connected layer. Default to 150.act_fc (str)– Activation function used in the fully connected layer. Default to Tanh.dropout_rate (float)– Dropout rate for regularization. Default to 0.5.
GRU4Rec
num_layers (int)– Number of GRU layers. Default to 1.dropout_hidden (float)– Dropout rate applied to the hidden layers of the GRU. Default to 0.0.dropout_input (float)– Dropout rate applied to the input embeddings. Default to 0.2.
HGN
lookback (int)– Length of the input sequence (number of past time steps considered). Typically sourced from ${data_params.dataset_params.lookback}.
LightGCN
num_layers (int)– Number of graph convolution layers applied in LightGCN. Default: 1.
Mamba4Rec
d_model (int)– Dimensionality of the model layers and embeddings. Default to 64.ssm_cfg.d_model (int)– Dimensionality used within the SSM (State Space Model) configuration. Inherits the value from d_model.
NARM
hidden_size (int)– Number of hidden units in the GRU layer. Default to 50.n_layers (int)– Number of GRU layers used in the attention-based session encoder. Default to 1.emb_dropout (float)– Dropout rate applied to the input embeddings for regularization. Default to 0.25.ct_dropout (float)– Dropout rate applied to the context vector or attention mechanism. Default to 0.5.
NCF
mlp_emb_size (int)– Embedding size used for the MLP (Multi-Layer Perceptron) component of the model. Default to 8.mf_emb_size (int)– Embedding size used for the MF (Matrix Factorization) component of the model. Default to 8.layers (list of int)– List specifying the number of units in each hidden layer of the MLP. Default to [32, 16, 8].
SASRec
num_blocks (int)– Number of transformer blocks (stacked self-attention + feed-forward layers). Default to 1.num_heads (int)– Number of attention heads in the multi-head self-attention layer. Default to 1 .dropout_rate (float)– Dropout rate for regularization. Default to 0.2.
Global Data Parameters
They declare global defaults or shared parameters within the whole config structure.
data_params.collator_params.lookforward (int)– Number of future items to look ahead when generating training instances. Default to 0.data_params.collator_params.mask_prob (float)– Probability of masking each item in the sequence during training. Default to 0.15data_params.collator_params.keep_last.train (int)– Number of last interactions to keep in each training session. Default to 1.data_params.collator_params.keep_last.val (int or null)– Number of last interactions to keep for validation. If null, no filtering is applied. Default: null.data_params.collator_params.keep_last.test (int or null)– Number of last interactions to keep for test. If null, all test interactions are kept. Default: null.
Step Routing Parameters
They define how data flows through the model during training, validation and test.
model_input_from_batch (list of str)– Specifies which keys from the input batch are passed as inputs to the model. Default to [in_sid, out_sid], where in_sid refers to the input sequence IDs, and out_sid refers to the target sequence IDs.loss_input_from_model_output (dict)– Defines the inputs to the loss function coming from the model’s output or batch.input: nullindicates that the model output is directly used for loss computation without additional inputs from the batch.