我已经安装了 CUDA 工具包,为什么 conda 又在安装 CUDA?

I already have a CUDA toolkit installed, why is conda installing CUDA again?

我在ubuntu

安装了cuda 11.2版和CUDNN 8.1版
cnvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2020 NVIDIA Corporation
Built on Mon_Nov_30_19:08:53_PST_2020
Cuda compilation tools, release 11.2, V11.2.67
Build cuda_11.2.r11.2/compiler.29373293_0

我在conda环境下安装tensorflow-gpu时,又在安装cuda和cudnn

  1. Why is it happening?

Conda 期望管理您安装的任何软件包它们的所有依赖项。这样做的目的是,您实际上永远不必为他们在自己的渠道中分发的任何软件包手动安装任何其他东西。如果 GPU 加速包需要 CUDA 运行时,conda 将尝试 select 并为它已 select 编辑安装的 Python 包版本安装正确版本的 CUDA 运行时。

  1. How to stop conda from installing cuda and cudnn again?

你可能不能,或者至少不能不安装一个非功能性的 Tensorflow。但请参阅 ——conda 安装的只是必要的、正确版本化的 CUDA 运行时组件,以使他们的 GPU 加速包工作。他们不t/can安装的只是硬件的 GPU 驱动程序。

  1. Can I just use cuda and cudnn that I have already installed?

你说你安装了 CUDA 11.2。如果查看 conda 输出,您会发现它想要安装 CUDA 10.2 运行时。正如您现在 ,版本控制对 Tensorflow 至关重要,需要 CUDA 10.2 的 Tensorflow 构建不适用于 CUDA 11.2。因此,即使您要阻止 conda 执行依赖项安装,也会存在版本不匹配的情况,因此无法正常工作。

  1. If yes, how?

见上文。