Commit Graph

1618 Commits

Author SHA1 Message Date
Yashas Samaga B L
1f695c4532
Merge pull request #16161 from YashasSamaga:cuda4dnn-concat-fusion
cuda4dnn(concat): write outputs from previous layers directly into concat's output

* eliminate concat by directly writing to its output buffer

* fix concat fusion not happening sometimes

* use a whitelist instead of a blacklist
2020-02-20 15:43:05 +03:00
Dmitry Kurtaev
f3eef792eb Enable Mask R-CNN with Inference Engine. Full coverage with nGraph 2020-02-20 10:13:40 +03:00
Alexander Alekhin
4b0d3316f6 Merge pull request #16617 from alalek:dnn_fix_caffe_importer 2020-02-19 10:57:27 +00:00
Alexander Alekhin
7ac7aca33b dnn(caffe): fix net.input_dim handling in Caffe importer 2020-02-19 07:37:27 +00:00
Alexander Alekhin
1602a38fa9
Merge pull request #16572 from alalek:dnn_test_dldt_ir_v10
* dnn(test): test DLDT IRv10 model, drop old models

* dnn(test): don't expect bitexact results in DLDT IR tests
2020-02-18 17:57:46 +03:00
Liubov Batanina
e970eccbf1
Merge pull request #16472 from l-bat:cp_vton
Add CP-VTON sample

* Support resize from PyTorch

* Add CP-VTON sample

* Fix downsampling

* Fix test

* Add model links

* Add default args

* Speed up resize

* Fix TOM link

* Add default args

* Fix comments

* Set aspect ratio for input

* Update links

* Check files exist
2020-02-17 22:29:37 +03:00
Gagandeep Singh
a6f3a21256
Merge pull request #16424 from czgdp1807:issue-16370
* fixed Split layer in ONNXImporter

* added test for fix of split layer

* fixed tests for Split layer

* applied reviews

* updated tests

* fixed paths in tests
2020-02-15 14:12:20 +03:00
Alexander Alekhin
f3237fdc6e Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2020-02-14 19:54:59 +03:00
Dmitry Kurtaev
9a4cafa319 Resolve #14566 2020-02-14 00:21:38 +03:00
Alexander Alekhin
0a91261c7f dnn: turn off visibility workaround for OpenVINO 2020.1 2020-02-12 17:22:44 +03:00
Alexander Alekhin
d81a0da3e0 dnn: use OpenVINO 2020.1 defines 2020-02-12 17:21:08 +03:00
Alexander Alekhin
2a6637afdf Merge pull request #16516 from alalek:dnn_dump_network 2020-02-11 16:22:32 +00:00
Alexander Alekhin
aa2777ed61 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2020-02-10 19:40:29 +03:00
Alexander Alekhin
db9f4436e0
Merge pull request #16473 from ashishkrshrivastava:opencvtf 2020-02-09 11:52:24 +03:00
ashishiva3@gmail.com
cd53144ed3 commit: Corrected end tensor_content parsing for StridedSlice layer. 2020-02-09 06:43:23 +05:30
Alexander Alekhin
eb14f9a464 Merge pull request #16463 from alalek:core_strong_ptr_alignment 2020-02-08 19:45:43 +00:00
Alexander Alekhin
0a691f7840 Merge pull request #16529 from alalek:dnn_skip_failed_ngraph_tests 2020-02-08 18:53:10 +00:00
Alexander Alekhin
8ecfb59930 dnn(test): skip failed ngraph tests 2020-02-07 22:43:40 +00:00
Alexander Alekhin
bcc9946650
Merge pull request #16438 from ashishkrshrivastava:opencvc 2020-02-07 23:17:59 +03:00
ashishiva3@gmail.com
d64529f6de Added parsing for Connected and Dropout. Modified maxpool padding 2020-02-07 07:26:36 +05:30
Alexander Alekhin
ac0a14631d dnn: eliminate MSVC warnings from ngraph.hpp 2020-02-06 19:53:49 +00:00
Alexander Alekhin
6eba1a4d44 dnn: auto network dump through parameter 2020-02-05 21:46:32 +00:00
Alexander Alekhin
fa4871b013 dnn: don't require setInput in .dump() 2020-02-05 21:28:07 +00:00
Alexander Alekhin
225566da7b Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2020-02-04 19:49:24 +03:00
Dmitry Kurtaev
005f38fb45 Fix dnn::ResizeLayer to manage varying input shapes 2020-02-04 09:06:17 +03:00
Alexander Alekhin
2ced568d34 Merge pull request #16220 from YashasSamaga:cuda4dnn-roi-pooling-test_fix-optim 2020-01-29 20:57:15 +00:00
Alexander Alekhin
a4bd7506a5 core: CV_STRONG_ALIGNMENT macro
Should be used to guard unsafe type casts of pointers
2020-01-29 18:44:17 +03:00
Alexander Alekhin
560f85f8e5 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2020-01-28 14:26:57 +03:00
Alexander Alekhin
5429b1f5ff Merge pull request #16223 from l-bat:lip_jppnet 2020-01-27 19:17:43 +00:00
Liubov Batanina
4a19ac5aca Move instruction 2020-01-27 16:18:32 +03:00
Alexander Alekhin
f8f74fc4ae Merge pull request #16413 from l-bat:ngraph_deconv 2020-01-26 07:19:58 +00:00
Alexander Alekhin
3d5ca3ef75 Merge pull request #16418 from l-bat:ngraph_logsoftmax 2020-01-24 21:46:28 +00:00
Alexander Alekhin
bd66f76fea Merge pull request #16356 from alalek:dnn_ie_prevent_plugins_unloading 2020-01-24 12:07:05 +00:00
Liubov Batanina
d9474648f0 Fix diff 2020-01-24 11:00:06 +03:00
Liubov Batanina
0687cffe21 Support logSoftMax 2020-01-23 15:32:16 +03:00
Liubov Batanina
a3ae69893c Extend nGraph Deconvolution layer support 2020-01-23 15:10:42 +03:00
Liubov Batanina
55b03dcaba Refactoring 2020-01-23 10:25:41 +03:00
Alexander Alekhin
6670e6b0bb dnn: prevent unloading of InferenceEngine plugins 2020-01-22 19:34:32 +03:00
Alexander Alekhin
3d14dd4e39 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2020-01-22 16:58:30 +03:00
Liubov Batanina
7e5b5390ba Fix comments 2020-01-22 14:57:54 +03:00
Alexander Alekhin
b21a861c5b dnn(test): adjust test tolerance for MYRIAD 2020-01-22 14:42:52 +03:00
Liubov Batanina
35c24480ae Fix axis 2020-01-22 13:36:29 +03:00
Alexander Alekhin
16d8e9e0c8 Merge pull request #16358 from ashishkrshrivastava:opencv-2 2020-01-22 09:57:41 +00:00
Liubov Batanina
832ca0734d Refactoring 2020-01-22 10:52:40 +03:00
Liubov Batanina
fada959b4b Fix comment 2020-01-21 10:28:50 +03:00
Liubov Batanina
c6936f5a77 Support lrn with SPATIAL_NRM 2020-01-21 10:12:05 +03:00
Liubov Batanina
d825caf18e Update check params 2020-01-21 10:09:24 +03:00
Liubov Batanina
97455f1593 Remove useless condition 2020-01-20 17:31:58 +03:00
Liubov Batanina
08ba63da02 Add global pool flags 2020-01-20 15:37:11 +03:00
Alexander Alekhin
4e577b8d3c Merge pull request #16378 from alalek:dnn_getMemoryShapes_error_dump_blobs 2020-01-20 10:49:17 +00:00
Alexander Alekhin
61b6d40539 Merge pull request #16377 from alalek:fix_16373 2020-01-20 10:48:21 +00:00
ashishiva3@gmail.com
f29bc22005 Convolutional padding parsing modified 2020-01-19 22:33:12 +05:30
Julien
886220b9be Merge pull request #16273 from JulienMaille:wrapper_available_target
* add a wrapper for getAvailableTargets

* add java wrapper on Target enum
2020-01-17 19:24:37 +03:00
Alexander Alekhin
55d54b56bf dnn(onnx): handle unaligned access in ONNX importer 2020-01-17 19:03:34 +03:00
Julien Maille
a696348ec5 FIX: disable dnn cuda input_shortcut on _half for CC<5.3 2020-01-17 14:21:25 +01:00
Yashas Samaga B L
d85e67d3ec Merge pull request #16063 from YashasSamaga:cuda4dnn-shortcut-unequal
support eltwise sum with different number of input channels in CUDA backend

* add shortcut primitive

* add offsets in shortcut kernel

* skip tests involving more than two inputs

* remove redundant modulus operation

* support multiple inputs

* remove whole file indentation

* skip acc in0 trunc test if weighted

* use shortcut iff channels are unequal
2020-01-16 21:54:00 +03:00
Dmitry Kurtaev
8b9e8a805d MVN support through nGraph 2020-01-16 18:15:31 +03:00
Alexander Alekhin
2638c5e9b7 dnn: dump layer's blobs on getMemoryShapes() error 2020-01-16 14:59:47 +03:00
Julien
ced3df73da Fix: rsqrt(float) was improperly put in the ifdef for half 2020-01-16 09:21:50 +01:00
YashasSamaga
fd369a5004 fix and optimize ROIPooling 2020-01-15 22:53:48 +05:30
Alexander Alekhin
f6137292f1 Merge pull request #16357 from dkurt:dnn_ie_reset_myriad 2020-01-15 17:03:09 +00:00
Dmitry Kurtaev
d92a883de1 Different way to reset Myriad device 2020-01-15 18:52:37 +03:00
Alexander Alekhin
f6a8f7859c Merge pull request #16354 from dkurt:dnn_ie_custom_cpu_layers 2020-01-15 15:33:18 +00:00
Julien
4e2ef8c8f5 Merge pull request #16218 from JulienMaille:cuda-dnn-for-older-gpus
Enable cuda4dnn on hardware without support for __half

* Enable cuda4dnn on hardware without support for half (ie. compute capability < 5.3)

Update CMakeLists.txt

Lowered minimum CC to 3.0

* UPD: added ifdef on new copy kernel

* added fp16 support detection at runtime

* Clarified #if condition on atomicAdd definition

