Commit Graph

89 Commits

Author SHA1 Message Date
Alexander Smorkalov
9772ec861b Added Ubuntu 24.04 pipeline for 5.x 2024-07-03 09:21:54 +03:00
Alexander Smorkalov
3abd9f2a28 Merge branch 4.x 2024-07-01 15:59:43 +03:00
Alexander Smorkalov
b7c9221b80 Force contributors to define Apache 2.0 license for the new PRs. 2024-06-28 16:54:14 +03:00
Alexander Smorkalov
5f3a505a2d Added Ubuntu 24.04 to regular CI. 2024-05-16 11:17:35 +03:00
alexlyulkov
6af0394cd2
Merge pull request #25458 from alexlyulkov:al/dnn-openvino-int-support
Added int support for OpenVINO dnn backend #25458

Modified dnn OpenVINO integration to support type inference and int operations.

Added OpenVINO support to Cast, CumSum, Expand, Gather, GatherElements, Scatter, ScatterND, Tile layers.
I tried to add Reduce layer, but looks like OpenVINO uses float values inside Reduce operation so it can't pass our int tests.

OpenVINO uses int32 precision for int64 operations, so I've modified input values for int64 tests when backend is OpenVINO.

OpenVINO has a strange behavior with custom layers and int64 values. After model compilation OpenVINO may change types, so the model can have different output type. That's why these tests were disabled:
- Test_ArgMax_Int.random/0, where GetParam() = (4, NGRAPH/CPU)
- Test_ArgMax_Int.random/6, where GetParam() = (11, NGRAPH/CPU)
- Test_Reduce_Int.random/6, where GetParam() = (11, NGRAPH/CPU)
- Test_Reduce_Int.two_axes/6, where GetParam() = (11, NGRAPH/CPU)

Also these tests were temporary disabled, they didn't work on both 4.x and 5.x branches:
- Test_Caffe_layers.layer_prelu_fc/0, where GetParam() = NGRAPH/CPU
- Test_ONNX_layers.LSTM_Activations/0, where GetParam() = NGRAPH/CPU
- Test_ONNX_layers.Quantized_Convolution/0, where GetParam() = NGRAPH/CPU
- Test_ONNX_layers.Quantized_Eltwise_Scalar/0, where GetParam() = NGRAPH/CPU
- Test_TFLite.EfficientDet_int8/0, where GetParam() = NGRAPH/CPU


### Pull Request Readiness Checklist

See details at https://github.com/opencv/opencv/wiki/How_to_contribute#making-a-good-pull-request

- [x] I agree to contribute to the project under Apache 2 License.
- [x] To the best of my knowledge, the proposed patch is not based on a code under GPL or another license that is incompatible with OpenCV
- [x] The PR is proposed to the proper branch
- [ ] There is a reference to the original bug report and related work
- [x] There is accuracy test, performance test and test data in opencv_extra repository, if applicable
      Patch to opencv_extra has the same branch name.
- [x] The feature is well documented and sample code can be built with the project CMake
2024-05-15 11:51:59 +03:00
Alexander Smorkalov
b5ffdd4673
Merge pull request #25428 from asmorkalov:as/win32_arm_ci_5.x
CI pipeline with Windows 10 ARM64 for 5.x #25428

### Pull Request Readiness Checklist

See details at https://github.com/opencv/opencv/wiki/How_to_contribute#making-a-good-pull-request

- [x] I agree to contribute to the project under Apache 2 License.
- [x] To the best of my knowledge, the proposed patch is not based on a code under GPL or another license that is incompatible with OpenCV
- [x] The PR is proposed to the proper branch
- [x] There is a reference to the original bug report and related work
- [x] There is accuracy test, performance test and test data in opencv_extra repository, if applicable
      Patch to opencv_extra has the same branch name.
- [ ] The feature is well documented and sample code can be built with the project CMake
2024-04-22 15:56:08 +03:00
Alexander Smorkalov
cf3e90ab91 Added experimental build for Windows ARM64 to CI. 2024-04-10 10:26:34 +03:00
alexlyulkov
1d1faaabef
Merge pull request #24411 from alexlyulkov:al/dnn-type-inference
Added int32, int64 support and type inference to dnn #24411

**Added a type inference to dnn similar to the shape inference, added int32 and int64 support.**

