'Instantiates an optimizer with a given name and kwargs.
.. note:: We can use the alias `create` for ``Optimizer.create_optimizer``.
Parameters
name: str
Name of the optimizer. Should be the name
of a subclass of Optimizer. Case insensitive.
kwargs: dict
Parameters for the optimizer.
Returns
Optimizer
An instantiated optimizer.
Examples
>>> sgd = mx.optimizer.Optimizer.create_optimizer(\'sgd\')
>>> type(sgd)
<class \'mxnet.optimizer.SGD\'>
>>> adam = mx.optimizer.create(\'adam\', learning_rate=.1)
>>> type(adam)
<class \'mxnet.optimizer.Adam\'>'

@staticmethod
def create_optimizer(name, **kwargs):

    if (name.lower() in Optimizer.opt_registry):
        return Optimizer.opt_registry[name.lower()](**kwargs)
    else:
        raise ValueError(('Cannot    find    optimizer    %s' % name))
