Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

torchaudio in fairseq got crashed if this lib is imported first #15

Open
fumiama opened this issue Jun 16, 2024 · 2 comments
Open

torchaudio in fairseq got crashed if this lib is imported first #15

fumiama opened this issue Jun 16, 2024 · 2 comments

Comments

@fumiama
Copy link

fumiama commented Jun 16, 2024

If import this lib first like

from torchfcpe import spawn_bundled_infer_model

then use

from fairseq import checkpoint_utils # fairseq version 0.12.3, torchaudio version 2.1.2

The torchaudio in fairseq will got crash, here's the log

INFO:faiss.loader:Loading faiss with AVX2 support.
INFO:faiss.loader:Successfully loaded faiss with AVX2 support.
DEBUG:torchaudio._extension.utils:Attempting to load FFmpeg version 6.
DEBUG:torchaudio._extension.utils:Failed to load FFmpeg 6 extension.
Traceback (most recent call last):
  File "...\.venv\Lib\site-packages\torchaudio\_extension\utils.py", line 128, in _find_ffmpeg_extension
    return _find_versionsed_ffmpeg_extension(ffmpeg_ver)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "...\.venv\Lib\site-packages\torchaudio\_extension\utils.py", line 115, in _find_versionsed_ffmpeg_extension
    _load_lib(library)
  File "...\.venv\Lib\site-packages\torchaudio\_extension\utils.py", line 64, in _load_lib
    torch.ops.load_library(path)
  File "C:\...\AppData\Local\Programs\Python\Python311\Lib\site-packages\torch\_ops.py", line 852, in load_library
    ctypes.CDLL(path)
  File "C:\...\AppData\Local\Programs\Python\Python311\Lib\ctypes\__init__.py", line 376, in __init__
    self._handle = _dlopen(self._name, mode)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^
FileNotFoundError: Could not find module 'C:\...\.venv\Lib\site-packages\torchaudio\lib\libtorchaudio_ffmpeg6.pyd' (or one of its dependencies). Try using the full path with constructor syntax.
DEBUG:torchaudio._extension.utils:Attempting to load FFmpeg version 5.
DEBUG:torchaudio._extension.utils:Failed to load FFmpeg 5 extension.
Traceback (most recent call last):
  File "C:\...\.venv\Lib\site-packages\torchaudio\_extension\utils.py", line 128, in _find_ffmpeg_extension
    return _find_versionsed_ffmpeg_extension(ffmpeg_ver)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\...\.venv\Lib\site-packages\torchaudio\_extension\utils.py", line 113, in _find_versionsed_ffmpeg_extension
    _try_access_avutil(ffmpeg_ver)
  File "C:\...\.venv\Lib\site-packages\torchaudio\_extension\utils.py", line 89, in _try_access_avutil
    torchaudio.lib._torchaudio.find_avutil(libavutil)
RuntimeError
DEBUG:torchaudio._extension.utils:Attempting to load FFmpeg version 4.
DEBUG:torchaudio._extension.utils:Failed to load FFmpeg 4 extension.
Traceback (most recent call last):
  File "C:\...\.venv\Lib\site-packages\torchaudio\_extension\utils.py", line 128, in _find_ffmpeg_extension
    return _find_versionsed_ffmpeg_extension(ffmpeg_ver)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\...\.venv\Lib\site-packages\torchaudio\_extension\utils.py", line 113, in _find_versionsed_ffmpeg_extension
    _try_access_avutil(ffmpeg_ver)
  File "C:\...\.venv\Lib\site-packages\torchaudio\_extension\utils.py", line 89, in _try_access_avutil
    torchaudio.lib._torchaudio.find_avutil(libavutil)
RuntimeError
DEBUG:torchaudio._extension:Failed to initialize ffmpeg bindings
Traceback (most recent call last):
  File "C:\...\.venv\Lib\site-packages\torchaudio\_extension\__init__.py", line 89, in <module>
    _FFMPEG_EXT = _init_ffmpeg()
                  ^^^^^^^^^^^^^^
  File "C:\...\.venv\Lib\site-packages\torchaudio\_extension\utils.py", line 162, in _init_ffmpeg
    ext = _find_ffmpeg_extension(ffmpeg_vers, show_error)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\...\.venv\Lib\site-packages\torchaudio\_extension\utils.py", line 132, in _find_ffmpeg_extension
    raise ImportError(f"Failed to intialize FFmpeg extension. Tried versions: {ffmpeg_vers}")
