import tensorflow as tf

          schedule.ContinuousLearningRateSchedule.Params().Set(
              start_step=350000, half_life_steps=45000))
      mdl = p.Instantiate()
      mdl.FPropDefaultTheta()
      mdl.BProp()
      tf.global_variables_initializer().run()
      test_utils.CompareToGoldenSingleFloat(self, 4.472597, mdl.loss.eval())
      mdl.train_op.run()

  def testAllLayerParams(self):
    with self.session(use_gpu=False, graph=tf.Graph()):
      p = self._testParams()
      mdl = p.Instantiate()
      mdl.FPropDefaultTheta()
      lps = base_layer.RecursiveFindLayerParams(mdl.params)
      l_names = sorted([p.cls.__name__ for p in lps])
      expected_layers = sorted([
          'Adam',
          'AdditiveAttention',
          'AsciiTokenizer',
