VoiceCraft icon indicating copy to clipboard operation
VoiceCraft copied to clipboard

colab code can not work correctly

Open fangshengren opened this issue 9 months ago • 3 comments

when i step by step run the code on colab, facing some dependencies problem.

fangshengren avatar Mar 26 '25 12:03 fangshengren

Adding to this to be more specific. Just tried the notebook.

When running

!echo -e "Grab a cup a coffee and a slice of pizza...\n\n"
!conda install -y -c conda-forge montreal-forced-aligner=2.2.17 openfst=1.8.2 kaldi=5.5.1068 && \
    pip install torch==2.1.0 && \
    pip install tensorboard==2.16.2 && \
    pip install phonemizer==3.2.1 && \
    pip install torchaudio==2.1.0 && \
    pip install datasets==2.16.0 && \
    pip install torchmetrics==0.11.1 && \
    pip install torchvision==0.16.0

!pip install -U git+https://[email protected]/facebookresearch/audiocraft#egg=audiocraft
!git clone https://github.com/jasonppy/VoiceCraft.git

This is the output:

Grab a cup a coffee and a slice of pizza...


Channels:
 - conda-forge
Platform: linux-64
Collecting package metadata (repodata.json): done
Solving environment: failed

LibMambaUnsatisfiableError: Encountered problems while solving:
  - package pin-1obus87iuw-1 has constraint python 3.12.* conflicting with python-3.11.0-h10a6764_1_cpython
  - package biopython-1.79-py311hd4cff14_3 requires python_abi 3.11.* *_cp311, but none of the providers can be installed

Could not solve for environment specs
The following packages are incompatible
├─ montreal-forced-aligner =2.2.17 * is installable and it requires
│  └─ biopython =1.79 * with the potential options
│     ├─ biopython 1.79 would require
│     │  └─ python_abi =3.10 *_cp310, which can be installed;
│     ├─ biopython 1.79 would require
│     │  └─ python_abi =3.11 *_cp311, which can be installed;
│     ├─ biopython 1.79 would require
│     │  └─ python_abi ==3.6 *_pypy36_pp73, which can be installed;
│     ├─ biopython 1.79 would require
│     │  └─ python_abi =3.6 *_cp36m, which can be installed;
│     ├─ biopython 1.79 would require
│     │  └─ python_abi =3.7 *_cp37m, which can be installed;
│     ├─ biopython 1.79 would require
│     │  └─ python_abi ==3.7 *_pypy37_pp73, which can be installed;
│     ├─ biopython 1.79 would require
│     │  └─ python_abi =3.8 *_cp38, which can be installed;
│     ├─ biopython 1.79 would require
│     │  └─ python_abi ==3.8 *_pypy38_pp73, which can be installed;
│     ├─ biopython 1.79 would require
│     │  └─ python_abi =3.9 *_cp39, which can be installed;
│     └─ biopython 1.79 would require
│        └─ python_abi ==3.9 *_pypy39_pp73, which can be installed;
├─ pin on python 3.12.* =* * is installable and it requires
│  └─ python =3.12 *, which can be installed;
├─ pin on python_abi 3.12.* *cp312* =* * is not installable because it requires
│  └─ python_abi =3.12 *cp312*, which conflicts with any installable versions previously reported;
└─ python =3.11 * is not installable because it conflicts with any installable versions previously reported.

Pins seem to be involved in the conflict. Currently pinned specs:
 - python_abi=3.12[build=*cp312*]
 - python=3.12
 - cuda-version=12

I'm not entirely sure what these libraries do, but it seems python_abi 3.12 is not installed.

MegaJ avatar Sep 03 '25 01:09 MegaJ

Further down, running the next block:

!mfa model download dictionary english_us_arpa && \
mfa model download acoustic english_us_arpa

outputs:

Traceback (most recent call last):
  File "/usr/local/bin/mfa", line 6, in <module>
    from montreal_forced_aligner.command_line.mfa import mfa_cli
  File "/usr/local/lib/python3.11/site-packages/montreal_forced_aligner/__init__.py", line 4, in <module>
    import montreal_forced_aligner.acoustic_modeling as acoustic_modeling
  File "/usr/local/lib/python3.11/site-packages/montreal_forced_aligner/acoustic_modeling/__init__.py", line 7, in <module>
    from montreal_forced_aligner.acoustic_modeling.base import AcousticModelTrainingMixin  # noqa
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/montreal_forced_aligner/acoustic_modeling/base.py", line 19, in <module>
    from montreal_forced_aligner.abc import MfaWorker, ModelExporterMixin, TrainerMixin
  File "/usr/local/lib/python3.11/site-packages/montreal_forced_aligner/abc.py", line 33, in <module>
    from montreal_forced_aligner.config import GLOBAL_CONFIG
  File "/usr/local/lib/python3.11/site-packages/montreal_forced_aligner/config.py", line 259, in <module>
    MEMORY = joblib.Memory(
             ^^^^^^^^^^^^^^
TypeError: Memory.__init__() got an unexpected keyword argument 'bytes_limit'

And I think this is where breakage happens because of dependencies: something isn't expecting bytes_limit but it's passed into the call to joblib.Memory()

MegaJ avatar Sep 03 '25 01:09 MegaJ

I would love to try out the docker container but I don't have an Nvidia GPU, so I'm a bit stuck unless I pay money to rent a box myself.

As an aside: Could we change the pip install -U git+https://[email protected]/facebookresearch/audiocraft#egg=audiocraft

calls and pin to a specific version via a commit hash? If dependencies change in the main branch, the notebook will also not run well.

MegaJ avatar Sep 03 '25 01:09 MegaJ