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
Dmitry Kurtaev
a7b3d2581f
Replace CV_USRTYPE1 for int64 to CV_32SC2 in Torch importer
2018-09-17 12:31:09 +03:00
Alexander Alekhin
808ba552c5
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2018-09-14 23:44:35 +00:00
Alexander Alekhin
dbfeb8892d
Merge pull request #12403 from dkurt:dnn_replace_darknet_reorg
2018-09-13 20:58:11 +00:00
Alexander Alekhin
fdaeb20253
dnn(test): run DL IE tests on Intel OpenCL devices only
2018-09-13 15:45:51 +00:00
Alexander Alekhin
e51d7cb3d8
Merge pull request #12502 from alalek:fix_dnn_tests_32bit
2018-09-13 14:20:42 +00:00
Alexander Alekhin
b7b82c1cef
dnn(tensorflow): re-generate files using protoc
2018-09-12 21:33:45 +03:00
George Mironov
cb5da8983f
Rename tensorflow namespace
2018-09-12 21:33:11 +03:00