在麒麟系统(arm)下Anaconda虚拟环境安装TensorFlow和tensorflow-serving

在ARM64平台下Anaconda虚拟环境安装TensorFlow和tensorflow-serving

环境:python : 3.7.1 (root)
​ tensorflow : 2.0.0 (tf2)
​ pandas : 1.3.5 (tf2)
​ numpy : 1.21.6 (tf2)

使用虚拟环境背景:

docker 容器安装证书出现问题 导致无法进行镜像拉取,后面使用docker安装tensorflow-serving 时已解决docker问题。

1.安装Anaconda

1、查看linux的硬件设施:在终端下输入

uname -a

输出结果:

Linux kylin …….kylin.server-generic #kylin SMP …… aarch64 aarch64 aarch64 GNU/Linux

从结果可以看出它的硬件设施为aarch64,这个硬件也是属于ARM的。

关于如何在arm架构下安装anaconda

一个是miniconda3(https://repo.anaconda.com/miniconda/),

二是Archiconda3((https://github.com/Archiconda/build-tools/releases/download/0.2.2/Archiconda3-0.2.2-Linux-aarch64.sh))

这里采用第二种archiconda3。

2.下载archiconda到linux,并且运行

bash Archiconda3-0.2.2-Linux-aarch64.sh

3、运行完后,在终端输入python / conda,可以验证是否安装成功.

  1. conda 创建环境 略
  2. 进入conda 环境 略

2.安装前环境配置(后续也可以使用docker直接搭建)

由于安装tensorflow 依赖 h5py ,而 h5py 依赖 HDF5 ,需要先编译安装HDF5 ,否则使用 pip 安装 h5py 会报错
1.1安装HDF5
我们从源代码进行安装,对于源代码的安装可以参考以下步骤。

[En]

We install from the source code, for the source code installation can refer to the following steps.

  • 从官网下载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

  • 进入解压后的文件夹进行配置、编译和安装
    [En]

    enter the unzipped folder and perform configuration, compilation and installation*

cd hdf5-1.10.5/./configure --prefix=/usr/include/hdf5makemake install

这里需要注意的是,在执行配置时,最好指定安装目录以便于管理。

[En]

It should be noted here that when performing the configuration, it is best to specify the installation directory for easy management.

  • 配置环境变量

打开./bashrc文件内容命令如下

vim ~/.bashrc

在./bashrc内容的最末尾加上下面两行。如果–prefix路径和我不一样,需要改成你安装的hdf5路径

export PATH=$PATH:/usr/include/hdf5/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/include/hdf5/lib

最后source一下使其生效

source ~/.bashrc

需要注意的是在./bashrc添加环境变量。我们遇到的大部分下面ImpoerError找不到文件的问题都可能是没用添加到环境变量。可以先查看下对应的包有没安装,如果安装了还报下面的错误应该把环境变量添加上。

ImportError: hdf5.so.40: cannot open shared object file: No such file or directory

1.2 安装h5py

安装h5py直接使用pip安装即可,也可以用源码安装

安装h5py依赖包,安装h5py

pip install Cython

pip install h5py==2.8.0

2.安装TensorFlow
安装Tensorflow由于经常断连,直接先下载编译好的whl包安装

git上有现在做好的aarch64,tensorflow的包:地址如下

tensorflow-on-arm (https://github.com/lhelontra/tensorflow-on-arm/releases)

找到对应的release下载安装,这里我选了tensorflow2.0

在麒麟系统(arm)下Anaconda虚拟环境安装TensorFlow和tensorflow-serving

用pip安装whl文件

pip install tensorflow-2.0.0-cp37-none-linux_aarch64.whl

解决docker无法拉取问题,待整理

2. 基于docker 安装 tensorflow-serving

原因:arm架构采用普通部署比较麻烦,加上服务器上依赖不全,加上官方推荐使用docker部署,遂尝试多次选择放弃。

2.1 拉取镜像

​ > 服务器采用的是Arm64架构,使用docker直接pull 将会存在运行报错 , tensorflow/servinghub.docker.com中找只有Linux/amd64的,这里使用 来自linux amd64(x86_64)主机通用的arm内核上针对liunx交叉编译的项目。

  • 拉取镜像
docker pull emacski/tensorflow-serving:latest

2.2 启动测试

  • 创建文件夹以拉取测试模型
    [En]

    create a folder to pull the test model*

创建 /home/conda/tensorflowDemogit clone https://github.com/tensorflow/serving
  • 启动
TESTDATA="${pwd}/serving/tensorflow_serving/servables/tensorflow/testdata"docker run -t --rm -p 8051:8051 -v     "$TESTDATA"/saved_model_half_plus_two_cpu:/models/half_plus_two" -e     MODEL_NAME=half_plus_two emacski/tensorflow-serving:latest
  • 测试
curl -d '{"instances":[1.0,2.0,5.0]}' -X POST   http://localhost:8051/v1/models/half_plus_two:predict
  • 正常输出
{    "predictions":{[2.5,3.0,4.5]}}

Original: https://blog.csdn.net/kingUROOT/article/details/124661018
Author: 流浪者0123
Title: 在麒麟系统(arm)下Anaconda虚拟环境安装TensorFlow和tensorflow-serving

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/496458/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球