SHOGUN
v3.0.0
Main Page
Related Pages
Modules
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
src
shogun
evaluation
GradientEvaluation.h
Go to the documentation of this file.
1
/*
2
* This program is free software; you can redistribute it and/or modify
3
* it under the terms of the GNU General Public License as published by
4
* the Free Software Foundation; either version 3 of the License, or
5
* (at your option) any later version.
6
*
7
* Written (W) 2013 Roman Votyakov
8
* Copyright (C) 2012 Jacob Walker
9
*/
10
11
#ifndef CGRADIENTEVALUATION_H_
12
#define CGRADIENTEVALUATION_H_
13
14
#include <
shogun/evaluation/MachineEvaluation.h
>
15
#include <
shogun/evaluation/DifferentiableFunction.h
>
16
#include <
shogun/evaluation/EvaluationResult.h
>
17
18
namespace
shogun
19
{
20
24
class
CGradientEvaluation
:
public
CMachineEvaluation
25
{
26
public
:
28
CGradientEvaluation
();
29
38
CGradientEvaluation
(
CMachine
* machine,
CFeatures
* features,
CLabels
* labels,
39
CEvaluation
* evaluation_criterion,
bool
autolock=
true
);
40
41
virtual
~CGradientEvaluation
();
42
47
virtual
const
char
*
get_name
()
const
{
return
"GradientEvaluation"
; }
48
53
virtual
CEvaluationResult
*
evaluate
();
54
59
inline
void
set_function
(
CDifferentiableFunction
* diff)
60
{
61
SG_REF
(diff);
62
SG_UNREF
(m_diff);
63
m_diff=diff;
64
}
65
70
inline
CDifferentiableFunction
*
get_function
()
71
{
72
SG_REF
(m_diff);
73
return
m_diff;
74
}
75
76
private
:
78
void
init();
79
81
void
update_parameter_dictionary();
82
83
private
:
85
CDifferentiableFunction
* m_diff;
86
88
CMap<TParameter*, CSGObject*>
* m_parameter_dictionary;
89
};
90
}
91
#endif
/* CGRADIENTEVALUATION_H_ */
SHOGUN
Machine Learning Toolbox - Documentation