我尝试在 Windows 10 系统上使用 Anaconda 安装 Pytorch,但每次尝试都会遇到各种错误。我从
https://anaconda.org/peterjc123/pytorch/files
下载了该软件包的 Windows 兼容 tar 文件,并且显然能够使用 conda install filename.tar.bz2 安装该软件包。显然,我的意思是 Pytorch 显示在我为使用 Pytorch 设置的环境中可用的软件包列表中。但是当我去加载包时,我收到此错误:
>>> import torch
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Users\conner\Anaconda3\envs\pytorch\lib\site-packages\torch\__init__.py", line 76, in <module>
from torch._C import *
ImportError: DLL load failed: The specified module could not be found.
我还尝试使用
conda update --all
更新 Anaconda,这引发了相关警告:
(pytorch) C:\Users\User 1\Downloads>conda update --all
Fetching package metadata .............
Solving package specifications:
Warning: ['Dependency missing in current win-64 channels: \n - pytorch -> mkl >=2018'], skipping
Fetching package metadata .............
Solving package specifications:
Warning: ['Dependency missing in current win-64 channels: \n - pytorch -> mkl >=2018'], skipping
NoPackagesFoundError: Dependency missing in current win-64 channels:
- pytorch -> mkl >=2018
mkl
包也显示在连接到 pytorch
环境的包列表中。我将该错误解释为没有足够新的 mkl
版本。那是正确的吗?还有其他见解或建议吗?
我建议您创建一个新的 conda 环境并尝试以这种方式重新安装 PyTorch:
要通过 Anaconda 安装 PyTorch,并且没有支持 CUDA 的 [LINK] 系统或不需要 CUDA,请使用以下 conda 命令。
conda install pytorch-cpu torchvision-cpu -c pytorch
要通过 Anaconda 安装 PyTorch,并且您使用的是 CUDA 9.0,请使用以下 conda 命令:
conda install pytorch torchvision -c pytorch
CUDA 8.x
conda install pytorch torchvision cuda80 -c pytorch
CUDA 10.0
conda install pytorch torchvision cuda100 -c pytorch
#Inno
Anaconda
那么请尝试以下操作:conda install pytorch -c pytorch
pip3 install torchvision
根据我的经验,原因是Pytorch无法调用您系统推荐的CUDA dll文件,因此您必须使用准确的CUDA版本的dll来安装Pytorch。
要通过 Anaconda 安装 Pytorch 并正常工作,您应该适当选择适合您的硬件的 CUDA 版本。 例如,
# CUDA 9.0
conda install pytorch==1.0.1 torchvision==0.2.2 cudatoolkit=9.0 -c pytorch
# CUDA 10.0
conda install pytorch==1.0.1 torchvision==0.2.2 cudatoolkit=10.0 -c pytorch
# CPU Only
conda install pytorch-cpu==1.0.1 torchvision-cpu==0.2.2 cpuonly -c pytorch
如果您正确安装了 CUDA 和 CUDA Toolkit 驱动程序,则无需手动选择 CUDA 版本。