1. 在虚拟环境中安装GPU版本torch
1.1 需要在win系统下安装匹配版本的CUDA toolkit(toolkit就是指工具包)和 cuDNN(用于配置深度学习使用)
需要查看显卡驱动最高支持的版本,两种方法:
1.桌面右键NVIDIA控制面板
2.cmd nvidia-smi
如图所示CUDA版本最高到12.0,向下兼容。
(但是要注意torch版本同样要与CUDA和cudnn兼容,目前2023.7torch兼容到了CUDA11.8版本)
CUDA
官网链接:CUDA Toolkit Archive
这里选择win11,11.8版本
检验CUDA是否安装成功
cmd nvcc -V
cudnn
官网链接:cuDNN Archive
这里选择与CUDA 11.8 匹配的最新版本
CUDA和cudnn详细安装步骤见CUDA与cuDNN安装教程(超详细)
1.2 在虚拟环境中安装GPU的torch,torchvision,torchaudio
方法一:安装包下载到本地,离线安装到虚拟环境中
方法二:(抄来的,未测试)
pip3 install torch==2.0.0+cu118 torchvision==0.15.0+cu118 torchaudio==2.0.0 -f https://download.pytorch.org/whl/torch_stable.html
只介绍方法一
step1:
首先创建一个虚拟环境,创建时选择对应的python版本
关于conda相关指令,见:Conda常用命令记录与.condarc
step2:
安装包地址:pytorch.org
torch示例:whl与tar,gz区别?
cu118:CUDA 11.8
torch-2.0.1:torch版本
cp311:python3.11
win:windows
下载好的三个文件如下:(下载的是2.0.0版本的torch)
step3:
进入到虚拟环境
cd 到文件所在目录
我的这三个文件所在目录是D:\Download_mydata\Edge_download
如下图一个一个pip install 就可以
测试:
import torch
if torch.cuda.is_available():
device = torch.device("cuda")
print("CUDA is available.")
print("Device:", torch.cuda.get_device_name())
else:
device = torch.device("cpu")
print("CUDA is not available. Using CPU.")
step4:
给新环境安装jupyter notebook和ipykernel,这里jupyter只是一个交互界面,ipykernel是内核控制(大概是这个意思,详见IPython与Jupyter Notebook)
conda install jupyter
conda install ipykernel
在环境里执行下面的代码来手动添加kernel进jupyter notebook
python -m ipykernel install --user --name [虚拟环境名] --display-name "kernel命名"
例
python -m ipykernel install --user --name py3.11 --display-name "py311kernel"
之后再jupyter里面就有了
step5: 可有可无
新环境下创建Jupyter Notebook的桌面快捷方式
就像这样,快速启动该环境下的jupyter notebook
观察之前的一个已经创建好快捷方式的环境”env_ML2“和base环境快捷方式的目标
复制到记事本对比
区别在于后三个,分别指向了虚拟环境文件夹、文件夹中的python、文件夹中的jupyter notebook
新建一个快捷方式,将目标改为如下:
注意没有回车,只有空格
全部换成D:\Code\Anaconda_files\py3.11\Scripts\jupyter-notebook.exe达到同样效果,不理解?
但是不知道step5意义是什么?
补充
在更新windows版本后,出现了cuda无法使用的问题,输入以下代码无法调用gpu
import torch
if torch.cuda.is_available():
device = torch.device("cuda")
print("CUDA is available.")
print("Device:", torch.cuda.get_device_name())
else:
device = torch.device("cpu")
print("CUDA is not available. Using CPU.")
解决方法:
手动卸载torch-gpu三件套,重新安装。
1.从D:\Code\Anaconda_files\py3.11\Lib\site-packages中找到三个文件,连带包含dist-info的文件夹全部删除。(这里dist-info好像在虚拟环境安装包的时候都会有)
Python package dist-info 是 Python 包管理系统中一种用于存储元数据的目录结构。它在 Python 3.3 及以后的版本中作为安装 Python 包的一种标准方式被引入,用于替代旧的 .egg-info 目录。
dist-info 目录通常位于 Python 包的安装目录下,并包含一个名为 METADATA 的文件和一个名为 RECORD 的可选文件。其中,METADATA 文件包含了与该 Python 包相关的元数据信息,例如包名、版本号、作者、许可证等等。RECORD 文件记录了该包中每个文件的路径和校验和,以便在卸载或升级包时进行文件的清理或者更新。
Python 包的安装方式可以分为两种:系统范围安装和虚拟环境安装。在系统范围安装中,Python 包将会被安装到 Python 解释器的全局环境中,并且 dist-info 目录会被安装在 Python 的 site-packages 目录下。而在虚拟环境中,Python 包会被安装到虚拟环境对应的目录中,并且 dist-info 目录也会相应地被安装在虚拟环境的 site-packages 目录下。
总之,dist-info 目录是 Python 包管理系统中的一个标准化的目录结构,用于存储 Python 包的元数据信息和记录文件清单,它是 Python 包管理的一个重要组成部分。
2.重新上面的操作,进行安装。