libtensorflow-2.3.0 TX2(linux-aarch64)编译

安装要求

存储空间≥4G
内存≥2G(可以通过swapfile创建交换分区)

参考链接

https://qengineering.eu/install-tensorflow-2.3.1-on-raspberry-64-os.html
https://blog.csdn.net/xieyipeng1998/article/details/112954045

编译步骤

1.下载TensorFlow 2.3.0源码:

wget https://github.com/tensorflow/tensorflow/archive/refs/tags/v2.3.0.tar.gz

2.解压v2.3.0.tar.gz:

tar -zxf v2.3.0.tar.gz

3.确定bazel版本:

cd tensorflow-2.3.0
cat .bazelversion
显示bazel版本为3.1.0

4.确定jdk版本:
https://docs.bazel.build/versions/3.1.0/bazel-overview.html
在Compiling Bazel from source中确定jdk的版本为1.8.0_112

5.下载安装jdk1.8.0_112:
https://www.oracle.com/java/technologies/javase/javase8-archive-downloads.html
下载对应系统的Java SE Development Kit 8u112

6.解压jdk1.8.0_112,添加环境变量:

vi ~/.bashrc
export JAVA_HOME=/path/to/jdk1.8.0_112	# 解压的目录
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
wq
source ~/.bashrc

7.安装依赖包:

sudo apt-get install build-essential gcc-7 g++-7 zip unzip  make cmake wget libhdf5-dev libc-ares-dev libeigen3-dev libatlas-base-dev

8.下载bazel-3.1.0:

wget https://github.com/bazelbuild/bazel/releases/download/3.1.0/bazel-3.1.0-dist.zip

9.编译bazel:

进入bazel解压目录

env EXTRA_BAZEL_ARGS="--host_javabase=@local_jdk//:jdk" bash ./compile.sh

10.安装bazel:

cd ./output 
./bazel

11.添加bazel环境变量:

vi ~/.bashrc
export PATH=/path/to/bazel-3.1.0/output:$PATH
wq
source ~/.bashrc

12.进入tensorflow-2.3.0文件夹,输入./configure,输入python环境路径(一般默认),其它选择N

13.编译libtensorflow-2.3.0:

bazel --host_jvm_args=-Xmx2048m build --config=opt --config=noaws --config=nogcp --config=nohdfs --config=nonccl --config=monolithic --config=v2 --local_cpu_resources=1 --copt=-ftree-vectorize --copt=-funsafe-math-optimizations --copt=-ftree-loop-vectorize --copt=-fomit-frame-pointer //tensorflow/tools/lib_package:libtensorflow
--host_jvm_args	限制编译过程中的使用内存
--config=noaws	不编译aws,不添加这项会报错

14.解压至系统目录:

sudo tar -C /usr/local -xzf bazel-bin/tensorflow/tools/lib_package/libtensorflow.tar.gz

15.建立软链接:

cd /usr/local
sudo ldconfig

16.清理缓存:

sudo rm -rf ~/.cache/bazel

测试

vi hello_tf.c

#include <stdio.h>
#include <tensorflow/c/c_api.h>
int main() {
  printf("Hello from TensorFlow C library version %s\n", TF_Version());
  return 0;
}

wq
gcc hello_tf.c -ltensorflow -o hello_tf
./hello_tf
输出: Hello from TensorFlow C library version 2.3.0
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值