Traceback (most recent call last): File "C:\Users\HP\Desktop\Stone Crack\yolov5代码包\yolov5-master\yolov5-master\calllogin.py", line 343, in detect self.main(paraments) File "C:\Users\HP\Desktop\Stone Crack\yolov5代码包\yolov5-master\yolov5-master\calllogin.py", line 335, in main self.run(**vars(self.opt)) File "C:\Users\HP\anaconda3\lib\site-packages\torch\utils\_contextlib.py", line 115, in decorate_context return func(*args, **kwargs) File "C:\Users\HP\Desktop\Stone Crack\yolov5代码包\yolov5-master\yolov5-master\calllogin.py", line 174, in run model = DetectMultiBackend(weights, device=self.device, dnn=self.dnn, data=self.data, fp16=self.half) File "C:\Users\HP\Desktop\Stone Crack\yolov5代码包\yolov5-master\yolov5-master\models\common.py", line 301, in __init__ fp16 &= (pt or jit or onnx or engine) and device.type != 'cpu' # FP16 TypeError: unsupported operand type(s) for &=: 'tuple' and 'bool'
时间: 2023-08-09 09:10:22 浏览: 194
Mac下anaconda中Spyder打开报错Traceback(most recent call last)…问题
5星 · 资源好评率100%
这个错误是由于在 `models/common.py` 文件的 `__init__` 方法中,执行按位与(&=)操作时,操作数的类型不一致引起的。
根据错误信息,我们可以看到错误发生在 `fp16 &= (pt or jit or onnx or engine) and device.type != 'cpu'` 这一行代码。
要解决这个问题,您可以尝试使用以下代码重写该行:
```python
fp16 = fp16 and (pt or jit or onnx or engine) and device.type != 'cpu'
```
请确保在执行按位与操作之前,操作数的类型是一致的。如果问题仍然存在,请检查相关变量的类型和值,并确保它们符合预期。
阅读全文