本文已参加「新人创作礼」活动,一起敞开创作之路。
@[toc]
在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 -V
或nvcc --version
或cat /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
装置cudnn=7.6.5版别(cuda在下面pytorch装置中装置了)
conda install cudnn=7.6.5
装置pytorch(这个能够进pytorch官网install部分找到指令)
conda install pytorch torchvision torchaudio cudatoolkit=10.1
装置tensorflow。
经测试,不指定版别号时装置的是1.14版别,此时要自己再装置对应gpu版别。装置2.x版别时,需求指定详细版别,如果装不成功,可能是版别问题(即python、cuda、cudnn、tensorflow之间的版别问题)或许网络问题。
conda install tensorflow=2.1
别的:
- 装置2.x版别时,好像会自动装置GPU版别(有可能是我装了1.x版别gpu的所以自动更新原因,不考究)。详细包是
tensorflow-gpu 2.2.0-h0d30ee6_0 --> 2.1.0-h0d30ee6_0
- python3.6版别适用大都。
测试:
预期成果便是:都会显示true
# 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'))