【问题标题】:ValueError: too many values to unpack (expected 2) while trying to load yolov5 modelValueError: 尝试加载 yolov5 模型时解包的值太多(预期为 2)
【发布时间】:2022-10-20 20:02:25
【问题描述】:

我正在尝试使用以下方法在自定义数据集上加载经过训练的 yolov5 模型:

# Model
model = torch.hub.load('/home/yolov5/runs/train/yolo_sign_det2/weights', 'best')  # or yolov5n - yolov5x6, custom

但我遇到了这个错误:

ValueError                                Traceback (most recent call last)
<ipython-input-3-c832ab8c1eab> in <module>
      2 
      3 # Model
----> 4 model = torch.hub.load('/home/yolov5/runs/train/yolo_sign_det2/weights', 'best')  # or yolov5n - yolov5x6, custom
      5 
      6 # Images

~/.conda/envs/yolo/lib/python3.6/site-packages/torch/hub.py in load(repo_or_dir, model, source, force_reload, verbose, skip_validation, *args, **kwargs)
    395 
    396     if source == 'github':
--> 397         repo_or_dir = _get_cache_or_reload(repo_or_dir, force_reload, verbose, skip_validation)
    398 
    399     model = _load_local(repo_or_dir, model, *args, **kwargs)

~/.conda/envs/yolo/lib/python3.6/site-packages/torch/hub.py in _get_cache_or_reload(github, force_reload, verbose, skip_validation)
    163         os.makedirs(hub_dir)
    164     # Parse github repo information
--> 165     repo_owner, repo_name, branch = _parse_repo_info(github)
    166     # Github allows branch name with slash '/',
    167     # this causes confusion with path on both Linux and Windows.

~/.conda/envs/yolo/lib/python3.6/site-packages/torch/hub.py in _parse_repo_info(github)
    110     else:
    111         repo_info, branch = github, None
--> 112     repo_owner, repo_name = repo_info.split('/')
    113 
    114     if branch is None:

ValueError: too many values to unpack (expected 2)

谁能告诉我我做错了什么?

【问题讨论】:

  • 顺便说一句,您已经提出了 12 个问题并将 0 标记为已接受。如果他们都没有回答您的问题,这很好,但这也会使人们犹豫是否要提供帮助,并使问题每隔几周或几个月就会重新出现在提要的顶部。

标签: python pytorch object-detection yolo yolov5


【解决方案1】:

Pytorch documentation website 看来,source 选项默认设置为 github,因此您的代码行:

model = torch.hub.load('/home/yolov5/runs/train/yolo_sign_det2/weights', 'best')  # or yolov5n - yolov5x6, custom

实际上意味着:

model = torch.hub.load('/home/yolov5/runs/train/yolo_sign_det2/weights', 'best', source='github')  # or yolov5n - yolov5x6, custom

因此,您需要按照链接文档中的说明设置source=local,保留source='github' 意味着您的程序正在尝试查找GitHub 存储库(如您的错误消息中所示)。

解决方法是使用这行代码,而不是将 source 设置为本地:

torch.hub.load('/home/yolov5/runs/train/yolo_sign_det2/weights', 'best', source='local')

【讨论】:

  • 嗨詹姆斯。我通过添加一些额外的参数来解决它。这是代码:model = torch.hub.load(r'/home/yolov5', 'custom', path="path/to/the/best.pt", source='local') 感谢您的帮助!
  • 没问题,很乐意提供帮助,如果它回答了您的问题,请考虑将其勾选为已回答(它是投票按钮旁边的勾选)。希望你的机器学习进展顺利!
【解决方案2】:

模型 = torch.hub.load(r'/home/yolov5', 'custom',path="path/to/the/best.pt", source='local')

这行得通。谢谢。

【讨论】:

    猜你喜欢
    • 2017-08-29
    • 1970-01-01
    • 2014-07-31
    • 2017-12-14
    • 2017-07-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多