CPJKU / audio_sheet_retrieval

Learning Audio–Sheet Music Correspondences for Cross-Modal Retrieval and Piece Identification
25 stars 6 forks source link

Troubles with getting a reproduction environment #1

Open piegamesde opened 4 years ago

piegamesde commented 4 years ago

Hi, I'd like to try out the results of this work, but I'm having trouble getting a proper environment for this up and running.

First of all, some changes in the msmd haven't been adopted in here:

Traceback (most recent call last):
  File "audio_sheet_retrieval/run_train.py", line 12, in <module>
    from utils import mutopia_data
  File "./audio_sheet_retrieval/audio_sheet_retrieval/utils/mutopia_data.py", line 9, in <module>
    from data_pools import prepare_piece_data, AudioScoreRetrievalPool, AUGMENT, NO_AUGMENT
  File "./audio_sheet_retrieval/audio_sheet_retrieval/utils/data_pools.py", line 10, in <module>
    from msmd.midi_parser import notes_to_onsets, FPS

Some other issues I ran into while trying this out:

piegamesde commented 4 years ago

I tried installing the required dependencies with conda as well, and it fails:

Pip subprocess error:
DEPRECATION: Python 2.7 will reach the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 won't be maintained after that date. A future version of pip will drop support for Python 2.7. More details about Python 2 support in pip, can be found at https://pip.pypa.io/en/latest/development/release-process/#python-2-support
ERROR: Could not find a version that satisfies the requirement lasagne==0.2.dev1 (from -r ./audio_sheet_retrieval/condaenv.fbuf1543.requirements.txt (line 19)) (from versions: 0.1)
ERROR: No matching distribution found for lasagne==0.2.dev1 (from -r ./audio_sheet_retrieval/condaenv.fbuf1543.requirements.txt (line 19))

CondaEnvException: Pip failed
YangLuYang commented 4 years ago

What is /sheet_manager/sheet_manager/splits/all_split.yaml

This yaml file is include in msmd I am trying to reproduce this paper too :)

YangLuYang commented 4 years ago

I tried installing the required dependencies with conda as well, and it fails:

Pip subprocess error:
DEPRECATION: Python 2.7 will reach the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 won't be maintained after that date. A future version of pip will drop support for Python 2.7. More details about Python 2 support in pip, can be found at https://pip.pypa.io/en/latest/development/release-process/#python-2-support
ERROR: Could not find a version that satisfies the requirement lasagne==0.2.dev1 (from -r ./audio_sheet_retrieval/condaenv.fbuf1543.requirements.txt (line 19)) (from versions: 0.1)
ERROR: No matching distribution found for lasagne==0.2.dev1 (from -r ./audio_sheet_retrieval/condaenv.fbuf1543.requirements.txt (line 19))

CondaEnvException: Pip failed

I successfully installed this package from their offical code rep. Just follow the Installation Lasagne

YangLuYang commented 4 years ago

All required package have been installed properly.

Traceback (most recent call last):
  File "run_train.py", line 12, in <module>
    from utils import mutopia_data
  File "/home/yangluyang/audio_sheet_retrieval/audio_sheet_retrieval/utils/mutopia_data.py", line 9, in <module>
    from data_pools import prepare_piece_data, AudioScoreRetrievalPool, AUGMENT, NO_AUGMENT
ModuleNotFoundError: No module named 'data_pools'

Here is pip envirmonent

