28#include "tiny_dnn/util/util.h"
29#include "tiny_dnn/layers/layer.h"
46 return "elementwise-add";
49 std::vector<shape3d>
in_shape()
const override {
50 return std::vector<shape3d>(num_args_,
shape3d(dim_,1,1));
58 std::vector<tensor_t*>&
out_data)
override {
66 for (serial_size_t
i = 1;
i < num_args_;
i++) {
77 const std::vector<tensor_t*>&
out_data,
79 std::vector<tensor_t*>&
in_grad)
override {
80 CNN_UNREFERENCED_PARAMETER(
in_data);
81 CNN_UNREFERENCED_PARAMETER(
out_data);
82 for (serial_size_t
i = 0;
i < num_args_;
i++)
86 template <
class Archive>
87 static void load_and_construct(
Archive &
ar, cereal::construct<elementwise_add_layer> & construct) {
90 ar(cereal::make_nvp(
"num_args",
num_args), cereal::make_nvp(
"dim",
dim));
94 template <
class Archive>
95 void serialize(Archive & ar) {
96 layer::serialize_prolog(ar);
97 ar(cereal::make_nvp(
"num_args", num_args_), cereal::make_nvp(
"dim", dim_));
100 serial_size_t num_args_;
element-wise add N vectors y_i = x0_i + x1_i + ... + xnum_i
Definition arithmetic_layer.h:36
std::vector< shape3d > in_shape() const override
array of input shapes (width x height x depth)
Definition arithmetic_layer.h:49
void back_propagation(const std::vector< tensor_t * > &in_data, const std::vector< tensor_t * > &out_data, std::vector< tensor_t * > &out_grad, std::vector< tensor_t * > &in_grad) override
return delta of previous layer (delta=\frac{dE}{da}, a=wx in fully-connected layer)
Definition arithmetic_layer.h:76
std::vector< shape3d > out_shape() const override
array of output shapes (width x height x depth)
Definition arithmetic_layer.h:53
elementwise_add_layer(serial_size_t num_args, serial_size_t dim)
Definition arithmetic_layer.h:42
std::string layer_type() const override
name of layer, should be unique for each concrete class
Definition arithmetic_layer.h:45
void forward_propagation(const std::vector< tensor_t * > &in_data, std::vector< tensor_t * > &out_data) override
Definition arithmetic_layer.h:57
Simple image utility class.
Definition image.h:94
base class of all kind of NN layers
Definition layer.h:62