当前位置:   article > 正文

转载:在anaconda环境中使用conda命令安装cuda、cudnn、tensorflow(-gpu)、pytorch_anaconda安装不了cuda9.1

anaconda安装不了cuda9.1

————————————————
版权声明:本文为CSDN博主「hellopbc」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_37774098/article/details/109895048

在anaconda环境中使用conda命令安装cuda、cudnn、tensorflow(-gpu)、pytorch

结论

  • 使用conda虚拟环境
  • 使用conda命令安装
  • 最重要的是版本关系(python、cuda、cudnn、pytor或者tensorflow框架)的对应。

参考资料

tensorflow2.x安装

理清GPU、CUDA、CUDA Toolkit、cuDNN关系以及下载安装精华

nvidia-smi 和 nvcc 结果的版本为何不一致

解释

nvcc(Nvidia CUDA Compiler ):cuda编译器,下载了cuda就包括了nvcc。

cudatoolkit:工具平台

cudnn:工具包

相关命令

查看cudnn版本: cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2(查看cudnn版本)

查看原系统的显卡驱动的方法是在shell中输入: nvidia-smi(原系统安装有cuda toolkit才会有该命令)。可以看到显卡驱动版本及cuda版本。

查看CUDA版本命令:nvcc -Vnvcc --versioncat /usr/local/cuda/version.txt

使用conda虚拟环境可以忽略这个cudnn版本查看

版本关系

显卡驱动:NVIDIA-SMI 450.51.05 Driver Version: 450.51.05

cuda版本(cudaToolkit):CUDA Version: 11.0

在同一台机器上(即同一个CUDA Driver版本)可以安装多个版本的CUDA(如CUDA 9.0、CUDA 10.1……只需要满足当前CUDA Driver版本支持安装的CUDA版本即可

同一个CUDA 版本支持安装多个版本的cuDNN

cuda(cudaToolkit)与NVIDIA显卡驱动的版本关系

tensorflow最新版本的安装要求

tensorflow-gpu与cuda、cudnn的版本关系

tensorflow和python的版本关系

cudnn与cuda的版本关系

版本选择总结:

  • 显卡版本一定不能低,而且支持向后兼容,因此越高越好。nvidia-smi查看Driver Version

  • 对于pytorch:

    • 可以进官网的install部分直接确定
  • 对于tensorflow:

    • 首先确定tensorflow和python的版本(python3.6支持多数版本,是个不错的选择)

    • 如果需要gpu支持,查看tensorflow对应的tensorflow-gpu所需要的cuda和cudnn版本

实验

创建环境cuda9

conda create -n cuda9 python=3.6

  
  
  • 1

安装cudnn=7.6.5版本(cuda在下面pytorch安装中安装了)

conda install cudnn=7.6.5

  
  
  • 1

安装pytorch(这个可以进pytorch官网install部分找到命令)

conda install pytorch torchvision torchaudio cudatoolkit=10.1

  
  
  • 1

安装tensorflow。

经测试,不指定版本号时安装的是1.14版本,此时要自己再安装对应gpu版本。安装2.x版本时,需要指定具体版本,如果装不成功,可能是版本问题(即python、cuda、cudnn、tensorflow之间的版本问题)或者网络问题。

conda install tensorflow=2.1

  
  
  • 1

另外:

  • 安装2.x版本时,好像会自动安装GPU版本(有可能是我装了1.x版本gpu的所以自动更新原因,不考究)。具体包是
 tensorflow-gpu                           2.2.0-h0d30ee6_0 --> 2.1.0-h0d30ee6_0

  
  
  • 1
  • python3.6版本适用多数。

测试:

预期结果就是:都会显示true

# In[]:
import torch
# cpu
print(torch.__version__)
# gpu
print(torch.cuda.is_available())
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

# In[]:
import tensorflow as tf
# cpu
print(tf.version)
# v1 to test gpu
print(tf.test.is_gpu_available())
# v2 to test gpu
print(tf.config.list_physical_devices(‘GPU’))

    # In[]:
    import torch
    # cpu
    print(torch.__version__)
    # gpu
    print(torch.cuda.is_available())
    
    # In[]:
    import tensorflow as tf
    # cpu
    print(tf.__version__)
    # v1 to test gpu
    print(tf.test.is_gpu_available())
    # v2 to test gpu
    print(tf.config.list_physical_devices('GPU'))
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/398038
    推荐阅读
    相关标签
      

    闽ICP备14008679号