ultralytics / yolov5

YOLOv5 🚀 in PyTorch > ONNX > CoreML > TFLite
https://docs.ultralytics.com
GNU Affero General Public License v3.0
51.14k stars 16.43k forks source link

version 2.0 model override v1.0 in google drive #536

Closed Eddylib closed 4 years ago

Eddylib commented 4 years ago

❔Question

It seems you update your v2.0 models in google drive in v1.0 url. If it's convenient to share earlier models? I'm doing research on v1.0 and there might be new operation involved in new 2.0 code, onnx cannot convert normally.

Additional context

github-actions[bot] commented 4 years ago

Hello @Eddylib, thank you for your interest in our work! Please visit our Custom Training Tutorial to get started, and see our Jupyter Notebook Open In Colab, Docker Image, and Google Cloud Quickstart Guide for example environments.

If this is a bug report, please provide screenshots and minimum viable code to reproduce your issue, otherwise we can not help you.

If this is a custom model or data training question, please note that Ultralytics does not provide free personal support. As a leader in vision ML and AI, we do offer professional consulting, from simple expert advice up to delivery of fully customized, end-to-end production solutions for our clients, such as:

For more information please visit https://www.ultralytics.com.

Lornatang commented 4 years ago

@Eddylib yolov5 (version 1.0) weights---->BaiduCloud passwd: gt7l

glenn-jocher commented 4 years ago

@Eddylib yes, v2.0 contains breaking changes. The intention is to make models easier to construct and experiment with. Before outputs had to be manually placed inside the model.yaml as individual nn.Conv2d layers, now any outputs are assigned by appending the layer to the Detect from list, and Detect.py automatically creates the output convolution layers.

I'm sorry your work was interrupted, it's one of the risks associated with this repo. We aim to improve and change quickly, so this will happen on occasion but we try to minimize these occurrences.

Eddylib commented 4 years ago

Thank you all for your response. @glenn-jocher @Lornatang, I solved conversion problems. I convert this module to MNN, its a problem of version of MNN converter. The unsupported layer has been manually coded by MNN and finally generate a full model.

edwardnguyen1705 commented 4 years ago

Hi @Eddylib , I has been trying to convert yolov5 v2.0 to mnn, from pytorch to onnx is ok but from onnx to mnn I meet this problem

ONNX Model ir version: 6
Start to Optimize the MNN Net...
Onnx slice must use the same dimensition
Convert Onnx's Op 155 , type = Slice, failed, may be some node is not const
Onnx slice must use the same dimensition
Convert Onnx's Op 160 , type = Slice, failed, may be some node is not const
Onnx slice must use the same dimensition
Convert Onnx's Op 165 , type = Slice, failed, may be some node is not const
Onnx slice must use the same dimensition
Convert Onnx's Op 170 , type = Slice, failed, may be some node is not const
Onnx slice must use the same dimensition
Convert Onnx's Op 175 , type = Slice, failed, may be some node is not const
Onnx slice must use the same dimensition
Convert Onnx's Op 180 , type = Slice, failed, may be some node is not const
Onnx slice must use the same dimensition
Convert Onnx's Op 185 , type = Slice, failed, may be some node is not const
Onnx slice must use the same dimensition
Convert Onnx's Op 190 , type = Slice, failed, may be some node is not const
Onnx slice must use the same dimensition
Convert Onnx's Op 292 , type = Slice, failed, may be some node is not const
Onnx slice must use the same dimensition
Convert Onnx's Op 338 , type = Slice, failed, may be some node is not const
Onnx slice must use the same dimensition
Convert Onnx's Op 414 , type = Slice, failed, may be some node is not const
Onnx slice must use the same dimensition
Convert Onnx's Op 427 , type = Slice, failed, may be some node is not const
Onnx slice must use the same dimensition
Convert Onnx's Op 439 , type = Slice, failed, may be some node is not const
Onnx slice must use the same dimensition
Convert Onnx's Op 473 , type = Slice, failed, may be some node is not const
Onnx slice must use the same dimensition
Convert Onnx's Op 486 , type = Slice, failed, may be some node is not const
Onnx slice must use the same dimensition
Convert Onnx's Op 498 , type = Slice, failed, may be some node is not const
Onnx slice must use the same dimensition
Convert Onnx's Op 532 , type = Slice, failed, may be some node is not const
Onnx slice must use the same dimensition
Convert Onnx's Op 545 , type = Slice, failed, may be some node is not const
Onnx slice must use the same dimensition
Convert Onnx's Op 557 , type = Slice, failed, may be some node is not const
Onnx slice must use the same dimensition
Convert Onnx's Op 155 , type = Slice, failed, may be some node is not const
Onnx slice must use the same dimensition
Convert Onnx's Op 160 , type = Slice, failed, may be some node is not const
Onnx slice must use the same dimensition
Convert Onnx's Op 165 , type = Slice, failed, may be some node is not const
Onnx slice must use the same dimensition
Convert Onnx's Op 170 , type = Slice, failed, may be some node is not const
Onnx slice must use the same dimensition
Convert Onnx's Op 175 , type = Slice, failed, may be some node is not const
Onnx slice must use the same dimensition
Convert Onnx's Op 180 , type = Slice, failed, may be some node is not const
Onnx slice must use the same dimensition
Convert Onnx's Op 185 , type = Slice, failed, may be some node is not const
Onnx slice must use the same dimensition
Convert Onnx's Op 190 , type = Slice, failed, may be some node is not const
Onnx slice must use the same dimensition
Convert Onnx's Op 414 , type = Slice, failed, may be some node is not const
Onnx slice must use the same dimensition
Convert Onnx's Op 427 , type = Slice, failed, may be some node is not const
Onnx slice must use the same dimensition
Convert Onnx's Op 439 , type = Slice, failed, may be some node is not const
Onnx slice must use the same dimensition
Convert Onnx's Op 473 , type = Slice, failed, may be some node is not const
Onnx slice must use the same dimensition
Convert Onnx's Op 486 , type = Slice, failed, may be some node is not const
Onnx slice must use the same dimensition
Convert Onnx's Op 498 , type = Slice, failed, may be some node is not const
Onnx slice must use the same dimensition
Convert Onnx's Op 532 , type = Slice, failed, may be some node is not const
Onnx slice must use the same dimensition
Convert Onnx's Op 545 , type = Slice, failed, may be some node is not const
Onnx slice must use the same dimensition
Convert Onnx's Op 557 , type = Slice, failed, may be some node is not const
[16:57:08] :20: Inputs: images
[16:57:08] :37: Outputs: output, Type = Concat
[16:57:08] /Users/guoyiqin/Projects/AliNNPrivate/tools/converter/source/common/writeFb.cpp:188: Check failed: (notSupportOps.size()) == (0) ==> These Op Not Support: ONNX::Slice

Have you encountered this issue before?

glenn-jocher commented 4 years ago

@edwardnguyen1705 ONNX export works correctly. Follow the export tutorial: https://docs.ultralytics.com/yolov5