* More explicit CMake error message
2020-01-15 18:28:37 +03:00
Dmitry Kurtaev
7c741f54fa Wrap custom OpenCV layers to try-catch 2020-01-15 17:44:38 +03:00
Dmitry Kurtaev
0d896af8ec Fix uninitialized value 2020-01-15 12:58:12 +03:00
Alexander Alekhin
4cb9faf6c9 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2020-01-14 17:04:22 +03:00
Alexander Alekhin
a67228cd73 Merge pull request #16291 from dkurt:dnn_onnx_graph_simplifier 2020-01-14 12:45:59 +00:00
Liubov Batanina
be86338a79 Enable acrossSpatial normalizeL2 on Myriad 2020-01-14 12:51:19 +03:00
Dmitry Kurtaev
c1c84d2fd1 ONNX graphs simplifier 2020-01-14 12:45:49 +03:00
Alexander Alekhin
3f27f8cf41 Merge pull request #16232 from dkurt:dnn_ie_ngraph_fix_myriad_tests 2020-01-13 16:59:45 +00:00
Dmitry Kurtaev
8f1e36f7c1 Disable some tests for Myriad target of nGraph
Add lightweight IE hardware targets checks

nGraph: Concat with paddings

Enable more nGraph tests

Restore FP32->FP16 for GPU plugin of IE

try to fix buildbot

Use lightweight IE targets check only starts from R4
2020-01-13 15:35:47 +03:00
Alexander Alekhin
fb61f88b9c Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2020-01-12 09:35:39 +00:00
Liubov Batanina
9ed372b297 Update get memory shapes 2020-01-10 14:09:08 +03:00
Liubov Batanina
4625337179 Add docs reduce mean 2020-01-10 12:49:06 +03:00
Liubov Batanina
e9e3af0aaa Add global pool by axis test 2020-01-10 11:32:48 +03:00
Liubov Batanina
a33d50084d Add global_pooling_dim flags 2020-01-10 09:01:57 +03:00
Liubov Batanina
7eba3a7c96 Add pack description 2020-01-09 13:59:35 +03:00
Alexander Alekhin
1f2b2c5242 Merge pull request #16230 from YashasSamaga:cuda4dnn-fp-conversion 2020-01-05 11:59:33 +00:00
Alexander Alekhin
1996ae4a42 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-12-31 10:11:39 +00:00
Dmitry Kurtaev
f954f0830c Sort text TensorFlow graphs 2019-12-31 11:43:32 +03:00
YashasSamaga
48eecafc89 simplify code to help MSVC 19.10 and lower 2019-12-30 23:02:17 +05:30
Dmitry Kurtaev
76cfa65d55 AddV2 from TensorFlow 2019-12-30 20:06:58 +03:00
YashasSamaga
01f97f150c perfor fp conversions on GPU 2019-12-30 00:05:39 +05:30
YashasSamaga
17a35587e1 use optimized cuDNN path for conv + bias + relu 2019-12-29 13:08:38 +05:30
Liubov Batanina
752653c70b Update global pooling 2019-12-28 18:03:40 +03:00
Alexander Alekhin
9ec3d76b21 Merge pull request #16241 from bwignall:typo 2019-12-27 16:18:57 +00:00
Brian Wignall
f9c514b391 Fix spelling typos
backport commit 659ffaddb4
2019-12-27 12:46:53 +00:00
Brian Wignall
659ffaddb4 Fix spelling typos 2019-12-26 06:45:03 -05:00
Liubov Batanina
cf477f7e9f Fix global axis 2019-12-24 16:42:00 +03:00
Liubov Batanina
543e0302d3 Support global pooling by axis 2019-12-24 16:16:58 +03:00
YashasSamaga
16bc505d26 improve reduction logic and add fast transpose kernel 2019-12-24 00:23:45 +05:30
Liubov Batanina
6e33769e56 Add human parsing demo 2019-12-23 15:47:20 +03:00
Yashas Samaga B L
1fac1421e5 Merge pull request #16010 from YashasSamaga:cuda4dnn-fp16-tests
* enable tests for DNN_TARGET_CUDA_FP16

* disable deconvolution tests

* disable shortcut tests

* fix typos and some minor changes

* dnn(test): skip CUDA FP16 test too (run_pool_max)
2019-12-20 16:36:32 +03:00
Alexander Alekhin
97b6068c46 dnn(test): don't require downloaded data 2019-12-19 19:31:59 +00:00
Alexander Alekhin
4c86fc13cb Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-12-19 15:09:05 +03:00
Alexander Alekhin
4342657762 Merge pull request #16034 from Quantizs:irLoadFromBuffer 2019-12-19 10:00:07 +00:00
Alexander Alekhin
b8e0898c7c Merge pull request #16082 from YashasSamaga:cuda4dnn-roi-pooling 2019-12-18 14:41:58 +00:00
antalzsiroscandid
aa80f754f4 dnn: reading IR models from buffer 2019-12-18 15:31:08 +01:00
Alexander Alekhin
61969dc158 Merge pull request #16171 from YashasSamaga:cuda4dnn-tensor-cores 2019-12-17 18:58:12 +00:00
Alexander Alekhin
2c0d9fa81f dnn(test): fix Test_Model.Keypoints* tests 2019-12-16 18:07:23 +03:00
YashasSamaga
cf93df41fc enable tensor cores for fp16 convolutions 2019-12-16 15:38:12 +05:30
Alexander Alekhin
ba7b0f4c54 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-12-15 11:23:46 +00:00
Yashas Samaga B L
17c485eb03 Merge pull request #16092 from YashasSamaga:cuda4dnn-conv-act-fuse
cuda4dnn: fuse activations with convolutions

* fuse ReLU, ReLU6, TanH, Sigmoid with conv

* fix OpenCL errors

* improve ReLU, add power, swish and mish

* fix missing fusion entries

* fix handling of unsetAttached

* remove whole file indentation

* optimize power = 1.0, use IDENTITY instead of NONE

* handle edge case: change backend and then clear
2019-12-14 22:26:58 +03:00
Xuanda Yang
3d60a9b96c Merge pull request #16156 from TH3CHARLie:3.4
* Eltwise::DIV support in Halide backend

* fix typo

* remove div from generated test suite to pass CI, switching to manual test...

* ensure divisor not near to zero

* use randu

* dnn(test): update test data for Eltwise.Accuracy/DIV layer test
2019-12-13 18:29:39 +03:00
Diego
5b0b59ecfb Merge pull request #15189 from dvd42:keypoints_module
Keypoints module
2019-12-13 18:00:06 +03:00
Alexander Alekhin
92b9888837 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-12-12 13:02:19 +03:00
Alexander Alekhin
5ee7abbe3c
Merge pull request #16088 from alalek:dnn_eltwise_layer_different_src_channels
dnn(eltwise): fix handling of different number of channels

* dnn(test): reproducer for Eltwise layer issue from PR16063

* dnn(eltwise): rework support for inputs with different channels

* dnn(eltwise): get rid of finalize(), variableChannels

* dnn(eltwise): update input sorting by number of channels

- do not swap inputs if number of channels are same after truncation

* dnn(test): skip "shortcut" with batch size 2 on MYRIAD targets
2019-12-11 20:16:58 +03:00
Alexander Alekhin
2a11103a73 Merge pull request #16098 from alalek:dnn_clarify_error_getMemoryShapes 2019-12-11 14:02:15 +00:00
Alexander Alekhin
939099b9ce Merge pull request #16107 from dkurt:dnn_ie_ngraph_v1_conv 2019-12-10 12:10:50 +00:00
Alexander Alekhin
2a19db0f0a Merge pull request #16106 from dkurt:dnn_ie_ngraph_weights_fusion 2019-12-10 12:08:04 +00:00
Dmitry Kurtaev
fe77223dee Modify nGraph's ConvolutionBackpropData and GroupConvolution 2019-12-10 14:14:00 +03:00
Yashas Samaga B L
3fddd3bf93 Merge pull request #16069 from YashasSamaga:cuda4dnn-crop_and_resize
add CropAndResize layer for CUDA backend

* add CropAndResize layer

* process multiple channels per iteration
2019-12-09 22:26:58 +03:00
Alexander Alekhin
45f6931352 Merge pull request #16089 from dkurt:dnn_ie_fix_fpga 2019-12-09 19:26:00 +00:00
Dmitry Kurtaev
c2ca3ee2fa Fix weights fusion for Convolution and Deconvolution layers in nGraph 2019-12-09 19:06:47 +03:00
Alexander Alekhin
b505cf84de Merge pull request #16096 from YashasSamaga:cuda4dnn-region-optimize 2019-12-09 14:34:48 +00:00
Yashas Samaga B L
476a02739e Merge pull request #16097 from YashasSamaga:cuda4dnn-optimize-resize-bilinear
cuda4dnn(resize): process multiple channels each iteration

* resize bilinear: process multiple chans. per iter.

* remove unused headers

* correct dispatch logic

* resize_nn: process multiple chans. per iter.
2019-12-09 17:31:27 +03:00
Dmitry Kurtaev
883c4c60c3 Remove Dummy layer 2019-12-09 12:49:47 +03:00
Alexander Alekhin
b1b505f783 dnn: clarify error message from getMemoryShapes() 2019-12-08 22:17:24 +00:00
Yashas
dd3f517fe9 optimize region kernels 2019-12-08 21:03:30 +05:30
Alexander Alekhin
202ba124a5 Merge pull request #16087 from YashasSamaga:cuda4dnn-eltwise-div 2019-12-06 18:33:55 +00:00
Lubov Batanina
629d47fcd8 Merge pull request #15988 from l-bat:custom_layer
Test create custom layer in python

* check is contiguos

* Add custom layer test

* Fix test

* Remove assert

* Move assert to pyopencv dnn

* remove assert

* Add unregister

* Fix python2

* proto to bytearray

* Fix data type
2019-12-06 21:29:57 +03:00
Dmitry Kurtaev
beb5b291b9 Fix HETERO:FPGA,CPU plugin for IE backend 2019-12-06 19:35:11 +03:00
YashasSamaga
a91eca6ec2 add DIV support to EltwiseOp 2019-12-06 21:28:36 +05:30
Alexander Alekhin
51d54ad4f0 Merge pull request #16076 from l-bat:prior_ngraph 2019-12-06 14:08:21 +00:00
YashasSamaga
9b8ddba4d1 add ROIPoolingOp 2019-12-06 18:19:37 +05:30
Liubov Batanina
660a709840 Support Swish and Mish activations 2019-12-06 11:27:59 +03:00
Liubov Batanina
d99d18304a Slice v1 op 2019-12-06 09:56:21 +03:00
Dmitry Kurtaev
134094a442 Backport fix for autodetection of input shapes 2019-12-05 19:25:51 +03:00
Alexander Alekhin
8108fb0575 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-12-05 18:27:45 +03:00
Alexander Alekhin
986c5084a4 Merge pull request #16036 from dkurt:dnn_backport_15203 2019-12-05 09:56:00 +00:00
Dmitry Kurtaev
d8e10f3a8d Enable MaxPooling with indices in Inference Engine 2019-12-04 19:14:55 +03:00
Alexander Alekhin
72315e7b00 Merge pull request #16045 from YashasSamaga:cuda4dnn-hotfix-log1p-expm1 2019-12-04 15:50:07 +00:00
Alexander Alekhin
1633c29f29 Merge pull request #16037 from alalek:dnn_test_fix_skip_vulkan 2019-12-04 15:49:47 +00:00
YashasSamaga
fbb3f64a1a fix expm1 and log1p for __half/__half2 2019-12-03 15:25:35 +05:30
Alexander Alekhin
0dc0bc80ae dnn(test): fix Vulkan skip test tag 2019-12-02 18:22:10 +03:00
Dmitry Kurtaev
ca1ba7a53d Backport for dnn input shape estimation 2019-12-02 16:28:59 +03:00
Alexander Alekhin
4b0132ed7a Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-12-02 16:26:52 +03:00
Lubov Batanina
7523c777c5 Merge pull request #15537 from l-bat:ngraph
* Support nGraph

