Skip to content
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

Fix the CPU HRNet Nuclio function #6150

Merged
merged 2 commits into from
May 15, 2023
Merged

Conversation

SpecLad
Copy link
Contributor

@SpecLad SpecLad commented May 15, 2023

Motivation and context

It was broken for two reasons:

  • Due to some changes on the PyTorch website, the old way of installing the PyTorch packages now installs the ROCm version rather than the CPU version (and it doesn't work doe to a missing dependency).

  • The newest version of NumPy doesn't work with HRNet due to the latter's usage of np.int.

Fix these problems, and in addition, rework the build recipe to avoid installing unneeded packages. Altogether, the changes massively shrink the Docker image size (from ~14 GB to ~2 GB).

I didn't update the GPU version, because a) the first issue doesn't affect it, b) the second issue is already fixed in it, and c) I don't have a GPU to test it on.

How has this been tested?

Manual testing with CVAT.

Checklist

  • I submit my changes into the develop branch
  • I have added a description of my changes into the CHANGELOG file
  • [ ] I have updated the documentation accordingly
  • [ ] I have added tests to cover my changes
  • [ ] I have linked related issues (see GitHub docs)
  • [ ] I have increased versions of npm packages if it is necessary
    (cvat-canvas,
    cvat-core,
    cvat-data and
    cvat-ui)

License

  • I submit my code changes under the same MIT License that covers the project.
    Feel free to contact the maintainers if that's a concern.

It was broken for two reasons:

* Due to some changes on the PyTorch website, the old way of installing the
  PyTorch packages now installs the ROCm version rather than the CPU version
  (and it doesn't work doe to a missing dependency).

* The newest version of NumPy doesn't work with HRNet due to the latter's usage
  of `np.int`.

Fix these problems, and in addition, rework the build recipe to avoid installing
unneeded packages. Altogether, the changes massively shrink the Docker image size
(from ~14 GB to ~2 GB).

I didn't update the GPU version, because a) the first issue doesn't affect
it, b) the second issue is already fixed in it, and c) I don't have a GPU to
test it on.
@SpecLad SpecLad marked this pull request as ready for review May 15, 2023 08:56
@SpecLad SpecLad requested a review from bsekachev May 15, 2023 08:56
Copy link
Member

@bsekachev bsekachev left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@bsekachev bsekachev merged commit c005d6c into cvat-ai:develop May 15, 2023
30 checks passed
@azhavoro azhavoro mentioned this pull request May 18, 2023
nmanovic added a commit that referenced this pull request May 18, 2023
### Added
- Introduced a new configuration option for controlling the invocation of Nuclio functions.
  (<#6146>)

### Changed
- Relocated SAM masks decoder to frontend operation.
  (<#6019>)
- Switched `person-reidentification-retail-0300` and `faster_rcnn_inception_v2_coco` Nuclio functions with `person-reidentification-retail-0277` and `faster_rcnn_inception_resnet_v2_atrous_coco` respectively.
  (<#6129>)
- Upgraded OpenVINO-based Nuclio functions to utilize the OpenVINO 2022.3 runtime.
  (<#6129>)

### Fixed
- Resolved issues with tracking multiple objects (30 and more) using the TransT tracker.
  (<#6073>)
- Addressed azure.core.exceptions.ResourceExistsError: The specified blob already exists.
  (<#6082>)
- Corrected image scaling issues when transitioning between images of different resolutions.
  (<#6081>)
- Fixed inaccurate reporting of completed job counts.
  (<#6098>)
- Allowed OpenVINO-based Nuclio functions to be deployed to Kubernetes.
  (<#6129>)
- Improved skeleton size checks after drawing.
  (<#6156>)
- Fixed HRNet CPU serverless function.
  (<#6150>)
- Prevented sending of empty list of events.
  (<#6154>)
mikhail-treskin pushed a commit to retailnext/cvat that referenced this pull request Jul 1, 2023
<!-- Raise an issue to propose your change
(https://github.com/opencv/cvat/issues).
It helps to avoid duplication of efforts from multiple independent
contributors.
Discuss your ideas with maintainers to be sure that changes will be
approved and merged.
Read the [Contribution
guide](https://opencv.github.io/cvat/docs/contributing/). -->

<!-- Provide a general summary of your changes in the Title above -->

### Motivation and context
<!-- Why is this change required? What problem does it solve? If it
fixes an open
issue, please link to the issue here. Describe your changes in detail,
add
screenshots. -->
It was broken for two reasons:

* Due to some changes on the PyTorch website, the old way of installing
the PyTorch packages now installs the ROCm version rather than the CPU
version (and it doesn't work doe to a missing dependency).

* The newest version of NumPy doesn't work with HRNet due to the
latter's usage of `np.int`.

Fix these problems, and in addition, rework the build recipe to avoid
installing unneeded packages. Altogether, the changes massively shrink
the Docker image size (from ~14 GB to ~2 GB).

I didn't update the GPU version, because a) the first issue doesn't
affect it, b) the second issue is already fixed in it, and c) I don't
have a GPU to test it on.

### How has this been tested?
<!-- Please describe in detail how you tested your changes.
Include details of your testing environment, and the tests you ran to
see how your change affects other areas of the code, etc. -->
Manual testing with CVAT.

### Checklist
<!-- Go over all the following points, and put an `x` in all the boxes
that apply.
If an item isn't applicable for some reason, then ~~explicitly
strikethrough~~ the whole
line. If you don't do that, GitHub will show incorrect progress for the
pull request.
If you're unsure about any of these, don't hesitate to ask. We're here
to help! -->
- [x] I submit my changes into the `develop` branch
- [x] I have added a description of my changes into the
[CHANGELOG](https://github.com/opencv/cvat/blob/develop/CHANGELOG.md)
file
- ~~[ ] I have updated the documentation accordingly~~
- ~~[ ] I have added tests to cover my changes~~
- ~~[ ] I have linked related issues (see [GitHub docs](

https://help.github.com/en/github/managing-your-work-on-github/linking-a-pull-request-to-an-issue#linking-a-pull-request-to-an-issue-using-a-keyword))~~
- ~~[ ] I have increased versions of npm packages if it is necessary

([cvat-canvas](https://github.com/opencv/cvat/tree/develop/cvat-canvas#versioning),

[cvat-core](https://github.com/opencv/cvat/tree/develop/cvat-core#versioning),

[cvat-data](https://github.com/opencv/cvat/tree/develop/cvat-data#versioning)
and

[cvat-ui](https://github.com/opencv/cvat/tree/develop/cvat-ui#versioning))~~

### License

- [x] I submit _my code changes_ under the same [MIT License](
https://github.com/opencv/cvat/blob/develop/LICENSE) that covers the
project.
  Feel free to contact the maintainers if that's a concern.

Co-authored-by: Boris Sekachev <boris.sekachev@yandex.ru>
@SpecLad SpecLad deleted the fix-hrnet-cpu branch July 20, 2023 10:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants