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);
|