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
Alexander Alekhin
690fb0544c
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2018-10-02 14:31:05 +03:00
Alexander Alekhin
0f031b6680
dnn(ocl4dnn): drop weights_buf
...
- avoid memory access violation during "prefetch" stage
2018-09-30 20:35:41 +00:00
Alexander Alekhin
a8b0db4e5d
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2018-09-28 14:14:47 +03:00
Alexander Alekhin
fae329a0ca
Merge pull request #12650 from alalek:dnn_ocl4dnn_verification_test
...
* dnn(ocl4dnn): update kernel checks
* dnn: workaround for IDLF kernels on Intel iGPU
* dnn(test): remove "skip" check for unstable cases
2018-09-27 12:54:23 +03:00
Dmitry Kurtaev
24ab751547
Merge pull request #12565 from dkurt:dnn_non_intel_gpu
...
* Remove isIntel check from deep learning layers
* Remove fp16->fp32 fallbacks where it's not necessary
* Fix Kernel::run to prevent localsize > globalsize
2018-09-26 16:27:00 +03:00
Dmitry Kurtaev
c8f3579f93
Fix #12542 ( #12603 )
...
* Fix #12542
* Remove ignore of non-virtual-dtor error
2018-09-26 16:08:51 +03:00
Alexander Alekhin
3eec8fd0eb
dnn: fix printf format warning
2018-09-26 14:06:04 +03:00
Dmitry Kurtaev
f8398d80bc
add Net::getUnconnectedOutLayersNames method
2018-09-25 18:10:45 +03:00
Maksim Shabunin
e0f524d3b7
Fixed several incorrect printf format specifiers
2018-09-24 11:31:40 +03:00
Hamdi Sahloul
ef5579dc86
Merge pull request #12310 from cv3d:chunks/enum_interface
...
* Cleanup macros and enable expansion of `__VA_ARGS__` for Visual Studio
* Macros for enum-arguments backwards compatibility
* Convert struct Param to enum struct
* Enabled ParamType.type for enum types
* Enabled `cv.read` and `cv.write` for enum types
* Rename unnamed enum to AAKAZE.DescriptorType
* Rename unnamed enum to AccessFlag
* Rename unnamed enum to AgastFeatureDetector.DetectorType
* Convert struct DrawMatchesFlags to enum struct
* Rename unnamed enum to FastFeatureDetector.DetectorType
* Rename unnamed enum to Formatter.FormatType
* Rename unnamed enum to HOGDescriptor.HistogramNormType
* Rename unnamed enum to DescriptorMatcher.MatcherType
* Rename unnamed enum to KAZE.DiffusivityType
* Rename unnamed enum to ORB.ScoreType
* Rename unnamed enum to UMatData.MemoryFlag
* Rename unnamed enum to _InputArray.KindFlag
* Rename unnamed enum to _OutputArray.DepthMask
* Convert normType enums to static const NormTypes
* Avoid conflicts with ElemType
* Rename unnamed enum to DescriptorStorageFormat
2018-09-21 18:12:35 +03:00
Alexander Alekhin
e0a5824028
dnn(test): test at least CPU code path
2018-09-19 13:56:59 +03:00
Alexander Alekhin
861415133e
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2018-09-19 10:58:43 +03:00
Dmitry Kurtaev
8ac7b21716
Enable Myriad device for OpenVINO models test
2018-09-18 13:49:24 +03:00
Alexander Alekhin
e6171d17f8
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2018-09-18 12:49:52 +03:00
Alexander Alekhin
27a4e370f9
Merge pull request #12559 from dkurt:dnn_remove_usrtype1
2018-09-17 18:13:29 +00:00
Lubov Batanina
43f889ae1f
Merge pull request #12519 from l-bat:l-bat/onnx_parser
...
Support asymmetric padding in pooling layer (#12519 )
* Add Inception_V1 support in ONNX
* Add asymmetric padding in OpenCL and Inference engine
* Refactoring
2018-09-17 20:26:17 +03:00
Dmitry Kurtaev
7d75526373
Use TorchType enum
2018-09-17 18:55:05 +03:00
Vadim Pisarevsky
2113818f19
Merge pull request #12364 from dkurt:dnn_change_blob_from_image
2018-09-17 12:04:41 +00:00
Alexander Alekhin
29bee6f07e
cmake: move Matlab scripts to opencv_contrib ( #12541 )
...
* matlab: move to opencv_contrib
* cmake: preserve variables scope for processing modules
- use macro instead of function to avoid scope resets
2018-09-17 14:55:42 +03:00