|
|
|
@ -33,10 +33,10 @@ int update_SGD(void* optimizer,
|
|
|
|
|
int num_bytes) {
|
|
|
|
|
SGD_optimizer* o = (SGD_optimizer*)optimizer;
|
|
|
|
|
// TODO(a simple SGD implement)
|
|
|
|
|
float* parameter = (float *)buffer;
|
|
|
|
|
float* grad = (float *)gradient;
|
|
|
|
|
float* parameter = (float*)buffer;
|
|
|
|
|
float* grad = (float*)gradient;
|
|
|
|
|
|
|
|
|
|
for(int i = 0; i < num_bytes/sizeof(float); ++i) {
|
|
|
|
|
for (int i = 0; i < num_bytes / sizeof(float); ++i) {
|
|
|
|
|
parameter[i] -= o->learning_rate * grad[i];
|
|
|
|
|
}
|
|
|
|
|
return 0;
|
|
|
|
|