平台:rk3399
1. 下载:
https://github.com/tensorflow/tensorflow/releases 页面左上角有个tags
2. 教程
https://www.tensorflow.org/versions/r1.7/install/install_sources
https://www.tensorflow.org/install/install_sources?hl=zh-cn#ConfigureInstallation
3. 要点:
3.0 arm64位平台中编译出bazel,bazel的版本选择,请参考第二步的网址的最下面Tested source configurations一项,使用官方建议版本
bazel教程https://docs.bazel.build/versions/master/install-compile-source.html
bazel编译要点:(建议查看官方文档)
3.0.1 sudo apt install openjdk-8-jdk
3.0.2 下载对应版本bazel源码
3.0.3 进入源码目录并执行:bash ./compile.sh
3.0.4 生成文件目录:output/bazel
3.1 先使用gcc5编译,如果报错jpeg.BUILD的arm-v7a无法识别,使用gcc4.8编译(官方建议版本),或者修改tensorflow-1.7.0/third_party/jpeg/jpep.BUILD中的android-cpu为cpu
3.2 编译过程中,如果出现-march=native不支持的错误,使用grep "march=native" -RIn * 找出tensorflow源码中所有的march=native关键字并删除
4. 编译命令
./configure //其中会有python版本的选项,如果选择python2.7,编译出的为python2.7使用,如果选择python3.5,则编译出的为python3使用。
bazel build -c opt --copt="-funsafe-math-optimizations" --copt="-ftree-vectorize" --copt="-fomit-frame-pointer" --local_resources 2048,.5,1.0 --cxxopt="-D_GLIBCXX_USE_CXX11_ABI=0" --conlyopt=-std=gnu99 --verbose_failures tensorflow/tools/pip_package:build_pip_package
bazel-bin/tensorflow/tools/pip_package/build_pip_package /tmp/tensorflow_pkg
5. 生成目标文件
位于/tmp/tensorflow_pkg文件夹下