https://github.com/bootphon/abnet3
Siamese network for unsupervised speech representation learning
https://github.com/bootphon/abnet3
artificial-neural-networks machine-learning speech-processing
Last synced: 9 months ago
JSON representation
Siamese network for unsupervised speech representation learning
- Host: GitHub
- URL: https://github.com/bootphon/abnet3
- Owner: bootphon
- License: gpl-3.0
- Created: 2018-06-08T09:34:28.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2018-10-12T14:57:28.000Z (over 7 years ago)
- Last Synced: 2025-09-09T18:50:05.616Z (10 months ago)
- Topics: artificial-neural-networks, machine-learning, speech-processing
- Language: Python
- Homepage:
- Size: 378 KB
- Stars: 11
- Watchers: 15
- Forks: 1
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# ABnet3
Representation learning package using side information, system for subword modeling for [Zeroresource challenge](http://sapience.dec.ens.fr/bootphon/2017/index.html).
### Overview
Build Representation for speech frames based on side information. Composed of different modules :
* `model.py`
* `loss.py`
* `sampler.py`
* `trainer.py`
* `embedder.py`
* `utils.py`
* `features.py`
### Installation of the package
#### Using conda
To install the ABnet3 package, you can use Anaconda, and either create a conda environment:
conda env create --name abnet3 python=3.6 -f environment.yml
or use a conda environment you already have with python 3 :
conda env update -f environment.yml
To install with GPU support (replace cuda75 with your version of cuda)
conda install pytorch=0.2 cuda75 -c pytorch
#### Using pip
- install the version 0.2.0 of pytorch for your hardware (http://pytorch.org/previous-versions/)
- install the pip packages : `pip install -r requirements.txt`
Once all the necessary packages are installed, simply launch:
#### Run abnet3 installation
python setup.py build && python setup.py install
If you want to work on ABnet3 and develop your own modules, instead of:
python setup.py install
you can launch:
python setup.py develop
### Tensorboard vizualisation
The package tensorboardX needs to be installed to train the model: `pip install tensorboardX`.
The package will save train / dev loss during training. To vizualise them :
- Install tensorboard (`conda install tensorflow tensorflow-tensorboard`)
- run `tensorboard --logdir path/to/logdir`.
The default logdir is `./run` in the current directory.
### Documentation
You can see examples for running the gridsearch and replicating our results
in the repository https://github.com/Rachine/sampling_siamese2018
The cli documentation is here https://coml.lscp.ens.fr/git/Rachine/abnet3/src/master/gridsearch.md
### Tests
The package comes with a unit-tests suit. To run it, first install *pytest* on your Python environment:
pip install pytest
pytest test/
#### References
.. [1] Riad, R., Dancette, C., Karadayi, J., Zeghidour, N., Schatz, T., Dupoux, E.
*Sampling strategies in Siamese Networks for unsupervised speech representation learning.*
In Nineteenth Annual Conference of the International Speech Communication Association
.. [2] Thiolliere, R., Dunbar, E., Synnaeve, G., Versteegh, M., & Dupoux, E.
*A hybrid dynamic time warping-deep neural network architecture for unsupervised acoustic modeling.*
In Sixteenth Annual Conference of the International Speech Communication Association
.. [3] Zeghidour, N., Synnaeve, G., Usunier, N. & Dupoux, E.
*Joint Learning of Speaker and Phonetic Similarities with Siamese Networks.*
In: INTERSPEECH-2016, (pp 1295-1299)
### Acknowledgments
A part of the code is inspired from the previous version in Theano of [ABnet](https://github.com/bootphon/abnet2), and the [examples in Pytorch](https://github.com/pytorch/examples)