Returns a model instance such as `model = vision_models.InceptionV1()`.
    In the future may be expanded to filter by additional criteria, such as
    architecture, dataset, and task the model was trained on.
    Args:
      name: The name of the model, as given by the class name in vision_models.
    Returns:
      An instantiated Model class with the requested model. Users still need to
      manually `load_graphdef` on the return value, and manually import this
      model's graph into their current graph.
    Raises:
      ValueError: If network `name` is not recognized.

def get_model(name):
    """Returns a model instance such as `model = vision_models.InceptionV1()`.
    In the future may be expanded to filter by additional criteria, such as
    architecture, dataset, and task the model was trained on.
    Args:
      name: The name of the model, as given by the class name in vision_models.
    Returns:
      An instantiated Model class with the requested model. Users still need to
      manually `load_graphdef` on the return value, and manually import this
      model's graph into their current graph.
    Raises:
      ValueError: If network `name` is not recognized.
    """
    if name not in models_map:
        candidates = filter(lambda key: name in key, models_map.keys())
        candidates_string = ", ".join(candidates)
        raise ValueError(
            "No network named {}. Did you mean one of {}?".format(
                name, candidates_string
            )
        )

    model_class = models_map[name]
    model = model_class()
    return model