Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
OpenDAS
dlib
Commits
ad40ddd3
Commit
ad40ddd3
authored
Dec 06, 2015
by
Davis King
Browse files
Made test_layer() a little more robust.
parent
cbce85ec
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
151 additions
and
145 deletions
+151
-145
dlib/dnn/core.h
dlib/dnn/core.h
+151
-145
No files found.
dlib/dnn/core.h
View file @
ad40ddd3
...
...
@@ -1896,6 +1896,8 @@ namespace dlib
using
namespace
timpl
;
// Do some setup
dlib
::
rand
rnd
;
for
(
int
iter
=
0
;
iter
<
5
;
++
iter
)
{
test_layer_subnet
subnetwork
(
rnd
);
resizable_tensor
output
,
out2
,
out3
;
// Run setup() and forward() as well to make sure any calls to subnet() have
...
...
@@ -2017,7 +2019,8 @@ namespace dlib
double
reference_derivative
=
(
dot
(
out2
,
input_grad
)
-
dot
(
out3
,
input_grad
))
/
(
2
*
eps
);
double
output_derivative
=
params_grad
.
host
()[
i
];
double
relative_error
=
(
reference_derivative
-
output_derivative
)
/
(
reference_derivative
+
1e-100
);
if
(
std
::
abs
(
relative_error
)
>
0.01
)
double
absolute_error
=
(
reference_derivative
-
output_derivative
);
if
(
std
::
abs
(
relative_error
)
>
0.02
&&
std
::
abs
(
absolute_error
)
>
0.001
)
{
using
namespace
std
;
sout
<<
"Gradient error in parameter #"
<<
i
<<
". Relative error: "
<<
relative_error
<<
endl
;
...
...
@@ -2049,7 +2052,8 @@ namespace dlib
if
(
!
impl
::
is_inplace_layer
(
l
,
subnetwork
))
output_derivative
-=
initial_gradient_input
[
i
];
double
relative_error
=
(
reference_derivative
-
output_derivative
)
/
(
reference_derivative
+
1e-100
);
if
(
std
::
abs
(
relative_error
)
>
0.01
)
double
absolute_error
=
(
reference_derivative
-
output_derivative
);
if
(
std
::
abs
(
relative_error
)
>
0.02
&&
std
::
abs
(
absolute_error
)
>
0.001
)
{
using
namespace
std
;
sout
<<
"Gradient error in data variable #"
<<
i
<<
". Relative error: "
<<
relative_error
<<
endl
;
...
...
@@ -2059,6 +2063,8 @@ namespace dlib
}
}
}
// end for (int iter = 0; iter < 5; ++iter)
return
layer_test_results
();
}
...
...
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