


'''simple docstring'''





import numpy as np
from PIL import Image






def 						UpperCAmelCase__(				_SCREAMING_SNAKE_CASE					: np.ndarray,_SCREAMING_SNAKE_CASE					: int,_SCREAMING_SNAKE_CASE					: int ):






			"""simple docstring"""




			__A=	np.array(_SCREAMING_SNAKE_CASE )
			if arr.shape[0] != arr.shape[1]:
						raise ValueError('The input array is not a square matrix' )
			__A=	0
			__A=	0
			__A=	0
			__A=	0

			# compute the shape of the output matrix
			__A=	(arr.shape[0] - size) // stride + 1
			# initialize the output matrix with zeros of shape maxpool_shape
			__A=	np.zeros((maxpool_shape, maxpool_shape) )

			while i < arr.shape[0]:
						if i + size > arr.shape[0]:
									# if the end of the matrix is reached, break
									break
						while j < arr.shape[1]:
									# if the end of the matrix is reached, break
									if j + size > arr.shape[1]:
												break
									# compute the maximum of the pooling matrix
									__A=	np.max(arr[i : i + size, j : j + size] )
									# shift the pooling matrix by stride of column pixels
									j += stride
									mat_j += 1

						# shift the pooling matrix by stride of row pixels
						i += stride
						mat_i += 1

						# reset the column index to 0
						__A=	0
						__A=	0

			return updated_arr






def 						UpperCAmelCase__(				_SCREAMING_SNAKE_CASE					: np.ndarray,_SCREAMING_SNAKE_CASE					: int,_SCREAMING_SNAKE_CASE					: int ):






			"""simple docstring"""




			__A=	np.array(_SCREAMING_SNAKE_CASE )
			if arr.shape[0] != arr.shape[1]:
						raise ValueError('The input array is not a square matrix' )
			__A=	0
			__A=	0
			__A=	0
			__A=	0

			# compute the shape of the output matrix
			__A=	(arr.shape[0] - size) // stride + 1
			# initialize the output matrix with zeros of shape avgpool_shape
			__A=	np.zeros((avgpool_shape, avgpool_shape) )

			while i < arr.shape[0]:
						# if the end of the matrix is reached, break
						if i + size > arr.shape[0]:
									break
						while j < arr.shape[1]:
									# if the end of the matrix is reached, break
									if j + size > arr.shape[1]:
												break
									# compute the average of the pooling matrix
									__A=	int(np.average(arr[i : i + size, j : j + size] ) )
									# shift the pooling matrix by stride of column pixels
									j += stride
									mat_j += 1

						# shift the pooling matrix by stride of row pixels
						i += stride
						mat_i += 1
						# reset the column index to 0
						__A=	0
						__A=	0

			return updated_arr


# Main Function
if __name__ == "__main__":
					from doctest import testmod

					testmod(name='''avgpooling''', verbose=True)

					# Loading the image
					UpperCAmelCase__  			=				Image.open('''path_to_image''')

					# Converting the image to numpy array and maxpooling, displaying the result
					# Ensure that the image is a square matrix

					Image.fromarray(maxpooling(np.array(image), size=3, stride=2)).show()

					# Converting the image to numpy array and averagepooling, displaying the result
					# Ensure that the image is a square matrix

					Image.fromarray(avgpooling(np.array(image), size=3, stride=2)).show()







'''simple docstring'''





from collections import OrderedDict
from typing import Mapping

from ...configuration_utils import PretrainedConfig
from ...onnx import OnnxConfig
from ...utils import logging


UpperCAmelCase__  			=				logging.get_logger(__name__)

UpperCAmelCase__  			=				{
    '''roberta-base''': '''https://huggingface.co/roberta-base/resolve/main/config.json''',
    '''roberta-large''': '''https://huggingface.co/roberta-large/resolve/main/config.json''',
    '''roberta-large-mnli''': '''https://huggingface.co/roberta-large-mnli/resolve/main/config.json''',
    '''distilroberta-base''': '''https://huggingface.co/distilroberta-base/resolve/main/config.json''',
    '''roberta-base-openai-detector''': '''https://huggingface.co/roberta-base-openai-detector/resolve/main/config.json''',
    '''roberta-large-openai-detector''': '''https://huggingface.co/roberta-large-openai-detector/resolve/main/config.json''',
}
class 						a__					(					a_   ):





			'''simple docstring'''

			A						:				Union[str, Any]					      =			'''roberta'''
			def __init__(  self							:			Any			,    lowerCAmelCase_							:			int=50_265			,    lowerCAmelCase_							:			int=768			,    lowerCAmelCase_							:			Optional[Any]=12			,    lowerCAmelCase_							:			Tuple=12			,    lowerCAmelCase_							:			Optional[int]=3_072			,    lowerCAmelCase_							:			List[str]="gelu"			,    lowerCAmelCase_							:			List[str]=0.1			,    lowerCAmelCase_							:			Tuple=0.1			,    lowerCAmelCase_							:			List[Any]=512			,    lowerCAmelCase_							:			Union[str, Any]=2			,    lowerCAmelCase_							:			List[Any]=0.02			,    lowerCAmelCase_							:			Optional[int]=1E-12			,    lowerCAmelCase_							:			str=1			,    lowerCAmelCase_							:			Dict=0			,    lowerCAmelCase_							:			Any=2			,    lowerCAmelCase_							:			List[str]="absolute"			,    lowerCAmelCase_							:			Any=True			,    lowerCAmelCase_							:			Dict=None			,    **lowerCAmelCase_							:			Any			,    )      ->		int:
						super().__init__(pad_token_id=lowerCAmelCase_			,    bos_token_id=lowerCAmelCase_			,    eos_token_id=lowerCAmelCase_			,    **lowerCAmelCase_	)

						__A=	vocab_size
						__A=	hidden_size
						__A=	num_hidden_layers
						__A=	num_attention_heads
						__A=	hidden_act
						__A=	intermediate_size
						__A=	hidden_dropout_prob
						__A=	attention_probs_dropout_prob
						__A=	max_position_embeddings
						__A=	type_vocab_size
						__A=	initializer_range
						__A=	layer_norm_eps
						__A=	position_embedding_type
						__A=	use_cache
						__A=	classifier_dropout


class 						a__					(					a_   ):





			'''simple docstring'''

			@property
			def 					lowerCAmelCase     (  self							:			Any	)      ->		Mapping[str, Mapping[int, str]]:
						if self.task == "multiple-choice":
									__A=	{0: 'batch', 1: 'choice', 2: 'sequence'}
						else:
									__A=	{0: 'batch', 1: 'sequence'}
						return OrderedDict(
						    [
						        ('input_ids', dynamic_axis),
						        ('attention_mask', dynamic_axis),
						    ]	)



