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

如何重新安装从源码编译生成的TensorFlow .whl文件?

我来帮你梳理两种场景下的具体操作步骤,都是亲测靠谱的方案:

方案一:降级编译主机到CUDA 9.0,重新编译适配目标主机的TensorFlow

这种方案适合不想改动目标主机环境的情况,编译出的包能直接在CUDA 9.0的机器上运行:

  • 先清理现有CUDA 9.1环境
    • 打开Windows控制面板→程序和功能,找到所有带「CUDA Toolkit 9.1」的条目,挨个卸载,包括配套的NVIDIA驱动、单独安装的cuDNN也要一起删掉
    • 手动清理残留:删掉C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.1文件夹,再去系统环境变量里移除CUDA_PATH、CUDA_PATH_V9_1这些相关条目
  • 安装CUDA 9.0+适配的cuDNN
    • 下载对应Windows版本的CUDA Toolkit 9.0,安装选「自定义」模式,只勾选你需要的组件(比如CUDA Runtime、开发工具这些),路径默认就行
    • 下载TensorFlow r1.6.0适配的cuDNN版本(推荐cuDNN 7.0.5),解压后把bin、include、lib里的文件分别复制到CUDA 9.0目录下的同名文件夹里(比如C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\bin)
    • 配置环境变量:添加CUDA_PATH=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0,再把%CUDA_PATH%\bin、%CUDA_PATH%\libnvvp加到系统Path里
  • 重新编译TensorFlow r1.6.0
    • 进入之前克隆的r1.6.0源码目录,先清掉旧编译缓存:bazel clean
    • 重新配置编译参数:运行./configure,遇到CUDA版本提示时输入9.0,cuDNN版本输入对应的7.0.5,其他参数(比如Python路径、GPU架构)按你之前的配置来就行
    • 编译生成.whl包:执行bazel build --config=opt --config=cuda //tensorflow/tools/pip_package:build_pip_package
    • 导出pip包:bazel-bin\tensorflow\tools\pip_package\build_pip_package D:\tf_output(这里D:\tf_output是你自己指定的输出文件夹)
  • 部署到目标主机
    • 把生成的.whl文件复制到CUDA 9.0的目标机器上
    • 先卸载目标机上旧的TensorFlow:pip uninstall tensorflow-gpu -y
    • 安装新编译的包:pip install D:\tf_output\tensorflow_gpu-1.6.0-cpXX-cpXXm-win_amd64.whl(XX替换成你的Python版本,比如36对应Python3.6)
方案二:升级目标主机到CUDA 9.1,直接用现有编译好的.whl

如果目标主机允许升级CUDA,这个方案更省时间,不用重新编译:

  • 卸载目标主机的CUDA 9.0
    • 同样通过控制面板卸载所有CUDA 9.0相关组件,清理残留文件夹和环境变量
  • 安装CUDA 9.1+适配的cuDNN
    • 下载对应Windows版本的CUDA Toolkit 9.1,自定义安装组件
    • 下载适配CUDA 9.1的cuDNN(推荐cuDNN 7.1.4),解压后复制文件到CUDA 9.1的对应目录
    • 配置环境变量:把CUDA_PATH设为v9.1的路径,对应的bin目录加到系统Path
  • 安装现有.whl包
    • 卸载目标机上旧的TensorFlow:pip uninstall tensorflow-gpu -y
    • 安装你之前用CUDA9.1编译好的.whl文件:pip install 你的whl文件完整路径
额外注意事项
  • 不管选哪种方案,编译主机和目标主机的Python版本必须一致,不然.whl包会安装失败
  • 编译时要注意GPU架构参数,比如你的新GPU如果是Pascal架构(比如1080Ti),配置时要输入6.1,如果是更新的架构,r1.6.0可能支持有限,要提前确认适配性
  • 安装完成后可以跑个简单代码验证:
    import tensorflow as tf
    with tf.Session() as sess:
        print(tf.test.is_gpu_available())
    
    如果输出True,说明环境适配成功了

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 11:51:55