Factor Analysis on pure python
This MR implements the ISV and the JFA algorithms on pure python using numpy/dask-arrays. In the way I'm implementing it, we can easily run this algorithm in a distributed manner, either locally on an HPC.
Closes #41 (closed)
Merge request reports
Activity
assigned to @tiago.pereira
added 1 commit
- 7fd907ff - JFA, finished update rule for V and U. D is still missing
Implemented the scoring function for the ISV and JFA.
Things to be done:
- set the load and save to HDF5
- update the docs
- do some more tests
@amohammadi, do you have a trained UBM and a set of GMM stas from voxforge that I can use?
Thanks
please ask @ydayer he should be able to help you train one. It trains in a few minutes.
Thanks @amohammadi
Hey @ydayer; Do you have an already trained UBM and some GMMStats from voxforge so I can use them?
Thanks
I have a UBM trained on Voxforge if you want (algorithm_trainer.pkl).
I just noticed a bug (trying to regenerate some GMMStats for you) where I cannot load a checkpointed UBM though (I always ran the pipeline in memory lately, so I missed that). I'm looking into it.
Thanks @ydayer,
I'm waiting for it then
My code seems working :-) Below follow some intuition plots from JFA using MNIST. I'm getting the same plots I was getting with the old JFA
Edited by Tiago de Freitas PereiraPre-commit works on my computer, but doesn't work on the CI
black....................................................................Failed - hook id: black - duration: 0.25s - exit code: 1 Traceback (most recent call last): File "/scratch/builds/bob/bob.pipelines/.cache/pre-commit/repol43ayt_c/py_env-python3/bin/black", line 8, in <module> sys.exit(patched_main()) File "/scratch/builds/bob/bob.pipelines/.cache/pre-commit/repol43ayt_c/py_env-python3/lib/python3.9/site-packages/black/__init__.py", line 1129, in patched_main patch_click() File "/scratch/builds/bob/bob.pipelines/.cache/pre-commit/repol43ayt_c/py_env-python3/lib/python3.9/site-packages/black/__init__.py", line 1115, in patch_click from click import _unicodefun # type: ignore ImportError: cannot import name '_unicodefun' from 'click' (/scratch/builds/bob/bob.pipelines/.cache/pre-commit/repol43ayt_c/py_env-python3/lib/python3.9/site-packages/click/__init__.py) flake8...................................................................Passed
Anyone experiencing this?
It seems that
black
has a bug.bob.pipelines
is failing too https://gitlab.idiap.ch/bob/bob.pipelines/-/jobs/262684Edited by Tiago de Freitas PereiraThere is indeed an issue: