def METHOD_NAME(self):
    input_value = tf.constant([[3.0]])
    model = MyModel()
    optimizer = tf.compat.v1.train.AdamOptimizer(0.001)
    optimizer_step = tf.compat.v1.train.get_or_create_global_step()
    root_trackable = tf.train.Checkpoint(
        optimizer=optimizer, model=model, optimizer_step=optimizer_step
    )
    train_op = optimizer.minimize(
        functools.partial(model, input_value), global_step=optimizer_step
    )
    self.evaluate(trackable_utils.gather_initializers(root_trackable))
    self.evaluate(train_op)
    # A regular variable, a slot variable, and a non-slot Optimizer variable
    # with known values to check when loading.
    self.evaluate(model._named_dense.bias.assign([1.0]))
    self.evaluate(
        optimizer.get_slot(var=model._named_dense.bias, name="m").assign(
            [2.0]
        )
    )
    beta1_power, _ = optimizer._get_beta_accumulators()
    self.evaluate(beta1_power.assign(3.0))
    return root_trackable