gpt4 book ai didi

python - conda 、凯拉斯、cuDNN : different versions showing

转载 作者:行者123 更新时间:2023-12-04 15:36:11 26 4
gpt4 key购买 nike

我正在使用 Anaconda(在 Ubuntu 18.04 中)并且我有一个安装了 Keras(和 tensorflow-gpu)的环境。以下是不同的版本:

  • 凯拉斯:2.2.4
  • Tensorflow-GPU:1.15.0
  • CuDNN:7.6.5 适用于 Cuda10.0.0
  • CudaToolKit:10.0.130

版本是由 Conda 选择的,但我想知道为什么当 nvidia-smi 告诉我我的 cuda 应该是(或者是?)10.1 时它下载了 10.0:

NVIDIA-SMI 435.21 Driver Version: 435.21 CUDA Version: 10.1

但是,有趣的是,当我执行 nvcc --version 时:

Cuda compilation tools, release 9.1, V9.1.85

所以我的问题来了:我使用的是什么版本的 Cuda?我应该使用哪个版本的 Cuda? Anaconda 是否按环境处理 Cuda?

PS:(这不是我的问题,而是我为什么要问)

我问这个是因为我遇到了这个问题:

tensorflow/stream_executor/cuda/cuda_dnn.cc:329] Could not create cudnn handle: CUDNN_STATUS_INTERNAL_ERROR

我寻找了一个解决方案 ( could not create cudnn handle: CUDNN_STATUS_INTERNAL_ERROR ) 但我尝试的答案都没有奏效(删除文件、在 sudo 中运行等)所以我认为这是一个兼容性问题

最佳答案

注意:虽然我不认为这个答案是解决方案,但它让我可以继续我的项目,所以目前它已经足够好了。

  1. 重新安装 Cuda 10.1(在我的情况下不是 10.2,因为 Steam 驱动程序 440 存在一些问题)(检查您的 nvidia 驱动程序是什么版本,并确保为该版本安装正确的 Cuda)
  2. 按照安装后:https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html#post-installation-actions
  3. 使用 whereis cuda 查找系统上是否还有其他版本(在我的例子中,我有 cuda-dev-9.1,这解释了为什么 nvcc -V 显示那个版本)
  4. 删除所有旧版本
  5. 通常,nvcc -V 和 nvidia-smi 应该显示相同的 Cuda 版本
  6. 如果需要重新安装 cudnn

现在,这并不能修复错误:

Could not create cudnn handle: CUDNN_STATUS_INTERNAL_ERROR

一个有效的解决方案(但仍然不是很好)是在你的 python 文件之上添加以下代码(我使用 Keras,但它也可以单独使用 TensorFlow):

from keras.backend.tensorflow_backend import set_session
import tensorflow as tf
config = tf.ConfigProto()
config.gpu_options.allow_growth = True
sess = tf.Session(config=config)
set_session(sess)

而且它(显然)有效!

非常感谢 Berkay 的支持!

(从技术上讲,尝试在添加另一个之前删除旧版本,但它也有效)

关于python - conda 、凯拉斯、cuDNN : different versions showing,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59687337/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com