From 5aed16cadc9f145daf9bceec9359e157aa3efa00 Mon Sep 17 00:00:00 2001 From: Michael Oliver Date: Wed, 16 Aug 2017 20:51:32 -0700 Subject: [PATCH] Update ftml for Keras changes to optimizers (#137) * Update ftml for Keras changes to optimizers * fix import --- keras_contrib/optimizers/ftml.py | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/keras_contrib/optimizers/ftml.py b/keras_contrib/optimizers/ftml.py index 4030714..edfb9d7 100644 --- a/keras_contrib/optimizers/ftml.py +++ b/keras_contrib/optimizers/ftml.py @@ -2,6 +2,7 @@ from __future__ import absolute_import from keras.optimizers import Optimizer from .. import backend as K from keras.utils.generic_utils import get_custom_objects +from keras.legacy import interfaces class FTML(Optimizer): @@ -30,7 +31,8 @@ class FTML(Optimizer): self.epsilon = epsilon self.inital_decay = decay - def get_updates(self, params, constraints, loss): + @interfaces.legacy_get_updates_support + def get_updates(self, loss, params): grads = self.get_gradients(loss, params) self.updates = [K.update_add(self.iterations, 1)] @@ -61,10 +63,11 @@ class FTML(Optimizer): self.updates.append(K.update(d, d_t)) new_p = p_t - # apply constraints - if p in constraints: - c = constraints[p] - new_p = c(new_p) + + # Apply constraints. + if getattr(p, 'constraint', None) is not None: + new_p = p.constraint(new_p) + self.updates.append(K.update(p, new_p)) return self.updates