recbole.utils.utils¶
- recbole.utils.utils.calculate_valid_score(valid_result, valid_metric=None)[source]¶
return valid score from valid result
- Parameters:
valid_result (dict) – valid result
valid_metric (str, optional) – the selected metric in valid result for valid score
- Returns:
valid score
- Return type:
float
- recbole.utils.utils.dict2str(result_dict)[source]¶
convert result dict to str
- Parameters:
result_dict (dict) – result dict
- Returns:
result str
- Return type:
str
- recbole.utils.utils.early_stopping(value, best, cur_step, max_step, bigger=True)[source]¶
validation-based early stopping
- Parameters:
value (float) – current result
best (float) – best result
cur_step (int) – the number of consecutive steps that did not exceed the best result
max_step (int) – threshold steps for stopping
bigger (bool, optional) – whether the bigger the better
- Returns:
float, best result after this step
int, the number of consecutive steps that did not exceed the best result after this step
bool, whether to stop
bool, whether to update
- Return type:
tuple
- recbole.utils.utils.ensure_dir(dir_path)[source]¶
Make sure the directory exists, if it does not exist, create it
- Parameters:
dir_path (str) – directory path
- recbole.utils.utils.get_flops(model, dataset, device, logger, transform, verbose=False)[source]¶
Given a model and dataset to the model, compute the per-operator flops of the given model. :param model: the model to compute flop counts. :param dataset: dataset that are passed to model to count flops. :param device: cuda.device. It is the device that the model run on. :param verbose: whether to print information of modules.
- Returns:
the number of flops for each operation.
- Return type:
total_ops
- recbole.utils.utils.get_gpu_usage(device=None)[source]¶
Return the reserved memory and total memory of given device in a string. :param device: cuda.device. It is the device that the model run on.
- Returns:
it contains the info about reserved memory and total memory of given device.
- Return type:
str
- recbole.utils.utils.get_local_time()[source]¶
Get current time
- Returns:
current time
- Return type:
str
- recbole.utils.utils.get_model(model_name)[source]¶
Automatically select model class based on model name
- Parameters:
model_name (str) – model name
- Returns:
model class
- Return type:
Recommender
- recbole.utils.utils.get_tensorboard(logger)[source]¶
Creates a SummaryWriter of Tensorboard that can log PyTorch models and metrics into a directory for visualization within the TensorBoard UI. For the convenience of the user, the naming rule of the SummaryWriter’s log_dir is the same as the logger.
- Parameters:
logger – its output filename is used to name the SummaryWriter’s log_dir. If the filename is not available, we will name the log_dir according to the current time.
- Returns:
it will write out events and summaries to the event file.
- Return type:
SummaryWriter
- recbole.utils.utils.get_trainer(model_type, model_name)[source]¶
Automatically select trainer class based on model type and model name