首先查看电脑能支持的CUDA版本:
nvidia-smi
如图我的电脑支持的CUDA最高版本为12.2 :
当然也可以在NVIDIA控制面板查看:NVIDIA控制面板>帮助>系统信息>组件
?这两者应该是相同的,接下来进入官网下载想要的版本:
链接:CUDA Toolkit Archive | NVIDIA Developerhttps://developer.nvidia.com/cuda-toolkit-archive选择系统即版本后进行下载:
?进行安装,这里我采取的都是默认的路径(C盘容量够):
?跟着默认全选即可:
?这个路径记录一下:
?之后同意相关条框安装,完毕后重启电脑安装完成:
此时默认添加了以下的系统变量:
查看安装是否成功:
nvcc -V
如果有以下内容则安装成功
在官网下载即可:
Free Download | Anacondahttps://www.anaconda.com/download/
?开始安装:
设置安装路径:
?这里第一个选项是船舰开始菜单快捷方式,第二个是将Anaconda3加入环境变量中,没必要选(它也不推荐选),第三个则是将python3.11作为Anaconda的默认解释器,这个与Windows设置的python默认解释器是不冲突的,比如系统默认的是3.9,那么安装完成后,打开Anaconda Prompt终端下的python环境是3.11,而系统的cmd是3.9,建议勾选。
?
?安装完成:
验证一下两个python有没有打架:它们是按照上面的规则来的。
个人理解:Anaconda的作用是提供一个管理环境的平台,你可以在此平台创建许多虚拟环境,这些虚拟环境之间是相互隔离的(每个环境都有自己的python解释器),一个环境崩了不会影响其他的。其实之前我是不想装Anaconda,也不想创建这么多虚拟环境的,我想把所有的库都装一个环境里,这样我所有的项目都用这个环境不是很方便吗?环境怎么会那么容易崩?但是当一个环境里的东西太多之后,只是打开这个环境所需很长时间了,万一环境崩了直接寄掉。其实Pycharm也是可以创建虚拟环境的,但是对我来说还是Anaconda对于环境的管理更方便,不用Pycharm还有一个原因就是只有专业版才能用jupyter(当然可以破解)。
安装成功后会有以下内容:
Anaconda的终端,许多操作都要基于此展开,使用上没有区别,后者是基于PowerShell的,我习惯用前者。
很大的一个优点即可以分块执行,能很大的节约时间。Anaconda中是默认安装jupyter的,有两种打开方式,均是在Anaconda Prompt执行命令:
Ⅰ:
jupyter notebook
将输出的url用浏览器打开即可,它会按照默认路径打开文件夹,这个可以修改。
?Ⅱ:
jupyter lab
?将输出的url用浏览器打开即可,同样会按照默认路径打开文件夹,可以修改。
我比较喜欢用这个, 界面好看。
在Anaconda Prompt中,创建虚拟环境,在Anaconda Prompt下执行以下命令:
conda create -n My_venv1 python=3.9
?My_venv1是虚拟环境的名字,起自己喜欢的就行,后面python=3.9是设置此环境的解释器版本。
但是现在只是创建完成,jupyter中并没有相关的环境:
将此环境添加到jupyter的内核中:
python -m ipykernel install --name My_venv1
?此时刷新一下,就可以在jupyter中选择相关的环境了:
之后进入此环境:
conda activate My_venv1
?然后就可以对此环境进行第三方库的安装了。
先查看下现在有的环境:
conda env list
导入环境的命令,注意这里需替换为个人的目录,目录是存放虚拟环境的路径:
conda config --append envs_dirs E:\Anaconda_envs
?导入成功:
将此环境添加到jupyter的内核中:
python -m ipykernel install --name pytorch_pz
至此导入完毕。?
进入jupyter lab,创建项目,将内核换为我们创建的My_venv1,执行以下代码:
import platform #导入platform模块
print('python版本:', platform.python_version()) #打印python版本
print('python版本:', platform.python_version_tuple()) #打印python版本
print('python实现方式:', platform.python_implementation()) #打印python实现方式
print('python版本分支:', platform.python_branch()) #打印python版本分支
print('python版本修订:', platform.python_revision()) #打印python版本修订
print('python编译信息:', platform.python_build()) #打印python编译信息
print('python编译器:', platform.python_compiler()) #打印python编译器
会发现与我们的版本是不一致的,我们安装的的虚拟环境?My_venv1的python版本是3.9,但这里输出的是anaconda默认的python版本3.11:
?对于这个问题,我们需要修改每个虚拟环境下的kernel.json文件。
首先,查看jupyter的kernels:
jupyter kernelspec list
拿My_venv1举例,? 进入对应的目录下:
打开相应的kernel.json文件,修改python路径为anaconda下对应虚拟环境的python解释器路径:
修改为:
之后进入My_venv1虚拟环境,?安装ipykernel库(觉得慢可以换源,这里换了):
pip install ipykernel -i https://pypi.tuna.tsinghua.edu.cn/simple
此时重新进入jupyter,发现问题解决:
首先进入pytorch官网(可能进不去,多试试),按照自己的版本选择,获得安装pytorch的命令:
这里虽然我选的是CUDA12.1,与我安装的CUDA12.2不对应,但其实是可以的,因为CUDA是向下兼容的。?
这里我推荐使用conda安装,其实单论安装来说conda与pip效果差不多,但是注意千万不要混用,这个环境对于库的安装我全用的conda(额除了上面的ipykernel)。具体可以看下面这个文章:
请问大神们,pip install 和conda install有什么区别吗? - 知乎 (zhihu.com)https://www.zhihu.com/question/395145313然后对conda进行换源,换为国内的清华源,进入My_venv1环境下执行如下命令:
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --set show_channel_urls yes
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
?接下来执行pytorch官网获得的安装命令:
conda install pytorch torchvision torchaudio pytorch-cuda=12.1 -c pytorch -c nvidia
?完毕后进行验证,在jupyter中执行以下代码:
import torch # 如果pytorch安装成功即可导入
print(torch.cuda.is_available()) # 查看CUDA是否可用
print(torch.cuda.device_count()) # 查看可用的CUDA数量
print(torch.version.cuda) # 查看CUDA的版本号
如果有以下输出,则证明安装成功:
至此安装完成,可以开始进行你的工作啦!
这个环境确实难装,博主研究了好半天,当然也借着这个机会把很多东西理清楚了,希望这篇文章能帮到阅读的你。