Abjad==3.0.0
alabaster==0.7.12
appdirs==1.4.4
attrs==19.3.0
-e git+https://github.com/CPJKU/audio_sheet_retrieval.git@0869de4fcf74934b693768001e4d4a16cea829e8#egg=audio_sheet_retrieval
Babel==2.8.0
backcall==0.1.0
black==19.10b0
bleach==3.1.4
certifi==2020.4.5.1
chardet==3.0.4
click==7.1.2
cloudpickle==1.4.1
cycler==0.10.0
Cython==0.29.19
dask==2.17.2
dataclasses==0.7
decorator==4.4.2
defusedxml==0.6.0
docutils==0.16
dtw==1.3.3
entrypoints==0.3
et-xmlfile==1.0.1
idna==2.9
imagesize==1.2.0
importlib-metadata==1.5.0
ipykernel==5.1.4
ipython==7.13.0
ipython-genutils==0.2.0
ipywidgets==7.5.1
jdcal==1.4.1
jedi==0.17.0
Jinja2==2.11.2
jsonschema==3.2.0
jupyter==1.0.0
jupyter-client==6.1.3
jupyter-console==6.1.0
jupyter-core==4.6.3
kiwisolver==1.2.0
Lasagne==0.2.dev1
lxml==4.5.1
madmom==0.15.1
Mako==1.1.2
MarkupSafe==1.1.1
matplotlib==3.1.3
mido==1.2.9
mistune==0.8.4
mkl-fft==1.0.15
mkl-random==1.1.0
mkl-service==2.3.0
-e git+https://github.com/CPJKU/msmd.git@11b9981b9737eb4311874130382cff8bcbaed916#egg=msmd
muscima==0.10.0
nbconvert==5.6.1
nbformat==5.0.6
networkx==2.4
notebook==6.0.3
numpy==1.18.1
omr==0.0.73
opencv-python==3.1.0.4
openpyxl==3.0.3
packaging==20.4
pandas==1.0.3
pandocfilters==1.4.2
parso==0.7.0
pathspec==0.8.0
patsy==0.5.1
pdfminer.six==20181108
pexpect==4.8.0
pickleshare==0.7.5
Pillow==7.1.2
ply==3.11
pretty-midi==0.2.8
prometheus-client==0.7.1
prompt-toolkit==3.0.4
ptyprocess==0.6.0
pycryptodome==3.9.7
Pygments==2.6.1
pygpu==0.7.6
pyparsing==2.4.7
pyrsistent==0.16.0
python-dateutil==2.8.1
python-ly==0.9.5
pytz==2020.1
PyWavelets==1.1.1
PyYAML==5.3.1
pyzmq==18.1.1
qtconsole==4.7.4
QtPy==1.9.0
regex==2020.5.14
requests==2.23.0
roman==3.2
scikit-image==0.14.2
scipy==1.4.1
seaborn==0.8
Send2Trash==1.5.0
six==1.14.0
snowballstemmer==2.0.0
sortedcontainers==2.1.0
Sphinx==3.0.4
sphinx-rtd-theme==0.4.3
sphinxcontrib-applehelp==1.0.2
sphinxcontrib-devhelp==1.0.2
sphinxcontrib-htmlhelp==1.0.3
sphinxcontrib-jsmath==1.0.1
sphinxcontrib-qthelp==1.0.3
sphinxcontrib-serializinghtml==1.1.4
statsmodels==0.11.1
terminado==0.8.3
testpath==0.4.4
Theano==1.0.3+2.g3e47d39ac.dirty
toml==0.10.1
toolz==0.10.0
tornado==6.0.4
tqdm==4.19.2
traitlets==4.3.3
typed-ast==1.4.1
Unidecode==1.1.1
uqbar==0.4.6
urllib3==1.25.9
wcwidth==0.1.9
webencodings==0.5.1
widgetsnbextension==3.5.1
zipp==3.1.0
piegamesde commented 4 years ago

@YangLuYang If you're on the master branch, you need to be using Python2. If you want to use Python3, switch to the development branch. If you still got the error, try setting PYTHONPATH (my shell history says something like this: export PYTHONPATH=.:./audio_sheet_retrieval:./audio_sheet_retrieval/utils:./audio_sheet_retrieval/models:./audio_sheet_retrieval/models/lasagne_extensions).

YangLuYang commented 4 years ago

@piegamesde Thanks for your help. I am using Python3 and trying to train only the best performing model.
I checkout dev branch and reinstall audio_sheet_retrieval . But mutopia_ccal_cont.py and mutopia_full_aug.yaml are not in dev branch, and after direct copying and run, it semms these two files in master branch are not compatible with dev. so I run python run_train.py --model models/mutopia_ccal_cont_gap.py --data mutopia --train_split /home/yangluyang/msmd/msmd/splits/all_split.yaml --config exp_configs/mutopia_full_aug_sc.yaml During traning , it throw error

ValueError: Input dimension mis-match. (input[0].shape[2] = 5, input[1].shape[2] = 10)

For train the best performing model, What command should I execute?

piegamesde commented 4 years ago

@YangLuYang The dev branch now has some shell scripts you can call (I simply modified the for loop since training only one model is enough for me as well). But in the end, I'm failing pretty much on the same error as well. Also I know way to little about how all of this works to fix it myself.