ROOT
6.30.04
Reference Guide
All
Namespaces
Files
Pages
Dropout.hxx
Go to the documentation of this file.
1
// @(#)root/tmva/tmva/dnn:$Id$
2
// Author: Simon Pfreundschuh 10/07/16
3
4
/*************************************************************************
5
* Copyright (C) 2016, Simon Pfreundschuh *
6
* All rights reserved. *
7
* *
8
* For the licensing terms see $ROOTSYS/LICENSE. *
9
* For the list of contributors see $ROOTSYS/README/CREDITS. *
10
*************************************************************************/
11
12
//////////////////////////////////////////////////////////////////
13
// Implementation of the activation functions for the reference //
14
// implementation. //
15
//////////////////////////////////////////////////////////////////
16
17
18
#include "
TMVA/DNN/Architectures/Reference.h
"
19
#include "
TRandom.h
"
20
21
namespace
TMVA
22
{
23
namespace
DNN
24
{
25
26
//______________________________________________________________________________
27
28
template
<
typename
Real_t>
29
void
TReference<Real_t>::DropoutForward(TMatrixT<Real_t> & B, TDescriptors*, TWorkspace*, Real_t dropoutProbability)
30
{
31
size_t
m,n;
32
m = B.GetNrows();
33
n = B.GetNcols();
34
35
TRandom rand(time(
nullptr
));
36
37
for
(
size_t
i = 0; i < m; i++) {
38
for
(
size_t
j = 0; j < n; j++) {
39
Real_t r = rand.Uniform();
40
if
(r >= dropoutProbability) {
41
B(i,j) = 0.0;
42
}
else
{
43
B(i,j) /= dropoutProbability;
44
}
45
}
46
}
47
}
48
49
}
50
}
Reference.h
TRandom.h
tmva
tmva
src
DNN
Architectures
Reference
Dropout.hxx
Generated on Tue May 5 2020 14:03:32 for ROOT by
1.8.5