1、没有安装 python的先安装,安装方法参考 Ubuntu 20 编译安装 Python-3.8.6
塌坑好伴侣 Zsys 按照 Ubuntu20.04 zfs Zsys 快照初试用 先来个快照,进坑急救神器。
2、获取源码
sudo apt install -u git
git clone https://github.com/tensorflow/tensorflow.git
cd tensorflow
3、安装 TensorFlow pip 软件包依赖项(如果使用虚拟环境,请省略 --user 参数)
pip install -U --user pip six numpy wheel setuptools mock 'future>=0.17.1'
pip install -U --user keras_applications --no-deps
pip install -U --user keras_preprocessing --no-deps
4、 安装 Bazel3.1.0 是因为现在的 TensorFlow 2.4.0 需要 bazel3.1.0版本
wget https://github.com/bazelbuild/bazel/releases/download/3.1.0/bazel-3.1.0-installer-linux-x86_64.sh
chmod +x bazel-3.1.0-installer-linux-x86_64.sh
./bazel-3.1.0-installer-linux-x86_64.sh --user
添加环境变量
export PATH="$PATH:$HOME/bin"
到 ~/.bashrc文件
source ~/.bashrc
使环境变量生效 bazel安装完成
5、配置TensorFlow编译参数,需要用到NDK 18 版
./configure
ROCm 、 clang 、 CUDA 选N (代表CPU版本),Android NDK 改成 18版本的安装位置其他默认就可以。参考下图:
6、编译 pip 软件包
bazel build //tensorflow/tools/pip_package:build_pip_package
报错 :ERROR: An error occurred during the fetch of repository 'io_bazel_rules_docker'
在WORKSPACE文件中加入下面的内容
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
# Download the rules_docker repository at release v0.14.4
http_archive(
name = "io_bazel_rules_docker",
sha256 = "4521794f0fba2e20f3bf15846ab5e01d5332e587e9ce81629c7f96c793bb7036",
strip_prefix = "rules_docker-0.14.4",
urls = ["https://github.com/bazelbuild/rules_docker/releases/download/v0.14.4/rules_docker-v0.14.4.tar.gz"],
)
重新编译
bazel build //tensorflow/tools/pip_package:build_pip_package
又报错:ModuleNotFoundError: No module named '_posixsubprocess'
很有可能是python版本问题,重新强连接一下。
sudo ln -sf /usr/local/bin/python3.8 /usr/bin/python
再出发
bazel build //tensorflow/tools/pip_package:build_pip_package
经过漫长的等待,困了睡觉zzz
一夜过去了,还没有出错,朕心甚慰,神马给我磨洋工了,偷懒了???这我不答应 Ctrl+C 杀死
bazel build --jobs HOST_CPUS*10 --local_ram_resources=HOST_RAM*0.9 --local_cpu_resources=HOST_CPUS*5 //tensorflow/tools/pip_package:build_pip_package
参数说明:
--jobs HOST_CPUS*10 #开cpu 10倍数量的任务数
--local_ram_resources=HOST_RAM*0.9 #使用90%的内存
--local_cpu_resources=HOST_CPUS*5 #开cpu 5倍的编译进程
电脑瞬间很卡,说明这会没有偷懒了。这不是最佳配置,但是不要太疯狂了,否则爱姬累死了,本人不负责哦。
终于完成了。
7、生成软件安装包
./bazel-bin/tensorflow/tools/pip_package/build_pip_package /tmp/tensorflow_pkg&&ls /tmp/tensorflow_pkg
8、安装软件包
pip install /tmp/tensorflow_pkg/tensorflow-2.4.0-cp38-cp38-linux_x86_64.whl
完成安装根据提示设置环境变量 export PATH="$PATH:$HOME/.local/bin" 到 ~/.bashrc ,别忘了source ~/.bashr 使变量生效。
9、安装验证
注意:必须推出源码路径
cd ~/
python
然后输入
import tensorflow as tf
tf.__version__
验证完成,如下图: