如何在另一台Windows设备部署源码编译的TensorFlow?
在Windows上部署自定义编译的TensorFlow到其他设备
嘿,这个问题我太有共鸣了——每台机器都从头编译TensorFlow简直是时间杀手,下面是我亲测有效的部署方案,分两种方式,优先推荐第一种:
前提条件(必须满足!)
- 目标设备和编译设备的Windows版本架构一致(比如都是64位Win10/Win11);
- 两台设备的Python版本完全相同(小版本都不能差,比如都是3.8.10 64位);
- 目标设备的CPU必须支持AVX/AVX2(不然部署后会直接报非法指令错误)。
方式一:生成Wheel包安装(最推荐,稳定可靠)
这是官方推荐的部署方式,本质是把编译好的TensorFlow打包成可分发的pip包:
编译时生成Wheel文件
编译完成后,找到TensorFlow源码目录下的bazel-bin/tensorflow/tools/pip_package文件夹,里面有个build_pip_package.py脚本。打开命令行,运行:python build_pip_package.py --output-dir C:\Your\Wheel\Save\Path执行完成后,指定目录会生成一个类似
tensorflow-2.x.x-cp38-cp38-win_amd64.whl的文件。在目标设备安装Wheel包
- 把生成的
.whl文件复制到目标设备; - 先卸载目标设备上已有的TensorFlow(避免版本冲突):
pip uninstall -y tensorflow tensorflow-estimator - 安装自定义编译的包:
pip install C:\Path\To\Your\Custom\TensorFlow.whl
- 把生成的
方式二:直接复制已安装的文件(应急用,不推荐)
如果之前没有生成Wheel包,也可以直接复制本地已安装的TensorFlow文件到目标设备:
找到本地TensorFlow安装目录
打开Python的site-packages文件夹,路径一般是:C:\Users\YourUsername\AppData\Local\Programs\Python\PythonXX\Lib\site-packages复制以下文件/文件夹:
tensorflow主文件夹;- 相关的附属文件夹(比如
tensorflow_estimator、tensorflow_core,依版本而定); - 所有以
tensorflow-开头的.dist-info文件夹。
复制到目标设备并替换
把上述文件粘贴到目标设备的同路径site-packages下,覆盖原有的同名文件/文件夹。安装依赖包
在编译设备上导出当前Python环境的依赖列表:pip freeze > requirements.txt把
requirements.txt复制到目标设备,执行:pip install -r requirements.txt确保依赖版本和编译设备完全一致。
验证部署成功
在目标设备打开Python控制台,执行以下代码检查:
import tensorflow as tf print(f"TensorFlow版本:{tf.__version__}") print(f"是否支持AVX2:{tf.test.is_built_with_avx2()}")
如果能正常输出版本号,且is_built_with_avx2()返回True,就说明部署成功了。
内容的提问来源于stack exchange,提问作者omatai
相关产品推荐
相关产品推荐