* Fix resize
2019-12-02 16:16:06 +03:00
Manjunath Bhat
78c5e41c23 Merge pull request #15808 from thebhatman:Mish_swish
* Added Swish and Mish activations

* Fixed whitespace errors

* Kernel implementation done

* Added function for launching kernel

* Changed type of 1.0

* Attempt to add test for Swish and Mish

* Resolving type mismatch for log

* exp from device

* Use log1pexp instead of adding 1

* Added openCL kernels
2019-12-02 00:06:17 +03:00
thebhatman
8a18d132fc Port Swish and Mish layers 2019-12-01 11:55:39 +03:00
Alexander Alekhin
01a28db949 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-11-29 18:57:33 +03:00
Brian Wignall
9276f1910b Fix some typos 2019-11-25 19:55:07 -05:00
Dmitry Kurtaev
6e14cc2189 Resolve https://github.com/opencv/opencv/issues/15863 2019-11-24 21:59:25 +03:00
Alexander Alekhin
ad0ab4109a Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-11-22 22:47:13 +00:00
Alexander Alekhin
86042af108 dnn: fix registration of custom OpenCVLayer
- do not require extensions library
2019-11-20 21:42:26 +00:00
Alexander Alekhin
318cba4ce3 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-11-19 19:48:49 +00:00
Alexander Alekhin
26513285dd Merge pull request #15945 from alalek:dnn_ie_extension_handling 2019-11-19 14:25:12 +00:00
Alexander Alekhin
09d54c9f52 dnn: update InferenceEngine extension handling 2019-11-19 06:55:14 +00:00
Alexander Alekhin
fc41c18c6f Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-11-18 13:56:24 +03:00
Alexander Alekhin
7ec91aefc1 python: force using of ArgInfo 2019-11-15 19:16:22 +03:00
Liubov Batanina
ac4fd4f4ae Fix ReduceL2 2019-11-14 15:30:53 +03:00
Alexander Alekhin
b6a58818bb Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-11-11 20:25:42 +00:00
Lubov Batanina
cfc781949d Merge pull request #15811 from l-bat:eltwise_div
Supported ONNX Squeeze, ReduceL2 and Eltwise::DIV

* Support eltwise div

* Fix test

* OpenCL support added

* refactoring

* fix code style

* Only squeeze with axes supported
2019-11-09 14:11:09 +03:00
Dimitri Gerin
7c4158d8c2 Fix dnn::getLayerInputs 2019-11-07 08:13:33 +03:00
Alexander Alekhin
055ffc0425 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-10-24 18:21:19 +00:00
Alexander Alekhin
d65fead337 Merge pull request #15752 from dkurt:fix_15750 2019-10-24 07:06:32 +00:00
Dmitry Kurtaev
dfe0368835 Fix custom IE layers in case of no MKLDNN plugin 2019-10-21 19:09:44 +03:00
Yashas Samaga B L
613c12e590 Merge pull request #14827 from YashasSamaga:cuda4dnn-csl-low
CUDA backend for the DNN module

* stub cuda4dnn design

* minor fixes for tests and doxygen

* add csl public api directory to module headers

* add low-level CSL components

* add high-level CSL components

* integrate csl::Tensor into backbone code

* switch to CPU iff unsupported; otherwise, fail on error

* add fully connected layer

* add softmax layer

* add activation layers

* support arbitary rank TensorDescriptor

* pass input wrappers to `initCUDA()`

* add 1d/2d/3d-convolution

* add pooling layer

* reorganize and refactor code

* fixes for gcc, clang and doxygen; remove cxx14/17 code

* add blank_layer

* add LRN layer

* add rounding modes for pooling layer

* split tensor.hpp into tensor.hpp and tensor_ops.hpp

* add concat layer

* add scale layer

* add batch normalization layer

* split math.cu into activations.cu and math.hpp

* add eltwise layer

* add flatten layer

* add tensor transform api

* add asymmetric padding support for convolution layer

* add reshape layer

* fix rebase issues

* add permute layer

* add padding support for concat layer

* refactor and reorganize code

* add normalize layer

* optimize bias addition in scale layer

* add prior box layer

* fix and optimize normalize layer

* add asymmetric padding support for pooling layer

* add event API

* improve pooling performance for some padding scenarios

* avoid over-allocation of compute resources to kernels

* improve prior box performance

* enable layer fusion

* add const layer

* add resize layer

* add slice layer

* add padding layer

* add deconvolution layer

* fix channelwise  ReLU initialization

* add vector traits

* add vectorized versions of relu, clipped_relu, power

* add vectorized concat kernels

* improve concat_with_offsets performance

* vectorize scale and bias kernels

* add support for multi-billion element tensors

* vectorize prior box kernels

* fix address alignment check

* improve bias addition performance of conv/deconv/fc layers

* restructure code for supporting multiple targets

* add DNN_TARGET_CUDA_FP64

* add DNN_TARGET_FP16

* improve vectorization

* add region layer

* improve tensor API, add dynamic ranks

1. use ManagedPtr instead of a Tensor in backend wrapper
2. add new methods to tensor classes
  - size_range: computes the combined size of for a given axis range
  - tensor span/view can be constructed from a raw pointer and shape
3. the tensor classes can change their rank at runtime (previously rank was fixed at compile-time)
4. remove device code from tensor classes (as they are unused)
5. enforce strict conditions on tensor class APIs to improve debugging ability

* fix parametric relu activation

* add squeeze/unsqueeze tensor API

* add reorg layer

* optimize permute and enable 2d permute

* enable 1d and 2d slice

* add split layer

* add shuffle channel layer

* allow tensors of different ranks in reshape primitive

* patch SliceOp to allow Crop Layer

* allow extra shape inputs in reshape layer

* use `std::move_backward` instead of `std::move` for insert in resizable_static_array

* improve workspace management

* add spatial LRN

* add nms (cpu) to region layer

* add max pooling with argmax ( and a fix to limits.hpp)

* add max unpooling layer

* rename DNN_TARGET_CUDA_FP32 to DNN_TARGET_CUDA

* update supportBackend to be more rigorous

* remove stray include from preventing non-cuda build

* include op_cuda.hpp outside condition #if

* refactoring, fixes and many optimizations

* drop DNN_TARGET_CUDA_FP64

* fix gcc errors

* increase max. tensor rank limit to six

* add Interp layer

* drop custom layers; use BackendNode

* vectorize activation kernels

* fixes for gcc

* remove wrong assertion

* fix broken assertion in unpooling primitive

* fix build errors in non-CUDA build

* completely remove workspace from public API

* fix permute layer

* enable accuracy and perf. tests for DNN_TARGET_CUDA

* add asynchronous forward

* vectorize eltwise ops

* vectorize fill kernel

* fixes for gcc

* remove CSL headers from public API

* remove csl header source group from cmake

* update min. cudnn version in cmake

* add numerically stable FP32 log1pexp

* refactor code

* add FP16 specialization to cudnn based tensor addition

* vectorize scale1 and bias1 + minor refactoring

* fix doxygen build

* fix invalid alignment assertion

* clear backend wrappers before allocateLayers

* ignore memory lock failures

* do not allocate internal blobs

* integrate NVTX

* add numerically stable half precision log1pexp

* fix indentation, following coding style,  improve docs

* remove accidental modification of IE code

* Revert "add asynchronous forward"

This reverts commit 1154b9da9da07e9b52f8a81bdcea48cf31c56f70.

* [cmake] throw error for unsupported CC versions

* fix rebase issues

* add more docs, refactor code, fix bugs

* minor refactoring and fixes

* resolve warnings/errors from clang

* remove haveCUDA() checks from supportBackend()

* remove NVTX integration

* changes based on review comments

* avoid exception when no CUDA device is present

* add color code for CUDA in Net::dump
2019-10-21 14:28:00 +03:00
Dmitry Kurtaev
af61a15839 Fix Darknet eltwise 2019-10-19 12:54:15 +03:00
Dmitry Kurtaev
adbd613660 Enable Eltwise layer with different numbers of inputs channels 2019-10-18 18:51:52 +03:00
Alexander Alekhin
626bfbf309 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-10-05 15:45:31 +00:00
Alexander Alekhin
6d811f9879 Merge pull request #15641 from alalek:dnn_pytest_update_3.4 2019-10-05 15:28:52 +00:00
Alexander Alekhin
feff8bf972 Merge pull request #15626 from alalek:dnn_openvino_2019r3 2019-10-04 19:45:37 +00:00
Alexander Alekhin
c13a5ce229 Merge pull request #15622 from dkurt:enet_ie_cpu 2019-10-04 16:31:05 +00:00
Alexander Alekhin
ab5252c18e dnn(pytest): backport changes from master, update test setUp() 2019-10-04 18:43:35 +03:00
Dmitry Kurtaev
e35fd463e7 Enable ENet with Inference Engine backend on CPU 2019-10-04 18:10:11 +03:00
Alexander Alekhin
fd11e3a81d dnn: update IE tests 2019-10-04 17:49:10 +03:00
Alexander Alekhin
f0058bbed3 dnn(test): fix optional test data 2019-10-04 17:26:35 +03:00
Alexander Alekhin
2b66495a9d dnn: use OpenVINO 2019R3 defines 2019-10-02 18:47:01 +03:00
Alexander Alekhin
3fb6617d62 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-10-02 17:49:19 +03:00
Alexander Alekhin
c06115cb3f Merge pull request #15619 from alalek:dnn_eltwise_sum_ie_ocl 2019-10-01 18:02:45 +00:00
Alexander Alekhin
8814645c8d dnn(test): skip IE/OCL test for "sum" 2019-10-01 18:29:47 +03:00
Alexander Alekhin
440a937d24 dnn: increase async test timeout 2019-10-01 13:31:57 +03:00
Dmitry Kurtaev
fba9fdfd27 Fix autodetection of input size for dnn networks 2019-09-30 16:05:15 +03:00
Alexander Alekhin
e2a5a6a05c Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-09-25 18:32:44 +00:00
Alexander Alekhin
7ce9428e96 Merge pull request #15580 from smbz:dnn-lstm-reverse 2019-09-25 15:54:06 +00:00
Andrew Ryrie
b88435fdc2 dnn: Allow LSTM layer to operate in reverse direction
This is useful for bidirectional LSTMs.
2019-09-25 14:12:43 +01:00
Lubov Batanina
e923712d81 Merge pull request #15572 from l-bat:deconv3d
Fix computation of internal shapes in Deconvolution layer

