Это мой main.py :
import torchvision
input("Press key")
Правильно работает в командной строке: python main.py
Мне нужен исполняемый файл для Windows. Так я и сделал: pyinstaller main.py
Но когда я запустил main.exe , внутри /dist/main
я получил эту ошибку:
Traceback (most recent call last):
File "main.py", line 1, in <module>
... (omitted)
File "site-packages\torchvision\ops\misc.py", line 135, in <module>
File "site-packages\torchvision\ops\misc.py", line 148, in FrozenBatchNorm2d
File "site-packages\torch\jit\__init__.py", line 850, in script_method
File "site-packages\torch\jit\frontend.py", line 152, in get_jit_def
File "inspect.py", line 973, in getsource
File "inspect.py", line 955, in getsourcelines
File "inspect.py", line 786, in findsource
OSError: could not get source code
[2836] Failed to execute script main
Кажется, что некоторый исходный код неправильно импортирован из pyinstaller. Я не уверен, что проблема в модуле torch или torchvision .
Дополнительная информация:
- Я недавно установил Visual Studio 2019
Информация о системе:
- Окно 10
- Python 3.7
- факел-1.1.0
- torchvision-0.3.0
[EDIT]
Я обнаружил, что проблема в определении класса FrozenBatchNorm2d внутри torchvision. Следующий скрипт выдает ту же ошибку, что и ранее опубликованный:
main.py
import torch
class FrozenBatchNorm2d(torch.jit.ScriptModule):
def __init__(self, n):
super(FrozenBatchNorm2d, self).__init__()
@torch.jit.script_method
def forward(self):
pass
Я скопировал весь исходный файл факела. Но я все еще получил ошибку ...