Commit Graph

20613 Commits

Author SHA1 Message Date
YashasSamaga
62a63021c7 add cuDNN 8 support 2020-06-30 21:51:23 +05:30
cyy
206c843f36
Merge pull request #17499 from cyyever:fix_CUDA11
Fix cuda11

* use cudnn_version.h to detect version when it is available

* remove nppi from CUDA11

* use ocv_list_filterout

* dnn(cuda): temporary disable CUDNN 8.0
2020-06-27 20:34:44 +00:00
Alexander Alekhin
4e6a108bda Merge pull request #17665 from komakai:fix-ios-dynamic-build 2020-06-27 20:12:08 +00:00
Dmitry Budnikov
7566921364
Merge pull request #17020 from dbudniko:dbudniko/serialization_backend
G-API Serialization routines

* Serialization backend in tests, initial version

* S11N/00: A Great Rename

- "Serialization" is too long and too error-prone to type,
  so now it is renamed to "s11n" everywhere;
- Same applies to "SRLZ";
- Tests also renamed to start with 'S11N.*' (easier to run);
- Also updated copyright years in new files to 2020.

* S11N/01: Some basic interface segregation

- Moved some details (low-level functions) out of serialization.hpp;
- Introduced I::IStream and I::OStream interfaces;
- Implemented those via the existing [De]SerializationStream classes;
- Moved all operators to use interfaces instead of classes;
- Moved the htonl/ntohl handling out of operators (to the classes).

The implementation didn't change much, it is a subject to the further
refactoring

* S11N/02: Basic operator reorg, basic tests, vector support

- Reorganized operators on atomic types to follow >>/<< model
  (put them closer in the code for the respective types);
- Introduce more operators for basic (scalar) types;
- Drop all vector s11n overloads -- replace with a generic
  (template-based) one;
- Introduced a new test suite where low-level s11n functionality
  is tested (for the basic types).

* S11N/03: Operators reorganization

- Sorted the Opaque types enum by complexity;
- Reorganized the existing operators for basic types, also ordered by
  complexity;
- Organized operators in three groups (Basics, OpenCV, G-API);
- Added a generic serialization for variant<>;
- Reimplemented some of the existing operators (for OpenCV and G-API
  data structures);
- Introduced new operators for cv::gimpl data types. These operators
  (and so, the data structures) are not yet used in the graph
  dump/reconstruction routine, it will be done as a next step.

* S11N/04: The Great Clean-up

- Drop the duplicates of GModel data structures from the
  serialization, serialize the GModel data structures themselve
  instead (hand-written code replaced with operators).
- Also removed usuned code for printing, etc.

* S11N/05: Internal API Clean-up

- Minimize the serialization API to just Streams and Operators;
- Refactor and fix the graph serialization (deconstruction and
  reconstruction) routines, fix data addressing problems there;
- Move the serialization.[ch]pp files to the core G-API library

* S11N/06: Top-level API introduction

- !!!This is likely the most invasive commit in the series!!!
- Introduced a top-level API to serialize and deserialize a GComputation
- Extended the compiler to support both forms of a GComputation:
  an expession based and a deserialized one. This has led to changes in
  the cv::GComputation::Priv and in its dependent components (even the
  transformation tests);
- Had to extend the kernel API (GKernel) with extra information on
  operations (mainly `outMeta`) which was only available for expression
  based graphs. Now the `outMeta` can be taken from kernels too (and for
  the deserialized graphs it is the only way);
- Revisited the internal serialization API, had to expose previously
  hidden entities (like `GSerialized`);
- Extended the serialized graph info with new details (object counter,
  protocol). Added unordered_map generic serialization for that;
- Reworked the very first pipeline test to be "proper"; GREEN now, the rest
  is to be reworked in the next iteration.

* S11N/07: Tests reworked

- Moved the sample pipeline tests w/serialization to
  test the public API (`cv::gapi::serialize`, then
  followed by `cv::gapi::deserialize<>`). All GREEN.
- As a consequence, dropped the "Serialization" test
  backend as no longer necessary.

* S11N/08: Final touches

