700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > pycharm执行python程序报错ImportError: DLL load failed: torchvision找不到指定的程序

pycharm执行python程序报错ImportError: DLL load failed: torchvision找不到指定的程序

时间:2023-09-08 03:35:32

相关推荐

pycharm执行python程序报错ImportError: DLL load failed: torchvision找不到指定的程序

ImportError: DLL load failed: 找不到指定的程序

参考

/shuiyixin/article/details/90370588

C:\ProgramData\Anaconda3\python.exe "C:\Program Files\JetBrains\PyCharm .3.1\plugins\python\helpers\pydev\pydevconsole.py" --mode=client --port=61583

import sys; print('Python %s on %s' % (sys.version, sys.platform))

sys.path.extend(['C:\\Users\\pc\\PycharmProjects\\seq2seq', 'C:/Users/pc/PycharmProjects/seq2seq'])

Python 3.7.5 (default, Oct 31 , 15:18:51) [MSC v.1916 64 bit (AMD64)]

Type 'copyright', 'credits' or 'license' for more information

IPython 7.9.0 -- An enhanced Interactive Python. Type '?' for help.

PyDev console: using IPython 7.9.0

Python 3.7.5 (default, Oct 31 , 15:18:51) [MSC v.1916 64 bit (AMD64)] on win32

runfile('C:/Users/pc/PycharmProjects/seq2seq/RnnSeqLenAndBatchSize.py', wdir='C:/Users/pc/PycharmProjects/seq2seq')

Traceback (most recent call last):

File "C:\ProgramData\Anaconda3\lib\site-packages\IPython\core\interactiveshell.py", line 3326, in run_code

exec(code_obj, self.user_global_ns, self.user_ns)

File "<ipython-input-2-e3646211eb52>", line 1, in <module>

runfile('C:/Users/pc/PycharmProjects/seq2seq/RnnSeqLenAndBatchSize.py', wdir='C:/Users/pc/PycharmProjects/seq2seq')

File "C:\Program Files\JetBrains\PyCharm .3.1\plugins\python\helpers\pydev\_pydev_bundle\pydev_umd.py", line 197, in runfile

pydev_imports.execfile(filename, global_vars, local_vars) # execute the script

File "C:\Program Files\JetBrains\PyCharm .3.1\plugins\python\helpers\pydev\_pydev_imps\_pydev_execfile.py", line 18, in execfile

exec(compile(contents+"\n", file, 'exec'), glob, loc)

File "C:/Users/pc/PycharmProjects/seq2seq/RnnSeqLenAndBatchSize.py", line 6, in <module>

import torchvision.transforms as transforms

File "C:\Program Files\JetBrains\PyCharm .3.1\plugins\python\helpers\pydev\_pydev_bundle\pydev_import_hook.py", line 21, in do_import

module = self._system_import(name, *args, **kwargs)

File "C:\ProgramData\Anaconda3\lib\site-packages\torchvision\__init__.py", line 1, in <module>

from torchvision import models

File "C:\Program Files\JetBrains\PyCharm .3.1\plugins\python\helpers\pydev\_pydev_bundle\pydev_import_hook.py", line 21, in do_import

module = self._system_import(name, *args, **kwargs)

File "C:\ProgramData\Anaconda3\lib\site-packages\torchvision\models\__init__.py", line 11, in <module>

解决办法重装 torchvision

1 卸载

C:\Users\pc>pip uninstall torchvision

Found existing installation: torchvision 0.3.0

Uninstalling torchvision-0.3.0:

Would remove:

c:\programdata\anaconda3\lib\site-packages\torchvision

c:\programdata\anaconda3\lib\site-packages\torchvision-0.3.0-py3.7.egg-info

Proceed (y/n)? y

Successfully uninstalled torchvision-0.3.0

2 安装torchvision0.7.0 查看torch用的是1.6.0版本,而对应得torchvision==0.7.0

直接用pip install torchvision==0.7.0 用的是清华的镜像,报告找不到对应包,可能是清华镜像地址比较老原因

直接下载轮子安装

轮子地址

/whl/torch_stable.html

安装命令(切到whl的下载目录中执行)

pip install "torchvision-0.7.0+cpu-cp37-cp37m-win_amd64.whl"

Looking in indexes: https://pypi.tuna./simple

Processing c:\users\pc\downloads\torchvision-0.7.0+cpu-cp37-cp37m-win_amd64.whl

