Closed snnn closed 5 years ago
Hi @snnn, I tried viewing the above model using Netron and for me the second input B for Sub operator shows up as float tensor in Netron.
Hi @ankkhedia
It's float64 ?
@snnn is the problem that the type needs to be the same for both?
Yes.
@ankkhedia can you fix the model?
@prasanthpul I will take a look.
@ankkhedia any update on this?
Hi @prasanthpul Sorry for being late as got pulled into some other things. I will try to prioritise it this week.
@prasanthpul @snnn It seems to be error in MXNet-ONNX converter. I have raised an issue with the team https://github.com/apache/incubator-mxnet/issues/13044 I will convert and put back new model here when the issue gets fixed.
This is not good. We'd remove these models if they're invalid. We can add them back after fixing those issues.
@snnn are there more model issues you saw please? Thank you very much for bringing this up!
@ankkhedia
In addition to Arcface, there are also problems in:
@ankkhedia Any update? Could you please confirm if these models have problems?
Thanks
I will check other models. However, Arcface issue has been fixed and I will update the new model.
Hi @snnn Could you please point to the problems with the above models you listed so that I can take a look.
The inputs to GEMM operator, are not 2D tensors. They have more than 2 dimensions.
@snnn This has been discussed in this issue before. https://github.com/onnx/models/issues/90. I think there was no good support for GEMM in ONNX when these models were created. ONNX do have some missing operator and are usually mapped to the closest operator in the source framework.
As far as I know, support for GEMM in ONNX-MXNet is either work in progress or has been done. I will post new model if the support has been added.
Hi @ankkhedia , do you have an estimated time of completion?
@snnn I will have to check with ONNX-MXNet converter team to be able to give a clear ETA. I will update you on the same. If the support has not been added, then it depends upon their roadmap on when the support will be complete. The team is working actively to get rigorous operator coverage.
@ankkhedia I think your last comment is about the other models. can you confirm whether arcface model has been fixed? Will you be posting a 1.3 version as well?
The issue was already there 3 months, but we still don't know when it can be fixed? From user experience perspective, ONNX user would think ONNX model zoo is low quality. I suggest we either fix it quickly, or delete the malformed models.
@snnn lets create separate issue for the other models. this issue is only for arcface. for the other models, I agree that if we cannot fix them they should be removed for now.
@snnn @prasanthpul The model has been fixed and updated in the S3. I checked the model structure with Netron and float64 issue is not there anymore.
Thanks @ankkhedia. Looks like only 1.2 (opset7) version is posted. will you be posting 1.3 as well?
Hi @ankkhedia , could please verify it? I got the model from: 'https://s3.amazonaws.com/onnx-model-zoo/arcface/resnet100/resnet100.tar.gz'
It is still wrong.
@snnn Sorry for the miss. I uploaded renet100.onnx file. I will change this tar too.
@snnn added the latest tar file.
Can we fix ArcFace's README.md so that the table to download the model is correct? The download link was changed to download an OpSet8 model.
Currently, there is only one download link for ArcFace and it's labeled as OpSet 7, v1.2.1. However, the link downloads an OpSet8 v1.3 version of the model. https://github.com/onnx/models/tree/master/models/face_recognition/ArcFace
updated :)
Hi @ankkhedia , the old issue is fixed, but we get new one.
For the "relu0" node, its inputs has shape of [1, 64, 112, 112] and [64]. There is no broadcast rule can be applied on them.
Hi @ankkhedia , Could you verify issue?
Thanks.
Hi @snnn, I verified this issue on my end. We are actively working on both Prelu and Gemm issue mentioned and re-upload the models as early as we can. Thanks for reporting this and sorry for the inconvenience it has caused.
Hi @snnn There are open PR to fix the above issues with Prelu and GEMM. I have generated a model after including those fixes https://s3.amazonaws.com/onnx-model-zoo/arcface/resnet100/resnet100_new.onnx Could you please let me know if this model looks good to you.
We will update the model once the PR are merged.
Hi @ankkhedia , thank you for fixing it. I'm having a vacation, with poor internet connection. I'll ask my colleague for help.
The problem is solved. Thanks!
Hi @ankkhedia , would you please put the new model in https://github.com/onnx/models/tree/master/models/face_recognition/ArcFace ?
@snnn I have updated the model in https://s3.amazonaws.com/onnx-model-zoo/arcface/resnet100/resnet100.onnx
Could you please verify?
Hi @ankkhedia https://s3.amazonaws.com/onnx-model-zoo/arcface/resnet100/resnet100.tar.gz is not updated.
My bad. Updating the same
@snnn uploaded resnet100.tar.gz and resnet100-md5.txt now.
Perfect. Thanks!
@ankkhedia Hi, How can I convert the arcface mxnet model to onnx model without the float64 error? THX!
@snnn @ankkhedia I get the error. It may be same as your error. Maybe it as
https://github.com/onnx/models/issues/91#issuecomment-439139857
Have Any your experiment help me? Thanks
2019-10-08 11:49:13.612837502 [E:onnxruntime:, sequential_executor.cc:165 Execute] Non-zero status code returned while running PRelu node. Name:'relu0' Status Message: /home/luandd/project_company/face_rec/onnxruntime/onnxruntime/core/providers/cpu/math/element_wise_ops.h:329 void onnxruntime::BroadcastIterator::Init(int64_t, int64_t) axis == 1 || axis == largest was false. Attempting to broadcast an axis by a dimension other than 1. 64 by 112
@snnn @ankkhedia have you right model with spatial=1?
@ankkhedia hello , arcface mxnet to onnx canbe fixed? how to convert onnx ,is right? the prelu out not right? because Iwant to convert caffe,but the onnx can be export but is not right?
@luan1412167 hi, now youcan convert mxnet arcface to onnx right ? I fix ,but export model prelu out not right,not to equal mxnet,could you tell me how to convert onnx right ?
Hi @ankkhedia , the old issue is fixed, but we get new one. For the "relu0" node, its inputs has shape of [1, 64, 112, 112] and [64]. There is no broadcast rule can be applied on them.
hi @ankkhedia @snnn i also try to convert arcface LResNet100E-IR mxnet to onnx by using convert_onnx.py. Then, it seem that, i got the same error with @snnn when i deploy my model.
onnx runtime error 1: Non-zero status code returned while running PRelu node. Name:'relu0' Status Message: relu0: right operand cannot broadcast on dim 0 LeftShape: {1,64,112,112}, RightShape: {64}
Can you guide me how to fix it? Thank all off u.
see https://github.com/apache/incubator-mxnet/pull/17711
@vinitra is fixing it.
I downloaded the model from: https://s3.amazonaws.com/onnx-model-zoo/arcface/resnet100/resnet100.onnx
If you open the model, take a look at the second OP: Sub. Its first input, A, is a float tensor, but its second input, B, is a double tensor.