如何判断TensorFlow是二进制构建还是源码构建?含Ubuntu 16.04场景
如何判断TensorFlow的构建方式(Ubuntu 16.04适用)
嘿,我来帮你搞定这个问题!判断TensorFlow是官方二进制包安装还是源码编译的,有几个实用的方法,在Ubuntu 16.04上完全适用:
方法一:通过Python代码查看构建配置
直接在Python环境里运行这段代码,就能获取TensorFlow的详细构建信息:import tensorflow as tf print(tf.__config__.show())输出里重点关注这些细节:
- 如果出现
Build from source: True,那肯定是源码编译的版本;如果是False,就是官方预编译的二进制包。 - 源码编译的版本还会显示你编译时用的编译器版本(比如GCC)、CUDA/CUDNN版本、自定义编译选项等;官方二进制包则会带有统一的官方构建标签,比如针对Ubuntu 16.04的专属预编译标识。
- 如果出现
方法二:检查安装来源
如果你是用pip安装的,通过这条命令可以查看TensorFlow的安装详情:pip show tensorflow- 如果
Location指向系统默认的site-packages目录,且没有本地编译的痕迹,基本可以确定是官方二进制包。 - 要是你是自己编译生成wheel包后用
pip install安装的,或者直接运行python setup.py install从源码安装,那毫无疑问是源码编译的版本。
- 如果
方法三:检查二进制文件的编译特征
在Ubuntu 16.04中,TensorFlow的核心库文件一般位于/usr/local/lib/pythonX.X/dist-packages/tensorflow/(X.X是你的Python版本,比如3.5)。用file命令查看库文件的编译信息:file /usr/local/lib/python3.5/dist-packages/tensorflow/libtensorflow_framework.so- 官方二进制包会带有官方构建环境的标识,比如特定的编译器版本和系统优化;而源码编译的版本会显示你本地系统的编译器信息(比如你Ubuntu上安装的GCC版本)。
一般结合这几种方法,就能准确判断TensorFlow的构建方式啦。
内容的提问来源于stack exchange,提问作者Mark Sonn
相关产品推荐
相关产品推荐

