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

Make clean

parent 54f02a04
No related branches found
No related tags found
2 merge requests!10version 0.1.2,!9Add Adam optimizer
Pipeline #49018 canceled
...@@ -23,9 +23,6 @@ ...@@ -23,9 +23,6 @@
#include "aidge/learning/learningRate/LRSchedulerList.hpp" #include "aidge/learning/learningRate/LRSchedulerList.hpp"
#include "aidge/learning/optimizer/Optimizer.hpp" #include "aidge/learning/optimizer/Optimizer.hpp"
#include "aidge/learning/optimizer/Adam.hpp" #include "aidge/learning/optimizer/Adam.hpp"
//#include "aidge/backend/cpu/operator/AddImpl.hpp"
//#include "aidge/backend/cpu/operator/MulImpl.hpp"
//#include "aidge/backend/cpu/operator/SubImpl.hpp"
#include "aidge/utils/TensorUtils.hpp" #include "aidge/utils/TensorUtils.hpp"
namespace Aidge { namespace Aidge {
...@@ -118,15 +115,15 @@ TEST_CASE("[learning/Adam] update", "[Optimizer][Adam]") { ...@@ -118,15 +115,15 @@ TEST_CASE("[learning/Adam] update", "[Optimizer][Adam]") {
} }
// truth // truth
for (std::size_t step = 0; step < 10; ++step) { for (std::size_t step = 0; step < 10; ++step) {
for (std::size_t t = 0; t < nb_tensors; ++t) { for (std::size_t t = 0; t < nb_tensors; ++t) {
for (std::size_t i = 0; i < size_tensors[t]; ++i) { for (std::size_t i = 0; i < size_tensors[t]; ++i) {
val_momentum1_tensors[t][i] = beta1 * val_momentum1_tensors[t][i] + (1.0f - beta1) * val_grad_tensors[t][i]; val_momentum1_tensors[t][i] = beta1 * val_momentum1_tensors[t][i] + (1.0f - beta1) * val_grad_tensors[t][i];
val_momentum2_tensors[t][i] = beta2 * val_momentum2_tensors[t][i] + (1.0f - beta2) * val_grad_tensors[t][i] * val_grad_tensors[t][i]; val_momentum2_tensors[t][i] = beta2 * val_momentum2_tensors[t][i] + (1.0f - beta2) * val_grad_tensors[t][i] * val_grad_tensors[t][i];
val_tensors[t][i] = val_tensors[t][i] val_tensors[t][i] = val_tensors[t][i]
- lr * val_momentum1_tensors[t][i] / (1.0f - std::pow(beta1, step + 1)) - lr * val_momentum1_tensors[t][i] / (1.0f - std::pow(beta1, step + 1))
/ (std::sqrt(val_momentum2_tensors[t][i] / (1.0f - std::pow(beta2, step + 1))) + epsilon); / (std::sqrt(val_momentum2_tensors[t][i] / (1.0f - std::pow(beta2, step + 1))) + epsilon);
} }
} }
// optimizer // optimizer
opt.update(); opt.update();
......
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