tensorflow-2.7-M1-安装依赖openblas问题
问题描述
安装过程
conda create -n conda-forge-tensorflow conda-forge::tensorflow
conda info -e
conda activate conda-forge-tensorflow
pip install ipython
python -c 'import tensorflow; print(tensorflow.__version__)'
先说结论
- conda 安装tensorflow,依赖numpy;numpy依赖openblas;默认没有安装。
- 手动安装openblas不完全,需要手动配置链接库软链
- 关键信息:
conda install openblas
# 建立软链
ln -s libopenblas.dylib libopenblas_vortexp-r0.3.17.dylib
遇到问题
Traceback (most recent call last):
File "/Users/enzhao/suanec/libs/miniconda3/envs/conda-forge-tensorflow/lib/python3.9/site-packages/numpy/core/__init__.py", line 22, in <module>
from . import multiarray
File "/Users/enzhao/suanec/libs/miniconda3/envs/conda-forge-tensorflow/lib/python3.9/site-packages/numpy/core/multiarray.py", line 12, in <module>
from . import overrides
File "/Users/enzhao/suanec/libs/miniconda3/envs/conda-forge-tensorflow/lib/python3.9/site-packages/numpy/core/overrides.py", line 7, in <module>
from numpy.core._multiarray_umath import (
ImportError: dlopen(/Users/enzhao/suanec/libs/miniconda3/envs/conda-forge-tensorflow/lib/python3.9/site-packages/numpy/core/_multiarray_umath.cpython-39-darwin.so, 0x0002): Library not loaded: @rpath/libcblas.3.dylib
Referenced from: /Users/enzhao/suanec/libs/miniconda3/envs/conda-forge-tensorflow/lib/python3.9/site-packages/numpy/core/_multiarray_umath.cpython-39-darwin.so
Reason: tried: '/Users/enzhao/suanec/libs/miniconda3/envs/conda-forge-tensorflow/lib/libcblas.3.dylib' (no such file), '/Users/enzhao/suanec/libs/miniconda3/envs/conda-forge-tensorflow/lib/libcblas.3.dylib' (no such file), '/Users/enzhao/suanec/libs/miniconda3/envs/conda-forge-tensorflow/lib/python3.9/site-packages/numpy/core/../../../../libcblas.3.dylib' (no such file), '/Users/enzhao/suanec/libs/miniconda3/envs/conda-forge-tensorflow/lib/libcblas.3.dylib' (no such file), '/Users/enzhao/suanec/libs/miniconda3/envs/conda-forge-tensorflow/lib/libcblas.3.dylib' (no such file), '/Users/enzhao/suanec/libs/miniconda3/envs/conda-forge-tensorflow/lib/python3.9/site-packages/numpy/core/../../../../libcblas.3.dylib' (no such file), '/Users/enzhao/suanec/libs/miniconda3/envs/conda-forge-tensorflow/bin/../lib/libcblas.3.dylib' (no such file), '/Users/enzhao/suanec/libs/miniconda3/envs/conda-forge-tensorflow/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)
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/Users/enzhao/suanec/libs/miniconda3/envs/conda-forge-tensorflow/lib/python3.9/site-packages/tensorflow/__init__.py", line 41, in <module>
from tensorflow.python.tools import module_util as _module_util
File "/Users/enzhao/suanec/libs/miniconda3/envs/conda-forge-tensorflow/lib/python3.9/site-packages/tensorflow/python/__init__.py", line 41, in <module>
from tensorflow.python.eager import context
File "/Users/enzhao/suanec/libs/miniconda3/envs/conda-forge-tensorflow/lib/python3.9/site-packages/tensorflow/python/eager/context.py", line 30, in <module>
import numpy as np
File "/Users/enzhao/suanec/libs/miniconda3/envs/conda-forge-tensorflow/lib/python3.9/site-packages/numpy/__init__.py", line 150, in <module>
from . import core
File "/Users/enzhao/suanec/libs/miniconda3/envs/conda-forge-tensorflow/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/enzhao/suanec/libs/miniconda3/envs/conda-forge-tensorflow/bin/python"
* The NumPy version is: "1.21.1"
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/enzhao/suanec/libs/miniconda3/envs/conda-forge-tensorflow/lib/python3.9/site-packages/numpy/core/_multiarray_umath.cpython-39-darwin.so, 0x0002): Library not loaded: @rpath/libcblas.3.dylib
Referenced from: /Users/enzhao/suanec/libs/miniconda3/envs/conda-forge-tensorflow/lib/python3.9/site-packages/numpy/core/_multiarray_umath.cpython-39-darwin.so
Reason: tried: '/Users/enzhao/suanec/libs/miniconda3/envs/conda-forge-tensorflow/lib/libcblas.3.dylib' (no such file), '/Users/enzhao/suanec/libs/miniconda3/envs/conda-forge-tensorflow/lib/libcblas.3.dylib' (no such file), '/Users/enzhao/suanec/libs/miniconda3/envs/conda-forge-tensorflow/lib/python3.9/site-packages/numpy/core/../../../../libcblas.3.dylib' (no such file), '/Users/enzhao/suanec/libs/miniconda3/envs/conda-forge-tensorflow/lib/libcblas.3.dylib' (no such file), '/Users/enzhao/suanec/libs/miniconda3/envs/conda-forge-tensorflow/lib/libcblas.3.dylib' (no such file), '/Users/enzhao/suanec/libs/miniconda3/envs/conda-forge-tensorflow/lib/python3.9/site-packages/numpy/core/../../../../libcblas.3.dylib' (no such file), '/Users/enzhao/suanec/libs/miniconda3/envs/conda-forge-tensorflow/bin/../lib/libcblas.3.dylib' (no such file), '/Users/enzhao/suanec/libs/miniconda3/envs/conda-forge-tensorflow/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需要线性计算库依赖,openblas相关
- 但conda中没有,用如下命令安装:
conda install openblas
- 确认安装结果:
conda list | grep blas
blas 1.0 openblas defaults
libblas 3.9.0 11_osxarm64_openblas conda-forge
libcblas 3.9.0 11_osxarm64_openblas conda-forge
liblapack 3.9.0 11_osxarm64_openblas conda-forge
libopenblas 0.3.17 h9886b1c_1 defaults
openblas 0.3.17 hca03da5_1 defaults
openblas-devel 0.3.17 hca03da5_1 defaults
ll /Users/enzhao/suanec/libs/miniconda3/envs/conda-forge-tensorflow/lib/libcblas.3.dylib
lrwxr-xr-x 1 enzhao enzhao 33B 3 16 18:22 /Users/enzhao/suanec/libs/miniconda3/envs/conda-forge-tensorflow/lib/libcblas.3.dylib -> libopenblas_vortexp-r0.3.17.dylib
- 再次导入问题依旧,排查
libopenblas_vortexp-r0.3.17.dylib文件,发现不存在。 - 建立软链:
cd /Users/enzhao/suanec/libs/miniconda3/envs/conda-forge-tensorflow/lib
# 建立软链
ln -s libopenblas.dylib libopenblas_vortexp-r0.3.17.dylib
# 确认文件正常
less /Users/enzhao/suanec/libs/miniconda3/envs/conda-forge-tensorflow/lib/libcblas.3.dylib
- 重新导入,已正常:
python -c 'import tensorflow; print(tensorflow.__version__)'
2.7.0
tensorflow-2.7-M1-安装依赖openblas问题的更多相关文章
- 一、TensorFlow的简介和安装和一些基本概念
1.Tensorflow的简介 就是一个科学计算的库,用于数据流图(张量流,可以理解成一个N维得数组). Tensorflow支持CPU和GPU,内部实现了对于各种目标函数求导的方式. 2.Tenso ...
- tensorflow学习笔记----tensorflow在windows的安装及TensorBoard中mnist样例
前言: ...
- Tensorflow教程(1)Tensorflow的下载和安装
人工智能已经成为了目前的大趋势,作为程序员的我们也应该跟着时代进步.Tensorflow作为人工智能领域的重要工具,被广泛的使用在机器学习的应用当中. Tensorflow使用人数众多.社区完善,所以 ...
- git克隆项目到本地&&全局安装依赖项目&&安装依赖包&&启动服务
一.安装本地开发环境 1.安装本项目 在需要保存到本地的项目的文件夹,进入到文件夹里点击右键,bash here,出现下图: 2.安装依赖项目 3.安装依赖包(进入到命令行) # 安装依赖包 $ ...
- centos 安装依赖错误
出现下列错误: error: curl/curl.h: No such file or directory 出错原因:缺少libcurl-dev or libcurl-devel centOS上安装依 ...
- 安装依赖包时--save-dev以及-save的区别及意义
首先这样做会生成一个package.json的配置文件,并在里面增加相应的版本信息,以后运行程序时,安装依赖包可以直接 npm install或者你有安装淘宝镜像,那就cnpm install 就一 ...
- Symfony没有安装依赖_PHP Fatal error: require(): Failed opening required
$ php bin/console server:run PHP Warning: require(D:\home\workspace\pd\app/../vendor/autoload.php): ...
- Linux 安装依赖库
###安装依赖库###yum -y install rsync net-snmp syslog net-snmp-devel wget patch screen gcc gcc-c++ autocon ...
- TensorFlow学习笔记1——安装
1. 准备好Anaconda环境 具体参见:http://blog.csdn.net/zhdgk19871218/article/details/46502637 2. 建立名叫TensorFlow的 ...
- 使用npm安装依赖,尽量别使用cnpm,会漏掉很多依赖的
使用npm安装依赖,尽量别使用cnpm,会漏掉很多依赖的
随机推荐
- Websocket 60秒断开,连接不稳定
本地测试都是正常的,线上测试总是过一会就断开... 线上新增了https协议,导致页面中的链接必须也是ssl Websocket链接地址从ws://ws.xxx.com改成了wss://ws.xxx. ...
- 富文本编辑器 VUE-QUILL-EDITOR 使用教程 (最全)
VUE-QUILL-EDITOR 基于 QUILL.适用于 VUE 的富文本编辑器,支持服务端渲染和单页应用,非常高效简洁. 一.基础用法 1.NPM 导入 VUE-QUILL-EDITOR npm ...
- Selenium - 基础知识介绍
Selenium - 基础知识介绍 介绍 Selenium是ThoughtWorks员工在业余时间开发并维护的开源项目,并且在ThoughtWorks的项 目中被广泛应用. 简单地说,Selenium ...
- Windows server 2012 安装ad域
Windows server 2012 安装ad域 安装ad域(active directory)服务的作用:存储目录数据并管理域之间的通信,包括用户登录处理,身份验证和目录搜索等. 1.使用ad ...
- vue-admin-template包下载地址
https://gitee.com/panjiachen/vue-admin-template/ https://github.com/PanJiaChen/vue-admin-template
- el-table自适应列宽
这里可对内容为文本的列进行自适应列宽 以下为 工具方法 /** * 使用span标签包裹内容,然后计算span的宽度 width: px * @param valArr */ function get ...
- 流计算中kafka的OffsetReset策略
朋友的公司做的是西南某边境省份网红新能源车的数据处理,由于新能源车的火爆,从年初从现在,数据量已经翻番.但与此同时,服务器却没有多少增加.无奈之下,只能暂时将kafka的数据存储时间由之前的1天改为6 ...
- 聊聊Seata分布式解决方案AT模式的实现原理
什么是Seata分布式事务解决方案 Seata是一款开源的分布式事务解决方案,致力于提供高性能和简单易用的分布式事务服务.为用户提供了AT.TCC.SAGA和XA事务模式,为用户打造一站式的分布式解决 ...
- 【技术积累】Java中的JVM【一】
什么是JVM JVM英文全称为Java Virtual Machine,中文意为Java虚拟机.JVM是一种能够执行Java语言编写的程序的虚拟机器,它首次作为Java语言的一部分,后来又被移植到了许 ...
- Android Studio 引入kotlin 协程
首先保证创建了kotlin项目,然后,两个步骤: 1. 加入dependency,在 build.gradle(:app)中,加入 implementation 'org.jetbrains.kotl ...