记录lib库报错的第n天
1、cuda driver和cuda runner 是两个不同的API,driver是它的驱动程序,一般需要保证runner版本和pytorch版本匹配,nvidia-smi指令找到的是指的是可驱动的最高版本,关键词(驱动,运行时)
目前,我明明卸载了cuda,(实在是奔溃了),但是输入,nvcc-V,找不到但是
>>> import torch
>>> print(torch.version.cuda)
11.1
所以我的cuda到底是什么版本的呢??(奔溃,为什么这个能检测出来)
>>> import torch
>>> print(torch.__version__)
1.10.0+cu111
>>> exit()
(wekws) unix_initiate@localhost:~/wekws/wekws/bin$ conda list pytorch
# packages in environment at /home/unix_initiate/miniconda3/envs/wekws:
#
# Name Version Build Channel
libopenvino-pytorch-frontend 2023.3.0 h59595ed_1 https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
pytorch 2.2.0 py3.8_cuda12.1_cudnn8.9.2_0 pytorch
pytorch-cuda 12.1 ha16c6d3_5 pytorch
pytorch-mutex 1.0 cuda pytorch
终于解决了啊啊啊啊啊啊啊!!!
没有人懂这个报错的含金量
usage: score.py [-h] --config CONFIG --test_data TEST_DATA [--gpu GPU] --checkpoint CHECKPOINT [--batch_size BATCH_SIZE] [--num_workers NUM_WORKERS]
[--pin_memory] [--prefetch PREFETCH] --score_file SCORE_FILE [--jit_model]
score.py: error: the following arguments are required: --config, --test_data, --checkpoint, --score_file
我要把它裱起来挂墙上!!()
原因是之前跟着很多文章瞎搞,东搞搞西搞搞,装了两个pytorch,
# Name Version Build Channel
libopenvino-pytorch-frontend 2023.3.0 h59595ed_1 https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
pytorch 2.2.0 py3.8_cuda12.1_cudnn8.9.2_0 pytorch
pytorch-cuda 12.1 ha16c6d3_5 pytorch
pytorch-mutex 1.0 cuda pytorch
(wekws) unix_initiate@localhost:~/wekws/wekws/bin$ pip list | grep torch
torch 1.10.0+cu111
torchaudio 0.10.0+rocm4.1
torchvision 0.11.0+cu111
而且很不幸的是,torchaudio还是rocm的,导致无法正确连接cuda加速,然后他又是默认选择pip下的这个pytorch,导致一直奇奇怪怪的报错,我差点就把整个系统卸载重装了,
一些思考(pip安装的是覆盖所有变量的吗,我记得这个pip还是很久之前装的)
答案:
在使用 pip 安装包时,默认情况下,它会将包安装到当前正在使用的 Python 解释器环境中。如果您在激活的虚拟环境下使用 pip 安装包,那么这些包将会被安装到当前激活的虚拟环境中,而不会影响其他虚拟环境或全局环境。
如果您在不同的虚拟环境下安装相同的包,每个虚拟环境都会有自己独立的包安装。这意味着在一个虚拟环境中安装的包不会覆盖其他虚拟环境中已经安装的同名包,每个虚拟环境都是相互隔离的。
总结而言,通过 pip 安装的包不会覆盖其他虚拟环境中已经存在的同名包,每个虚拟环境都有自己独立的包安装。这种隔离性使得不同的项目可以在各自的虚拟环境中管理不同版本的包,避免了包之间的冲突。
因此,当您在不同的虚拟环境中使用 pip 安装包时,它们不会相互覆盖,而是分别存在于各自的虚拟环境中。这有助于保持项目之间的独立性和隔离性。
(碎碎念:但是好像是会默认调用低版本的?)
总结一下:查看pytorch版本的几种方式
conda list pytorch;(如果是pip下载,就是pip list,尽量规范语言,防止会有冲突)
python输出(如果和上面输出不一致就要小心了,你很有可能下载了多个不同版本);
2、gcc网站:GCC Releases - GNU Project
cuda toolkit:1. CUDA 12.4 Release Notes — Release Notes 12.4 documentation
pytorch:https://pytorch.org/(建议pytorch直接安装全家桶,自己单个安装很容易有许多奇奇怪怪的问题,说多了都是泪)