Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in / Register
Toggle navigation
O
opencv
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Packages
Packages
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
submodule
opencv
Commits
514f4193
Commit
514f4193
authored
Mar 07, 2018
by
Alexander Alekhin
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #10959 from alalek:cmake_ocl4dnn
parents
49dd0305
a9ebc61f
Hide whitespace changes
Inline
Side-by-side
Showing
32 changed files
with
124 additions
and
80 deletions
+124
-80
OpenCVModule.cmake
cmake/OpenCVModule.cmake
+6
-2
CMakeLists.txt
modules/dnn/CMakeLists.txt
+17
-2
INIT_MODULE_SOURCES_opencv_dnn.cmake
modules/dnn/cmake/hooks/INIT_MODULE_SOURCES_opencv_dnn.cmake
+3
-0
dnn.cpp
modules/dnn/src/dnn.cpp
+8
-0
batch_norm_layer.cpp
modules/dnn/src/layers/batch_norm_layer.cpp
+3
-0
concat_layer.cpp
modules/dnn/src/layers/concat_layer.cpp
+3
-0
convolution_layer.cpp
modules/dnn/src/layers/convolution_layer.cpp
+1
-1
detection_output_layer.cpp
modules/dnn/src/layers/detection_output_layer.cpp
+3
-0
elementwise_layers.cpp
modules/dnn/src/layers/elementwise_layers.cpp
+4
-1
eltwise_layer.cpp
modules/dnn/src/layers/eltwise_layer.cpp
+3
-0
fully_connected_layer.cpp
modules/dnn/src/layers/fully_connected_layer.cpp
+1
-1
layers_common.hpp
modules/dnn/src/layers/layers_common.hpp
+1
-1
lrn_layer.cpp
modules/dnn/src/layers/lrn_layer.cpp
+1
-1
mvn_layer.cpp
modules/dnn/src/layers/mvn_layer.cpp
+4
-1
permute_layer.cpp
modules/dnn/src/layers/permute_layer.cpp
+3
-0
pooling_layer.cpp
modules/dnn/src/layers/pooling_layer.cpp
+2
-1
prior_box_layer.cpp
modules/dnn/src/layers/prior_box_layer.cpp
+3
-0
region_layer.cpp
modules/dnn/src/layers/region_layer.cpp
+3
-0
reorg_layer.cpp
modules/dnn/src/layers/reorg_layer.cpp
+3
-0
slice_layer.cpp
modules/dnn/src/layers/slice_layer.cpp
+3
-0
softmax_layer.cpp
modules/dnn/src/layers/softmax_layer.cpp
+2
-1
common.hpp
modules/dnn/src/ocl4dnn/include/common.hpp
+0
-3
math_functions.hpp
modules/dnn/src/ocl4dnn/include/math_functions.hpp
+0
-3
ocl4dnn.hpp
modules/dnn/src/ocl4dnn/include/ocl4dnn.hpp
+3
-5
common.cpp
modules/dnn/src/ocl4dnn/src/common.cpp
+1
-4
math_functions.cpp
modules/dnn/src/ocl4dnn/src/math_functions.cpp
+4
-14
ocl4dnn_conv_spatial.cpp
modules/dnn/src/ocl4dnn/src/ocl4dnn_conv_spatial.cpp
+6
-9
ocl4dnn_inner_product.cpp
modules/dnn/src/ocl4dnn/src/ocl4dnn_inner_product.cpp
+5
-8
ocl4dnn_lrn.cpp
modules/dnn/src/ocl4dnn/src/ocl4dnn_lrn.cpp
+4
-7
ocl4dnn_pool.cpp
modules/dnn/src/ocl4dnn/src/ocl4dnn_pool.cpp
+4
-7
ocl4dnn_softmax.cpp
modules/dnn/src/ocl4dnn/src/ocl4dnn_softmax.cpp
+4
-7
precomp.hpp
modules/dnn/src/precomp.hpp
+16
-1
No files found.
cmake/OpenCVModule.cmake
View file @
514f4193
...
...
@@ -747,7 +747,7 @@ endmacro()
# finds and sets headers and sources for the standard OpenCV module
# Usage:
# ocv_glob_module_sources([EXCLUDE_CUDA] <extra sources&headers in the same format as used in ocv_set_module_sources>)
# ocv_glob_module_sources([EXCLUDE_CUDA]
[EXCLUDE_OPENCL]
<extra sources&headers in the same format as used in ocv_set_module_sources>)
macro
(
ocv_glob_module_sources
)
ocv_debug_message
(
"ocv_glob_module_sources("
${
ARGN
}
")"
)
set
(
_argn
${
ARGN
}
)
...
...
@@ -755,6 +755,10 @@ macro(ocv_glob_module_sources)
if
(
NOT exclude_cuda EQUAL -1
)
list
(
REMOVE_AT _argn
${
exclude_cuda
}
)
endif
()
list
(
FIND _argn
"EXCLUDE_OPENCL"
exclude_opencl
)
if
(
NOT exclude_opencl EQUAL -1
)
list
(
REMOVE_AT _argn
${
exclude_opencl
}
)
endif
()
file
(
GLOB_RECURSE lib_srcs
"
${
CMAKE_CURRENT_LIST_DIR
}
/src/*.cpp"
...
...
@@ -801,7 +805,7 @@ macro(ocv_glob_module_sources)
file
(
GLOB cl_kernels
"
${
CMAKE_CURRENT_LIST_DIR
}
/src/opencl/*.cl"
)
if
(
cl_kernels
)
if
(
cl_kernels
AND exclude_opencl EQUAL -1
)
set
(
OCL_NAME opencl_kernels_
${
name
}
)
add_custom_command
(
OUTPUT
"
${
CMAKE_CURRENT_BINARY_DIR
}
/
${
OCL_NAME
}
.cpp"
# don't add .hpp file here to optimize build process
...
...
modules/dnn/CMakeLists.txt
View file @
514f4193
...
...
@@ -11,6 +11,14 @@ set(the_description "Deep neural network module. It allows to load models from d
ocv_add_dispatched_file_force_all
(
"layers/layers_common"
AVX AVX2 AVX512_SKX
)
ocv_add_module
(
dnn opencv_core opencv_imgproc WRAP python matlab java js
)
ocv_option
(
OPENCV_DNN_OPENCL
"Build with OpenCL support"
HAVE_OPENCL
)
if
(
OPENCV_DNN_OPENCL AND HAVE_OPENCL
)
add_definitions
(
-DCV_OCL4DNN=1
)
else
()
ocv_cmake_hook_append
(
INIT_MODULE_SOURCES_opencv_dnn
"
${
CMAKE_CURRENT_LIST_DIR
}
/cmake/hooks/INIT_MODULE_SOURCES_opencv_dnn.cmake"
)
endif
()
ocv_warnings_disable
(
CMAKE_CXX_FLAGS -Wno-shadow -Wno-parentheses -Wmaybe-uninitialized -Wsign-promo
-Wmissing-declarations -Wmissing-prototypes
)
...
...
@@ -63,8 +71,15 @@ else()
set
(
fw_inc
"
${
CMAKE_CURRENT_LIST_DIR
}
/misc/caffe"
"
${
CMAKE_CURRENT_LIST_DIR
}
/misc/tensorflow"
)
endif
()
ocv_module_include_directories
(
${
fw_inc
}
${
CMAKE_CURRENT_LIST_DIR
}
/src/ocl4dnn/include
${
OPENCL_INCLUDE_DIRS
}
)
ocv_glob_module_sources
(
SOURCES
${
fw_srcs
}
)
set
(
include_dirs
${
fw_inc
}
)
set
(
sources_options
""
)
if
(
OPENCV_DNN_OPENCL AND HAVE_OPENCL
)
list
(
APPEND include_dirs
${
OPENCL_INCLUDE_DIRS
}
)
else
()
set
(
sources_options EXCLUDE_OPENCL
)
endif
()
ocv_module_include_directories
(
${
include_dirs
}
)
ocv_glob_module_sources
(
${
sources_options
}
SOURCES
${
fw_srcs
}
)
ocv_create_module
(
libprotobuf
${
LAPACK_LIBRARIES
}
)
ocv_add_samples
()
ocv_add_accuracy_tests
()
...
...
modules/dnn/cmake/hooks/INIT_MODULE_SOURCES_opencv_dnn.cmake
0 → 100644
View file @
514f4193
message
(
STATUS
"opencv_dnn: filter out ocl4dnn source code"
)
ocv_list_filterout
(
OPENCV_MODULE_
${
the_module
}
_SOURCES
"/ocl4dnn/"
)
ocv_list_filterout
(
OPENCV_MODULE_
${
the_module
}
_HEADERS
"/ocl4dnn/"
)
modules/dnn/src/dnn.cpp
View file @
514f4193
...
...
@@ -53,6 +53,7 @@
#include <opencv2/imgproc.hpp>
#include <opencv2/core/utils/configuration.private.hpp>
#include <opencv2/core/utils/logger.hpp>
namespace
cv
{
namespace
dnn
{
...
...
@@ -846,6 +847,13 @@ struct Net::Impl
if
(
!
netWasAllocated
||
this
->
blobsToKeep
!=
blobsToKeep_
)
{
#ifndef HAVE_OPENCL
if
(
preferableBackend
==
DNN_BACKEND_DEFAULT
&&
preferableTarget
==
DNN_TARGET_OPENCL
)
{
CV_LOG_WARNING
(
NULL
,
"DNN: OpenCL target is not available in this OpenCV build, switching to CPU."
)
preferableTarget
=
DNN_TARGET_CPU
;
}
#endif
clear
();
allocateLayers
(
blobsToKeep_
);
...
...
modules/dnn/src/layers/batch_norm_layer.cpp
View file @
514f4193
...
...
@@ -13,7 +13,10 @@ Implementation of Batch Normalization layer.
#include "op_halide.hpp"
#include "op_inf_engine.hpp"
#include <opencv2/dnn/shape_utils.hpp>
#ifdef HAVE_OPENCL
#include "opencl_kernels_dnn.hpp"
#endif
namespace
cv
{
...
...
modules/dnn/src/layers/concat_layer.cpp
View file @
514f4193
...
...
@@ -44,7 +44,10 @@
#include "layers_common.hpp"
#include "op_halide.hpp"
#include "op_inf_engine.hpp"
#ifdef HAVE_OPENCL
#include "opencl_kernels_dnn.hpp"
#endif
namespace
cv
{
...
...
modules/dnn/src/layers/convolution_layer.cpp
View file @
514f4193
...
...
@@ -47,9 +47,9 @@
#include "opencv2/core/hal/hal.hpp"
#include "opencv2/core/hal/intrin.hpp"
#include <iostream>
#include "opencl_kernels_dnn.hpp"
#ifdef HAVE_OPENCL
#include "opencl_kernels_dnn.hpp"
using
namespace
cv
::
dnn
::
ocl4dnn
;
#endif
...
...
modules/dnn/src/layers/detection_output_layer.cpp
View file @
514f4193
...
...
@@ -46,7 +46,10 @@
#include <float.h>
#include <string>
#include "../nms.inl.hpp"
#ifdef HAVE_OPENCL
#include "opencl_kernels_dnn.hpp"
#endif
namespace
cv
{
...
...
modules/dnn/src/layers/elementwise_layers.cpp
View file @
514f4193
...
...
@@ -46,9 +46,12 @@
#include "op_inf_engine.hpp"
#include "opencv2/imgproc.hpp"
#include <opencv2/dnn/shape_utils.hpp>
#include "opencl_kernels_dnn.hpp"
#include <iostream>
#ifdef HAVE_OPENCL
#include "opencl_kernels_dnn.hpp"
#endif
namespace
cv
{
namespace
dnn
...
...
modules/dnn/src/layers/eltwise_layer.cpp
View file @
514f4193
...
...
@@ -44,7 +44,10 @@
#include "layers_common.hpp"
#include "op_halide.hpp"
#include "op_inf_engine.hpp"
#ifdef HAVE_OPENCL
#include "opencl_kernels_dnn.hpp"
#endif
namespace
cv
{
...
...
modules/dnn/src/layers/fully_connected_layer.cpp
View file @
514f4193
...
...
@@ -44,10 +44,10 @@
#include "layers_common.hpp"
#include "op_halide.hpp"
#include "op_inf_engine.hpp"
#include "opencl_kernels_dnn.hpp"
#include <opencv2/dnn/shape_utils.hpp>
#ifdef HAVE_OPENCL
#include "opencl_kernels_dnn.hpp"
using
namespace
cv
::
dnn
::
ocl4dnn
;
#endif
...
...
modules/dnn/src/layers/layers_common.hpp
View file @
514f4193
...
...
@@ -52,7 +52,7 @@
#undef CV_CPU_OPTIMIZATION_DECLARATIONS_ONLY
#ifdef HAVE_OPENCL
#include "ocl4dnn.hpp"
#include "
../ocl4dnn/include/
ocl4dnn.hpp"
#endif
namespace
cv
...
...
modules/dnn/src/layers/lrn_layer.cpp
View file @
514f4193
...
...
@@ -47,10 +47,10 @@
#include "opencv2/imgproc.hpp"
#include "opencv2/dnn/shape_utils.hpp"
#include "opencv2/core/hal/hal.hpp"
#include "opencl_kernels_dnn.hpp"
#include <algorithm>
#ifdef HAVE_OPENCL
#include "opencl_kernels_dnn.hpp"
using
namespace
cv
::
dnn
::
ocl4dnn
;
#endif
...
...
modules/dnn/src/layers/mvn_layer.cpp
View file @
514f4193
...
...
@@ -43,8 +43,11 @@
#include "../precomp.hpp"
#include "layers_common.hpp"
#include <opencv2/dnn/shape_utils.hpp>
#include "math_functions.hpp"
#ifdef HAVE_OPENCL
#include "../ocl4dnn/include/math_functions.hpp"
#include "opencl_kernels_dnn.hpp"
#endif
namespace
cv
{
...
...
modules/dnn/src/layers/permute_layer.cpp
View file @
514f4193
...
...
@@ -45,7 +45,10 @@
#include "op_inf_engine.hpp"
#include <float.h>
#include <algorithm>
#ifdef HAVE_OPENCL
#include "opencl_kernels_dnn.hpp"
#endif
namespace
cv
{
...
...
modules/dnn/src/layers/pooling_layer.cpp
View file @
514f4193
...
...
@@ -45,12 +45,13 @@
#include "opencv2/core/hal/intrin.hpp"
#include "op_halide.hpp"
#include "op_inf_engine.hpp"
#include "opencl_kernels_dnn.hpp"
#include <float.h>
#include <algorithm>
using
std
::
max
;
using
std
::
min
;
#ifdef HAVE_OPENCL
#include "opencl_kernels_dnn.hpp"
using
namespace
cv
::
dnn
::
ocl4dnn
;
#endif
...
...
modules/dnn/src/layers/prior_box_layer.cpp
View file @
514f4193
...
...
@@ -46,7 +46,10 @@
#include <float.h>
#include <algorithm>
#include <cmath>
#ifdef HAVE_OPENCL
#include "opencl_kernels_dnn.hpp"
#endif
namespace
cv
{
...
...
modules/dnn/src/layers/region_layer.cpp
View file @
514f4193
...
...
@@ -44,7 +44,10 @@
#include <opencv2/dnn/shape_utils.hpp>
#include <opencv2/dnn/all_layers.hpp>
#include "nms.inl.hpp"
#ifdef HAVE_OPENCL
#include "opencl_kernels_dnn.hpp"
#endif
namespace
cv
{
...
...
modules/dnn/src/layers/reorg_layer.cpp
View file @
514f4193
...
...
@@ -44,7 +44,10 @@
#include <opencv2/dnn/shape_utils.hpp>
#include <opencv2/dnn/all_layers.hpp>
#include <iostream>
#ifdef HAVE_OPENCL
#include "opencl_kernels_dnn.hpp"
#endif
namespace
cv
{
...
...
modules/dnn/src/layers/slice_layer.cpp
View file @
514f4193
...
...
@@ -43,7 +43,10 @@
#include "../precomp.hpp"
#include "layers_common.hpp"
#include <opencv2/dnn/shape_utils.hpp>
#ifdef HAVE_OPENCL
#include "opencl_kernels_dnn.hpp"
#endif
namespace
cv
{
...
...
modules/dnn/src/layers/softmax_layer.cpp
View file @
514f4193
...
...
@@ -44,11 +44,12 @@
#include "layers_common.hpp"
#include "op_halide.hpp"
#include "op_inf_engine.hpp"
#include "opencl_kernels_dnn.hpp"
#include <algorithm>
#include <stdlib.h>
using
std
::
max
;
#ifdef HAVE_OPENCL
#include "opencl_kernels_dnn.hpp"
using
namespace
cv
::
dnn
::
ocl4dnn
;
#endif
...
...
modules/dnn/src/ocl4dnn/include/common.hpp
View file @
514f4193
...
...
@@ -44,8 +44,6 @@
#include "../../caffe/glog_emulator.hpp"
#include <opencv2/core/opencl/runtime/opencl_core.hpp>
#ifdef HAVE_OPENCL
// Macro to select the single (_float) or double (_double) precision kernel
#define CL_KERNEL_SELECT(kernel) kernel "_float"
...
...
@@ -57,5 +55,4 @@
bool
clOptionSupport
(
cv
::
String
option
);
#endif // HAVE_OPENCL
#endif
modules/dnn/src/ocl4dnn/include/math_functions.hpp
View file @
514f4193
...
...
@@ -51,7 +51,6 @@ namespace dnn
namespace
ocl4dnn
{
#ifdef HAVE_OPENCL
enum
CBLAS_TRANSPOSE
{
CblasNoTrans
=
111
,
CblasTrans
=
112
,
CblasConjTrans
=
113
};
template
<
typename
Dtype
>
...
...
@@ -80,8 +79,6 @@ bool ocl4dnnAXPY(const int32_t N, const Dtype alpha,
const
UMat
x
,
const
int32_t
offx
,
UMat
y
,
const
int32_t
offy
);
#endif // HAVE_OPENCL
}
// namespace ocl4dnn
}
// namespace dnn
}
// namespce cv
...
...
modules/dnn/src/ocl4dnn/include/ocl4dnn.hpp
View file @
514f4193
...
...
@@ -50,7 +50,6 @@
#include "common.hpp"
namespace
cv
{
namespace
dnn
{
namespace
ocl4dnn
{
#ifdef HAVE_OPENCL
struct
OCL4DNNConvConfig
{
...
...
@@ -508,8 +507,7 @@ class OCL4DNNSoftmax
bool
log_softmax_
;
UMat
scale_data_
;
};
#endif // HAVE_OPENCL
}
// namespace ocl4dnn
}
// namespace dnn
}
// namespce cv
}}}
// namespace cv::dnn::ocl4dnn
#endif
modules/dnn/src/ocl4dnn/src/common.cpp
View file @
514f4193
...
...
@@ -41,17 +41,14 @@
//M*/
#include "../../precomp.hpp"
#include "common.hpp"
#include "
../include/
common.hpp"
#include "opencl_kernels_dnn.hpp"
using
namespace
cv
;
#ifdef HAVE_OPENCL
bool
clOptionSupport
(
cv
::
String
option
)
{
cv
::
String
errmsg
;
ocl
::
Program
program
=
ocl
::
Context
::
getDefault
().
getProg
(
ocl
::
dnn
::
dummy_oclsrc
,
option
,
errmsg
);
return
program
.
ptr
()
?
true
:
false
;
}
#endif // HAVE_OPENCL
modules/dnn/src/ocl4dnn/src/math_functions.cpp
View file @
514f4193
...
...
@@ -41,19 +41,13 @@
//M*/
#include "../../precomp.hpp"
#include "common.hpp"
#include "math_functions.hpp"
#include "
../include/
common.hpp"
#include "
../include/
math_functions.hpp"
#include <vector>
#include "opencl_kernels_dnn.hpp"
namespace
cv
{
namespace
dnn
{
namespace
ocl4dnn
{
namespace
cv
{
namespace
dnn
{
namespace
ocl4dnn
{
#ifdef HAVE_OPENCL
// Create and copy buffer to image for GEMM's matrix A and B.
// Will return image to caller if the input image is NULL. Otherwise,
// will use the image directly. It's caller's responsibility to
...
...
@@ -527,8 +521,4 @@ template bool ocl4dnnAXPY<float>(const int32_t N, const float alpha,
const
UMat
X
,
const
int32_t
offX
,
UMat
Y
,
const
int32_t
offY
);
#endif // HAVE_OPENCL
}
// namespace ocl4dnn
}
// namespace dnn
}
// namespce cv
}}}
// namespace cv::dnn::ocl4dnn
modules/dnn/src/ocl4dnn/src/ocl4dnn_conv_spatial.cpp
View file @
514f4193
...
...
@@ -49,18 +49,17 @@
#include <fstream>
#include <sys/stat.h>
#include <assert.h>
#include "common.hpp"
#include "ocl4dnn.hpp"
#include "
../include/
common.hpp"
#include "
../include/
ocl4dnn.hpp"
#include "opencl_kernels_dnn.hpp"
#include "math_functions.hpp"
#include "default_kernel_config.hpp"
#include "
../include/
math_functions.hpp"
#include "
../include/
default_kernel_config.hpp"
#if defined WIN32 || defined _WIN32
#include <windows.h>
#include <direct.h>
#endif
#ifdef HAVE_OPENCL
namespace
cv
{
namespace
dnn
{
namespace
ocl4dnn
{
static
cv
::
Mutex
kernelConfigMutex
;
typedef
std
::
map
<
std
::
string
,
std
::
string
>
kernel_hash_t
;
...
...
@@ -1863,7 +1862,5 @@ bool OCL4DNNConvSpatial<Dtype>::loadTunedConfig()
}
template
class
OCL4DNNConvSpatial
<
float
>
;
}
// namespace ocl4dnn
}
}
#endif // HAVE_OPENCL
}}}
// namespace cv::dnn::ocl4dnn
modules/dnn/src/ocl4dnn/src/ocl4dnn_inner_product.cpp
View file @
514f4193
...
...
@@ -41,11 +41,10 @@
//M*/
#include "../../precomp.hpp"
#include "common.hpp"
#include "ocl4dnn.hpp"
#include "math_functions.hpp"
#include "
../include/
common.hpp"
#include "
../include/
ocl4dnn.hpp"
#include "
../include/
math_functions.hpp"
#ifdef HAVE_OPENCL
namespace
cv
{
namespace
dnn
{
namespace
ocl4dnn
{
template
<
typename
Dtype
>
OCL4DNNInnerProduct
<
Dtype
>::
OCL4DNNInnerProduct
(
OCL4DNNInnerProductConfig
config
)
...
...
@@ -102,7 +101,5 @@ bool OCL4DNNInnerProduct<Dtype>::Forward(const UMat& bottom,
}
template
class
OCL4DNNInnerProduct
<
float
>
;
}
// namespace ocl4dnn
}
}
#endif // HAVE_OPENCL
}}}
// namespace cv::dnn::ocl4dnn
modules/dnn/src/ocl4dnn/src/ocl4dnn_lrn.cpp
View file @
514f4193
...
...
@@ -41,11 +41,10 @@
//M*/
#include "../../precomp.hpp"
#include "common.hpp"
#include "ocl4dnn.hpp"
#include "
../include/
common.hpp"
#include "
../include/
ocl4dnn.hpp"
#include "opencl_kernels_dnn.hpp"
#ifdef HAVE_OPENCL
namespace
cv
{
namespace
dnn
{
namespace
ocl4dnn
{
template
<
typename
Dtype
>
OCL4DNNLRN
<
Dtype
>::
OCL4DNNLRN
(
OCL4DNNLRNConfig
config
)
...
...
@@ -119,7 +118,5 @@ bool OCL4DNNLRN<Dtype>::crossChannelForward(const UMat& bottom, UMat& top)
}
template
class
OCL4DNNLRN
<
float
>
;
}
// namespace ocl4dnn
}
}
#endif // HAVE_OPENCL
}}}
// namespace cv::dnn::ocl4dnn
modules/dnn/src/ocl4dnn/src/ocl4dnn_pool.cpp
View file @
514f4193
...
...
@@ -42,11 +42,10 @@
#include "../../precomp.hpp"
#include <string>
#include <vector>
#include "common.hpp"
#include "ocl4dnn.hpp"
#include "
../include/
common.hpp"
#include "
../include/
ocl4dnn.hpp"
#include "opencl_kernels_dnn.hpp"
#ifdef HAVE_OPENCL
namespace
cv
{
namespace
dnn
{
namespace
ocl4dnn
{
template
<
typename
Dtype
>
OCL4DNNPool
<
Dtype
>::
OCL4DNNPool
(
OCL4DNNPoolConfig
config
)
...
...
@@ -208,7 +207,5 @@ bool OCL4DNNPool<Dtype>::Forward(const UMat& bottom,
}
template
class
OCL4DNNPool
<
float
>
;
}
// namespace ocl4dnn
}
}
#endif // HAVE_OPENCL
}}}
// namespace cv::dnn::ocl4dnn
modules/dnn/src/ocl4dnn/src/ocl4dnn_softmax.cpp
View file @
514f4193
...
...
@@ -41,11 +41,10 @@
#include "../../precomp.hpp"
#include <vector>
#include "common.hpp"
#include "ocl4dnn.hpp"
#include "
../include/
common.hpp"
#include "
../include/
ocl4dnn.hpp"
#include "opencl_kernels_dnn.hpp"
#ifdef HAVE_OPENCL
namespace
cv
{
namespace
dnn
{
namespace
ocl4dnn
{
template
<
typename
Dtype
>
OCL4DNNSoftmax
<
Dtype
>::
OCL4DNNSoftmax
(
OCL4DNNSoftmaxConfig
config
)
...
...
@@ -130,7 +129,5 @@ bool OCL4DNNSoftmax<Dtype>::Forward(const UMat& bottom, UMat& top)
}
template
class
OCL4DNNSoftmax
<
float
>
;
}
// namespace ocl4dnn
}
}
#endif // HAVE_OPENCL
}}}
// namespace cv::dnn::ocl4dnn
modules/dnn/src/precomp.hpp
View file @
514f4193
...
...
@@ -40,13 +40,28 @@
//M*/
#include <opencv2/core.hpp>
#include "cvconfig.h"
#ifndef CV_OCL4DNN
#define CV_OCL4DNN 0
#endif
#if CV_OCL4DNN
#ifndef HAVE_OPENCL
#error "Configuration error: re-run CMake from clean build directory"
#endif
#else
#undef HAVE_OPENCL
#endif
#include <opencv2/core/ocl.hpp>
#include <opencv2/core/opencl/ocl_defs.hpp>
#include <opencv2/core/utils/trace.hpp>
#include "cvconfig.h"
#include <opencv2/dnn.hpp>
#include <opencv2/dnn/all_layers.hpp>
namespace
cv
{
namespace
dnn
{
CV__DNN_EXPERIMENTAL_NS_BEGIN
Mutex
&
getInitializationMutex
();
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment