1.检查是否安装CUDA
CUDA(Compute Unified Device Architecture)是由 NVIDIA 推出的一种并行计算平台和编程模型,用于利用 NVIDIA GPU(Graphics Processing Unit)的强大计算能力进行高性能计算任务。CUDA 的主要特点是可以利用 GPU 上的数千个并行处理单元来加速计算,使得许多复杂的计算任务可以在较短时间内得到结果。
CUDA 在众多领域中得到了广泛应用,如机器学习、深度学习、计算机视觉、数值计算等。
NVIDIA GPU想要进行深度学习任务,那么CUDA是必须要安装的。以下是一些检查您是否已安装CUDA的方法:
在终端或命令提示符中输入以下命令:
nvcc --version
如果CUDA已正确安装,则将显示CUDA版本号和其他相关信息。
已安装的提示:
1.2.安装CUDA
通过运行以下命令来查看CUDA驱动程序的状态:
nvidia-smi
以此来查看自己可以安装的CUDA版本。
cuda下载地址:https://developer.nvidia.com/cuda-toolkit-archive
选择对应的版本进行下载!
cuda安装教程: cuda安装 (windows版)
1.3cuDNN的下载与配置
cuDNN(CUDA Deep Neural Network library):是NVIDIA打造的针对深度神经网络的加速库,是一个用于深层神经网络的GPU加速库。如果你要用GPU训练模型,cuDNN不是必须的,但是一般会采用这个加速库。
cuDNN下载地址:https://developer.nvidia.com/rdp/cudnn-download
需要注册账户登录下载!选择cuda对应的版本下载。
cuDNN 解压缩,会得到下面的文件:
解压后,有三个文件夹,把三个文件夹拷贝到cuda的安装目录下。
拷贝时看到,CUDA 的安装目录中,有和 cuDNN 解压缩后的同名文件夹,这里注意,不需要担心,直接复制即可。(以下为cuda自定义安装目录)
3.安装Anaconda
Anaconda是一个基于Python的数据科学平台,包含了众多数据科学工具和库,可以方便地进行数据分析、数据可视化、机器学习和深度学习等任务。Anaconda包含了conda包管理器和Anaconda Navigator图形化用户界面,可以方便地创建、管理和使用Python环境、软件包和工具。
官网访问速度慢。
清华镜像站下载:https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/
安装教程: 最新Anaconda3的安装配置及使用教程
4 使用conda安装深度学习所需包
深度学习框架是一种编程工具,用于实现和训练神经网络模型。以下是一些常见的深度学习框架:
TensorFlow: 由Google开发的开源深度学习框架,支持多种编程语言,包括Python、C++、Java等。TensorFlow具有高度灵活性和可扩展性,支持分布式训练和推理,并且在各种应用场景中都得到了广泛的应用。
PyTorch: 由Facebook开发的Python深度学习框架,提供动态计算图和自动求导功能,具有易用性和高效性。PyTorch在自然语言处理、计算机视觉、语音识别等领域中表现出色。
Keras: 一个高度模块化、易于使用的Python深度学习框架,支持多种后端引擎,包括TensorFlow、Theano和CNTK等。Keras具有良好的可读性和可扩展性,使得开发者可以轻松构建各种类型的神经网络模型。
扩展:
TensorFlow的API设计也比较底层,需要开发者对深度学习算法有一定的了解。
TensorFlow需要处理很多底层的技术细节,比如GPU加速、异步计算、分布式训练等,这些都需要开发者有一定的计算机科学背景和编程技能。
Keras是基于TensorFlow实现的,Keras提供的高级API是在TensorFlow低级API基础上进行封装的。因此,Keras用户可以使用TensorFlow的底层功能来更好地控制和调整模型的各个方面,而TensorFlow用户也可以通过Keras的高级API来更快地构建和迭代模型。
4.1 配置conda的国内源
为加快包的下载速度,可以配置国内源,如清华源。
找到如上文件修改为:
channels:
- defaults
show_channel_urls: true
channel_alias: http://mirrors.tuna.tsinghua.edu.cn/anaconda
default_channels:
- http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
- http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
- http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
- http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/pro
- http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
custom_channels:
conda-forge: http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
msys2: http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
bioconda: http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
menpo: http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
pytorch: http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
simpleitk: http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
4.2 使用Anaconda的conda创建虚拟环境
环境管理是指在同一台计算机上创建和维护多个相互独立的软件开发环境的过程。在不同的软件开发项目中,通常需要使用不同的软件环境,包括特定版本的编程语言、库、工具和其他依赖项。环境管理的目标是使不同的开发项目之间的软件环境相互隔离,从而避免因依赖关系而产生的冲突问题。在Python语言中,有多种工具可以用于环境管理,其中较为常用的包括conda、pipenv和virtualenv等。
conda是一个跨平台的包管理器和环境管理器,可以方便地创建、管理和分享不同的软件环境。conda支持多种语言和工具,包括Python、R、Julia等,因此可以在一个环境中同时安装多种语言和工具的软件包。
扩展: pip是Python语言中常用的包管理器,可以方便地安装、升级和卸载Python包。pip最初是由Python社区开发的一个包管理器,用于解决Python包之间的依赖问题。随着Python在科学计算、数据分析、机器学习等领域的广泛应用,pip也逐渐成为了Python生态系统中必不可少的工具之一。
创建环境:
conda create -n your_env_name python=X.X
# 或
conda create --name your_env_name python=X.X
激活环境:
conda activate your_env_name
conda常用命令: conda常用命令汇总,随时查询
4.3 版本问题
Python
目前,Windows 上的 PyTorch 仅支持 Python 3.8-3.11;不支持 Python 2.x。
如果要在 Windows 上构建,还需要带有 Visual Studio的 MSVC 工具集 和 NVTX。
原因:
PyTorch是一个基于Python的开源机器学习框架,支持GPU加速计算,因此在安装时需要一些必要的依赖项。
MSVC工具集是Microsoft Visual Studio的一个组件,提供了一组用于编译和构建C++应用程序的工具和库。在安装PyTorch时,需要使用MSVC工具集来编译C++代码并构建PyTorch的二进制文件。这是因为PyTorch的底层代码是用C++实现的,而Python只是作为一个包装器来调用这些底层代码。
NVTX是一个用于GPU性能分析的工具,它允许开发人员在应用程序中插入时间戳和事件标记,以便更好地了解GPU计算的性能瓶颈和优化机会。在安装PyTorch时,NVTX可以帮助开发人员更好地分析和优化PyTorch的GPU计算性能。
NVTX是NVIDIA提供的一组C/C++函数和宏,用于在CUDA应用程序中添加注释和区域,以帮助分析和优化程序的性能。NVTX可以与各种性能分析工具一起使用,例如NVIDIA Nsight Systems、CUDA-MEMCHECK、CUDA-GDB等。
因此,安装PyTorch需要MSVC工具集和NVTX是为了支持PyTorch的编译和GPU性能分析。
判断计算机是否安装MSVC工具集:
a. 打开“控制面板”并选择“程序”或“程序和功能”。
b. 检查列表中是否存在Microsoft Visual Studio或Microsoft Visual C++ Redistributable等相关程序。如果存在,则计算机已安装MSVC工具集或其相关组件。
要判断计算机是否安装了NVTX,可以检查计算机上是否安装了NVIDIA CUDA Toolkit。NVTX是CUDA Toolkit的一部分,因此如果计算机上已安装CUDA Toolkit,则可以使用NVTX。
pytorch对应版本安装
5 安装Pytorch
5.1 使用conda命令安装
Pytorch分为CPU版本和GPU版本。GPU版本需要要 Nvidia显卡硬件支持。GPU版本的Pytorch可以利用NVIDIA GPU强大的计算加速能力,使Pytroch的运行更为高效,尤其是可以成倍提升模型训练的速度。
Pytorch官网地址: https://pytorch.org/get-started/locally/
此时给出的句子后有 -c pytorch,这是从官网下载会比较慢,所以这里更推荐通过清华镜像源进行下载,语句删去 -c pytorch即可。(如果清华源中没有对应的版本,可以选择配置官网源,科学上网安装)
Pytorch历史版本的安装命令:https://pytorch.org/get-started/previous-versions/
我安装的cuda为11.3版本,python为3.9
因此我的安装命令为:
# CUDA 11.3
conda install pytorch==1.11.0 torchvision==0.12.0 torchaudio==0.11.0 cudatoolkit=11.3 -c pytorch
安装提示清华源没有对应的pytorch版本
5.2 使用pip指定包来源安装
清华源中没有对应的版本,使用pip指定特定包源进行安装。
使用pip指定特定包源进行安装:
在anaconda prompt命令行中对应的环境后,执行如下安装命令即可完成安装:
pip install torch==1.11.0+cu113 torchvision==0.12.0+cu113 torchaudio==0.11.0 --extra-index-url https://download.pytorch.org/whl/cu113
显示安装成功(他会自动安装关联包):
5.3 到官网下载对应包到本机后再安装(繁琐不推荐)
官网下载对应包的地址:https://download.pytorch.org/whl/torch_stable.html
下载到本地后,在对应的环境下切换到.whl包的路径,在使用以下安装命令即可:
pip install torch-1.11.0xxxxxxxx-win_amd64.whl
5.4 Windows平台可能还需要安装VC : VC_redist.x64.exe
如果安装后出现导入[WinError 126] 找不到指定的模块报错,需要安装VC_redist.x64.exe。
原因:
如果电脑没有安装Microsoft Visual Studio或Microsoft Visual C++ Redistributable等相关程序时需要安装。
在使用PyTorch时,有些PyTorch库的二进制包是使用Microsoft Visual C++编译器构建的,而这些库需要在Windows操作系统上运行。因此,在Windows平台上使用PyTorch时,需要安装Microsoft Visual C++ Redistributable的运行时库。
VC_redist.x64.exe是Microsoft Visual C++ Redistributable for Visual Studio 2015-2019的安装程序,它包含了运行使用Microsoft Visual C++编译器编译的应用程序所需的运行时组件。如果没有安装这些运行时组件,那么在运行使用Microsoft Visual C++编译器编译的应用程序时,可能会出现缺少dll文件或无法加载库等错误。
因此,安装VC_redist.x64.exe可以确保在Windows平台上使用PyTorch时,能够正常加载并使用使用Microsoft Visual C++编译器编译的库。
5.4 确认是否安装成功
为确保 PyTorch 已正确安装,我们可以通过运行示例 PyTorch 代码来验证安装。这里我们将构造一个随机初始化的张量。
输入以下代码:
import torch
x = torch.rand(5, 3)
print(x)
输出应该类似于:
tensor([[0.8355, 0.1659, 0.8832],
[0.4836, 0.1315, 0.5727],
[0.6396, 0.0573, 0.6313],
[0.9368, 0.0829, 0.0042],
[0.7551, 0.4536, 0.4494]])
此外,要检查您的 GPU 驱动程序和 CUDA 是否已启用并可被 PyTorch 访问,请运行以下命令以返回 CUDA 驱动程序是否已启用:
import torch
import sys #sys模块提供了一系列有关Python运行环境的变量和函数
print(sys.version)
print(torch.__version__)
print(torch.cuda.is_available())
输出以上类似结果说明安装成功。