docs: def get_train_hooks(name_list, **kwargs):
    """Factory for getting a list of TensorFlow hooks for training by name.
  
    Args:
      name_list: a list of strings to name desired hook classes. Allowed:
        LoggingTensorHook, ProfilerHook, ExamplesPerSecondHook, which are defined
        as keys in HOOKS
      **kwargs: a dictionary of arguments to the hooks.
  
    Returns:
      list of instantiated hooks, ready to be used in a classifier.train call.
  
    Raises:
      ValueError: if an unrecognized name is passed.
    """
  
    if not name_list:
      return []
  
    train_hooks = []
    for name in name_list:
      hook_name = HOOKS.get(name.strip().lower())
      if hook_name is None:
        raise ValueError('Unrecognized training hook requested: {}'.format(name))
      else:
        train_hooks.append(hook_name(**kwargs))
  
    return train_hooks