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
70c605a0
Commit
70c605a0
authored
7 years ago
by
Dmitry Kurtaev
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Limit Concat layer optimization
parent
a8844de7
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
7 additions
and
9 deletions
+7
-9
dnn.cpp
modules/dnn/src/dnn.cpp
+6
-9
test_layers.cpp
modules/dnn/test/test_layers.cpp
+1
-0
No files found.
modules/dnn/src/dnn.cpp
View file @
70c605a0
...
...
@@ -1398,7 +1398,8 @@ struct Net::Impl
LayerPin
pin
=
ld
.
inputBlobsId
[
i
];
LayerData
*
inp_i_data
=
&
layers
[
pin
.
lid
];
while
(
inp_i_data
->
skipFlags
[
DNN_BACKEND_DEFAULT
]
&&
inp_i_data
->
inputBlobsId
.
size
()
==
1
)
inp_i_data
->
inputBlobsId
.
size
()
==
1
&&
inp_i_data
->
consumers
.
size
()
==
1
)
{
pin
=
inp_i_data
->
inputBlobsId
[
0
];
inp_i_data
=
&
layers
[
pin
.
lid
];
...
...
@@ -1428,15 +1429,11 @@ struct Net::Impl
Mat
output_slice
=
output
(
chrange
);
Mat
&
curr_output
=
inp_i_data
->
outputBlobs
[
pin
.
oid
];
CV_Assert
(
output_slice
.
isContinuous
()
&&
output_slice
.
size
==
curr_output
.
size
);
Mat
*
oldPtr
=
&
curr_output
;
curr_output
=
output_slice
;
pin
=
ld
.
inputBlobsId
[
i
];
inp_i_data
=
&
layers
[
pin
.
lid
];
for
(
int
j
=
0
;
j
<
inp_i_data
->
consumers
.
size
();
++
j
)
{
LayerPin
consumer
=
inp_i_data
->
consumers
[
j
];
layers
[
consumer
.
lid
].
inputBlobs
[
consumer
.
oid
]
=
&
curr_output
;
}
// Layers that refer old input Mat will refer to the
// new data but the same Mat object.
CV_Assert
(
curr_output
.
data
==
output_slice
.
data
,
oldPtr
==
&
curr_output
);
}
ld
.
skipFlags
[
DNN_BACKEND_DEFAULT
]
=
true
;
printf_
((
"
\t
optimized out Concat layer %s
\n
"
,
concatLayer
->
name
.
c_str
()));
...
...
This diff is collapsed.
Click to expand it.
modules/dnn/test/test_layers.cpp
View file @
70c605a0
...
...
@@ -314,6 +314,7 @@ TEST(Layer_Test_Fused_Concat, Accuracy)
//
testLayerUsingCaffeModels
(
"layer_concat_optim"
,
DNN_TARGET_CPU
,
true
,
false
);
testLayerUsingCaffeModels
(
"layer_concat_shared_input"
,
DNN_TARGET_CPU
,
true
,
false
);
}
TEST
(
Layer_Test_Eltwise
,
Accuracy
)
...
...
This diff is collapsed.
Click to expand it.
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