MagmaDNN
1.0
c++NeuralNetworkFramework
optimizer.h
Go to the documentation of this file.
1
9
#pragma once
10
11
#include <string>
12
#include <vector>
13
#include "
compute/operation.h
"
14
15
namespace
magmadnn
{
16
namespace
optimizer {
17
18
template
<
typename
T>
19
class
Optimizer
{
20
public
:
21
Optimizer
() {}
22
23
virtual
~
Optimizer
() {}
24
25
26
virtual
void
minimize(
op::Operation<T>
*obj_func,
const
std::vector<
op::Operation<T>
*>& wrt) = 0;
27
28
virtual
std::string get_name() {
return
_name; }
29
30
protected
:
31
virtual
void
update(
op::Operation<T>
*var,
Tensor<T>
*grad) = 0;
32
33
op::Operation<T>
*_obj_func;
34
std::string _name =
"Generic Optimizer"
;
35
};
36
37
}
// namespace optimizer
38
}
// namespace magmadnn
magmadnn
Definition:
addop.cpp:11
magmadnn::optimizer::Optimizer
Definition:
optimizer.h:19
magmadnn::Tensor
Definition:
tensor.h:34
operation.h
magmadnn::op::Operation
Definition:
operation.h:18
include
optimizer
optimizer.h
Generated by
1.8.13