Skip to content
Snippets Groups Projects

Add backward functions for ReLU, Sigmoid and Tanh

Merged Olivier Antoni requested to merge (removed):dev into dev
Files
10
@@ -18,15 +18,15 @@
#include "aidge/utils/Registrar.hpp"
namespace Aidge {
template <class O, class GI, class GO>
template <class I, class GI, class GO>
void ReLUImpl_cpu_backward_kernel(const std::size_t inputLenght,
const void* output_, const void* grad_output_,
void* grad_input_) {
const O* output = static_cast<const O*>(output_);
const void* input_, const void* grad_output_,
void* grad_input_) {
const I* input = static_cast<const I*>(input_);
const GO* grad_output = static_cast<const GO*>(grad_output_);
GI* grad_input = static_cast<GI*>(grad_input_);
for (std::size_t i = 0; i < inputLenght; ++i) {
grad_input[i] = (output[i] > GO(0)) ? GI(grad_output[i]) : GI(0);
grad_input[i] = (input[i] > 0) ? grad_output[i] : 0;
}
}
Loading