ROOT
v6-24
Reference Guide
Loading...
Searching...
No Matches
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
}
r
ROOT::R::TRInterface & r
Definition
Object.C:4
Reference.h
Real_t
float Real_t
Definition
RtypesCore.h:68
TRandom.h
TMVA::DNN::TReference::DropoutForward
static void DropoutForward(Tensor_t &A, TDescriptors *descriptors, TWorkspace *workspace, Scalar_t p)
Apply dropout with activation probability p to the given matrix A and scale the result by reciprocal ...
TMatrixTBase::GetNrows
Int_t GetNrows() const
Definition
TMatrixTBase.h:123
TMatrixTBase::GetNcols
Int_t GetNcols() const
Definition
TMatrixTBase.h:126
TMatrixT
TMatrixT.
Definition
TMatrixT.h:39
TRandom
This is the base class for the ROOT Random number generators.
Definition
TRandom.h:27
n
const Int_t n
Definition
legend1.C:16
TMVA
create variable transformations
Definition
GeneticMinimizer.h:22
m
auto * m
Definition
textangle.C:8
tmva
tmva
src
DNN
Architectures
Reference
Dropout.hxx
ROOT v6-24 - Reference Guide Generated on Tue Aug 22 2023 03:06:52 (GVA Time) using Doxygen 1.9.8