- Added getTypes method for layers that calculates layer outputs types and internals types from inputs types (Similar to getMemoryShapes). By default outputs and internals types = input[0] type
- Added type inference pipeline similar to shape inference pipeline. LayersShapes struct (that is used in shape inference pipeline) now contains both shapes and types
- All layers output blobs are now allocated using the calculated types from the type inference.
- Inputs and constants with int32 and int64 types are not automatically converted into float32 now.
- Added int32 and int64 support for all the layers with indexing and for all the layers required in tests.

Added  int32 and int64 support for CUDA:
- Added host<->device data moving for int32 and int64
- Added int32 and int64 support for several layers (just slightly modified CUDA C++ templates)

Passed all the accuracy tests on CPU, OCL, OCL_FP16, CUDA, CUDA_FP16. (except RAFT model)

**CURRENT PROBLEMS**:
-  ONNX parser always converts int64 constants and layers attributes to int32, so some models with int64 constants doesn't work (e.g. RAFT). The solution is to disable int64->int32 conversion and fix attributes reading in a lot of ONNX layers parsers (https://github.com/opencv/opencv/issues/25102)
- I didn't add type inference and int support to VULCAN, so it doesn't work at all now.
- Some layers don't support int yet, so some unknown models may not work.

**CURRENT WORKAROUNDS**:
- CPU arg_layer indides are implemented in int32 followed by a int32->int64 conversion (the master branch has the same workaround with int32->float conversion)
- CPU and OCL pooling_layer indices are implemented in float followed by a float->int64 conversion
- CPU gather_layer indices are implemented in int32, so int64 indices are converted to int32 (the master branch has the same workaround with float->int32 conversion)

**DISABLED TESTS**:
- RAFT model

