aboutsummaryrefslogtreecommitdiff
path: root/include/adam.h
blob: 37f57674de7a30a7919851626e71ac5c8f73b867 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#pragma once

typedef struct {
    double *m;
    double *v;
    int nparams;
    double lr;
    double beta1;
    double beta2;
    double eps;
    int t;
} Adam;

Adam adam_init(int nparams, double lr, double beta1, double beta2, double eps);
void adam_update(Adam *a, double *theta, const double *grad);
void adam_free(Adam *a);