* Fix computation of internal shapes

* Refactoring
2019-09-25 15:35:04 +03:00
Alexander Alekhin
ee23a7575d Merge pull request #15515 from dkurt:dnn_detection_model_fix 2019-09-18 12:19:14 +00:00
Alexander Alekhin
b4c5b50a3e Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-09-13 17:15:45 +00:00
Dmitry Kurtaev
3ddb005480 Fix DetectionModel in case of out of [0, 1] range detection prediction 2019-09-13 12:58:56 +03:00
Dmitry Kurtaev
0428f60d66 Fix OpenVINO 2019R1 compilation 2019-09-13 09:22:34 +03:00
Alexander Alekhin
bea2c75452 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-09-05 14:29:22 +03:00
Dmitry Kurtaev
ba703157cf Merge pull request #15063 from dkurt:dnn_ie_ocv_layers
* Wrap unsupported by IE layers as custom layers

* Replace pointers to layers blobs to their shapes

* Enable Faster R-CNN with IE backend on CPU
2019-09-03 18:58:57 +03:00
Alexander Alekhin
48d41ab088 dnn: bump API version 2019-09-02 14:25:18 +03:00
Alexander Alekhin
70dfae31a2 experimental version++ 2019-09-02 14:17:36 +03:00
Alexander Alekhin
1661e83939 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-08-30 16:22:42 +03:00
Lubov Batanina
90eb529bc4 Merge pull request #15395 from l-bat:fully_connected
* Fix IE FullyConnected layer

* Fix MyriadX
2019-08-29 10:52:02 +03:00
Dmitry Kurtaev
57676cf64d Fix https://github.com/opencv/opencv/issues/15141 2019-08-24 23:14:26 +03:00
Alexander Alekhin
a7b954f655 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-08-23 19:24:37 +03:00
Alexander Alekhin
84b8a2fb05 Merge pull request #15303 from dkurt:fix_15296 2019-08-21 16:59:20 +00:00
luz.paz
fcc7d8dd4e Fix modules/ typos
Found using `codespell -q 3 -S ./3rdparty -L activ,amin,ang,atleast,childs,dof,endwhile,halfs,hist,iff,nd,od,uint`

