Trying to build a recommender system using embeddings computed with MXNet. I’m trying to try initializing the embeddings with SVD. So I compute the SVD and store the factors as numpy arrays. When I try to initialize with those I keep on getting this error:
MXNetError: [18:04:22] src/operator/././operator_common.h:477: Check failed: arr.storage_shape() == arr.shape() SGDUpdate for RowSparse weights is only implemented for RowSparse weights with all rows containing non-zeros. Expects weights.data.shape (748184) == weights.shape (1000000).
I am sure the number of rows and columns in the sparse input data is equal to the number of rows in the U and V factors of the SVD used for initializing. I also tried to add a first row with N,M,1 to the input csv file with row,col,data , but keep on getting the error message above when initializing.
On a synthetic dataset I built I managed getting around the error by making sure each minibatch contains data from the last row and columns. The code seems to raise an error when the data fed to MXNet doesn’t meet the last row and columns I think. Can I relax this hard constraint?