You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Windows无CUDA环境下构建带GPU支持的TensorFlow/TFLite C++

Windows无CUDA环境下构建GPU加速的TensorFlow/TensorFlow Lite C++ DLL方案

一、DirectML相关方案(优先推荐)

1. TensorFlow Lite + DirectML(官方支持)

TensorFlow Lite从2.10版本起官方支持DirectML后端,无需依赖CUDA,两种方式获取DLL:

  • 直接用预编译库:在NuGet包管理器中搜索Microsoft.TensorFlowLite.DirectML,直接下载使用官方预构建的tensorflowlite.dll,开箱即用支持DirectML GPU加速。
  • 自行编译(针对定制需求):
    1. 基于你当前的TensorFlow r2.12源码,运行configure.py时,在询问是否启用DirectML时选择Y。
    2. 使用Bazel 5.3执行编译命令:
      bazel build --config=windows --config=directml //tensorflow/lite:tensorflowlite.dll
      
      编译完成后即可得到带DirectML加速的动态库。

2. TensorFlow C++ + DirectML(适配新版的社区分支)

官方主分支暂不支持TensorFlow C++的DirectML后端,但微软维护了适配TF 2.x的tensorflow-directml更新分支(原旧分支已废弃),可拉取对应TF 2.12的分支,按照分支内的编译指引,搭配对应版本的Bazel编译生成tensorflow.dll。注意这是非官方主分支,需关注后续维护情况。

二、OpenCL相关方案

1. TensorFlow Lite + OpenCL(官方支持)

TensorFlow Lite官方支持OpenCL后端,正确编译生成DLL的步骤:

  • 运行CMake时需开启OpenCL和动态库构建选项:
    cmake -S <TF_LITE_SOURCE_PATH> -B build -DTFLITE_ENABLE_OPENCL=ON -DBUILD_SHARED_LIBS=ON -G "Visual Studio 17 2022"
    
  • 生成Visual Studio解决方案后,不要直接编译整个解决方案,选择Release模式单独编译tensorflowlite项目,避免无关依赖编译报错。
  • 编译前需确保系统已安装对应厂商的OpenCL SDK(Intel/AMD/NVIDIA均可),且CMake能正确识别OpenCL的头文件和库路径。

2. TensorFlow C++ + OpenCL(社区非官方方案)

官方主分支无TensorFlow C++的OpenCL后端支持,社区有少量第三方补丁或分支实现,但稳定性和维护性不足,不推荐优先使用。若必须尝试,可查找适配TF 2.x的OpenCL补丁应用后编译。

三、最优选择建议

  • 优先使用TensorFlow Lite + DirectML预编译库:无需编译,官方支持,适配Windows无CUDA环境,最省心。
  • 若需定制,选择自行编译TensorFlow Lite的DirectML/OpenCL版本,严格遵循官方编译参数,避免使用过时分支。

内容的提问来源于stack exchange,提问作者Turgut

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 11:48:11