安装torch2.3.0时报错:shm.dll or one of its dependencies.
找了很久在stack overflow上找到了了报错的原因:
mkl和torch的版本对不上,一般来说torch 2.3.0 requires mkl<=2021.4.0,>=2021.1.1; platform_system == “Windows”, but you have mkl 2024.1.0 which is incompatible.
执行命令
pip install mkl==2021.4.9
安装mkl2021.4.0就可以正常使用torch了,以后安装torch时需要注意安装对应版本的mkl
扩展知识
Intel MKL(Math Kernel Library)和PyTorch是两个不同的软件组件,它们在机器学习和深度学习领域中扮演着不同的角色:
-
Intel MKL:
- MKL是Intel公司开发的一种高性能数学核心函数库,它提供了高度优化的数学运算,包括线性代数、统计、快速傅里叶变换(FFT)等。
- MKL主要用于加速数值计算,它被许多科学计算和数据分析软件所使用,如NumPy、SciPy等。
- MKL通常在后台运行,用户不需要直接与它交互,它通过优化底层数学运算来提升性能。
-
PyTorch:
- PyTorch是一个开源的机器学习库,广泛用于计算机视觉和自然语言处理等领域。
- 它提供了强大的GPU加速的张量计算能力,支持动态计算图(动态图),这使得研究人员和开发人员能够快速实验和迭代模型。
- PyTorch还包括一个高级的神经网络模块Torchvision,用于处理图像和视频,以及一个文本处理库Torchtext。
MKL与PyTorch的关系:
- PyTorch可以利用MKL来提升其性能。PyTorch的某些底层运算,特别是涉及线性代数和FFT的部分,可以调用MKL来执行,从而获得更快的计算速度。
- 如果你的系统上安装了MKL,PyTorch会自动使用它来加速计算。如果没有安装MKL,PyTorch仍然可以正常工作,但可能不会达到最佳性能。
- 用户通常不需要手动配置MKL,PyTorch会自动处理与MKL的集成。
总的来说,MKL是PyTorch和其他科学计算库的底层加速器,而PyTorch是一个高层的机器学习框架,两者共同协作,为用户提供高效的机器学习解决方案。