Mac源码编译安装tensorflow
1. 安装 Bazel
注意版本
macOS CPU
版本 | Python 版本 | 编译器 | 编译工具 |
---|---|---|---|
tensorflow-1.13.1 | 2.7、3.3-3.6 | XCode 中的 Clang | Bazel 0.19.2 |
tensorflow-1.12.0 | 2.7、3.3-3.6 | XCode 中的 Clang | Bazel 0.15.0 |
tensorflow-1.11.0 | 2.7、3.3-3.6 | XCode 中的 Clang | Bazel 0.15.0 |
tensorflow-1.10.0 | 2.7、3.3-3.6 | XCode 中的 Clang | Bazel 0.15.0 |
tensorflow-1.9.0 | 2.7、3.3-3.6 | XCode 中的 Clang | Bazel 0.11.0 |
tensorflow-1.8.0 | 2.7、3.3-3.6 | XCode 中的 Clang | Bazel 0.10.1 |
tensorflow-1.7.0 | 2.7、3.3-3.6 | XCode 中的 Clang | Bazel 0.10.1 |
tensorflow-1.6.0 | 2.7、3.3-3.6 | XCode 中的 Clang | Bazel 0.8.1 |
tensorflow-1.5.0 | 2.7、3.3-3.6 | XCode 中的 Clang | Bazel 0.8.1 |
tensorflow-1.4.0 | 2.7、3.3-3.6 | XCode 中的 Clang | Bazel 0.5.4 |
tensorflow-1.3.0 | 2.7、3.3-3.6 | XCode 中的 Clang | Bazel 0.4.5 |
tensorflow-1.2.0 | 2.7、3.3-3.6 | XCode 中的 Clang | Bazel 0.4.5 |
tensorflow-1.1.0 | 2.7、3.3-3.6 | XCode 中的 Clang | Bazel 0.4.2 |
tensorflow-1.0.0 | 2.7、3.3-3.6 | XCode 中的 Clang | Bazel 0.4.2 |
1 | # 通过如下bazel的仓库连接下载对应版本的安装工具,我们这里使用的是0.15.0的 |
1 | # 其中参数--user是为了个人用户安装 |
2. 下载tf源码
1 | git clone https://github.com/tensorflow/tensorflow.git |
其中–recurse-submodules 参数是必须的, 用于获取 TesorFlow 依赖的 protobuf 库.
1 | git checkout branch_name # r1.9, r1.10, etc. |
1 | ./configure |
使用 bazel
构建仅支持 CPU 的 TensorFlow 软件包编译器:
1 | bazel build --config=opt //tensorflow/tools/pip_package:build_pip_package |
编译过程出现两处错误:
- Xcode version must be specified to use an Apple CROSSTOOL” on OSX High Sierra
解决方法:
1 | sudo xcode-select -s /Applications/Xcode.app/Contents/Developer |
- 找不到module enum
注意要安pip install enum34
这个包不是enum。
3. 生成pip安装包,.whl文件:
bazel build
命令会创建一个名为 build_pip_package
的可执行文件,此文件是用于编译 pip
软件包的程序。请如下所示地运行该可执行文件,以在 /tmp/tensorflow_pkg
目录中编译 .whl
软件包
1 | sudo bazel-bin/tensorflow/tools/pip_package/build_pip_package /tmp/tensorflow_pkg |
要从 master 编译,加上 --nightly_flag
获取正确的依赖项:
1 | sudo ./bazel-bin/tensorflow/tools/pip_package/build_pip_package --nightly_flag /tmp/tensorflow_pkg |
4. 安装软件包
生成的 .whl
文件的文件名取决于 TensorFlow 版本和您的平台。例如,使用 pip install
安装软件包:
1 | pip install /tmp/tensorflow_pkg/tensorflow-version-tags.whl |
1 | class BTNode{ |