使用importlib.import_module方法import一个pytorch model时出现如下报错
desktop@desktop-pc:~/workspace/test$ ls
main_test.py mymodel.pt mymodel.py
desktop@desktop-pc:~/workspace/test$ python main_test.py
Traceback (most recent call last):
File "main_test.py", line 113, in <module>
main()
File "main_test.py", line 73, in main
module = import_module("./mymodel.pt")
File "/usr/lib/python3.8/importlib/__init__.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1014, in _gcd_import
File "<frozen importlib._bootstrap>", line 991, in _find_and_load
File "<frozen importlib._bootstrap>", line 961, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
File "<frozen importlib._bootstrap>", line 1014, in _gcd_import
File "<frozen importlib._bootstrap>", line 991, in _find_and_load
File "<frozen importlib._bootstrap>", line 973, in _find_and_load_unlocked
ModuleNotFoundError: No module named 'model'
解决方法:
在当前目录下创建一个名为model的目录,将pytorch model和model的source code放入此目录下。修改代码中model的路径即可。
desktop@desktop-pc:~/workspace/test$ tree
.
├── main_test.py
└── model
├── mymodel.pt
└── mymodel.py
module = import_module("./model/mymodel.pt")