linux arm系统安装tensorflow

1、环境说明

     OS为Linux version 4.19.71-arm64-desktop,安装tensorflow,安装通过编译好的whl二进制包进行安装。

2、安装过程及问题解决

     首先要找跟python版本对应的tensoflow版本,在网上找了很久,没有找到跟2.7相关的aarch64的tf版本whl文件,可以通过编译源码,也可以通过whl进行安装。本篇介绍在python3.7下选用whl文件安装方法。

    (1)tensorflow安装过程会依赖hdf5,因此需要先安装hdf5:

 wget https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-1.10/hdf5-1.10.5/src/hdf5-1.10.5.tar.gz

tar -zxvf hdf5-1.10.5.tar.gz

cd hdf5-1.10.5/

./configure --prefix=/usr/include/hdf5

make

make install

有些说后面配置环境变量,结果发现并没有生效,因此通过建立软链接的方式,识别。

ln -s  /usr/include/hdf5/lib/libhdf5_hl.so.100.1.2  /usr/lib/libhdf5_hl.so

ln -s  /usr/include/hdf5/lib/libhdf5.so.103.1.0  /usr/lib/libhdf5.so

(2)下载配套的tensorflow的版本

GitHub - noahzhy/tf-aarch64: Easy to install Tensorflow on AArch64

下载python3.7对应的tensorflow-1.15.5-cp37-cp37m-linux_aarch64.whl到本地目录

(3) 利用python的pip进行安装,如果本地的python有多个版本,可以采用如下安装:

sudo python3 -m pip install  tensorflow-1.15.5-cp37-cp37m-linux_aarch64.whl

3、碰到问题解决:

(1)error: invalid command 'bdist_wheel' 需要安装wheel包

(2)安装numpy的过程,源码安装,Cython.Compiler.Errors.CompileError,尝试在pip安装的时候增加 --no-build-isolation参数禁止隔离后,可能解决,很多人说是cython版本的问题,试了cython的不同版本没有解决;

(3)安装h5py过程,可能会有hdf5.h文件没有,找到.h文件复制到/usr/local/include目录下即可

(4)protobuf版本要适配,按照提示可能要降级

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在交叉编译ARMtensorflow时,Bazel是必须的工具。这里提供几个可能导致编译失败的原因和解决方法: 1. 缺少必要的库和工具 在编译tensorflow之前,需要在交叉编译环境中安装一些必要的库和工具,如: - gcc-arm-linux-gnueabihf - g++-arm-linux-gnueabihf - libssl-dev - zlib1g-dev - python-dev - python-numpy 如果缺少这些库和工具,将会导致编译过程中出现各种错误。可以通过以下命令安装这些库和工具: ```bash sudo apt-get install gcc-arm-linux-gnueabihf g++-arm-linux-gnueabihf libssl-dev zlib1g-dev python-dev python-numpy ``` 2. Bazel本不兼容 Bazel的本可能与tensorflow不兼容,导致编译失败。可以使用以下命令检查当前使用的Bazel本: ```bash bazel version ``` 如果Bazel本太老或太新,可以使用以下命令安装兼容的Bazel本: ```bash wget https://github.com/bazelbuild/bazel/releases/download/0.29.1/bazel-0.29.1-installer-linux-x86_64.sh chmod +x bazel-0.29.1-installer-linux-x86_64.sh ./bazel-0.29.1-installer-linux-x86_64.sh --user ``` 3. 缺少TensorFlow的依赖项 在编译TensorFlow之前,需要安装一些依赖项,如protobuf、gast等。可以使用以下命令安装这些依赖项: ```bash sudo apt-get install autoconf automake libtool curl make g++ unzip wget https://github.com/protocolbuffers/protobuf/releases/download/v3.11.4/protobuf-all-3.11.4.tar.gz tar xf protobuf-all-3.11.4.tar.gz cd protobuf-3.11.4 ./configure --prefix=/usr/local make -j8 sudo make install sudo ldconfig pip install gast==0.2.2 ``` 4. TensorFlow的配置问题 在交叉编译tensorflow时,需要进行一些配置。可以使用以下命令配置: ```bash ./configure ``` 在配置过程中,需要注意以下几个问题: - 选择交叉编译器路径 - 选择TensorFlow的构建类型(如C++11 ABI) - 选择Python的路径和本 - 选择是否支持CUDA 以上是常见的导致编译失败的原因和解决方法。如果以上方法都无法解决问题,可以查看编译过程中的具体错误信息并进行排查。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值