backporting of commit: ec43292e1e
2019-08-16 17:34:29 +03:00
luz.paz
ec43292e1e Fix modules/ typos
Found using `codespell -q 3 -S ./3rdparty -L activ,amin,ang,atleast,childs,dof,endwhile,halfs,hist,iff,nd,od,uint`
2019-08-15 18:02:09 -04:00
Dmitry Kurtaev
e4a80aee09 Fix #15296 2019-08-14 19:44:05 +03:00
Diego
f7f2438478 Merge pull request #15082 from dvd42:segmentation-module
Segmentation module (#15082)
2019-08-13 23:38:48 +03:00
Alexander Alekhin
2ad0487cec Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-08-13 18:32:29 +00:00
Alexander Alekhin
e0cb01e2cf Merge pull request #15249 from dkurt:dnn_ie_tests_2019r2 2019-08-12 16:32:38 +00:00
Lubov Batanina
f1ea9d86b9 Merge pull request #15203 from l-bat:determine_inp_shape
* Determine input shapes

* Add test

* Remove getInputShapes

* Fix model

* Fix constructors

* Add Caffe test

* Fix predict
2019-08-09 19:51:42 +03:00
Alexander Alekhin
6f267be6f1 Merge pull request #15260 from tomoaki0705:suppressNoisyWarning 2019-08-08 15:45:29 +00:00
Tomoaki Teshima
40c71a2463 suppress noisy warning
* add -Wno-psabi when using GCC 6
  * add -Wundef for CUDA 10
  * add -Wdeprecated-declarations when using GCC 7
  * add -Wstrict-aliasing and -Wtautological-compare for GCC 7
  * replace cudaThreadSynchronize with cudaDeviceSynchronize
2019-08-08 21:49:32 +09:00
Dmitry Kurtaev
a9839af903 Add preprocessing warps for separate parameters 2019-08-07 14:51:41 +03:00
Dmitry Kurtaev
6193e403e7 Enable some tests for 2019R2 2019-08-07 09:07:53 +03:00
Lubov Batanina
0e1ef8f8e1 Merge pull request #15184 from l-bat:IE_R2
Support new IE API (#15184)

* Add support OpenVINO R2 for layers

* Add Core API

* Fix tests

* Fix expectNoFallbacksFromIE for ONNX nets

* Remove deprecated API

* Remove td

* Remove TargetDevice

* Fix Async

* Add test

* Fix detectMyriadX

* Fix test

* Fix warning
2019-08-06 22:20:26 +03:00
Alexander Alekhin
174b4ce29d Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-08-05 18:11:43 +00:00
Alexander Alekhin
b584c23061 Merge pull request #15158 from dkurt:fix_tf_ssd_configs 2019-08-02 16:08:55 +00:00
Maksim Shabunin
4dadf17bd9 Merge pull request #15168 from dkurt:dnn_onnx_15120 2019-07-31 15:03:23 +00:00
Lubov Batanina
778f42ad34 Add high level API (Merge pull request #14780)
* Add high level API

* Fix Model

* Add DetectionModel

* Add ClassificationModel

* Fix classify

* Add python test

* Fix pytest

* Fix comments to review

* Fix detect

* Fix docs

* Modify DetectionOutput postprocessing

* Fix test

* Extract ref boxes

* Fix draw rect

* fix test

* Add rect wrap

* Fix wrap

* Fix detect

* Fix Rect wrap

* Fix OCL_FP16

* Fix MyriadX

* Fix nms

* Fix NMS

* Fix coords
2019-07-30 23:07:37 +03:00
Lubov Batanina
5a6b23e8f3 Support for several min and max sizes in PriorBox layer (Merge pull request #15076)
* Support for several min and max sizes in PriorBox layer

* Fix minSize

* Check size

* Modify initInfEngine

* Fix tests

* Fix IE support

* Add priorbox test

* Remove inputs
2019-07-30 17:23:47 +03:00
Maksim Shabunin
e90438fe3c Merge pull request #14938 from LaurentBerger:face_clip 2019-07-30 14:18:51 +00:00
Dmitry Kurtaev
f9f160404a Add support for slice from ONNX with multiple outputs 2019-07-28 21:20:25 +03:00
Dmitry Kurtaev
ebaefbb745 Remove VGG16 from ONNX test because there is VGG16_bn 2019-07-27 23:04:25 +03:00
Dmitry Kurtaev
47c5ee5d9c Fixes for OpenCV face detection network 2019-07-27 17:25:09 +02:00
Dmitry Kurtaev
77d4e3e8d2 Fix 2019R2 tests 2019-07-27 13:30:15 +03:00
Dmitry Kurtaev
a0c3bb70a9 Modify SSD from TensorFlow graph generation script to enable MyriadX 2019-07-26 13:57:08 +03:00
Alexander Alekhin
0cf479dd5c Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-07-25 19:21:47 +00:00
Alexander Alekhin
7295983964 Merge pull request #15139 from alalek:openvino_2019R2 2019-07-25 18:59:56 +00:00
Dmitry Kurtaev
a2125594ea Fix false positives of face detection network for large faces 2019-07-25 20:09:59 +03:00
Alexander Alekhin
416c693b3f dnn(test): OpenVINO 2019R2 2019-07-25 19:01:16 +03:00
Alexander Alekhin
d2911a8d41 dnn: use OpenVINO 2019R2 defines 2019-07-24 21:37:03 +00:00
Alexander Alekhin
426482e05b Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-07-21 18:06:04 +00:00
Lubov Batanina
781f4d439e Merge pull request #15032 from l-bat:reduce_mean
* Added support for the ONNX "ReduceMean" Layer. (as this is the same as the GlobalAveragePool)

* Add ReduceMean test

* Fix ONNX importer

* Fix ReduceMean

* Add assert

* Split test

* Fix split test
2019-07-19 19:18:34 +03:00
Alexander Alekhin
199ddff13b Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-07-18 20:25:25 +00:00
Lubov Batanina
12fdaf895e Merge pull request #15057 from l-bat:fix_vizualizer
* Fix dumpToFile

* Add test

* Fix test
2019-07-18 18:41:08 +03:00
Liubov Batanina
0d2bc7b5fd Fix TF Split layer 2019-07-17 15:50:50 +03:00
Alexander Alekhin
5ccb2a4cbd dnn(test): fix required data 2019-07-16 07:53:50 +00:00
Alexander Alekhin
f6c573880e Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-07-12 18:45:06 +00:00
Lubov Batanina
34f6b05467 Merge pull request #14996 from l-bat:ocv_deconv3d
* Support Deconvolution3D on IE backend

* Add test tag

* Fix tests
2019-07-12 15:51:44 +03:00
Lubov Batanina
8bcd7e122a Merge pull request #14842 from l-bat:ocv_conv3d
* Support Conv3D on OCV backend

* Add header

* Add perf tests

* Support pool3d

* Enable Resnet34_kinetics on OCV backend

* Add test

* Fix conv

* Optimize Conv2D
2019-07-11 20:13:52 +03:00
Alexander Alekhin
f663e8f903 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-07-09 19:57:57 +00:00
Diego
57fae4a6a1 Merge pull request #14858 from dvd42:instancenorm_onnx
Instancenorm onnx (#14858)

* Onnx unsupported operation handling

* instance norm implementation

* Revert "Onnx unsupported operation handling"

* instance norm layer test

* onnx instancenorm layer
2019-07-04 21:15:04 +03:00
Alexander Alekhin
43eba3d750 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-07-04 18:44:13 +03:00
Alexander Alekhin
e00b0f6f47
Merge pull request #14860 from vonchenplus:ocv_maxpoolgrad 2019-07-04 09:57:14 +03:00
Diego
6dfe2ddc21 Merge pull request #14959 from dvd42:onnx_clip
* onnx clip operation
2019-07-04 08:56:00 +03:00
Alexander Alekhin
bc95c609ff ts: runtime check for misused 'optional' test data files 2019-07-03 20:07:44 +03:00
gal0is
206b546e5a tensroflow support maxpoolgrad 2019-07-03 09:53:17 +08:00
Alexander Alekhin
097d81363b Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-07-02 21:17:45 +00:00
Alexander Alekhin
6dea8309c5 Merge pull request #14880 from dkurt:dnn_ie_tests 2019-07-01 16:58:57 +00:00
Alexander Alekhin
65552bf403 dnn: fix build with Vulkan 2019-07-01 17:54:40 +03:00
Alexander Alekhin
6fdce865b8 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-06-29 17:27:48 +00:00
Dmitry Kurtaev
75f4c1abf2 Enable some tests for Inference Engine backend 2019-06-28 15:52:31 +03:00
Alexander Alekhin
a743de0e24 dnn: adjust compilation options 2019-06-27 17:37:31 +03:00
Alexander Alekhin
c531e275cc Merge pull request #14914 from Nuzhny007:3.4 2019-06-27 14:22:15 +00:00
Nuzhny007
031e57b359 Fixed names conflict with dldt 2019-06-27 13:13:48 +03:00
Dmitry Kurtaev
96a2f80bf2 Limit number of threads in CPU plugin of IE by OpenCV's getNumThreads 2019-06-27 12:09:00 +03:00
Alexander Alekhin
b95e93c20a Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-06-26 20:19:04 +00:00
Alexander Alekhin
24790e4061
Merge pull request #14899 from alalek:dnn_fix_bnll_layer
* dnn: fix BNLLLayer implementation

details: https://github.com/BVLC/caffe/blame/1.0/src/caffe/layers/bnll_layer.cpp#L17

* dnn: enable OCV/OpenCL BNLL layer
2019-06-26 23:04:26 +03:00
Alexander Alekhin
c251915198 Merge pull request #14895 from alalek:dnn_ie_extensions_path 2019-06-26 20:03:57 +00:00
Alexander Alekhin
2172544bb7 Merge pull request #14890 from alalek:dnn_consistent_protobuf_readers 2019-06-26 14:13:03 +00:00
Alexander Alekhin
333e51b217 dnn: configure plugin path for InferenceEngine 2019-06-26 06:41:01 +00:00
Alexander Alekhin
44d146af9a Merge pull request #14814 from alalek:dnn_skip_test_tags 2019-06-25 22:00:25 +00:00
Alexander Alekhin
f3e9eb3371 dnn: both protobuf readers have similar behavior
- ReadProtoFromTextFile
- ReadProtoFromTextBuffer
2019-06-25 18:03:04 +03:00
Feng Chen
5620306c70 Merge pull request #14845 from vonchenplus:ocv_mirrorpad
* tensorflow support mirror pad

* revert macro define

* revert macro define

* reduce code duplication

* revert macro define
2019-06-24 12:27:42 +03:00
Alexander Alekhin
894f208de3 dnn(test): replace SkipTestException with tags 2019-06-23 13:12:23 +00:00
Alexander Alekhin
f8c96cb18a Merge pull request #14847 from alalek:dnn_fix_test_data_searching 2019-06-23 12:42:27 +00:00
Lubov Batanina
16294437d5 Merge pull request #14833 from l-bat:ocv_eltwise3d
* Support Eltwise3d

* Refactoring

* Fix test
2019-06-22 10:13:28 +03:00
Alexander Alekhin
f84b08ff08 dnn: bump API version 2019-06-21 19:18:23 +03:00
Alexander Alekhin
f33f88de31 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-06-21 17:27:14 +03:00
Alexander Alekhin
f5ddaef46b experimental version++ 2019-06-21 16:57:17 +03:00
Alexander Alekhin
13a782c039 test: fix usage of findDataFile()
misused 'optional' mode
2019-06-20 18:20:14 +03:00
Alexander Alekhin
95d9cfb5c3 static analysis issues 2019-06-20 13:55:20 +03:00
Alexander Alekhin
66d7956e67 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-06-15 16:25:11 +00:00
Dmitry Kurtaev
dfdc91f8c9 dnn: fix MVN layer (issue 14683) 2019-06-14 18:38:05 +03:00
Dmitry Kurtaev
eba696a41e Merge pull request #14792 from dkurt:dnn_ie_min_version_r5
* Remove Inference Engine 2018R3 and 2018R4

* Fix 2018R5
2019-06-14 18:17:02 +03:00
Maksim Shabunin
d60ac98ef2 Limited API support for Python3 2019-06-11 15:20:43 +03:00
Maksim Shabunin
10d61a2b44 Limited API support for Python3 2019-06-11 15:15:49 +03:00
Alexander Alekhin
11b020b9f9 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-06-10 19:05:28 +00:00
Alexander Alekhin
6d916c5bb4 Merge pull request #14440 from alalek:async_array 2019-06-08 20:57:15 +00:00
Lubov Batanina
5e80191d27 Merge pull request #14697 from l-bat:Slice_ONNX
* Support Slice layer in ONNX importer

* Add IE support

* Fix ONNX importer

* Fix Slice
2019-06-08 16:52:40 +03:00
Alexander Alekhin
f3de2b4be7 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-06-05 19:11:52 +03:00
Lubov Batanina
3efd2df87f Merge pull request #14682 from l-bat:axpy_layer
* Add Axpy layer

* Fix test

* fix caffe importer
2019-06-05 00:18:06 +03:00
Alexander Alekhin
f355b3505f Merge pull request #14661 from dkurt:ie_deconv_adj 2019-06-03 16:58:17 +00:00
Dmitry Kurtaev
9c0af1f675 Enable more deconvolution layer configurations with IE backend 2019-06-03 08:15:52 +03:00
Yashas Samaga B L
ae279966c2 Merge pull request #14660 from YashasSamaga:dnn-cuda-build
add cuDNN dependency and setup build for cuda4dnn (#14660)

* update cmake for cuda4dnn

- Adds FindCUDNN
- Adds new options:
   * WITH_CUDA
   * OPENCV_DNN_CUDA
- Adds CUDA4DNN preprocessor symbol for the DNN module

* FIX: append EXCLUDE_CUDA instead of overwrite

* remove cuDNN dependency for user apps

* fix unused variable warning
2019-06-02 14:47:15 +03:00
Alexander Alekhin
805ab6331f Merge pull request #14662 from dkurt:dnn_tf_fix_identity_switch 2019-05-30 20:22:17 +00:00
Lubov Batanina
f94253b82b Merge pull request #14627 from l-bat:demo_kinetics
* Support 3D ResNet-34-kinetics

* Update sample

* Remove preprocess

* Change test

* Fix sample
2019-05-30 17:36:00 +03:00
Alexander Alekhin
52548bde05 dnn(test): replace file content reading 2019-05-29 23:08:33 +03:00
Dmitry Kurtaev
081d9bc73f Fix Identity Switch from Keras 2019-05-29 17:13:21 +03:00
Alexander Alekhin
43467a2ac7 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-05-28 18:29:48 +00:00
Alexander Alekhin
0d477d7364 Merge pull request #14651 from alalek:dnn_test_update_debug_tags 2019-05-28 16:26:49 +00:00
Alexander Alekhin
38a3c1ce6b dnn(test): update test tags for Debug build 2019-05-27 20:12:30 +00:00
LaurentBerger
a3be8d7cd7 dead link 2019-05-27 21:57:10 +02:00
Alexander Alekhin
483e9f341c Merge pull request #14626 from dkurt:dnn_ie_slice_layer 2019-05-27 16:27:14 +00:00
Lubov Batanina
61d3222a22 Merge pull request #14537 from l-bat:fix_network_vizualizer
Fix dnn visualizer (#14537)

* Fixed print layer params

* Fix print
2019-05-27 19:17:07 +03:00
Dmitry Kurtaev
44d21e5a79 Enable Slice layer on Inference Engine backend 2019-05-27 16:28:01 +03:00
Alexander Alekhin
166ecaeda8 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-05-23 19:50:20 +03:00
Dmitry Kurtaev
26e426adb1 StridedSlice from TensorFlow 2019-05-22 12:45:52 +03:00
dianlujitao
f0f50b757d Fix LogSoftmax for ONNX
Fix wrong indentation as well while at it
2019-05-20 22:55:31 +08:00
Alexander Alekhin
132253c9f3 dnn: use AsyncArray 2019-05-18 19:32:23 +00:00
Alexander Alekhin
447116a93c Merge pull request #14524 from kohei-us:onnx-load-binary-blob 2019-05-18 16:19:34 +00:00
Alexander Alekhin
d848594deb Merge pull request #14445 from l-bat:batchnorm3d 2019-05-17 17:03:53 +00:00
Kohei Yoshida
7b4aefedea Add support for loading ONNX model from in-memory buffer. 2019-05-16 11:26:20 -04:00
Alexander Alekhin
e21262deba Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-05-16 04:40:39 +00:00
Alexander Alekhin
a70e1eecd9 Merge pull request #14552 from dkurt:fixed_detections_out_blob 2019-05-15 15:17:05 +00:00
Liubov Batanina
dfa753c6b4 Support OCV backend 2019-05-14 16:44:57 +03:00
Dmitry Kurtaev
6389dfe49c Fixed DetectionOutput output blob shape 2019-05-14 15:09:32 +03:00
Liubov Batanina
dadb1473c1 Add BatchNorm3d layer 2019-05-14 12:44:48 +03:00
Dmitry Kurtaev
c3b0a68a2b Async mode for dnn's object detection sample 2019-05-14 09:58:47 +03:00
Alexander Alekhin
b2abd8ca41 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-05-07 16:04:54 +00:00
Alexander Alekhin
5ba8aa781c Merge pull request #14460 from dkurt:dnn_tf_no_extra_clone 2019-05-07 14:48:50 +00:00
Dmitry Kurtaev
471b83ccd5 Modify paddings computation for SAME pad mode 2019-05-06 10:49:10 +03:00
Dmitry Kurtaev
adc1ef9308 Fix uint8 input data for Async mode of dnn 2019-05-05 12:49:38 +03:00
Alexander Alekhin
e28e3c9491 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-05-01 08:27:45 +00:00
Alexander Alekhin
163d5e4d39 Merge pull request #14368 from dkurt:dnn_ie_tests 2019-04-30 19:35:00 +00:00
Alexander Alekhin
bc9893799d Merge pull request #14457 from alalek:dnn_fix_msvc_build 2019-04-30 16:49:33 +00:00
Alexander Alekhin
1c092a181d Merge pull request #14454 from dkurt:dnn_tf_subgraph_fusion 2019-04-30 16:24:32 +00:00
Dmitry Kurtaev
a6ed8f268a Remove extra weights cloning from TensorFlow importer 2019-04-30 19:18:41 +03:00
Lubov Batanina
77fa59c3da Merge pull request #14301 from l-bat:conv3d
Support Convolution3D layer on IE backend (#14301)

* Add Convolution3D layer

* Disable CXX11

* Fixed tests

* Add Pooling3D layer

* Merge Conv2d with Conv3d and Pool2d with Pool3d layers

* Split pads

* Add Deconvolution layer

* Refactoring

* Deduplication

* Refactoring

* Add utils for Convolution and Pooling layers
2019-04-30 17:08:17 +03:00
Alexander Alekhin
138a80611c build: avoid MSVC ICE 2019-04-30 14:16:01 +03:00
Dmitry Kurtaev
9408c3e640 Refactored TensorFlow subgraphs fusion 2019-04-30 09:21:05 +03:00
Dmitry Kurtaev
61b928d9bd Add an assertion for Async request status 2019-04-29 08:16:28 +03:00
Alexander Alekhin
e8a626d43a Merge pull request #14407 from dkurt:dnn_ie_fix_batch_detection 2019-04-27 21:48:56 +00:00
Dmitry Kurtaev
4f6be11c0e Check if Inference Engine networks are fully supported by backend 2019-04-25 11:27:17 +03:00
Alexander Alekhin
0431ecb9e2 Merge pull request #14408 from l-bat:onnx_deconv 2019-04-24 14:30:09 +00:00
Liubov Batanina
45ced8e022 Fix ONNX deconvolution 2019-04-24 14:37:52 +03:00
Dmitry Kurtaev
520e351489 Fix batching in DetectionOutput layer 2019-04-24 12:08:49 +03:00
Alexander Alekhin
d0032b0717 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-04-22 18:17:28 +00:00
Alexander Alekhin
8eb685de9d Merge pull request #14390 from dkurt:dnn_onnx_const_reshape 2019-04-22 15:55:19 +00:00
Dmitry Kurtaev
9b635830bc Run Reshape layer for const input from ONNX models 2019-04-22 17:57:46 +03:00
Dmitry Kurtaev
a5c92c2029 Merge pull request #13694 from dkurt:dnn_ie_async
Asynchronous API from Intel's Inference Engine (#13694)

* Add forwardAsync for asynchronous mode from Intel's Inference Engine

* Python test for forwardAsync

* Replace Future_Mat to AsyncMat

* Shadow AsyncMat

* Isolate InferRequest callback

* Manage exceptions in Async API of IE
2019-04-19 21:01:19 +03:00
Alexander Alekhin
c024edb9a8 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-04-19 15:43:58 +03:00
Alexander Alekhin
4f764b812e Merge pull request #14315 from dkurt:tf_squeeze_and_slim_softmax_v2 2019-04-18 16:01:24 +00:00
Alexander Alekhin
dedd966002 Merge pull request #14345 from dkurt:fix_dnn_ie_mac 2019-04-16 19:18:49 +00:00
Alexander Alekhin
c667de9b68 dnn: force visibility(default) for IE headers 2019-04-16 18:18:31 +03:00
Alexander Alekhin
74d5cdb6d8 Merge pull request #14343 from alalek:dnn_static_scans_namespace 2019-04-16 13:11:23 +00:00
Dmitry Kurtaev
62d079fa69 Fix Normalize layer for Mac 2019-04-16 12:39:04 +03:00
Alexander Alekhin
3902694075 static scans: preserve namespace name 2019-04-16 06:49:47 +00:00
Alexander Alekhin
4635356435 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-04-13 20:00:54 +00:00
Dmitry Kurtaev
92cbec6fb1 Fix dnn with IE from GitHub 2019-04-13 19:02:03 +03:00
Dmitry Kurtaev
0cfd95c097 Fix TensorFlow's Squeeze and a new fusion for SoftMax from slim backend 2019-04-13 17:04:31 +03:00
Lubov Batanina
60a841c797 Merge pull request #14255 from l-bat:networks_visualization
* Add networks visualization

* Disable CXX11

* Fixed multy inputs support

* Added output shapes

* Added color for DLIE/CPU

* Fixed graph colors
2019-04-12 19:31:07 +03:00
Alexander Alekhin
64629cb94e Merge pull request #12783 from alalek:test_tag 2019-04-12 15:35:41 +00:00
Alexander Alekhin
5f500692f1 Merge pull request #14284 from dkurt:fix_14236 2019-04-12 13:05:38 +00:00
Alexander Alekhin
227ec19929 Merge pull request #14277 from dkurt:ie_enable_tests_2019r1 2019-04-12 13:05:19 +00:00
Dmitry Kurtaev
a2bbfa1db5 Enable some tests for Inference Engine 2019R1 2019-04-12 15:21:42 +03:00
Alexander Alekhin
a0a1fb5fec python: discover tests from module/misc/python/test paths 2019-04-10 18:35:35 +00:00
Dmitry Kurtaev
7ce2397b62 Fix a bug in FusedBatchNorm (TensorFlow) layer importer 2019-04-09 13:35:34 +03:00
Alexander Alekhin
e0841f3d6e dnn(test-tags): add time / memory tags 2019-04-08 19:18:25 +00:00
Alexander Alekhin
c9fc27b337 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-04-05 19:08:23 +00:00
Alexander Alekhin
bd43e4f28b Merge pull request #14251 from dkurt:dnn_tf_manage_switch 2019-04-05 12:43:22 +00:00
Dmitry Kurtaev
ec41a4897a Remove Switch and Merge nodes from TensorFlow networks 2019-04-05 12:32:35 +03:00
Alexander Alekhin
473941c341 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-04-04 18:09:24 +00:00
BALACHANDAR S
aa167434e6 Merge pull request #14252 from balachandarsv:master-mac-openvino-support
* Mac support for op inference engine

Adding condition to check for mac and add corresponding libraries

* Adding mac support in test cases
2019-04-04 17:37:45 +03:00
Alexander Alekhin
4001346a30 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-04-03 19:33:52 +00:00
Alexander Alekhin
c300070b8a Merge pull request #14241 from alalek:openvino_2019R1 2019-04-03 19:26:46 +00:00
103yiran
4bb6edf176 Merge pull request #14117 from 103yiran:103yiran-patch-dnn
* Postpone variable definitions

* dnn: reduce scope of 'Mat image' variable
2019-04-03 22:13:11 +03:00
Alexander Alekhin
cafa010389 dnn(test): skip tests 2019-04-03 17:49:05 +03:00
Alexander Alekhin
8bc8a94645 dnn: update DNNTestOpenVINO.models tests
- models are moved out from OpenVINO package
- need to download them separatelly
2019-04-03 15:39:47 +03:00
Alexander Alekhin
8483801eab dnn: use OpenVINO 2019R1 defines 2019-04-03 15:39:47 +03:00
Alexander Alekhin
5dc606097c Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-04-02 20:54:41 +00:00
Dmitry Kurtaev
e3286c9055 Enable 1x1 convolution optimization 2019-04-02 14:05:17 +03:00
Alexander Alekhin
df1f62b34c Merge pull request #14225 from zuoshaobo:my3.4 2019-04-02 09:57:26 +00:00
Dmitry Kurtaev
07655c2b4d Fix build with IE > 2018R5 2019-04-02 11:54:50 +03:00
zuoshaobo
a34c02a001 add support for tf.add_n operation 2019-04-02 03:20:53 -04:00
Alexander Alekhin
33dde339fe Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-04-01 18:11:55 +03:00
Dmitry Kurtaev
144b1f4d9d Reduce number of tested models from OpenVINO 2019-04-01 15:15:00 +03:00
Alexander Alekhin
fcb07c64f3 cmake: fix build of dnn tests with shared common code
- don't share .cpp files (PCH support is broken)
2019-03-31 08:52:25 +00:00
Sayed Adel
de22442046 dnn:perf add missing definition __OPENCV_TEST to fix pch 2019-03-31 03:28:33 +02:00
Alexander Alekhin
7442100caa Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-03-29 19:29:36 +00:00
Lubov Batanina
7d3d6bc4e2 Merge pull request #13932 from l-bat:MyriadX_master_dldt
* Fix precision in tests for MyriadX

* Fix ONNX tests

* Add output range in ONNX tests

* Skip tests on Myriad OpenVINO 2018R5

* Add detect MyriadX

* Add detect MyriadX on OpenVINO R5

* Skip tests on Myriad next version of OpenVINO

* dnn(ie): VPU type from environment variable

* dnn(test): validate VPU type

* dnn(test): update DLIE test skip conditions
2019-03-29 16:42:58 +03:00
Alexander Alekhin
3cd6e3b304 Merge pull request #14166 from dkurt:fix_slim_mobilenet_v2 2019-03-28 14:37:35 +00:00
Alexander Alekhin
e8c20bfae6 dnn: fix support drop for IE<2018R3
- fix build with IE 2018R3
2019-03-27 20:36:48 +00:00
Dmitry Kurtaev
9cfd219d70 Fix Mobilenet v2 from TensorFlow slim 2019-03-27 15:10:57 +03:00
Alexander Alekhin
90df5e00b4 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-03-26 18:56:54 +00:00
Kohei Yoshida
212420516f Add a test case for handling output_shape property for deconvolution layer. 2019-03-26 10:46:17 -04:00
Kohei Yoshida
3bcff7f941 Make use of explicit output shape for the de-convolution layer.
This is relevant to cases where the net is loaded from an ONNX model
containing ConvTranspose layers, which may include the output_shape
attribute.

c.f. https://github.com/onnx/onnx/blob/master/docs/Operators.md#ConvTranspose
2019-03-26 10:46:09 -04:00
Dmitry Kurtaev
714b38360f Extend LRN layer support with IE backend 2019-03-25 12:53:34 +03:00
Alexander Alekhin
26087e28ad Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-03-15 22:42:57 +00:00
zuoshaobo
8b52eabd48 fix the region layer's output anchor size normalization error 2019-03-15 08:41:11 -04:00
Alexander Alekhin
8c0b0714e7 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-03-11 19:20:22 +00:00
Giles Payne
55f02d8c66 Merge pull request #14011 from komakai:debug-build
* Add Android SDK debug build flag

* Change LOG_TAG define for consistency with other modules
2019-03-11 17:16:42 +03:00
Alexander Alekhin
922cd208f7 Merge pull request #13875 from allnes:optimization_fuse 2019-03-07 14:38:59 +00:00
Easton Liu
fcfb29766b Add ability to read thresh and nms_threshold from YOLO layer in YOLOV3 cfg file.
Currently the thresh is hard-coded to be 0.2 and nms_threshold as 0.4.
2019-03-07 09:55:48 +08:00
Alexander Alekhin
332c37f332 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-03-06 11:43:16 +03:00
Alexander Nesterov
74574dfae4 Added optimization fuse 2019-03-05 18:12:03 -01:00
Alexander Alekhin
80d37ba698 dnn: fix usage of CV_LOG_VERBOSE macro 2019-03-02 14:49:21 +00:00
Alexander Alekhin
c3cf35ab63 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-02-26 17:34:42 +03:00
Alexander Alekhin
865c29a754 Merge pull request #13892 from dkurt:onnx_upsample_unsqueeze 2019-02-26 10:17:07 +00:00
Alexander Alekhin
f6d3adcf3d Merge pull request #13887 from dkurt:dnn_ie_lrn_bug 2019-02-25 14:26:22 +00:00
Alexander Alekhin
ca4fd1e427 Merge pull request #13884 from dkurt:dnn_drop_ie_r1_r2 2019-02-22 11:21:43 +00:00
Dmitry Kurtaev
20400aa9f7 Import Upsample and Unsqueeze from ONNX 2019-02-21 20:17:28 +03:00
Dmitry Kurtaev
4cbd09c41c Add extra limitations for LRN from Inference Engine backend 2019-02-21 14:20:24 +03:00
Alexander Alekhin
0e70363f4a Merge pull request #13882 from dkurt:fix_13479 2019-02-21 09:38:26 +00:00
Dmitry Kurtaev
ed710eaa1c Make Inference Engine R3 as a minimal supported version 2019-02-21 09:32:26 +03:00
Dmitry Kurtaev
bfd663c281 Add a test for grouped deconvolution from ONNX 2019-02-21 08:54:35 +03:00
Ayush Pandey
5c7fe0fe05 Fix Issue #13479 2019-02-21 08:36:16 +03:00
Dmitry Kurtaev
715f881dda Replace default confidence threshold for dnn detections from -FLT_MAX to 0 2019-02-20 13:09:09 +03:00
Alexander Alekhin
8bde6aea4b Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-02-19 19:49:13 +00:00
Alexander Alekhin
8cedc052ca Merge pull request #13841 from dkurt:dnn_ie_future_3 2019-02-19 14:19:36 +00:00
Dmitry Kurtaev
ca5976e3d4 Fix IE backend considering future changes. 2019-02-18 19:26:04 +03:00
Alexander Alekhin
9d3d5e9d65 Merge pull request #13774 from l-bat:fix-IE-tests 2019-02-15 13:54:24 +00:00
Liubov Batanina
183c0fcab1 Changed condition for resize and lrn layers 2019-02-14 13:11:14 +03:00
Alexander Alekhin
dfef04b325 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-02-12 17:54:40 +03:00
Alexander Alekhin
9e7014b59f Merge pull request #13799 from dkurt:dnn_ie_future_2 2019-02-12 14:07:42 +00:00
Dmitry Kurtaev
1606137df2 Read raw floats data from Caffe models 2019-02-11 20:08:17 +03:00
Dmitry Kurtaev
0711dab09d Fix Intel's Inference Engine backend from future. Second try. 2019-02-11 19:47:57 +03:00
klemens
5d9c6723ee spelling fixes
backport 997b7b18af
2019-02-11 15:35:10 +03:00
Liubov Batanina
6b4becfd03 Enabled tests on IE backend 2019-02-11 12:39:28 +03:00
klemens
997b7b18af spelling fixes 2019-02-09 22:29:54 +01:00
Alexander Alekhin
f414c16c13 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-02-08 17:18:56 +00:00
Alexander Nesterov
9cbdb48d6d Fix change step 2019-02-07 11:14:20 -01:00
Liubov Batanina
b068d26fad Using IE backend for normalize layer tests 2019-02-07 11:52:27 +03:00
Alexander Alekhin
f67b197d49 Merge pull request #13738 from dkurt:dnn_ie_lock_shared_plugins 2019-02-06 12:09:58 +00:00
Dmitry Kurtaev
bc4e471847 Add a mutex for shared Inference Engine plugins 2019-02-05 19:26:58 +03:00
Alexander Alekhin
fcec053d59 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-02-05 19:12:41 +03:00
Alexander Alekhin
eab6744ac7 dnn(ocl): use compile-time LOCAL_SIZE parameter
instead of get_local_size(0) and dynamic local memory allocation
2019-02-05 15:51:16 +03:00
Alexander Alekhin
665408e57f Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-02-01 13:17:32 +03:00
Alexander Alekhin
a42bbc9722 Merge pull request #13736 from dkurt:dnn_ie_future 2019-02-01 10:01:39 +00:00
Dmitry Kurtaev
c918ac298c Fix IE tests 2019-01-31 14:14:38 +03:00
Dmitry Kurtaev
ac262f5b5d Clone convolution layer weights only for fusion 2019-01-29 14:29:47 +03:00
Alexander Alekhin
3585522b24 Merge pull request #13692 from dkurt:dnn_do_not_crash_myriad_in_tests 2019-01-28 18:34:20 +00:00
Dmitry Kurtaev
3c3c5ef2b6 Fix a dnn bug with retrieving all the output blobs 2019-01-28 18:48:56 +03:00
Dmitry Kurtaev
ff775b2e54 Remove ASSERT_ANY_THROW checks fpr Myriad plugin and FP32 networks 2019-01-25 20:09:54 +03:00
Alexander Nesterov
97c3bcb1b7 Added fix for other size 2019-01-24 12:51:16 -01:00
Alexander Alekhin
631b246881 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-01-22 18:00:34 +00:00
Alexander Alekhin
400fd5c3ec Merge pull request #13539 from dkurt:ie_graph_api 2019-01-18 16:00:18 +00:00
Lee Jaehwan
3721c8bb06 Merge pull request #13586 from eightco:Core_bugfix3
* Add Operator override for multi-channel Mat with literal constant.

* simple test

* Operator overloading channel constraint for primitive types

* fix some test for #13586
2019-01-17 17:23:09 +03:00
Dmitry Kurtaev
f0ddf302b2 Move Inference Engine to new API 2019-01-17 14:28:48 +03:00
Raphael Graf
82c77fa244 dnn: remove malloc.h include 2019-01-10 13:07:36 +01:00
Alexander Alekhin
7e2ebecd52 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-01-10 12:29:41 +03:00
Dmitry Kurtaev
d0504c95f4 Add a text message for Convolution layer's input channels check 2019-01-09 13:10:19 +03:00
WuZhiwen
3d44e9ad92 Merge pull request #13520 from wzw-intel:hang
* dnn/Vulkan: fix GPU hang for heavy convolution tasks

Intel i915 driver will declare GPU hang if the compute shader
takes too long to complete. See
https://bugs.freedesktop.org/show_bug.cgi?id=108947 for details.

The idea in this commit is to divide heavy task into several light
ones and run compute shader multiple times to make each run take
short time enough.

TODO: Add more efficient compute shader

Signed-off-by: Wu Zhiwen <zhiwen.wu@intel.com>

* dnn/Vulkan: add a more efficient conv shader
2018-12-27 15:06:44 +03:00
Alexander Alekhin
6142b21dd5 Merge pull request #13518 from wzw-intel:test_vulkan 2018-12-24 16:49:45 +00:00
Wu Zhiwen
dae03273cd dnn: fixup missing vkcom/vulkan combination of backend/target in dnn test 2018-12-24 11:00:45 +08:00
Wu Zhiwen
be6a837e15 dnn: add Vulkan device check for BackendRegistry 2018-12-24 10:41:58 +08:00
Alexander Alekhin
1dee705074 Merge branch '3.4' into merge-3.4 2018-12-22 05:40:15 +00:00
Alexander Alekhin
14633bc857 Merge pull request #13497 from dkurt:dnn_torch_bn_train 2018-12-21 14:29:10 +00:00
Dmitry Kurtaev
840c892abd Batch normalization in training phase from Torch 2018-12-21 14:36:55 +03:00
Dmitry Kurtaev
59ce1d80a5 Fix dnn tests for Inference Engine R5 2018-12-21 12:33:30 +03:00
Dmitry Kurtaev
257f60582a Add serialize method for IE net wrapper
backport 4ba4901ca9
2018-12-21 05:52:27 +00:00
Alexander Alekhin
bbdc987fc6 dnn: add OpenVINO 2018R5 defines
https://software.intel.com/en-us/openvino-toolkit
2018-12-21 05:52:27 +00:00
Alexander Alekhin
0c16d8f6c3 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2018-12-13 15:12:26 +03:00
Alexander Alekhin
a9771078df Merge pull request #13427 from dkurt:dnn_onnx_dynamic_reshape 2018-12-13 11:15:51 +00:00
Dmitry Kurtaev
e71758cfdf Operate with shapes in ONNX models 2018-12-12 18:34:22 +03:00
Alexander Alekhin
d8583b2c7a dnn: fix vulkan backend builds with Clang 2018-12-12 15:25:39 +03:00
Dmitry Kurtaev
53f6198f27 Minor fixes in IE backend tests 2018-12-10 20:08:13 +03:00
Alexander Alekhin
ea64e860de Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2018-12-09 13:21:58 +00:00
Dmitry Kurtaev
8422dda2c7 Element-wise subtraction from TensorFlow 2018-12-07 13:38:05 +03:00
Alexander Alekhin
cab15f6c5e Merge pull request #13377 from dkurt:hotfix_dnn_ie_master 2018-12-06 15:11:09 +00:00
Alexander Alekhin
492a072ea8 Merge pull request #13376 from dkurt:hotfix_dnn_ie 2018-12-06 15:09:51 +00:00
Alexander Alekhin
e82e672a93 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2018-12-06 07:06:58 +00:00
Dmitry Kurtaev
93971a53d9 Exclude Input layer from list of outputs for IE networks 2018-12-06 09:12:05 +03:00
Dmitry Kurtaev
3868cb44f1 Exclude Input layer from list of outputs for IE networks 2018-12-06 09:08:50 +03:00
Alexander Alekhin
6fbf6f8bea Merge pull request #13359 from dkurt:dnn_keras_pad_concat 2018-12-05 19:48:58 +00:00
Alexander Alekhin
9ff1c39daa dnn: fixup available backends/targets 2018-12-05 19:19:17 +03:00
Maksim Shabunin
fe459c82e5 Merge pull request #13332 from mshabunin:dnn-backends
DNN backends registry (#13332)

* Added dnn backends registry

* dnn: process DLIE/FPGA target
2018-12-05 18:11:45 +03:00
Dmitry Kurtaev
c9e0c77d73 Concat layer from TensorFlow with constant inputs 2018-12-04 19:41:40 +03:00
Dmitry Kurtaev
4ba4901ca9 Add serialize method for IE net wrapper 2018-11-27 12:02:00 +03:00
Alexander Alekhin
8f4e5c2fb8 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2018-11-26 15:37:45 +03:00
Dmitry Kurtaev
84ce2cc211 Enable some dnn tests according to the new Intel's Inference Engine release (R4) 2018-11-26 13:02:24 +03:00
Wu Zhiwen
4e65283081 dnn/Vulkan: make thread safe
Use a global dedicated mutex to make sure initialize once and
protect command buffer pool and queue.

Signed-off-by: Wu Zhiwen <zhiwen.wu@intel.com>
2018-11-26 14:08:37 +08:00
Dmitry Kurtaev
2f6f52d644 Fix ONNX's emotion_ferplus model.
Reduce input size for OpenPose tests
2018-11-23 19:00:17 +03:00
WuZhiwen
02cc1cd6e6 Merge pull request #13244 from wzw-intel:init_vulkan
* dnn/Vulkan: don't init Vulkan runtime if using other backend/target

Don't need to explictly call a init API but will automatically
init Vulkan environment the first time to use an VkCom object.

Signed-off-by: Wu Zhiwen <zhiwen.wu@intel.com>

* dnn/Vulkan: depress compilier warning for "-Wsign-promo"

Signed-off-by: Wu Zhiwen <zhiwen.wu@intel.com>
2018-11-22 19:46:30 +03:00
Alexander Alekhin
7fa7fa0226 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2018-11-21 08:33:39 +00:00
Alexander Alekhin
eaf39f6b6b Merge pull request #13213 from alalek:fix_format 2018-11-20 14:53:20 +00:00
Alexander Alekhin
d7272f76fb dnn: fix format 2018-11-19 19:33:56 +00:00
Dmitry Kurtaev
0d117312c9 DNN_TARGET_FPGA using Intel's Inference Engine 2018-11-19 11:41:43 +03:00
Alexander Alekhin
22dbcf98c5 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2018-11-17 14:17:35 +00:00
Alexander Alekhin
dd3398416b experimental version++ 2018-11-17 10:22:17 +00:00
Christopher Gundler
b58a8729c2 Merge pull request #13131 from Christopher22:add_transposedConv_onnx
* Add support for ConvTranspose when parsing ONNX.

* Add support for ConvTranspose when parsing ONNX.

* Add test for Deconvolution
2018-11-16 22:50:40 +03:00
Alexander Alekhin
f2bec05e6d Merge pull request #12913 from dkurt:dnn_fix_ie_hyperparams 2018-11-16 18:36:12 +00:00
Dmitry Kurtaev
b5c54e447c Extra hyperparameters for Intel's Inference Engine layers 2018-11-15 20:06:37 +03:00
Dmitry Kurtaev
ef5d921eac Fix Vulkan's max pooling in case of no output indices 2018-11-15 14:10:54 +03:00
Alexander Alekhin
96c71dd3d2 dnn: reduce set of ignored warnings 2018-11-15 13:15:59 +03:00
Alexander Alekhin
8409aa9eba Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2018-11-14 19:41:09 +00:00
catree
10b482ff1e Fix code and missing intrin header. Remove useless header. 2018-11-14 19:00:59 +01:00
Dmitry Kurtaev
80265a0815 Fix a bug with OpenVINO backend 2018-11-14 13:42:06 +03:00
Alexander Alekhin
f5b212a9d4 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2018-11-12 17:58:45 +03:00
Alexander Alekhin
801c943009 fix coverity reports 2018-11-11 13:51:47 +00:00
Alexander Alekhin
1913482cf5 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2018-11-10 20:50:26 +00:00
Alexander Alekhin
0c261acf3a Merge pull request #13065 from dkurt:dnn_update_tf_faster_rcnn 2018-11-08 16:31:39 +00:00
Alexander Alekhin
997ad12730 Merge pull request #12985 from wzw-intel:vkcom_refine 2018-11-08 10:26:57 +00:00
Dmitry Kurtaev
dc9e6d3af8 Update a script to generate text graphs for Faster-RCNN networks from TensorFlow 2018-11-07 18:33:01 +03:00
catree
eebf0dd7c9 Fix integer overflow when accumulating timing values. 2018-11-07 13:04:48 +01:00
Wu Zhiwen
33c9d57c6f dnn/Vulkan: skip heavy convolution task
This is a workaround for GPU hang on heavy convolution workload (> 10 GFLOPS).
e.g. ResNet101_DUC_HDC

For the long time task, vkWaitForFences() return without error but next call on
vkQueueSubmit() return -4, i.e. "VK_ERROR_DEVICE_LOST" and driver reports GPU hang.

Need more investigation on root cause of GPU hang and need to optimize convolution shader
to reduce process time.
2018-11-07 16:38:36 +08:00
Alexander Alekhin
687fa6a8ca Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2018-11-02 05:33:35 +00:00
Dmitry Kurtaev
a6f9170f10 Add ONNX's padding import 2018-10-31 18:24:05 +03:00
Wu Zhiwen
34e9d1eb3c dnn/Vulkan: support log softmax
Signed-off-by: Wu Zhiwen <zhiwen.wu@intel.com>
2018-10-31 09:47:38 +08:00
Wu Zhiwen
3914c17b0d dnn/Vulkan: Refine error handle mechanism
Fallback to OPENCV backend and CPU target if catch exception from
vkcom backend.

Signed-off-by: Wu Zhiwen <zhiwen.wu@intel.com>
2018-10-31 09:47:33 +08:00
Wu Zhiwen
7fff245f87 dnn/Vulkan: Rename function_list.inl
Signed-off-by: Wu Zhiwen <zhiwen.wu@intel.com>
2018-10-30 08:29:43 +08:00
WuZhiwen
6e3ea8b49d Merge pull request #12703 from wzw-intel:vkcom
* dnn: Add a Vulkan based backend

This commit adds a new backend "DNN_BACKEND_VKCOM" and a
new target "DNN_TARGET_VULKAN". VKCOM means vulkan based
computation library.

This backend uses Vulkan API and SPIR-V shaders to do
the inference computation for layers. The layer types
that implemented in DNN_BACKEND_VKCOM include:
Conv, Concat, ReLU, LRN, PriorBox, Softmax, MaxPooling,
AvePooling, Permute

This is just a beginning work for Vulkan in OpenCV DNN,
more layer types will be supported and performance
tuning is on the way.

Signed-off-by: Wu Zhiwen <zhiwen.wu@intel.com>

* dnn/vulkan: Add FindVulkan.cmake to detect Vulkan SDK

In order to build dnn with Vulkan support, need installing
Vulkan SDK and setting environment variable "VULKAN_SDK" and
add "-DWITH_VULKAN=ON" to cmake command.

You can download Vulkan SDK from:
https://vulkan.lunarg.com/sdk/home#linux

For how to install, see
https://vulkan.lunarg.com/doc/sdk/latest/linux/getting_started.html
https://vulkan.lunarg.com/doc/sdk/latest/windows/getting_started.html
https://vulkan.lunarg.com/doc/sdk/latest/mac/getting_started.html
respectively for linux, windows and mac.

To run the vulkan backend, also need installing mesa driver.
On Ubuntu, use this command 'sudo apt-get install mesa-vulkan-drivers'

To test, use command '$BUILD_DIR/bin/opencv_test_dnn --gtest_filter=*VkCom*'

Signed-off-by: Wu Zhiwen <zhiwen.wu@intel.com>

* dnn/Vulkan: dynamically load Vulkan runtime

No compile-time dependency on Vulkan library.
If Vulkan runtime is unavailable, fallback to CPU path.

Use environment "OPENCL_VULKAN_RUNTIME" to specify path to your
own vulkan runtime library.

Signed-off-by: Wu Zhiwen <zhiwen.wu@intel.com>

* dnn/Vulkan: Add a python script to compile GLSL shaders to SPIR-V shaders

The SPIR-V shaders are in format of text-based 32-bit hexadecimal
numbers, and inserted into .cpp files as unsigned int32 array.

* dnn/Vulkan: Put Vulkan headers into 3rdparty directory and some other fixes

Vulkan header files are copied from
https://github.com/KhronosGroup/Vulkan-Docs/tree/master/include/vulkan
to 3rdparty/include

Fix the Copyright declaration issue.

Refine OpenCVDetectVulkan.cmake

* dnn/Vulkan: Add vulkan backend tests into existing ones.

Also fixed some test failures.

- Don't use bool variable as uniform for shader
- Fix dispathed group number beyond max issue
- Bypass "group > 1" convolution. This should be support in future.

* dnn/Vulkan: Fix multiple initialization in one thread.
2018-10-29 17:51:26 +03:00
Alexander Alekhin
50bec53afc Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2018-10-26 17:56:55 +03:00
Maksim Shabunin
0ccd810738 Fixed several issues found by static analysis 2018-10-25 10:45:59 +03:00
Antonio Borondo
7a3cb2280b Recognize ConvolutionDepthwise as Convolution 2018-10-24 08:37:51 +01:00
Alexander Alekhin
9c23f2f1a6 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2018-10-20 11:37:54 +00:00
Dmitry Kurtaev
e7015f6ae8 Fix ENet test 2018-10-19 17:43:26 +03:00
Dmitry Kurtaev
365451dab0 Implement getBatchSize for Intel's Inference Engine networks 2018-10-17 14:02:37 +03:00
Alexander Alekhin
edacd91a27 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2018-10-15 20:15:42 +00:00
Alexander Alekhin
113793fee7 Merge pull request #12837 from dkurt:dnn_fix_ie 2018-10-15 19:17:18 +00:00
Alexander Alekhin
f8a27d2603 Merge pull request #12775 from radomsak:radomsak_dnn_fix_caffe_importer_reused_layers 2018-10-15 14:44:23 +00:00
Dmitry Kurtaev
dc3406eed9 Fix Pooling and Convolution layers from Intel's Inference Engine 2018-10-15 16:40:28 +03:00
Adam Radomski
70177143a7 Added test caffe importer layers sharing weights 2018-10-15 11:42:26 +02:00
tompollok
0b77600718 change area() emptiness checks to empty() 2018-10-13 21:35:10 +02:00
Adam Radomski
cc3ec5d453 Fix dnn caffe importer extract blobs from reused layers 2018-10-10 10:44:56 +02:00
Alexander Alekhin
dada5a422d Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2018-10-09 21:20:15 +00:00
Lubov Batanina
50811e04f2 Merge pull request #12596 from l-bat:l-bat/shufflenet_onnx
* Add Shufflenet support in ONNX

* Add test for transpose layer
2018-10-08 22:18:41 +03:00
Alexander Alekhin
26ba4f3c1d Merge pull request #12754 from alalek:dnn_ocl4dnn_async_expressions 2018-10-08 15:22:24 +00:00
Alexander Alekhin
634dd656d5 dnn: don't use Mat expressions with async UMat functions 2018-10-05 17:09:50 +03:00
Alexander Alekhin
9d02d42afe dnn(ocl4dnn): don't use getUMat()
especially in CPU only processing
2018-10-05 15:24:51 +03:00
Alexander Alekhin
eec468fa13 dnn(ocl4dnn): calculate activation expression once
- to avoid multiple conditional calls via sub_group() functions
2018-10-02 21:23:41 +00:00