文章目录
- 1 先检查创建的环境
- 2 创建虚拟环境
- 3 最终结果
1 先检查创建的环境
选择GPU版本
检查python版本
2 创建虚拟环境
虚拟环境的创建
python3 -m venv env_name # (python3 -m 路径 环境名)
激活虚拟环境
source env_name/bin/activate
这里注意,同名文件可能会被覆盖掉【主要是它自带的data和work】
我刚开始进来,把他的data给删了,后边自己建了个data来放数据,结果再进去的时候,我自己建的data就被覆盖了,数据就没了,但是你直接把数据放在他的data目录下是没事儿的。
重要先说明
: cuad driver和cuda runtime之间的关系
不同 CUDA 版本支持的计算能力列表
更多看这里 https://zh.wikipedia.org/zh-cn/CUDA
查看cuda版本的命令【这里查看的就是driver版本】: nvidia-smi
pytorch官网:https://pytorch.org/
在激活的虚拟环境中,执行对应的pytorch安装指令【这里是runtime】:
如:其中 cu118 表示 CUDA 11.8
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
然后就几长时间的安装【我等了快四个小时,下载速度就是几百kb/s】
安装结束之后,理论上应该就可以使用了。
但在我的jupyter情况下,是找不到我创建的虚拟环境内核的,不知道你们是不是也是这样。
然后切换为vscode模式,在该模式下,就可以选择我们创建的虚拟环境。【没有的话,重启项目再试试】
并且我也验证了,似乎到这里都没问题!
然而,当我开始跑模型的时候,他给我报了torchvision版本和我的torch版本不匹配,我就比较郁闷了,按理来说,执行上面的指令应该是会给我们自动安装最新的兼容版本。【确实是最新的2.4和0.19,但是就是不兼容,跑不了】
后面就降低版本降为2.1和0.16,就可以了。【为什么降版本,他好像给出的错误信息中有提示,就是尝试着去试,又是将近4个小时的下载】版本搭配看这里:https://pytorch.org/get-started/previous-versions/
注意torch和 torchvision 版本和支持的 Python 版本:
早期版本
torch与torchaudio对应关系
https://pytorch.org/audio/main/installation.html#compatibility-matrix
同时也存在numpy库和pytorch环境不搭的情况。
上面的解决之后,再跑又遇到了numpy库不兼容,显示不可用,然后就继续降版本。
会报这种错误:RuntimeError: Numpy is not available【但是环境中的确是有numpy库的】
好的是有提示:【大意:就是让你降低numpy的版本到他可以支持的,或者就是提升你的model版本,也就是torch版本】
A module that was compiled using NumPy 1.x cannot be run in
NumPy 2.0.1 as it may crash. To support both 1.x and 2.x
versions of NumPy, modules must be compiled with NumPy 2.0.
Some module may need to rebuild instead e.g. with ‘pybind11>=2.12’.
If you are a user of the module, the easiest solution will be to
downgrade to ‘numpy<2’ or try to upgrade the affected module.
We expect that some modules will need time to support NumPy 2.
这里我试了1.6.2,试了1.9最后都安装失败,我也不知道为啥,然后就安装了最接近2版本的的1.26.4这个是OK的。
可以通过如下指令去查看版本
import torch
import numpy
import torchvision
print(torch.__version__)
print(numpy.__version__)
print(torchvision.__version__)
cu121是cuda12.1版本
3 最终结果
他喵的,搞了两天,最后我还是失败了,最后给我说一个,没有可驱动的引擎。呵呵~【我怀疑是我当日的算力卡用完了】
不过对于不使用他的GPU环境,而是使用cpu的话,是可以正常运行的。【但是他跑的速度,还没我自己的cpu跑的快】