Skip to content
Snippets Groups Projects
Commit 7fd614d4 authored by Olivier Antoni's avatar Olivier Antoni
Browse files

Add BCE loss function

parent c77bc1bc
No related branches found
No related tags found
2 merge requests!10version 0.1.2,!8Add BCE loss function
Pipeline #48728 failed
......@@ -99,7 +99,7 @@ Aidge::Tensor Aidge::loss::BCE(std::shared_ptr<Tensor>& prediction,
sub2_node->addChild(mul2_node, 0, 0);
ln2_node->addChild(mul2_node, 0, 1);
// Define node: sub3 = - [(target + eps1) * ln(prediction + eps1) + (1 - target + eps2) * ln(1 - prediction + eps21)]
// Define node: sub3 = - [(target + eps1) * ln(prediction + eps1) + (1 - target + eps2) * ln(1 - prediction + eps2)]
const std::shared_ptr<Node> sub3_node = Sub("sub3");
mul2_node->addChild(sub3_node, 0, 0);
mul1_node->addChild(sub3_node, 0, 1);
......@@ -151,6 +151,5 @@ Aidge::Tensor Aidge::loss::BCE(std::shared_ptr<Tensor>& prediction,
outputGrad->copyFrom(gradient_op->getOutput(0)->clone()); // Update gradient
const std::shared_ptr<OperatorTensor> loss_op = std::dynamic_pointer_cast<OperatorTensor>(loss_node->getOperator());
std::shared_ptr<Tensor> loss = loss_op->getOutput(0);
return loss_op->getOutput(0)->clone(); // Return loss
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment