繁体   English   中英

在带有 m1 芯片的 mac 上导入 jax 失败

[英]importing jax fails on mac with m1 chip

对于 python 3.8.8 和使用新的 mac air(带有 m1 芯片),在 jupyter 笔记本和 python 终端中, import jax会引发此错误

Python 3.8.8 (default, Apr 13 2021, 12:59:45)
[Clang 10.0.0 ] :: Anaconda, Inc. on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import jax
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Users/steve/Documents/code/jax/jax/__init__.py", line 37, in <module>
    from . import config as _config_module
  File "/Users/steve/Documents/code/jax/jax/config.py", line 18, in <module>
    from jax._src.config import config
  File "/Users/steve/Documents/code/jax/jax/_src/config.py", line 26, in <module>
    from jax import lib
  File "/Users/steve/Documents/code/jax/jax/lib/__init__.py", line 63, in <module>
    cpu_feature_guard.check_cpu_features()
RuntimeError: This version of jaxlib was built using AVX instructions, which your CPU and/or operating system do not support. You may be able work around this issue by building jaxlib from source.

我怀疑它是由于 m1 芯片而发生的。

我尝试将 jax 与pip install jax一起使用,然后我按照评论的建议从源代码构建它,方法是克隆他们的存储库并按照此处给出的说明进行操作,但显示相同的错误消息。

JAX 尚未提供与 M1 芯片兼容的预构建 jaxlib 轮。 我所知道的关于在 M1 上构建 jaxlib 的最佳信息来源可能是这个 github 问题: https : //github.com/google/jax/issues/5501 ,它也跟踪改进这种支持。

希望 M1 支持在不久的将来会得到改进,但是堆栈上下的科学计算基础设施需要一段时间才能赶上新芯片的要求。

谢谢@jakevdp我查看了您链接的问题并找到了解决方法:

感谢Noah ,他在问题 #5501 中提到您可以只使用先前版本的 jax 和 jaxlib,就我而言, jaxlib==0.1.60jax==0.2.10工作得很好!

截至目前(2022 年 1 月), jax可用于 M1 Mac。 确保卸载jaxjaxlib ,然后通过 pip 安装新包:

pip install --upgrade jax jaxlib

之后,您可以毫无问题地使用 jax。

我有一个类似的问题。 由于我已经安装了 Anaconda,并且不想让 Anaconda + miniconda + 自制软件版本 python 和 package 管理等等弄乱我的空间,所以我四处寻找一个简单的解决方案。 最终对我有用的是首先卸载jaxjaxlib ,然后直接通过 conda-forge 安装jaxjaxlib

pip uninstall jax jaxlib
conda install -c conda-forge jaxlib
conda install -c conda-forge jax

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM