Я собираюсь научить модель Yolov10 обнаруживать огонь, людей и дым. Я нашел набор данных о roboflow, который поможет мне в этом. Я обучил и экспортировал модель с помощью следующего кода:
from ultralytics import YOLO
# Load YOLOv10n model from scratch
model = YOLO("yolov10n.yaml")
# Train the model
model.train(data="./datasets/fire-smoke-human/data.yaml", epochs=30, device="cuda:0")
# Export the model
model.export(format="onnx", int8=True)
Похоже, что модель прошла очень хорошее обучение, а графики и проверочные изображения после обучения кажутся довольно точными:
[img]https://i .sstatic.net/GV9urbQE.jpg[/img]
Однако, когда я пытаюсь запустить модель, используя:
from ultralytics import YOLO
model = YOLO("./runs/detect/train10/weights/best.onnx")
results = model("./datasets/tests/fire_fighter.jpg")
for result in results:
result.save("./results/img_results/test.jpg")
Я постоянно получаю ошибку ключа. Тот же код работает при тестировании модели Yolov8, просто изменяя первоначально загруженную модель перед обучением на yolov8.yaml. Есть ли другой способ использования Yolov10 или мне нужно его обучать по-другому?
Вот трассировка ошибок:
KeyError Traceback (most recent call last)
Cell In[3], line 4
1 from ultralytics import YOLO
3 model = YOLO("./runs/detect/train10/weights/best.onnx")
----> 4 results = model("./datasets/tests/fire_fighter.jpg")
5 for result in results:
6 result.save("./results/img_results/test.jpg")
File ~/Documents/Internship/HSE_fire_safety/train_yolo/.train-venv/lib/python3.12/site-packages/ultralytics/engine/model.py:166, in Model.__call__(self, source, stream, **kwargs)
143 def __call__(
144 self,
145 source: Union[str, Path, int, list, tuple, np.ndarray, torch.Tensor] = None,
146 stream: bool = False,
147 **kwargs,
148 ) -> list:
149 """
150 An alias for the predict method, enabling the model instance to be callable.
151
(...)
164 (List[ultralytics.engine.results.Results]): A list of prediction results, encapsulated in the Results class.
165 """
--> 166 return self.predict(source, stream, **kwargs)
File ~/Documents/Internship/HSE_fire_safety/train_yolo/.train-venv/lib/python3.12/site-packages/ultralytics/engine/model.py:441, in Model.predict(self, source, stream, predictor, **kwargs)
...
326 n = (boxes.cls == c).sum() # detections per class
--> 327 log_string += f"{n} {self.names[int(c)]}{'s' * (n > 1)}, "
328 return log_string
KeyError: 118
Подробнее здесь: https://stackoverflow.com/questions/788 ... ed-as-onnx
`KeyError` в Predict() с моделью Ultralytics Yolov10, экспортированной как ONNX ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Невозможно передать kwargs в аргументы torch.onnx.export в Pytorch ONNX.
Anonymous » » в форуме Python - 0 Ответы
- 42 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Поставщик выполнения CUDA в ONNX допускает ошибку при объединении TensorRT с ONNX
Anonymous » » в форуме Python - 0 Ответы
- 36 Просмотры
-
Последнее сообщение Anonymous
-