美文网首页
Mac M1芯片安装tensorflow2.5

Mac M1芯片安装tensorflow2.5

作者: 杨康chin | 来源:发表于2021-09-27 10:26 被阅读0次

    十分艰难

    0. conda新建一个环境

    conda create -n tf25 python=3.8
    conda activate tf25
    

    1. TensorFlow 2.4安装

    tensorflow2.4的安装流程可以参考:
    https://zhuanlan.zhihu.com/p/380943713

    实测有效,但是tf2.4不能调用GPU好像。所以又装了tf2.5

    2. Tesorflow 2.5安装

    首先需要升级macOS到12.0及以上,否则不能安装2.5
    可以从这里下,免费:
    https://www.macw.com/mac/3504.html

    系统升级完了以后可以这个官方教程安装tf2.5:
    https://developer.apple.com/metal/tensorflow-plugin/

    以下是安装的基本内容

    conda install -c apple tensorflow-deps
    python -m pip install tensorflow-macos
    python -m pip install tensorflow-metal
    

    至此标准安装结束了


    3. 报错

    安装结束以后,我在import tensorflow as tf 的时候报错了:
    如果你也遇到同样问题,可以参考如下方案

    Traceback (most recent call last):
      File "/Users/chenyangkang/Downloads/m1-tensorflow-config-main/confirm.py", line 2, in <module>
        import tensorflow as tf
      File "/Users/chenyangkang/miniforge3/envs/tf25/lib/python3.9/site-packages/tensorflow/__init__.py", line 41, in <module>
        from tensorflow.python.tools import module_util as _module_util
      File "/Users/chenyangkang/miniforge3/envs/tf25/lib/python3.9/site-packages/tensorflow/python/__init__.py", line 40, in <module>
        from tensorflow.python.eager import context
      File "/Users/chenyangkang/miniforge3/envs/tf25/lib/python3.9/site-packages/tensorflow/python/eager/context.py", line 29, in <module>
        import numpy as np
      File "/Users/chenyangkang/miniforge3/envs/tf25/lib/python3.9/site-packages/numpy/__init__.py", line 140, in <module>
        from . import core
      File "/Users/chenyangkang/miniforge3/envs/tf25/lib/python3.9/site-packages/numpy/core/__init__.py", line 48, in <module>
        raise ImportError(msg)
    ImportError: 
    
    IMPORTANT: PLEASE READ THIS FOR ADVICE ON HOW TO SOLVE THIS ISSUE!
    
    Importing the numpy C-extensions failed. This error can happen for
    many reasons, often due to issues with your setup or how NumPy was
    installed.
    
    We have compiled some common reasons and troubleshooting tips at:
    
        https://numpy.org/devdocs/user/troubleshooting-importerror.html
    
    Please note and check the following:
    
      * The Python version is: Python3.9 from "/Users/chenyangkang/miniforge3/envs/tf25/bin/python"
      * The NumPy version is: "1.19.5"
    
    and make sure that they are the versions you expect.
    Please carefully study the documentation linked above for further help.
    
    Original error was: dlopen(/Users/chenyangkang/miniforge3/envs/tf25/lib/python3.9/site-packages/numpy/core/_multiarray_umath.cpython-39-darwin.so, 0x0002): Library not loaded: @rpath/libcblas.3.dylib
      Referenced from: /Users/chenyangkang/miniforge3/envs/tf25/lib/python3.9/site-packages/numpy/core/_multiarray_umath.cpython-39-darwin.so
      Reason: tried: '/Users/chenyangkang/miniforge3/envs/tf25/lib/libcblas.3.dylib' (no such file), '/Users/chenyangkang/miniforge3/envs/tf25/lib/libcblas.3.dylib' (no such file), '/Users/chenyangkang/miniforge3/envs/tf25/lib/python3.9/site-packages/numpy/core/../../../../libcblas.3.dylib' (no such file), '/Users/chenyangkang/miniforge3/envs/tf25/lib/libcblas.3.dylib' (no such file), '/Users/chenyangkang/miniforge3/envs/tf25/lib/libcblas.3.dylib' (no such file), '/Users/chenyangkang/miniforge3/envs/tf25/lib/python3.9/site-packages/numpy/core/../../../../libcblas.3.dylib' (no such file), '/Users/chenyangkang/miniforge3/envs/tf25/lib/libcblas.3.dylib' (no such file), '/Users/chenyangkang/miniforge3/envs/tf25/bin/../lib/libcblas.3.dylib' (no such file), '/Users/chenyangkang/miniforge3/envs/tf25/lib/libcblas.3.dylib' (no such file), '/Users/chenyangkang/miniforge3/envs/tf25/bin/../lib/libcblas.3.dylib' (no such file), '/usr/local/lib/libcblas.3.dylib' (no such file), '/usr/lib/libcblas.3.dylib' (no such file)
    

    原因是numpy版本不对。解决方法:

    pip uninstall -y numpy
    pip uninstall -y setuptools
    pip install setuptools
    pip install numpy=1.19.2
    

    跑以下命令检测一下

    #!/usr/bin/env python
    import tensorflow as tf
    
    print(f"Running TensorFlow {tf.__version__} with {len(tf.config.list_physical_devices('GPU'))} GPUs recognized")
    

    输出:

    Init Plugin
    Init Graph Optimizer
    Init Kernel
    Running TensorFlow 2.5.0 with 1 GPUs recognized
    

    说明在正常使用GPU了

    不过听说目前tf2.5的速度没有tf2.4的快,斟酌。

    相关文章

      网友评论

          本文标题:Mac M1芯片安装tensorflow2.5

          本文链接:https://www.haomeiwen.com/subject/kujhnltx.html