Supervised Fine-Tuning (SFT) for Guitar Note Recognition
joefavergel.dev
About •
Features •
Contribute
chartsper
is a Python library that documents the application of Supervised Fine-Tuning (SFT) to pre-trained deep learning models to recognize guitar note charts for rhythm games as Clone Hero.
chartsper
is built on Python 3.11
with pandas, numpy, librosa, transformers among others, to preprocess the data, build the machine learning models, and visualize the results.
For development, the library use:
- Formatting with black
- Import sorting with isort
- Linting with flake8
- Git hooks that run all the above with pre-commit
- Testing with pytest
First, make sure that before enabling pipenv, you must have Python 3.9
installed. If it does not correspond to the version you have installed, you can create a conda environment with:
# Create and activate python 3.9 virutal environment
$ conda create -n py39 python=3.11
$ conda activate py311
Now, you can managament the project dependencies with Pipenv
. To create de virtual environment and install all dependencies follow:
# Install pipx if pipenv and cookiecutter are not installed
$ python3 -m pip install pipx
$ python3 -m pipx ensurepath
# Install pipenv using pipx
$ pipx install poetry
# Create pipenv virtual environment
$ poetry shell
# Install dependencies
$ poetry install --dev
Once the dependencies are installed, we need to notify Jupyter
of this new Python
environment by creating a kernel:
$ ipython kernel install --user --name KERNEL_NAME
Finally, before making any changes to the library, be sure to review the GitFlow guide and make any changes outside of the master
branch.