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


__snake_case				      =    logging.get_logger(__name__)

__snake_case				      =    {
    """Visual-Attention-Network/van-base""": (
        """https://huggingface.co/Visual-Attention-Network/van-base/blob/main/config.json"""
    ),
}




class 		lowercase__    (		UpperCamelCase_    ):
	A__       :  Tuple										="""van"""
	def __init__(     self				:  List[Any]			,  UpperCAmelCase_				:  Dict=224			,  UpperCAmelCase_				:  Dict=3			,  UpperCAmelCase_				:  Union[str, Any]=[7, 3, 3, 3]			,  UpperCAmelCase_				:  Optional[Any]=[4, 2, 2, 2]			,  UpperCAmelCase_				:  Optional[Any]=[64, 128, 320, 512]			,  UpperCAmelCase_				:  List[str]=[3, 3, 12, 3]			,  UpperCAmelCase_				:  Any=[8, 8, 4, 4]			,  UpperCAmelCase_				:  Optional[int]="gelu"			,  UpperCAmelCase_				:  List[Any]=0.02			,  UpperCAmelCase_				:  Tuple=1e-6			,  UpperCAmelCase_				:  List[str]=1e-2			,  UpperCAmelCase_				:  List[str]=0.0			,  UpperCAmelCase_				:  List[Any]=0.0			,  **UpperCAmelCase_				:  Tuple			,  ):
						super().__init__(**a__				)
						SCREAMING_SNAKE_CASE__						=					image_size
						SCREAMING_SNAKE_CASE__						=					num_channels
						SCREAMING_SNAKE_CASE__						=					patch_sizes
						SCREAMING_SNAKE_CASE__						=					strides
						SCREAMING_SNAKE_CASE__						=					hidden_sizes
						SCREAMING_SNAKE_CASE__						=					depths
						SCREAMING_SNAKE_CASE__						=					mlp_ratios
						SCREAMING_SNAKE_CASE__						=					hidden_act
						SCREAMING_SNAKE_CASE__						=					initializer_range
						SCREAMING_SNAKE_CASE__						=					layer_norm_eps
						SCREAMING_SNAKE_CASE__						=					layer_scale_init_value
						SCREAMING_SNAKE_CASE__						=					drop_path_rate
						SCREAMING_SNAKE_CASE__						=					dropout_rate







'''simple docstring'''

# Copyright 2023 The HuggingFace Inc. team. All rights reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
from ..models.whisper import WhisperForConditionalGeneration, WhisperProcessor
from .base import PipelineTool




class    lowerCAmelCase       (     UpperCamelCase_  ):
 A_				:				int	=			"""openai/whisper-base"""
 A_				:				str	=			(
     """This is a tool that transcribes an audio into text. It takes an input named `audio` and returns the """
     """transcribed text."""
 )
 A_				:				Union[str, Any]	=			"""transcriber"""
 A_				:				Tuple	=			WhisperProcessor
 A_				:				Dict	=			WhisperForConditionalGeneration

 A_				:				Tuple	=			["""audio"""]
 A_				:				Optional[int]	=			["""text"""]


 def    _A	(    self  : Optional[int]			,							a__  : Optional[int]    ):
  '''simple docstring'''

  return self.pre_processor(a__			,							return_tensors="pt"    ).input_features


 def    _A	(    self  : List[str]			,							a__  : Union[str, Any]    ):
  '''simple docstring'''

  return self.model.generate(inputs=a__    )


 def    _A	(    self  : Optional[Any]			,							a__  : Dict    ):
  '''simple docstring'''

  return self.pre_processor.batch_decode(a__			,							skip_special_tokens=a__    )[0]





