MagmaDNN  1.0
c++NeuralNetworkFramework
sigmoidop.h
Go to the documentation of this file.
1 
9 #pragma once
10 #include <string>
11 #include "compute/operation.h"
12 #include "compute/add/addop.h"
13 #include "compute/dot/dotop.h"
14 #include "compute/variable.h"
15 #include "compute/negative/negativeop.h"
16 #include "sigmoid_internal.h"
17 #include "utilities_internal.h"
18 
19 namespace magmadnn {
20 namespace op {
21 
25 template <typename T>
26 class SigmoidOp : public Operation<T> {
27 public:
28  SigmoidOp(Operation<T> *x, bool copy=true, bool fast=true);
29 
30 
31  std::string to_string() { return "SIGMOID( " + x->to_string() + " )"; }
32 
33 protected:
34  Tensor<T> *_eval(bool recompute=true);
36 
37  Operation<T> *x;
38  Tensor<T> *x_tensor;
39 
40  bool copy;
41  bool fast;
42 };
43 
51 template <typename T>
52 SigmoidOp<T>* sigmoid(Operation<T> *x, bool copy=true, bool fast=false);
53 
54 } // namespace op
55 } // namespace magmadnn
Tensor< T > * _grad(Operation< T > *consumer, Operation< T > *var, Tensor< T > *grad)
Definition: sigmoid_op.cpp:42
Definition: addop.cpp:11
Tensor< T > * _eval(bool recompute=true)
Definition: sigmoid_op.cpp:32
Definition: sigmoidop.h:26
Definition: tensor.h:34
std::string to_string()
Definition: sigmoidop.h:31
virtual Tensor< T > * grad(Operation< T > *consumer, Operation< T > *var, Tensor< T > *grad, bool recompute=true)
Definition: operation.h:93
virtual std::string to_string()=0
Definition: operation.h:18
Variable< T > * var(std::string name, Tensor< T > *val)
Definition: variable.cpp:73