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

coremltools is not compatible with numpy v1.24.0 #1718

Closed
alexrozanski opened this issue Dec 19, 2022 · 3 comments
Closed

coremltools is not compatible with numpy v1.24.0 #1718

alexrozanski opened this issue Dec 19, 2022 · 3 comments
Assignees
Labels
bug Unexpected behaviour that should be corrected (type)

Comments

@alexrozanski
Copy link

🐞Describing the bug

  • numpy v1.24.0 removes bool (I'm not a Python expert, but I believe in favour of bool_). numpy.bool is used in several places in coremltools including in coremltools/converters/mil/frontend/torch/ops.py which raises an AttributeError

Stack Trace

I was using coremltools via https://github.com/apple/ml-stable-diffusion -- running python -m python_coreml_stable_diffusion.torch2coreml raises:

/Users/rozanski/opt/miniconda3/envs/coreml_stable_diffusion/lib/python3.8/site-packages/coremltools/converters/mil/frontend/torch/ops.py:163: FutureWarning: In the future `np.bool` will be defined as the corresponding NumPy scalar.  (This may have returned Python scalars in past versions.
  _np.bool: 11,
Traceback (most recent call last):
  File "/Users/rozanski/opt/miniconda3/envs/coreml_stable_diffusion/lib/python3.8/runpy.py", line 194, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "/Users/rozanski/opt/miniconda3/envs/coreml_stable_diffusion/lib/python3.8/runpy.py", line 87, in _run_code
    exec(code, run_globals)
  File "/Users/rozanski/Development/GitHub/ml-stable-diffusion/python_coreml_stable_diffusion/torch2coreml.py", line 6, in <module>
    from python_coreml_stable_diffusion import unet
  File "/Users/rozanski/Development/GitHub/ml-stable-diffusion/python_coreml_stable_diffusion/unet.py", line 26, in <module>
    from coremltools.models.utils import _macos_version
  File "/Users/rozanski/opt/miniconda3/envs/coreml_stable_diffusion/lib/python3.8/site-packages/coremltools/__init__.py", line 91, in <module>
    from . import converters
  File "/Users/rozanski/opt/miniconda3/envs/coreml_stable_diffusion/lib/python3.8/site-packages/coremltools/converters/__init__.py", line 7, in <module>
    from . import libsvm
  File "/Users/rozanski/opt/miniconda3/envs/coreml_stable_diffusion/lib/python3.8/site-packages/coremltools/converters/libsvm/__init__.py", line 8, in <module>
    from . import _libsvm_converter, _libsvm_util
  File "/Users/rozanski/opt/miniconda3/envs/coreml_stable_diffusion/lib/python3.8/site-packages/coremltools/converters/libsvm/_libsvm_converter.py", line 7, in <module>
    from coremltools.models import _METADATA_SOURCE, _METADATA_VERSION
  File "/Users/rozanski/opt/miniconda3/envs/coreml_stable_diffusion/lib/python3.8/site-packages/coremltools/models/__init__.py", line 11, in <module>
    from . import pipeline
  File "/Users/rozanski/opt/miniconda3/envs/coreml_stable_diffusion/lib/python3.8/site-packages/coremltools/models/pipeline.py", line 12, in <module>
    from . import model as _model
  File "/Users/rozanski/opt/miniconda3/envs/coreml_stable_diffusion/lib/python3.8/site-packages/coremltools/models/model.py", line 17, in <module>
    from coremltools.converters.mil.mil.program import Program as _Program
  File "/Users/rozanski/opt/miniconda3/envs/coreml_stable_diffusion/lib/python3.8/site-packages/coremltools/converters/mil/__init__.py", line 15, in <module>
    from .frontend.tensorflow.tf_op_registry import register_tf_op
  File "/Users/rozanski/opt/miniconda3/envs/coreml_stable_diffusion/lib/python3.8/site-packages/coremltools/converters/mil/frontend/__init__.py", line 6, in <module>
    from . import tensorflow, tensorflow2, torch
  File "/Users/rozanski/opt/miniconda3/envs/coreml_stable_diffusion/lib/python3.8/site-packages/coremltools/converters/mil/frontend/torch/__init__.py", line 13, in <module>
    from .load import load
  File "/Users/rozanski/opt/miniconda3/envs/coreml_stable_diffusion/lib/python3.8/site-packages/coremltools/converters/mil/frontend/torch/load.py", line 13, in <module>
    from .converter import TorchConverter, torch_to_mil_types
  File "/Users/rozanski/opt/miniconda3/envs/coreml_stable_diffusion/lib/python3.8/site-packages/coremltools/converters/mil/frontend/torch/converter.py", line 21, in <module>
    from .ops import convert_nodes
  File "/Users/rozanski/opt/miniconda3/envs/coreml_stable_diffusion/lib/python3.8/site-packages/coremltools/converters/mil/frontend/torch/ops.py", line 163, in <module>
    _np.bool: 11,
  File "/Users/rozanski/opt/miniconda3/envs/coreml_stable_diffusion/lib/python3.8/site-packages/numpy/__init__.py", line 284, in __getattr__
    raise AttributeError("module {!r} has no attribute "
AttributeError: module 'numpy' has no attribute 'bool'

To Reproduce

You can test this by installing numpy v1.24.0:

import numpy as np
np.bool # raises AttributeError

Reinstalling numpy v1.23.5 fixes this issue.

System environment (please complete the following information):

  • coremltools version: 6.1
  • OS (e.g. MacOS version or Linux type): macOS 13.0.1
  • Any other relevant version information (e.g. PyTorch or TensorFlow version): python v3.8.15

Additional context

N/A

@alexrozanski alexrozanski added the bug Unexpected behaviour that should be corrected (type) label Dec 19, 2022
@alexrozanski
Copy link
Author

Looks like v1.24.0 was only released yesterday which must be why this only just cropped up: https://github.com/numpy/numpy/releases/tag/v1.24.0

@jakesabathia2
Copy link
Collaborator

Thank for reporting, we are working on the fix. Thanks

@jakesabathia2 jakesabathia2 self-assigned this Dec 21, 2022
@junpeiz junpeiz mentioned this issue Feb 2, 2023
@jakesabathia2
Copy link
Collaborator

@alexrozanski This issue has been fixed in coremltools 6.2

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Unexpected behaviour that should be corrected (type)
Projects
None yet
Development

No branches or pull requests

2 participants