YuanGongND / whisper-at

Code and Pretrained Models for Interspeech 2023 Paper "Whisper-AT: Noise-Robust Automatic Speech Recognizers are Also Strong Audio Event Taggers"
BSD 2-Clause "Simplified" License
318 stars 25 forks source link

Can't install on Apple Silicon due to triton dependency #2

Open whicks1 opened 1 year ago

whicks1 commented 1 year ago

Using either the pip installer or poetry fails on mac due to the triton 2.0.0 dependency; Using Python 3.10.x.

YuanGongND commented 1 year ago

It should work for Python 3.10, but not tested on mac. Can you install original Whisper openai-whisper? Also could you paste the error message?

whicks1 commented 1 year ago

Yes I have the latest whisper isntalled via pip. and the .ccp variant, both working fine. MacbookPro M2; using pyenv and python 3.10; Here's the terminal input/output

pip install whisper-at
Collecting whisper-at
  Downloading whisper_at-0.2-py3-none-any.whl (1.2 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.2/1.2 MB 3.7 MB/s eta 0:00:00
INFO: pip is looking at multiple versions of whisper-at to determine which version is compatible with other requirements. This could take a while.
  Downloading whisper_at-0.1-py3-none-any.whl (1.2 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.2/1.2 MB 5.4 MB/s eta 0:00:00
ERROR: Cannot install whisper-at==0.1 and whisper-at==0.2 because these package versions have conflicting dependencies.

The conflict is caused by:
    whisper-at 0.2 depends on triton==2.0.0
    whisper-at 0.1 depends on triton==2.0.0

To fix this you could try to:
1. loosen the range of package versions you've specified
2. remove package versions to allow pip attempt to solve the dependency conflict
YuanGongND commented 1 year ago

Thanks so much for reporting this. It seems it is the triton's problem, need to investigate it.

YuanGongND commented 1 year ago

temporal workaround:

# install all dependencies except triton, this will break when it tries to install triton
pip install whisper-at  
# install whisper-at without any dependency
pip install --no-deps whisper-at  

I am not familiar with the install process, but I specified triton is not needed for Macs, but it seems it tries to install triton anyways. https://github.com/YuanGongND/whisper-at/blob/533a5bad69cab5da8014610a80750e79f10798ab/package/whisper-at/setup.py#L8-L10

Will check how to solve this, but before that the workaround would be fine.

-Yuan

whicks1 commented 1 year ago

this works for me. thanks. looking forward to experimenting with this. Great work!

As a side note, can you briefly clarify how/if the whisper model matters for the audio tagging? I ran a couple of quick tests with tiny.en, medium and medium.en, and large-v1 and 2 and the audio_tag list looks similar~ish each run, but with the medium.en model outputting the least correct audio tags.

YuanGongND commented 1 year ago

Can you check this: https://github.com/YuanGongND/whisper-at#available-models-and-audio-tagging-performance

In general, the larger the model, the better the audio tagging result. The above are quantitative results. But depend on the class you are interested in and the specific audios, it might differ.

-Yuan

YuanGongND commented 1 year ago

mAP is the performance, the higher the better.

raresv commented 1 year ago

Commenting here just to inform that I had the same issue trying to install on Windows, so it's not only about Apple silicon. Same error message as whicks1 mentioned. Used the workaround and was all ok.