




'''simple docstring'''

from typing import TYPE_CHECKING

from ...utils import (
    OptionalDependencyNotAvailable,
    _LazyModule,
    is_torch_available,
)


a    :							List[str]										=    {
    'configuration_falcon': ['FALCON_PRETRAINED_CONFIG_ARCHIVE_MAP', 'FalconConfig'],
}

try:
							if not is_torch_available():
														raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
							pass
else:
							a    :							str										=    [
							    'FALCON_PRETRAINED_MODEL_ARCHIVE_LIST',
							    'FalconForCausalLM',
							    'FalconModel',
							    'FalconPreTrainedModel',
							    'FalconForSequenceClassification',
							    'FalconForTokenClassification',
							    'FalconForQuestionAnswering',
							]


if TYPE_CHECKING:
							from .configuration_falcon import FALCON_PRETRAINED_CONFIG_ARCHIVE_MAP, FalconConfig

							try:
														if not is_torch_available():
																					raise OptionalDependencyNotAvailable()
							except OptionalDependencyNotAvailable:
														pass
							else:
														from .modeling_falcon import (
														    FALCON_PRETRAINED_MODEL_ARCHIVE_LIST,
														    FalconForCausalLM,
														    FalconForQuestionAnswering,
														    FalconForSequenceClassification,
														    FalconForTokenClassification,
														    FalconModel,
														    FalconPreTrainedModel,
														)


else:
							import sys

							a    :							int										=    _LazyModule(__name__, globals()['__file__'], _import_structure, module_spec=__spec__)



"""simple docstring"""


import logging
from dataclasses import dataclass, field
from pathlib import Path
from typing import Optional, Union

from .generation.configuration_utils import GenerationConfig
from .training_args import TrainingArguments
from .utils import add_start_docstrings


A_    							=					logging.getLogger(__name__)




@dataclass
@add_start_docstrings(TrainingArguments.__doc__			)
class  __lowerCamelCase  ( lowerCAmelCase			):
				a__:      bool          =    field(default=lowerCAmelCase						,	metadata={'help': 'Whether to use SortishSampler or not.'}			)
				a__:      bool          =    field(
				    default=lowerCAmelCase						,	metadata={'help': 'Whether to use generate to calculate generative metrics (ROUGE, BLEU).'}			)
				a__:      Optional[int]          =    field(
				    default=lowerCAmelCase						,	metadata={
				        'help': (
				            'The `max_length` to use on each evaluation loop when `predict_with_generate=True`. Will default '
				            'to the `max_length` value of the model configuration.'
				        )
				    }						,	)
				a__:      Optional[int]          =    field(
				    default=lowerCAmelCase						,	metadata={
				        'help': (
				            'The `num_beams` to use on each evaluation loop when `predict_with_generate=True`. Will default '
				            'to the `num_beams` value of the model configuration.'
				        )
				    }						,	)
				a__:      Optional[Union[str, Path, GenerationConfig]]          =    field(
				    default=lowerCAmelCase						,	metadata={
				        'help': 'Model id, file path or url pointing to a GenerationConfig json file, to use during prediction.'
				    }						,	)




				def        UpperCAmelCase__						(				self   ):
							lowerCamelCase_					=  super().to_dict()
							for k, v in d.items():
										if isinstance(UpperCAmelCase							,						UpperCAmelCase   ):
													lowerCamelCase_					=  v.to_dict()
							return d