ImportError: Failed to intialize FFmpeg extension. Tried versions: ['6', '5', '4']
INFO:faiss.loader:Loading faiss with AVX2 support.
INFO:faiss.loader:Successfully loaded faiss with AVX2 support.
DEBUG:torchaudio._extension.utils:Attempting to load FFmpeg version 6.
DEBUG:torchaudio._extension.utils:Failed to load FFmpeg 6 extension.
Traceback (most recent call last):
  File "C:\...\.venv\Lib\site-packages\torchaudio\_extension\utils.py", line 128, in _find_ffmpeg_extension
    return _find_versionsed_ffmpeg_extension(ffmpeg_ver)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\...\.venv\Lib\site-packages\torchaudio\_extension\utils.py", line 115, in _find_versionsed_ffmpeg_extension
    _load_lib(library)
  File "C:\...\.venv\Lib\site-packages\torchaudio\_extension\utils.py", line 64, in _load_lib
    torch.ops.load_library(path)
  File "C:\...\AppData\Local\Programs\Python\Python311\Lib\site-packages\torch\_ops.py", line 852, in load_library
    ctypes.CDLL(path)
  File "C:\...\AppData\Local\Programs\Python\Python311\Lib\ctypes\__init__.py", line 376, in __init__
    self._handle = _dlopen(self._name, mode)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^
FileNotFoundError: Could not find module 'C:\...\.venv\Lib\site-packages\torchaudio\lib\libtorchaudio_ffmpeg6.pyd' (or one of its dependencies). Try using the full path with constructor syntax.
DEBUG:torchaudio._extension.utils:Attempting to load FFmpeg version 5.
DEBUG:torchaudio._extension.utils:Failed to load FFmpeg 5 extension.
Traceback (most recent call last):
  File "C:\...\.venv\Lib\site-packages\torchaudio\_extension\utils.py", line 128, in _find_ffmpeg_extension
    return _find_versionsed_ffmpeg_extension(ffmpeg_ver)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\...\.venv\Lib\site-packages\torchaudio\_extension\utils.py", line 113, in _find_versionsed_ffmpeg_extension
    _try_access_avutil(ffmpeg_ver)
  File "C:\...\.venv\Lib\site-packages\torchaudio\_extension\utils.py", line 89, in _try_access_avutil
    torchaudio.lib._torchaudio.find_avutil(libavutil)
RuntimeError
DEBUG:torchaudio._extension.utils:Attempting to load FFmpeg version 4.
DEBUG:torchaudio._extension.utils:Failed to load FFmpeg 4 extension.
Traceback (most recent call last):
  File "C:\...\.venv\Lib\site-packages\torchaudio\_extension\utils.py", line 128, in _find_ffmpeg_extension
    return _find_versionsed_ffmpeg_extension(ffmpeg_ver)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\...\.venv\Lib\site-packages\torchaudio\_extension\utils.py", line 113, in _find_versionsed_ffmpeg_extension
    _try_access_avutil(ffmpeg_ver)
  File "C:\...\.venv\Lib\site-packages\torchaudio\_extension\utils.py", line 89, in _try_access_avutil
    torchaudio.lib._torchaudio.find_avutil(libavutil)
RuntimeError
DEBUG:torchaudio._extension:Failed to initialize ffmpeg bindings
Traceback (most recent call last):
  File "C:\...\.venv\Lib\site-packages\torchaudio\_extension\__init__.py", line 89, in <module>
    _FFMPEG_EXT = _init_ffmpeg()
                  ^^^^^^^^^^^^^^
  File "C:\...\.venv\Lib\site-packages\torchaudio\_extension\utils.py", line 162, in _init_ffmpeg
    ext = _find_ffmpeg_extension(ffmpeg_vers, show_error)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\...\.venv\Lib\site-packages\torchaudio\_extension\utils.py", line 132, in _find_ffmpeg_extension
    raise ImportError(f"Failed to intialize FFmpeg extension. Tried versions: {ffmpeg_vers}")
ImportError: Failed to intialize FFmpeg extension. Tried versions: ['6', '5', '4']

If avoid to import this lib, the fairseq can be imported successfully.

@CNChTu
Copy link
Owner

CNChTu commented Jun 16, 2024

我的环境如下:
fairseq==0.12.2
torchaudio==2.3.0
torchfcpe=0.0.4
python版本3.10.7
但是我无法复现此错误,在这个环境里可以正常工作

@fumiama
Copy link
Author

fumiama commented Jun 16, 2024

This error can be solved by the commit fumiama/Retrieval-based-Voice-Conversion-WebUI@d9a116f

You can compare the training behavior at this commit and one commit before it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants