AGU/README.md
2020-05-26 20:48:12 +02:00

2.1 KiB

AGU - projekt

Projekt bazowy: https://github.com/tensorflow/magenta/tree/master/magenta/models/onsets_frames_transcription

Wymagania

Uruchomienie w dockerze

Aby wykorzystać obraz dockera najpierw trzeba go zbudować. Najłatwiej to zrobić z wykorzystaniem dołączonego Makefile:

$ make image # wywołuje docker build . --tag transcription:latest

W ten sposób zostanie zbudowany obraz transcription:latest. Teraz możemy go wykorzystać:

$ docker run -v "$(pwd):/root/experiment" -p 6006:6006 -it transcription:latest

W ten sposób powinniśmy znaleźć się wewnątrz kontenera z skonfigurowanym środowiskiem i pobranym checkpointem. Katalog w którym się znajdujemy powinien być zamontowany w obrazie jako ~/experiment.

Dataset

Pliki midi zaczerpnięte z http://www.piano-midi.de/midi_files.htm stworzone przez Bernda Kruegera, udostępniane na licencji CC BY-SA 3.0.

Do przygotowania datasetu z załączonych plików midi należy skorzystać ze skryptu prepare_dataset. Pomoc i opis argumentów można uzyskać z pomocą argumentu -h.

Przykładowe wywołanie:

python prepare_dataset.py -n 5

Wygeneruje dataset z pierwszych 5 plików midi w folderze ./dataset/midi.

Następnie należy przygotować dataset do działania z siecią:

python /opt/conda/envs/magenta/lib/python3.7/site-packages/magenta/models/onsets_frames_transcription/onsets_frames_transcription_create_tfrecords.py --csv="./dataset/manifest.csv" --output_directory="./dataset/processed" --wav_dir="./dataset/wav" --midi_dir="./dataset/midi" --expected_splits="test"

Niestety, w tej wersji jest błąd przez co alias onsets_frames_transcription_create_tfrecords nie działa i trzeba się ratować pełną ścieżką.

Konwersję i testy możemy przeprowadzić komendą:

onsets_frames_transcription_infer --model_dir="${MODEL_DIR}" --output_dir="./eval/" --examples_path=./dataset/processed/test.tfrecord* --hparams="use_cudnn=false" --preprocess_examples=True

Parametr --hparams="use_cudnn=false" można pominąć jeżeli dysponujemy GPU z CUDA.