#463·Surprise

Possible memory leakage in SVDpp

Author: amohar2Created Feb 24, 2023Updated Feb 27, 2023

Description

In my experiments, I have observed that multiple calls to SVDpp's fit() function would steadily increase the memory usage of the Python process that is running it. To investigate this, I looked at matrix_factorization.pyx module for SVDpp's fit() call and seems that there is a possible memory leakage, where several "Iu" arrays are allocated using malloc for all users, however, at the end of fit(), the free() function is only called once. Reference: https://github.com/NicolasHug/Surprise/blob/master/surprise/prediction_algorithms/matrix_factorization.pyx#L453-L458

https://github.com/NicolasHug/Surprise/blob/master/surprise/prediction_algorithms/matrix_factorization.pyx#L508-L514

This seems to be the case only when cache_ratings is False.

Steps/Code to Reproduce

This is part of a larger experiment that I am running so currently I do not have a simple reproducible example.

Versions

1.1.3