현재 다른 컴퓨터에서 yolo학습을 하고 그 모델을 'best.pt'이라는 이름으로 저장해서 제 노트북으로 가져온 상태 입니다.
문제는 다음 코드에서 부터 오류가 나오고 있습니다.
import torch
model = torch.load('best.pt')
오류는 다음과 같습니다,
---------------------------------------------------------------------------
ImportError Traceback (most recent call last)
Cell In[112], line 3
1 import torch
----> 3 model = torch.load('best.pt')
File ~\anaconda3\Lib\site-packages\torch\serialization.py:1025, in load(f, map_location, pickle_module, weights_only, mmap, **pickle_load_args)
1023 except RuntimeError as e:
1024 raise pickle.UnpicklingError(UNSAFE_MESSAGE + str(e)) from None
-> 1025 return _load(opened_zipfile,
1026 map_location,
1027 pickle_module,
1028 overall_storage=overall_storage,
1029 **pickle_load_args)
1030 if mmap:
1031 f_name = "" if not isinstance(f, str) else f"{f}, "
File ~\anaconda3\Lib\site-packages\torch\serialization.py:1446, in _load(zip_file, map_location, pickle_module, pickle_file, overall_storage, **pickle_load_args)
1444 unpickler = UnpicklerWrapper(data_file, **pickle_load_args)
1445 unpickler.persistent_load = persistent_load
-> 1446 result = unpickler.load()
1448 torch._utils._validate_loaded_sparse_tensors()
1449 torch._C._log_api_usage_metadata(
1450 "torch.load.metadata", {"serialization_id": zip_file.serialization_id()}
1451 )
File ~\anaconda3\Lib\site-packages\torch\serialization.py:1439, in _load.<locals>.UnpicklerWrapper.find_class(self, mod_name, name)
1437 pass
1438 mod_name = load_module_mapping.get(mod_name, mod_name)
-> 1439 return super().find_class(mod_name, name)
File ~\Untitled_Folder\./yolov5\models\yolo.py:28
25 if platform.system() != "Windows":
26 ROOT = Path(os.path.relpath(ROOT, Path.cwd())) # relative
---> 28 from models.common import (
29 C3,
30 C3SPP,
31 C3TR,
32 SPP,
33 SPPF,
34 Bottleneck,
35 BottleneckCSP,
36 C3Ghost,
37 C3x,
38 Classify,
39 Concat,
40 Contract,
41 Conv,
42 CrossConv,
43 DetectMultiBackend,
44 DWConv,
45 DWConvTranspose2d,
46 Expand,
47 Focus,
48 GhostBottleneck,
49 GhostConv,
50 Proto,
51 )
52 from models.experimental import MixConv2d
53 from utils.autoanchor import check_anchor_order
File ~\Untitled_Folder\./yolov5\models\common.py:38
34 import ultralytics
36 from ultralytics.utils.plotting import Annotator, colors, save_one_box
---> 38 from utils import TryExcept
39 from utils.dataloaders import exif_transpose, letterbox
40 from utils.general import (
41 LOGGER,
42 ROOT,
(...)
55 yaml_load,
56 )
ImportError: cannot import name 'TryExcept' from 'utils' (C:\Users\name\anaconda3\Lib\site-packages\utils\__init__.py)
현재 git clone https://github.com/ultralytics/yolov5.git를 이용해서 yolov5폴더를 만들어둔 상태이고, 주피터노트북을 이용해 작업하고 있습니다.
추가적으로 파이썬은 3.11.7버전이고, torch는 2.3.0+cpu입니다.