message: [Keras]: update optimizer
diff: import flexflow.core as ff
  -class SGD(object):
  - def __init__(self, learning_rate=0.01, momentum=0.0, nesterov=False, name="SGD", **kwargs):
  - self.lr = learning_rate
  - self.momentum = momentum
  - self.nesterov = nesterov
  +class Optimizer(object):
  + def __init__(self):
  self._ffhandle = None
  @property
  def ffhandle(self):
  return self._ffhandle
  +class SGD(Optimizer):
  + def __init__(self, learning_rate=0.01, momentum=0.0, nesterov=False, name="SGD", **kwargs):
  + self.lr = learning_rate
  + self.momentum = momentum
  + self.nesterov = nesterov
  + super(SGD, self).__init__()
  +
  def create_ffhandle(self, ffmodel):
  self._ffhandle = ff.SGDOptimizer(ffmodel, self.lr, self.momentum, self.nesterov)
  @@ -33,18 +37,14 @@ class SGD(object):
  self.lr = learning_rate
  self._ffhandle.set_learning_rate(learning_rate)
  -class Adam(object):
  +class Adam(Optimizer):
  def __init__(self, learning_rate=0.001, beta_1=0.9, beta_2=0.999, epsilon=1e-07, amsgrad=False):
  self.lr = learning_rate
  self.beta1 = beta_1
  self.beta2 = beta_2
  self.epsilon = epsilon
  self.amsgrad = amsgrad
  - self._ffhandle = None
  -
  - @property
  - def ffhandle(self):
  - return self._ffhandle
  + super(Adam, self).__init__()
  def create_ffhandle(self, ffmodel):
  self._ffhandle = ff.AdamOptimizer(ffmodel, self.lr, self.beta1, self.beta2, epsilon=self.epsilon)
  