asteroid-team / asteroid-team/asteroid

Potential issue - Getting ValueError when importing from .cypesq import cypesq, cypesq_retvals, cypesq_error_message as pesq_error_message

Open
#615 1 comment 0 reactions 0 assignees View on GitHub
question
Dominant language
Python
Stars
2.6k
Forks
450
PR merge metrics
No merged PRs in 30d

Description

I am trying to use asteroid and I did the following to setup the environment

1. conda create --name audio_source_sep python=3.8
2. conda activate audio_source_sep
3. conda install pip3
4. clone asteroid
5. from the asteroid folder pip install -e .
6. Launched python and did the following

```
(audio_src_sep) sriramg@pmac19 asteroid % python
Python 3.8.13 (default, Mar 28 2022, 06:16:26)
[Clang 12.0.0 ] :: Anaconda, Inc. on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> from asteroid.engine.optimizers import make_optimizer

```

And this resulted in a ValueError being reported

```
Traceback (most recent call last):
File "", line 1, in
File "/Users/sriramg/labs/source_sep/asteroid/asteroid/engine/__init__.py", line 1, in
from .system import System
File "/Users/sriramg/labs/source_sep/asteroid/asteroid/engine/system.py", line 2, in
import pytorch_lightning as pl
File "/Users/sriramg/opt/anaconda3/envs/audio_src_sep/lib/python3.8/site-packages/pytorch_lightning/__init__.py", line 20, in
from pytorch_lightning import metrics # noqa: E402
File "/Users/sriramg/opt/anaconda3/envs/audio_src_sep/lib/python3.8/site-packages/pytorch_lightning/metrics/__init__.py", line 15, in
from pytorch_lightning.metrics.classification import ( # noqa: F401
File "/Users/sriramg/opt/anaconda3/envs/audio_src_sep/lib/python3.8/site-packages/pytorch_lightning/metrics/classification/__init__.py", line 14, in
from pytorch_lightning.metrics.classification.accuracy import Accuracy # noqa: F401
File "/Users/sriramg/opt/anaconda3/envs/audio_src_sep/lib/python3.8/site-packages/pytorch_lightning/metrics/classification/accuracy.py", line 16, in
from torchmetrics import Accuracy as _Accuracy
File "/Users/sriramg/opt/anaconda3/envs/audio_src_sep/lib/python3.8/site-packages/torchmetrics/__init__.py", line 14, in
from torchmetrics import functional # noqa: E402
File "/Users/sriramg/opt/anaconda3/envs/audio_src_sep/lib/python3.8/site-packages/torchmetrics/functional/__init__.py", line 14, in
from torchmetrics.functional.audio.pit import permutation_invariant_training, pit_permutate
File "/Users/sriramg/opt/anaconda3/envs/audio_src_sep/lib/python3.8/site-packages/torchmetrics/functional/audio/__init__.py", line 23, in
from torchmetrics.functional.audio.pesq import perceptual_evaluation_speech_quality # noqa: F401
File "/Users/sriramg/opt/anaconda3/envs/audio_src_sep/lib/python3.8/site-packages/torchmetrics/functional/audio/pesq.py", line 19, in
import pesq as pesq_backend
File "/Users/sriramg/opt/anaconda3/envs/audio_src_sep/lib/python3.8/site-packages/pesq/__init__.py", line 6, in
from .cypesq import cypesq, cypesq_retvals, cypesq_error_message as pesq_error_message
File "pesq/cypesq.pyx", line 1, in init cypesq
ValueError: numpy.ndarray size changed, may indicate binary incompatibility. Expected 96 from C header, got 88 from PyObject

```

What am I missing here? I tried switching Numpy versions from 1.19.x to 1.20.3 etc. Also build and install python-pesq but no luck.

Contributor guide

Open the contributing guide

Research direction

Reproduce the import from asteroid/engine/system.py using the reported Python 3.8 environment and inspect the dependency versions involved in the traceback, especially NumPy, PyTorch Lightning, TorchMetrics, and pesq. Done means importing asteroid.engine.optimizers no longer raises the reported binary-incompatibility ValueError.

Written by the indexing model from the issue text.

Assessment

Tech stack
numpy, python, pytorch
Domain
audio-video-rtc, machine-learning
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.