嗨,大家好!你是否曾经想要深入学习机器学习和人工智能,但却在安装PyTorch和CUDA方面感到困惑?别担心,我将带你一步一步完成这个过程。
在过去的几年里,PyTorch已经成为了深度学习领域的瑰宝。而CUDA,NVIDIA的并行计算平台,可以极大地提高深度学习应用程序的性能。但是,要在你的计算机上正确安装PyTorch和CUDA 11.0并不是一件容易的事情。
本教程将向你展示如何使用Miniconda来安装PyTorch,而不是使用pip或其他包管理器。这样做不仅更容易,而且可以避免潜在的依赖关系问题。接下来,我们将一步一步地指导你完成这个过程。
步骤 0:安装Miniconda
在开始之前,你需要安装Miniconda。Miniconda是Anaconda的轻量级版本,它将根据需要下载所需的软件包,因此不会占用太多的存储空间。你可以在这里找到Miniconda的安装指南。
步骤 1:安装依赖项
首先,我们需要安装PyTorch的所有依赖项,包括Python中的数值计算库numpy,以及一些构建工具如setuptools和cmake。在终端中运行以下命令:
conda install numpy ninja pyyaml mkl mkl-include setuptools cmake cffi typing_extensions future six requests
如果你在Linux上运行,还需要为CUDA 11.0添加LAPACK支持。在这种情况下,运行以下命令来安装MAGMA(CUDA 11.0版本):
conda install -c pytorch magma-cuda110
步骤 2:下载PyTorch源代码
接下来,我们需要从GitHub上下载最新的PyTorch源代码。运行以下命令来克隆PyTorch的GitHub仓库,并使用--recursive
参数来下载子模块:
git clone --recursive https://github.com/pytorch/pytorch
然后进入pytorch目录,这将成为我们的工作目录:
cd pytorch
如果你之前已经克隆过PyTorch的源代码,可以运行以下命令来更新它:
git submodule sync
git submodule update --init --recursive
步骤 3:编译和安装PyTorch
现在,我们已经下载了PyTorch的源代码并且在你的计算机上安装了CUDA 11.0,接下来我们将编译并安装PyTorch。
如果你使用的是Linux,比如Ubuntu 20.04或18.04,运行以下命令:
export CMAKE_PREFIX_PATH=${CONDA_PREFIX:-"$(dirname $(which conda))/../"}
python setup.py install
如果你使用的是macOS,运行以下命令:
export CMAKE_PREFIX_PATH=${CONDA_PREFIX:-"$(dirname $(which conda))/../"}
MACOSX_DEPLOYMENT_TARGET=11.0 CC=clang CXX=clang++ python setup.py install
[可选] 更改编译选项
因为我们使用了cmake来编译PyTorch,你可以选择性地更改cmake变量的配置。以下代码片段可用于更改CuDNN或BLAS的预检测目录,以满足你的需求。
对于Linux:
export CMAKE_PREFIX_PATH=${CONDA_PREFIX:-"$(dirname $(which conda))/../"}
python setup.py build --cmake-only
ccmake build # 或者 cmake-gui build
对于macOS:
export CMAKE_PREFIX_PATH=${CONDA_PREFIX:-"$(dirname $(which conda))/../"}
MACOSX_DEPLOYMENT_TARGET=10.9 CC=clang CXX=clang++ python setup.py build --cmake-only
ccmake build # 或者 cmake-gui build
总结
通过本教程,你已经学会了如何在你的计算机上安装PyTorch以及CUDA 11.0。这些工具将为你深入学习和应用机器学习和深度学习提供强大的支持。希望你能够享受到使用PyTorch和CUDA的乐趣!
参考链接:PyTorch官方GitHub
关于PyTorch
PyTorch是一个开源的深度学习平台,具有可扩展性和灵活性,适用于部署测试、强大和支持。它通过一个快速的自动梯度组件,支持快速、模块化的实验和类似Python的执行。
PyTorch具有4个主要特点:
- PyTorch已经为生产准备好:TorchScript可以在急切模式和图模式之间无缝切换,TorchServe可以加速生产操作。
- PyTorch支持分布式训练:torch.collaborative接口增强了有效的分布式训练,在研究和开发中最大限度地提高了效率。
- PyTorch拥有强大的生态系统:它有一个广泛的工具和库生态系统,支持计算机视觉和自然语言处理等应用。
- PyTorch拥有原生的云支持:在主要云提供商上以零摩擦的开发和快速扩展而闻名。
关于CUDA
CUDA是
一种通用的并行编程和计算范式,为NVIDIA的图形处理单元(GPU)构建。通过CUDA,开发人员可以使用GPU工具极大地提高计算程序的效率。
在GPU加速的程序中,函数的顺序部分在CPU上运行,以获得优化的单线程性能,而计算密集部分(如PyTorch代码)通过CUDA在成千上万个GPU核心上并行运行。开发人员可以使用CUDA,通过使用一些基本的关键字和扩展,以C、C++、Python等常见语言编写代码,并实现并行性。
NVIDIA的CUDA工具包包括构建加速GPU应用程序所需的一切,包括GPU加速模块、解析器、编程工具和CUDA运行时。
希望这篇教程对你有所帮助,让你能够轻松安装PyTorch和CUDA 11.0,从而更轻松地进入深度学习的世界!