• Jackson Argo's avatar
    Fix missing attr model.model when loading custom yolov model (#8830) · 2e109099
    Jackson Argo 提交于
    * Update hubconf.py
    
    Loading a custom yolov model causes this line to fail. Adding a test to check if the model actually has a model.model field. With this check, I'm able to load the model no prob.
    
    Loading model via
    
    ```py
        model = torch.hub.load(
            'ultralytics/yolov5', 'custom', 'models/frozen_backbone_coco_unlabeled_best.onnx',
            autoshape=True, force_reload=False
        )
    ```
    
    Causes traceback:
    
    ```
    Traceback (most recent call last):
      File "/Users/jackson/Documents/GitHub/w210-capstone/.venv/lib/python3.10/site-packages/flask/app.py", line 2077, in wsgi_app
        response = self.full_dispatch_request()
      File "/Users/jackson/Documents/GitHub/w210-capstone/.venv/lib/python3.10/site-packages/flask/app.py", line 1525, in full_dispatch_request
        rv = self.handle_user_exception(e)
      File "/Users/jackson/Documents/GitHub/w210-capstone/.venv/lib/python3.10/site-packages/flask/app.py", line 1523, in full_dispatch_request
        rv = self.dispatch_request()
      File "/Users/jackson/Documents/GitHub/w210-capstone/.venv/lib/python3.10/site-packages/flask/app.py", line 1509, in dispatch_request
        return self.ensure_sync(self.view_functions[rule.endpoint])(**req.view_args)
      File "/Users/jackson/Documents/GitHub/w210-capstone/api/endpoints/predictions.py", line 26, in post_predictions
        yolov_predictions = predict_bounding_boxes_for_collection(collection_id)
      File "/Users/jackson/Documents/GitHub/w210-capstone/api/predictions/predict_bounding_boxes.py", line 43, in predict_bounding_boxes_for_collection
        model = torch.hub.load(
      File "/Users/jackson/Documents/GitHub/w210-capstone/.venv/lib/python3.10/site-packages/torch/hub.py", line 404, in load
        model = _load_local(repo_or_dir, model, *args, **kwargs)
      File "/Users/jackson/Documents/GitHub/w210-capstone/.venv/lib/python3.10/site-packages/torch/hub.py", line 433, in _load_local
        model = entry(*args, **kwargs)
      File "/Users/jackson/.cache/torch/hub/ultralytics_yolov5_master/hubconf.py", line 72, in custom
        return _create(path, autoshape=autoshape, verbose=_verbose, device=device)
      File "/Users/jackson/.cache/torch/hub/ultralytics_yolov5_master/hubconf.py", line 67, in _create
        raise Exception(s) from e
    Exception: 'DetectMultiBackend' object has no attribute 'model'. Cache may be out of date, try `force_reload=True` or see https://github.com/ultralytics/yolov5/issues/36 for help.
    Exception on /api/v1/predictions [POST]
    Traceback (most recent call last):
      File "/Users/jackson/.cache/torch/hub/ultralytics_yolov5_master/hubconf.py", line 58, in _create
        model.model.model[-1].inplace = False  # Detect.inplace=False for safe multithread inference
      File "/Users/jackson/Documents/GitHub/w210-capstone/.venv/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1185, in __getattr__
        raise AttributeError("'{}' object has no attribute '{}'".format(
    AttributeError: 'DetectMultiBackend' object has no attribute 'model'
    ```
    
    * Update hubconf.py
    
    * Update common.py
    Co-authored-by: 's avatarGlenn Jocher <glenn.jocher@ultralytics.com>
    2e109099
名称
最后提交
最后更新
..
hub 正在载入提交数据...
__init__.py 正在载入提交数据...
common.py 正在载入提交数据...
experimental.py 正在载入提交数据...
tf.py 正在载入提交数据...
yolo.py 正在载入提交数据...
yolov5l.yaml 正在载入提交数据...
yolov5m.yaml 正在载入提交数据...
yolov5n.yaml 正在载入提交数据...
yolov5s.yaml 正在载入提交数据...
yolov5x.yaml 正在载入提交数据...