self.updates = [(self.iterations, self.iterations + 1.)]
for p, g, c in zip(params, grads, constraints):
m = shared_zeros(p.get_value().shape) // momentum
v = self.momentum * m - lr * g // velocity
self.updates.append((m, v))
if self.nesterov:
new_p = p + self.momentum * v - lr * g
else:
new_p = p + v
self.updates.append((p, c(new_p))) // apply constraints
return c(new_p)
def get_config(self):
return {"name": self.__class__.__name__,
"lr": float(self.lr.get_value()),
After Change
new_p = p + v
new_weights.append(c(new_p))
return new_weights
def get_config(self):
return {"name": self.__class__.__name__,
"lr": float(self.lr),