Guido
Guido

Reputation: 6732

Non-negative Matrix Factorization (NMF) using GPUs

Currently, I am using a Python implementation of NMF. I'm thinking of ways to improve NMF, since it can become slow if you have a lot of documents. Since NMF works with matrix multiplications, I was thinking to maybe use GPUs (Graphics Processing Units). I found a solution that implements NMF on GPUs.

The question is: would it be a good solution to use NMF with GPU support in order to speed up performance of NMF? Or should I take a different approach?

Upvotes: 1

Views: 1654

Answers (1)

André Panisson
André Panisson

Reputation: 897

Currently, the Alternating Nonnegative Least Squares with block principal pivoting is the fastest way to compute NMF.
You can find an implementation for Python here: https://github.com/kimjingu/nonnegfac-python

If you are sure that the GPU implementation is using one of the fastest methods, then go for it. Slower methods (e.g. Multiplicative Update) can be orders of magnitude slower, and it might be not worth using a GPU.

Upvotes: 2

Related Questions