


'''simple docstring'''


from abc import ABC, abstractmethod
from typing import Optional, Union

from .. import Dataset, DatasetDict, Features, IterableDataset, IterableDatasetDict, NamedSplit
from ..utils.typing import NestedDataStructureLike, PathLike






class 	lowerCAmelCase__			(			UpperCAmelCase__	):




			def __init__(		self  :     List[Any]	,  lowerCamelCase__  :     Optional[NestedDataStructureLike[PathLike]] = None	,  lowerCamelCase__  :     Optional[NamedSplit] = None	,  lowerCamelCase__  :     Optional[Features] = None	,  lowerCamelCase__  :     str = None	,  lowerCamelCase__  :     bool = False	,  lowerCamelCase__  :     bool = False	,  lowerCamelCase__  :     Optional[int] = None	,  **lowerCamelCase__  :     Optional[Any]	,  )   ->Optional[Any]:



					'''simple docstring'''







					_UpperCAmelCase		:       Union[str, Any]								=      path_or_paths
					_UpperCAmelCase		:       List[str]								=      split if split or isinstance(lowerCamelCase__	,  lowerCamelCase__ ) else "train"
					_UpperCAmelCase		:       str								=      features
					_UpperCAmelCase		:       Tuple								=      cache_dir
					_UpperCAmelCase		:       List[str]								=      keep_in_memory
					_UpperCAmelCase		:       Optional[int]								=      streaming
					_UpperCAmelCase		:       List[Any]								=      num_proc
					_UpperCAmelCase		:       List[Any]								=      kwargs






			@abstractmethod
			def 							lowerCAmelCase__    (		self  :     Optional[Any] )   ->Union[Dataset, DatasetDict, IterableDataset, IterableDatasetDict]:



					'''simple docstring'''







					pass






class 	lowerCAmelCase__			(			UpperCAmelCase__	):




			def __init__(		self  :     List[Any]	,  lowerCamelCase__  :     Optional[Features] = None	,  lowerCamelCase__  :     str = None	,  lowerCamelCase__  :     bool = False	,  lowerCamelCase__  :     bool = False	,  lowerCamelCase__  :     Optional[int] = None	,  **lowerCamelCase__  :     List[Any]	,  )   ->Dict:



					'''simple docstring'''







					_UpperCAmelCase		:       Any								=      features
					_UpperCAmelCase		:       List[Any]								=      cache_dir
					_UpperCAmelCase		:       int								=      keep_in_memory
					_UpperCAmelCase		:       Tuple								=      streaming
					_UpperCAmelCase		:       List[str]								=      num_proc
					_UpperCAmelCase		:       Optional[Any]								=      kwargs






			@abstractmethod
			def 							lowerCAmelCase__    (		self  :     Union[str, Any] )   ->Union[Dataset, IterableDataset]:



					'''simple docstring'''







					pass







'''simple docstring'''


from __future__ import annotations

import numpy as np






def  __lowerCAmelCase (__lowerCAmelCase   ):
		return np.maximum(0      , __lowerCAmelCase   )


if __name__ == "__main__":
						print(np.array(relu([-1, 0, 5])))  # --> [0, 0, 5]



