from typing import Any, Optional
from .common_types import _devices_t, _device_t
from ..modules import Module
from ... import device, Tensor

class DataParallel(Module):
    module: Module = ...
    device_ids: _devices_t = ...
    dim: int = ...
    output_device: _device_t = ...
    src_device_obj: device = ...

    def __init__(self, module: Module, device_ids: Optional[_devices_t] = ..., output_device: Optional[_device_t] = ...,
                 dim: int = ...) -> None: ...


def data_parallel(module: Module, inputs: Any, device_ids: Optional[_devices_t] = ...,
                  output_device: Optional[_device_t] = ..., dim: int = ...,
                  module_kwargs: Optional[Any] = ...) -> Tensor: ...
