





'''simple docstring'''


from ...configuration_utils import PretrainedConfig
from ...utils import logging


_SCREAMING_SNAKE_CASE		       =							logging.get_logger(__name__)

_SCREAMING_SNAKE_CASE		       =							{
    "microsoft/swinv2-tiny-patch4-window8-256": (
        "https://huggingface.co/microsoft/swinv2-tiny-patch4-window8-256/resolve/main/config.json"
    ),
}

class       lowerCAmelCase_						(						__magic_name__						):
 __lowerCamelCase  :							Optional[Any]				     =    "swinv2"

 __lowerCamelCase  :							Tuple				     =    {
     "num_attention_heads": "num_heads",
     "num_hidden_layers": "num_layers",
 }




 def __init__(		self	,   _lowerCAmelCase=224	,   _lowerCAmelCase=4	,   _lowerCAmelCase=3	,   _lowerCAmelCase=96	,   _lowerCAmelCase=[2, 2, 6, 2]	,   _lowerCAmelCase=[3, 6, 12, 24]	,   _lowerCAmelCase=7	,   _lowerCAmelCase=4.0	,   _lowerCAmelCase=True	,   _lowerCAmelCase=0.0	,   _lowerCAmelCase=0.0	,   _lowerCAmelCase=0.1	,   _lowerCAmelCase="gelu"	,   _lowerCAmelCase=False	,   _lowerCAmelCase=0.02	,   _lowerCAmelCase=1E-5	,   _lowerCAmelCase=32	,   **_lowerCAmelCase	,   )			->							Any:
     super().__init__(**__lowerCAmelCase						)

     _lowerCAmelCase			=					image_size
     _lowerCAmelCase			=					patch_size
     _lowerCAmelCase			=					num_channels
     _lowerCAmelCase			=					embed_dim
     _lowerCAmelCase			=					depths
     _lowerCAmelCase			=					len(__lowerCAmelCase						)
     _lowerCAmelCase			=					num_heads
     _lowerCAmelCase			=					window_size
     _lowerCAmelCase			=					mlp_ratio
     _lowerCAmelCase			=					qkv_bias
     _lowerCAmelCase			=					hidden_dropout_prob
     _lowerCAmelCase			=					attention_probs_dropout_prob
     _lowerCAmelCase			=					drop_path_rate
     _lowerCAmelCase			=					hidden_act
     _lowerCAmelCase			=					use_absolute_embeddings
     _lowerCAmelCase			=					layer_norm_eps
     _lowerCAmelCase			=					initializer_range
     _lowerCAmelCase			=					encoder_stride
     # we set the hidden_size attribute in order to make Swinv2 work with VisionEncoderDecoderModel
     # this indicates the channel dimension after the last stage of the model
     _lowerCAmelCase			=					int(embed_dim * 2 ** (len(__lowerCAmelCase						) - 1)						)
     _lowerCAmelCase			=					(0, 0, 0, 0)









import pytest

from datasets.parallel import ParallelBackendConfig, parallel_backend
from datasets.utils.py_utils import map_nested

from .utils import require_dill_gt_0_3_2, require_joblibspark, require_not_windows





def lowerCAmelCase__(__snake_case							)				->      int:  # picklable for multiprocessing







	'''simple docstring'''







	return i + 1





@require_dill_gt_0_3_2
@require_joblibspark
@require_not_windows
def lowerCAmelCase__()				->      Any:







	'''simple docstring'''







	with parallel_backend('''spark'''							):
		assert ParallelBackendConfig.backend_name == "spark"

	lowerCamelCase__								=		[1, 2, 3]
	with pytest.raises(__snake_case							):
		with parallel_backend('''unsupported backend'''							):
			map_nested(__snake_case       ,__snake_case       ,num_proc=2							)

	with pytest.raises(__snake_case							):
		with parallel_backend('''unsupported backend'''							):
			map_nested(__snake_case       ,__snake_case       ,num_proc=-1							)





@require_dill_gt_0_3_2
@require_joblibspark
@require_not_windows
@pytest.mark.parametrize('''num_proc'''       ,[2, -1]							)
def lowerCAmelCase__(__snake_case							)				->      Tuple:







	'''simple docstring'''







	lowerCamelCase__								=		[1, 2]
	lowerCamelCase__								=		{'''a''': 1, '''b''': 2}
	lowerCamelCase__								=		{'''a''': [1, 2], '''b''': [3, 4]}
	lowerCamelCase__								=		{'''a''': {'''1''': 1}, '''b''': 2}
	lowerCamelCase__								=		{'''a''': 1, '''b''': 2, '''c''': 3, '''d''': 4}
	lowerCamelCase__								=		[2, 3]
	lowerCamelCase__								=		{'''a''': 2, '''b''': 3}
	lowerCamelCase__								=		{'''a''': [2, 3], '''b''': [4, 5]}
	lowerCamelCase__								=		{'''a''': {'''1''': 2}, '''b''': 3}
	lowerCamelCase__								=		{'''a''': 2, '''b''': 3, '''c''': 4, '''d''': 5}

	with parallel_backend('''spark'''							):
		assert map_nested(__snake_case       ,__snake_case       ,num_proc=__snake_case							) == expected_map_nested_sa
		assert map_nested(__snake_case       ,__snake_case       ,num_proc=__snake_case							) == expected_map_nested_sa
		assert map_nested(__snake_case       ,__snake_case       ,num_proc=__snake_case							) == expected_map_nested_sa
		assert map_nested(__snake_case       ,__snake_case       ,num_proc=__snake_case							) == expected_map_nested_sa
		assert map_nested(__snake_case       ,__snake_case       ,num_proc=__snake_case							) == expected_map_nested_sa



