## DomainProvider Objects

### `class DomainProvider(GraphComponent)`

Provides domain during training and inference time.

#### `__init__`

```python
def __init__(model_storage: ModelStorage,
    resource: Resource,
    domain: Optional[Domain]=None) -> None:
    """Creates domain provider."""
```

#### `create`

```python
@classmethod
def create(cls, config: Dict[Text, Any], model_storage: ModelStorage,
    resource: Resource,
    execution_context: ExecutionContext) -> DomainProvider:
    """Creates component (see parent class for full docstring)."""
```

#### `load`

```python
@classmethod
def load(cls, config: Dict[Text, Any], model_storage: ModelStorage,
    resource: Resource, execution_context: ExecutionContext,
    **kwargs: Any) -> DomainProvider:
    """Creates provider using a persisted version of itself."""
```

#### `provide_train`

```python
def provide_train(importer: TrainingDataImporter) -> Domain:
    """Provides domain from training data during training."""
```

#### `provide_inference`

```python
def provide_inference() -> Domain:
    """Provides the domain during inference."""
```
