-
Notifications
You must be signed in to change notification settings - Fork 3.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
OpenVino2019 handeling #545
Conversation
@azhavoro , could you please look at the change? Also need to clarify with OpenVINO team how to support different versions of the framework in the best way. |
related issue: openvinotoolkit/openvino#128 one more attempt to workaround this
|
Added in a specific preprocessing.py file in the auto annotation upload. This pushes the complexity to the user for providing the correct handling for their models. |
@benhoff , thanks for your contributions. Your help is important for the project and I need to say that you sent us many great enhancements. we will review it internally together with my team but in general I don't like the idea to add a preprocessing file just to avoid some problems with OpenVINO versions. There several reasons in my mind why it can be difficult to support in the future:
Personally I will vote for a solution to reduce complexity for end users. A couple of simple solutions (but not the best):
|
@nmanovic, understood. I'll maintain this patch for my team until a more permanent solution is found. Please let me know if your team internally comes to a decision on the way to handle this correctly. If the solution doesn't require too much time, I'll drop a PR against it. Do you want me to close this PR? |
@benhoff thanks for your contribution! We've discussed the issue internally and on our point of view it's better to handle it inside modelLoader by the way as @alalek mentioned. This approach changes nothing for users and old models should work like before. What do you think? one more attempt to workaround this
|
@azhavoro, re-pushed, take a look? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍
* develop: (112 commits) fixed attribute processing in auto_annotation (cvat-ai#577) CVAT.js API Tests (cvat-ai#578) Fixed exception in attribute annotation mode (cvat-ai#571) CVAT.js API methods were implemented (cvat-ai#572) Dashboard components basic styles (cvat-ai#574) Handle invalid json labelmap file case correctly during create/update DL model stage. (cvat-ai#573) Upgrade Numpy to avoid Arbitrary Code Execution. Upgrade Django to avoid MitM (cvat-ai#575) Run functional tests for REST API during a build (cvat-ai#506) CVAT.js other implemented API methods and bug fixes (cvat-ai#569) CVAT.js implemented API methods and bug fixes (cvat-ai#564) added in handeling for openvino 2019 (cvat-ai#545) added in command line auto annotation runner (cvat-ai#563) Fixed PDF extractor syntax error (cvat-ai#565) Update README.md added in pdf extractor (cvat-ai#557) Basic dashboard components (cvat-ai#562) Saving of annotations on the server (cvat-ai#561) Code was devided by files (cvat-ai#558) CVAT.js: Save and delete for shapes/tracks/tags (cvat-ai#555) Fixed '=' to '==' for numpy in requirments (cvat-ai#556) ... # Conflicts: # .gitignore
Hi, I have that problem. With that modification. How can I feed the network? Example code using Openvino 2021. I need 2019 or newer because there faster rcnn inception v2 is compatible with newralstik2. , c, h, w = [1, 3, 1024, 1024] ERROR could not broadcast input array from shape (3,600,600) into shape (1,3) |
This pull request is for conversation only, it's not meant to be merged in its current state.
In OpenVino 2019R1 the tensorflow API changed to have two inputs instead of a single input.
MO 2018R5 generates model IRs with these inputs:
MO 2019R1 IRs:
This breaks the auto annotation apps way of handling inputs.
The attached code is a brute force way of handling the change. Likely we'd want to all the user to drop in some custom code, similar to how the interpret code is currently handled that allows them to make the appropriate changes to the model.