'Load a stored model and its components defined by the provided metadata.'

@staticmethod
def load(model_metadata, config, component_builder=None, skip_valdation=False):

    context = {}
    if (component_builder is None):
        component_builder = components.ComponentBuilder()
    pipeline = []
    if (not skip_valdation):
        components.validate_requirements(model_metadata.pipeline)
    for component_name in model_metadata.pipeline:
        component = component_builder.load_component(component_name, model_metadata.model_dir, model_metadata, **context)
        try:
            updates = component.provide_context()
            if updates:
                context.update(updates)
            pipeline.append(component)
        except components.MissingArgumentError as e:
            raise Exception(u"Failed    to    initialize    component    '{}'.    {}".format(component.name, e))
    return Interpreter(pipeline, context, model_metadata)