- Exposed the C++ native data types at Streams level;
- Switched the ByteMemoryIn/OutStreams to store data in `char`
  internally (2x less memory for sample pipelines);
- Fixed and refactored Mat dumping to the stream;
- Renamed S11N pipeline tests to their new meaning.

* linux build fix

* fix RcDesc and int uint warnings

* more Linux build fix

* white space and virtual android error fix (attempt)

* more warnings to be fixed

* android warnings fix attempt

* one more attempt for android build fix

* android warnings one more fix

* return back override

* avoid size_t

* static deserialize

* and how do you like this, elon? anonymous namespace  to fix android warning.

* static inline

* trying to fix standalone build

* mat dims fix

* fix mat r/w for standalone

Co-authored-by: Dmitry Matveev <dmitry.matveev@intel.com>
2020-06-26 19:41:29 +00:00
Giles Payne
59ba33658a Dynamic build for Objective-C/Swift wrapper 2020-06-26 08:26:05 +09:00
Alexander Alekhin
085bd5f55f Merge pull request #17658 from ilya-lavrenov:get-layer-by-name 2020-06-25 09:42:59 +00:00
Ilya Lavrenov
86905754e4 Conditional compilation for IR v7 support 2020-06-25 11:32:10 +03:00
Anastasiya
eff259b047 Enable state initialization params via compile_args 2020-06-25 00:43:12 +03:00
Alexander Alekhin
4f03f70968 Merge pull request #17605 from TolyaTalamanov:at/fix-plaidml-kernels-function 2020-06-24 09:44:51 +00:00
Alexander Alekhin
c81d785ada Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2020-06-23 19:15:47 +00:00
Alexander Alekhin
6fb46bb34b Merge pull request #17621 from YashasSamaga:cuda4dnn-mish-half 2020-06-23 18:44:50 +00:00
Alexander Alekhin
2e165053ef Merge pull request #17624 from dkurt:dnn_optimize_mish 2020-06-23 18:43:51 +00:00
Dmitry Kurtaev
3bdd7bfbea Remove deprecated Inference Engine CPU extensions 2020-06-23 14:33:22 +03:00
Ilya Lavrenov
ad5e70f94e Conditional compilation for network reader
origibal commit: 63e92cccf2
2020-06-23 14:15:52 +03:00
Dmitry Kurtaev
8e3f5fb209 Remove deprecated Inference Engine CPU extensions 2020-06-23 10:10:29 +03:00
Dmitry Kurtaev
1491934d17 Optimize Mish for CPU backend 2020-06-22 23:27:47 +03:00
YashasSamaga
6573b9ace0 use fp32 mish for fp16 mish 2020-06-22 19:09:36 +05:30
Alexander Alekhin
ee5ff71d55 Merge pull request #17616 from ilya-lavrenov:network-reader 2020-06-22 12:10:34 +00:00
Alexander Alekhin
6e5f0a2a58 Merge pull request #17576 from philippefoubert:branch_ximea 2020-06-22 11:36:40 +00:00
Alexander Alekhin
99bc35a883 core(logger): complete initialization of logger structures
- for using of logging functions from global destructors
2020-06-22 09:27:26 +00:00
Ilya Lavrenov
63e92cccf2 Conditional compilation for network reader 2020-06-22 11:45:56 +03:00
Anatoliy Talamanov
a74ed58893 Add implementation in case plaidml isn't found 2020-06-22 00:46:41 +03:00
Philippe FOUBERT
0eb7060205 Fix the detection of the XIMEA library (since its location may be different when the version of the ximea software is updated) 2020-06-20 16:47:18 +02:00
Liubov Batanina
85c0c8c7ed Disabling dafault NMS in yolo layer 2020-06-19 14:34:13 +03:00
Alexander Alekhin
e3d502310f Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2020-06-19 07:33:50 +00:00
Tomoaki Teshima
77fa1a20bf fix build on Jetson TX1 and TX2
* enable_if_t is a c++14 feature
2020-06-19 07:56:37 +09:00
Alexander Alekhin
a7cdc42140 Merge pull request #17581 from tomoaki0705:fixCudaAsync 2020-06-18 20:54:28 +00:00
Alexander Alekhin
a8aa9d5ecb Merge pull request #17578 from Bleach665:fix_win_eigen_build 2020-06-18 20:52:33 +00:00
Philippe FOUBERT
d25293b721 Fix the build of imgproc using MinGW (variables with the same name as symbols defined in MinGW headers) 2020-06-18 20:13:34 +00:00
Tomoaki Teshima
c07af090f5 fix build error on Jetson TX1 and TX2
* enable_if_t and is_base_of is c++14 feature
 * override is c++11 feature