Requirement already satisfied: pillow>=4.1.1 in c:\programdata\anaconda3\lib\sit

e-packages (from torchvision==0.7.0+cpu) (6.2.1)

Requirement already satisfied: numpy in c:\programdata\anaconda3\lib\site-packag

es (from torchvision==0.7.0+cpu) (1.17.4)

Requirement already satisfied: torch==1.6.0 in c:\programdata\anaconda3\lib\site

-packages (from torchvision==0.7.0+cpu) (1.6.0)

Requirement already satisfied: future in c:\programdata\anaconda3\lib\site-packa

ges (from torch==1.6.0->torchvision==0.7.0+cpu) (0.18.2)

Installing collected packages: torchvision

Successfully installed torchvision-0.7.0+cpu

验证

import torchvision as tv

print(tv.__version__)

0.7.0+cpu

#然后执行py代码并附结果如下,表明安装的该包可以正常运行

# -*- coding: utf-8 -*-import torchimport torch.utils.data as Dataimport torch.nn as nnimport torchvision.transforms as transformsimport numpy as np### Demo datasetdata_ = [[1, 10, 11, 15, 9, 100],[2, 11, 12, 16, 9, 100],[3, 12, 13, 17, 9, 100],[4, 13, 14, 18, 9, 100],[5, 14, 15, 19, 9, 100],[6, 15, 16, 10, 9, 100],[7, 15, 16, 10, 9, 100],[8, 15, 16, 10, 9, 100],[9, 15, 16, 10, 9, 100],[10, 15, 16, 10, 9, 100]]### Demo Dataset classclass DemoDatasetLSTM(Data.Dataset):"""Support class for the loading and batching of sequences of samplesArgs:dataset (Tensor): Tensor containing all the samplessequence_length (int): length of the analyzed sequence by the LSTMtransforms (object torchvision.transform): Pytorch's transforms used to process the data"""## Constructordef __init__(self, dataset, sequence_length=1, transforms=None):self.dataset = datasetself.seq_len = sequence_lengthself.transforms = transforms## Override total dataset's length getterdef __len__(self):return self.dataset.__len__()## Override single items' getterdef __getitem__(self, idx):if idx + self.seq_len > self.__len__():if self.transforms is not None:item = torch.zeros(self.seq_len, self.dataset[0].__len__())item[:self.__len__()-idx] = self.transforms(self.dataset[idx:])return item, itemelse:item = []item[:self.__len__()-idx] = self.dataset[idx:]return item, itemelse:if self.transforms is not None:return self.transforms(self.dataset[idx:idx+self.seq_len]), self.transforms(self.dataset[idx:idx+self.seq_len])else:return self.dataset[idx:idx+self.seq_len], self.dataset[idx:idx+self.seq_len]### Helper for transforming the data from a list to Tensordef listToTensor(list):tensor = torch.empty(list.__len__(), list[0].__len__())for i in range(list.__len__()):tensor[i, :] = torch.FloatTensor(list[i])return tensor### Dataloader instantiation# Parametersseq_len = 3batch_size = 2data_transform = transforms.Lambda(lambda x: listToTensor(x))dataset = DemoDatasetLSTM(data_, seq_len, transforms=data_transform)data_loader = Data.DataLoader(dataset, batch_size, shuffle=False)for data in data_loader:x, _ = dataprint(x)print('\n')

#结果如下

tensor([[[ 1., 10., 11., 15., 9., 100.],

[ 2., 11., 12., 16., 9., 100.],

[ 3., 12., 13., 17., 9., 100.]],

[[ 2., 11., 12., 16., 9., 100.],

[ 3., 12., 13., 17., 9., 100.],

[ 4., 13., 14., 18., 9., 100.]]])

tensor([[[ 3., 12., 13., 17., 9., 100.],

[ 4., 13., 14., 18., 9., 100.],

[ 5., 14., 15., 19., 9., 100.]],

[[ 4., 13., 14., 18., 9., 100.],

[ 5., 14., 15., 19., 9., 100.],

[ 6., 15., 16., 10., 9., 100.]]])

tensor([[[ 5., 14., 15., 19., 9., 100.],

[ 6., 15., 16., 10., 9., 100.],

[ 7., 15., 16., 10., 9., 100.]],

[[ 6., 15., 16., 10., 9., 100.],

[ 7., 15., 16., 10., 9., 100.],

[ 8., 15., 16., 10., 9., 100.]]])

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。