About • Installation • Demo • Pretrained weights • Training • Inference • For developers • Credits • License
This repository contains Source Separation Homework from HSE DLA.
Installation pesq and pystoi with pip requires a C Compiler. You can use either gcc or MSVC. Nevertheless if you are using conda, you can install these packages separately:
conda install -c conda-forge pesq pystoiInstallation may depend on your task. The general steps are the following:
-
(Optional) Create and activate new environment using
condaorvenv(+pyenv).a.
condaversion:conda create -n project_env python=3.12 conda activate project_env
b.
venv(+pyenv) version:~/.pyenv/versions/python3.12/bin/python3 -m venv project_env source project_env/bin/activate
-
Install all required packages
pip install -r requirements.txt
-
Install
pre-commit:pre-commit install
You can see demo usage here.
Use huggingface-cli to download weights from HuggingFace:
huggingface-cli download artem1085715/convtasnet --local-dir "saved/convtasnet"Or download it manualy and put to saved/convtasnet in root dir
To train a model, run the following command:
python3 train.py -cn=CONFIG_NAME HYDRA_CONFIG_ARGUMENTSWhere CONFIG_NAME is a config from src/configs and HYDRA_CONFIG_ARGUMENTS are optional arguments.
To run inference (evaluate the model or save predictions):
python3 inference.py HYDRA_CONFIG_ARGUMENTSFollow installation guide provided above.
Follow this rules:
- New branch for each task. Branch name should be like
YourName/ShortTaskDescription - Use short, but meaningful commit names. For example,
Add new model, Fix bug in metrics, Update requirements.txt - For task submission make a Pull Request, if needed, provide a simple description to your work
For your experiments use Hydra-options as mush as possible. For example, if want to train a different model with different training parameters (such as optimizer, scheduler or any of it), do not edit train.py, just use:
python train.py -cn=YOUR_TRAIN_CONFIGThis repository is based on a heavily modified fork of pytorch-template and asr_project_template repositories.