2020-06-18 21:25:15 +09:00
Yuriy Obukh
456e88a8a4 fix VS Windows build with eigen. https://github.com/opencv/opencv/issues/17548 2020-06-18 14:31:11 +03:00
Alexander Alekhin
42a4c3fba6 Merge pull request #17568 from alalek:cleanup_17527 2020-06-18 07:38:16 +00:00
Alexander Alekhin
d01cbe9320 cudacodec(build): fix detection in CMake, cleanup duplicate includes 2020-06-17 09:09:40 +00:00
Yashas Samaga B L
9ba5581d17
Merge pull request #17534 from YashasSamaga:cuda4dnn-remove-unused-funcs
cuda4dnn: reduce CUDA version requirements to at least CUDA 9.2

* remove half2 specializations

* do not remove atomicAdd for half in CUDA 10 and below

* remove fp16.hpp
2020-06-17 09:07:52 +00:00
Alexander Alekhin
619462b029 Merge pull request #17564 from l-bat:fix_yolov4 2020-06-17 08:45:56 +00:00
Alexander Alekhin
6fdddd53a1 Merge pull request #17555 from komakai:objc-fix-sift 2020-06-17 07:58:35 +00:00
Liubov Batanina
d93b6be3cc Changed StridedSlice to VariadicSplit in Region layer 2020-06-17 10:02:53 +03:00
Alexander Alekhin
9755ab160d Merge pull request #17556 from nglee:dev_optFlowTVL1Async 2020-06-16 20:06:56 +00:00
Pinaev Danil
57f5700e18
Merge pull request #16772 from aDanPin:dp/performance_render_tests
Added g-api render performance tests

* Add render performance tests for BGROCV

* Add render NV12 performance tests

* Review response

* Review response

* Review response

* Review response

* Review response

* Review response

* Just a small fix

* Final review response I hope)

* Review response

* Review response

* Review response

* Review response

* Review response

* Review response
2020-06-16 19:48:09 +00:00
Namgoo Lee
2043e06102 cuda optflow tvl1 : async safety
also modify cuda canny to use createTextureObjectPitch2D, etc.
2020-06-17 01:04:22 +09:00
Giles Payne
177fbc7bbb Cleanup unneeded raw pointer handling code 2020-06-16 08:15:27 +09:00
Alexander Alekhin
c7dcdc0e88 Merge pull request #17557 from alalek:backport_17554 2020-06-15 19:26:11 +00:00
Alexander Alekhin
eb67dc9f50 Merge pull request #17533 from alalek:fix_dumpInputArray_nd_case 2020-06-15 18:38:19 +00:00
Ilya Lavrenov
676b818d6a Removed plugin dispatcher
backport of commit 74113737f3
2020-06-15 18:03:14 +00:00
Namgoo Lee
411ce04f54 CUDA_OptFlow/OpticalFlowDual_TVL1 Asynchronous test 2020-06-16 01:43:51 +09:00
Giles Payne
13962b8533 Use cv::Ptr instead of raw pointers 2020-06-15 23:20:45 +09:00
Giles Payne
04bee3f9b7 Fix testFitEllipse test 2020-06-15 23:16:22 +09:00
Ilya Lavrenov
74113737f3 Removed plugin dispatcher 2020-06-15 16:02:52 +03:00
Alexander Alekhin
c244b456f0 Merge pull request #17540 from YashasSamaga:cuda4dnn-update-mish 2020-06-14 11:08:53 +00:00
Alexander Alekhin
d321a34f7c Merge pull request #17527 from tomoaki0705:detectCuvidHeader 2020-06-14 11:08:16 +00:00