**REMOVED TESTS**:
- Greater_input_dtype_int64 (because it doesn't fit ONNX rules, the whole test is just comparing float tensor with int constant)

**TODO IN NEXT PULL REQUESTS**:
- Add int64 support for ONNX parser
- Add int support for more layers
- Add int support for OCL (currently int layers just run on CPU)
- Add int tests
- Add int support for other backends
2024-03-01 17:07:38 +03:00
Alexander Smorkalov
1b4c1ff91e Added job to test with real hardware. 2024-01-31 15:05:19 +03:00
Alexander Smorkalov
8495910165 Enable RISC-V CI configuration for 5.x 2023-10-26 08:26:37 +03:00
Maksim Shabunin
331763a48b CI: enable RISC-V for 4.x branch 2023-10-16 09:28:37 +03:00
Alexander Smorkalov
43036e0031 Added CI with OpenVINO for DNN and G-API. 2023-09-27 13:45:01 +03:00
Alexander Smorkalov
eab8eb8f3b Add CI configuration with Ubuntu 22.04 for 5.x branch. 2023-08-02 11:43:25 +03:00
Alexander Smorkalov
47188b7c7e Merge branch 4.x 2023-07-28 13:05:36 +03:00
Alexander Smorkalov
1a3523d2d8 Drop Python2 support. 2023-07-14 15:06:53 +03:00
Alexander Smorkalov
7b4b7ceb7e Add Ubuntu 22.04 to CI. 2023-07-11 18:39:36 +03:00
Alexander Smorkalov
bd9a3ee161 Enable Vulkan tests for 5.x branch after 4.x->5.x merge. 2023-07-06 10:16:52 +03:00
Alexander Smorkalov
5af40a0269 Merge branch 4.x 2023-07-05 15:51:10 +03:00
Alexander Smorkalov
50fc68b981 Update PRs & Issue templates to exclude 3.4 from active development. 2023-07-03 11:00:30 +03:00
zihaomu
d847f4f0fd add the node from ci-gha 2023-05-18 16:29:22 +08:00
Avasam
df99e4e88d
Merge pull request #23538 from Avasam:patch-1
Fixed a typo in `documentation.yml` and `feature_request.yml` #23538

### Pull Request Readiness Checklist

See details at https://github.com/opencv/opencv/wiki/How_to_contribute#making-a-good-pull-request

- [x] I agree to contribute to the project under Apache 2 License.
- [x] To the best of my knowledge, the proposed patch is not based on a code under GPL or another license that is incompatible with OpenCV
- [x] The PR is proposed to the proper branch
- N/A There is a reference to the original bug report and related work
- N/A There is accuracy test, performance test and test data in opencv_extra repository, if applicable
      Patch to opencv_extra has the same branch name.
- N/A The feature is well documented and sample code can be built with the project CMake
2023-04-26 12:28:13 +03:00
Anna Petrovicheva
6d93a0e42c
Update FUNDING.yml 2023-04-01 18:13:40 +03:00
Anna Petrovicheva
3f7d319fff
Create FUNDING.yml 2023-04-01 17:47:40 +03:00
Alexander Alekhin
593a376566 Merge branch 4.x 2023-01-09 11:08:02 +00:00
Alexander Smorkalov
b00ac7b07a Added ARM64 debug configuration to CI. 2022-10-25 13:44:14 +03:00
Alexander Smorkalov
d933034ad4 Added ARM64 debug configuration to CI. 2022-10-25 13:41:10 +03:00
Andrey Senyaev
3aaa9251e9 Trigger on dnn (onnx) label (5.x) 2022-10-18 09:03:27 +03:00
Andrey Senyaev
871bc98933 Trigger on dnn (onnx) label 2022-10-18 08:55:10 +03:00
Andrey Senyaev
67be6a334f Workflow Ubuntu 20.04 x64 with CUDA support (5.x) 2022-10-12 14:42:40 +03:00
Andrey Senyaev
cfafd0493c Workflow Ubuntu 20.04 x64 with CUDA support (4.x) 2022-10-12 14:41:19 +03:00
fengyuentau
692c536ac5 enable issue template chooser with templates for bug report, feature
request and documentation
2022-10-01 21:51:48 +08:00
Alex
7d96ef2671 build: harden arm64-build-checks.yml permissions
Signed-off-by: Alex <aleksandrosansan@gmail.com>
2022-09-19 21:01:34 +02:00
Alex
2882725927 build: harden lint_python.yml permissions
Signed-off-by: Alex <aleksandrosansan@gmail.com>
2022-09-19 21:01:06 +02:00
Andrey Senyaev
4c1f9fb042 Docs workflow in GHA for 5.x 2022-07-28 17:47:03 +03:00
Andrey Senyaev
759cbd7486 Docs workflow in GHA for 4.x 2022-07-28 17:46:01 +03:00
Alexander Alekhin
638a0788fe Merge pull request #22281 from asenyaev:asen/android_5.x 2022-07-22 09:58:56 +00:00
Alexander Alekhin
a42b35598e Merge pull request #22280 from asenyaev:asen/android_4.x 2022-07-22 09:58:28 +00:00
Andrey Senyaev
7ea095cc38 Android GHA workflow for 5.x branch 2022-07-21 17:59:31 +03:00
Andrey Senyaev
71e33265f5 Android GHA workflow for 4.x branch 2022-07-21 17:59:16 +03:00
Andrey Senyaev
c2ab4c052d Linux ARM64 rename ubuntu version on 5.x 2022-07-19 13:14:09 +03:00
Andrey Senyaev
65c173f2a3 Linux ARM64 rename ubuntu version on 4.x 2022-07-19 13:12:50 +03:00
Yuantao Feng
8d38922571
Merge pull request #22187 from fengyuentau:ci_job_rename_5.x
Rename jobs for better understanding for branch 5.x

* rename jobs

* remove dots from job names

* correct ubuntu version for linux arm64
2022-07-05 01:46:49 +03:00
Yuantao Feng
fb9463c55f
Merge pull request #22186 from fengyuentau:ci_job_rename_4.x
Rename jobs for better understanding for branch 4.x

* rename jobs

* remove dots from job names

* correct ubuntu version for linux arm64
2022-07-05 01:46:01 +03:00
Andrey Senyaev
9c78dc2490 Workflow for labeled iOS PRs in 5.x branch 2022-06-30 11:27:53 +03:00
Andrey Senyaev
a311d1bdc0 Workflow for labeled iOS PRs in 4.x branch 2022-06-30 11:22:34 +03:00
fengyuentau
66fee4a8d2 add workflows for macOS for 5.x 2022-06-15 11:06:52 +08:00
fengyuentau
f4a6c3e7ea add workflows for macOS for 4.x 2022-06-15 11:02:07 +08:00
Andrey Senyaev
3d207ccf11 Move workflows to a dedicated repository for 4.x branch 2022-05-20 19:46:56 +03:00
Andrey Senyaev
2f65a1b501 Move workflows to a dedicated repository for 5.x branch 2022-05-20 19:46:37 +03:00
fengyuentau
07ad6a437e add ARM64 workflow for 4.x
add opencv_contrib fork check

use image hosted on quay.io
2022-05-14 15:26:56 +00:00