Pyinstaller 可执行文件导入 torchvision 失败

2023-12-28

这是我的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模块或火炬视觉.

附加信息:

  • 我最近安装了 Visual Studio 2019

系统信息:

  • 10号窗口
  • Python 3.7
  • 火炬-1.1.0
  • 火炬视觉-0.3.0

[EDIT]

我发现问题出在类的定义上FrozenBatchNorm2d火炬视觉内部。以下脚本产生与之前发布的错误相同的错误:

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

我复制了所有的torch源文件。但我仍然收到错误...


降级火炬视觉到以前的版本修复错误。

pip uninstall torchvision
pip install torchvision==0.2.2.post3
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Pyinstaller 可执行文件导入 torchvision 失败 的相关文章

随机推荐