@bfarzin, I found a better solution (at least for my use case) where you have two options depending on your needs.
Option 1 is to pass the same dataset for training and test to collab_learner e.g. learn = collab_learner(data, test=data, n_factors=50, pct_val=0.1) and calling preds, _ = learn.get_preds(ds_type=DatasetType.Test) after training. More details here.
Option 2 is to export the learner using learn.export() and load your learner with the training dataset as the test dataset learn = load_learner(path, test=data). Then you can again use preds, _ = learn.get_preds(ds_type=DatasetType.Test). More details here.
Important: it won’t work with fastai version below 1.0.40 so you might need to update. Hope it’s useful.