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版本要适配,按照提示可能要降级