2 #ifndef BLACKCAT_NEURALNETWORK_UNARYFUNCTION_H_ 3 #define BLACKCAT_NEURALNETWORK_UNARYFUNCTION_H_ 18 Function<SystemTag, ValueType, Functor, InputDimension>,
19 Tensor_Descriptor<ValueType, SystemTag, InputDimension>>
39 template<
class Matrix>
44 template<
class X,
class Delta>
46 return function.dx(x) % dy;
51 template<
class ValueType,
class SystemTag,
class Functor>
56 template<
class SystemTag,
class Functor>
57 auto function(SystemTag
system_tag,
int inputs, Functor
function=Functor()) {
62 template<
class ValueType,
class SystemTag,
class Functor,
int X>
67 template<
class SystemTag,
class Functor,
int X>
bc::Dim< input_tensor_dim::value > shape_type
Definition: layer_base.h:95
SystemTag system_tag
Definition: unaryfunction.h:21
const char * bc_get_classname_of(const T &arg)
Definition: common.h:330
Definition: constexpr_int.h:14
Definition: layer_base.h:86
auto forward_propagation(const Matrix &x)
Definition: unaryfunction.h:40
ValueType value_type
Definition: unaryfunction.h:22
Function(shape_type inputs, Functor function=Functor())
Definition: unaryfunction.h:35
InputDimension input_tensor_dim
Definition: unaryfunction.h:28
Functor function
Definition: unaryfunction.h:33
BCINLINE auto shape(Integers... ints)
Definition: shape.h:264
InputDimension output_tensor_dim
Definition: unaryfunction.h:29
Definition: unaryfunction.h:16
auto back_propagation(const X &x, const Delta &dy)
Definition: unaryfunction.h:45
The Evaluator determines if an expression needs to be greedily optimized.
Definition: algorithms.h:22
Definition: recycle_allocator.h:57