Logo ROOT  
Reference Guide
ContextHandles.h
Go to the documentation of this file.
1// @(#)root/tmva/tmva/dnn:$Id$
2// Author: Simon Pfreundschuh 20/06/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// Contains function enums for activation and output functions, as //
14// well as generic evaluation functions, that delegate the call to //
15// the corresponding evaluation kernel. //
16/////////////////////////////////////////////////////////////////////
17
18#ifndef TMVA_DNN_CNN_DESCRIPTORS
19#define TMVA_DNN_CNN_DESCRIPTORS
20
21#include <stddef.h>
22
23namespace TMVA
24{
25namespace DNN
26{
27
29 virtual ~TDescriptors() {}
30};
31struct TWorkspace {};
32
33template <typename Layer_t>
35 using HelperDescriptor_t = typename Layer_t::HelperDescriptor_t;
36
38};
39
40namespace CNN {
41
42//______________________________________________________________________________
43//
44// Keeps the descriptors for the CNN
45//______________________________________________________________________________
46
47template <typename Layer_t>
49 using LayerDescriptor_t = typename Layer_t::LayerDescriptor_t; // Main layer operation
50 using HelperDescriptor_t = typename Layer_t::HelperDescriptor_t; // Used to define possible helpers for the layers (e.g. activations)
51 using WeightsDescriptor_t = typename Layer_t::WeightsDescriptor_t; // The weights that are modified (e.g filters)
52
56};
57
58template <typename Layer_t>
60 using AlgorithmForward_t = typename Layer_t::AlgorithmForward_t; // Forward layer operation
61 using AlgorithmBackward_t = typename Layer_t::AlgorithmBackward_t; // Backward layer operation
62 using AlgorithmHelper_t = typename Layer_t::AlgorithmHelper_t; // Used for weight grad backward pass
63
64 using ReduceTensorDescriptor_t = typename Layer_t::ReduceTensorDescriptor_t;
65
66 using AlgorithmDataType_t = typename Layer_t::AlgorithmDataType_t;
67
71
73
77
78 void *fReductionWorkspace = nullptr;
79
84
86};
87
88} // namespace CNN
89} // namespace DNN
90} // namespace TMVA
91
92#endif
create variable transformations
typename Layer_t::WeightsDescriptor_t WeightsDescriptor_t
typename Layer_t::HelperDescriptor_t HelperDescriptor_t
HelperDescriptor_t HelperDescriptor
WeightsDescriptor_t WeightsDescriptor
typename Layer_t::LayerDescriptor_t LayerDescriptor_t
LayerDescriptor_t LayerDescriptor
typename Layer_t::AlgorithmForward_t AlgorithmForward_t
AlgorithmBackward_t AlgorithmBackward
AlgorithmForward_t AlgorithmForward
typename Layer_t::AlgorithmBackward_t AlgorithmBackward_t
AlgorithmHelper_t HelperAlgorithm
typename Layer_t::ReduceTensorDescriptor_t ReduceTensorDescriptor_t
AlgorithmDataType_t DataType
ReduceTensorDescriptor_t fReduceTensorDesc
typename Layer_t::AlgorithmDataType_t AlgorithmDataType_t
typename Layer_t::AlgorithmHelper_t AlgorithmHelper_t
HelperDescriptor_t HelperDescriptor
typename Layer_t::HelperDescriptor_t HelperDescriptor_t