


'''simple docstring'''







import inspect
import re

from transformers.utils import direct_transformers_import


# All paths are set with the intent you should run this script from the root of the repo with the command
# python utils/check_config_docstrings.py
SCREAMING_SNAKE_CASE_      =			'src/transformers'


# This is to make sure the transformers module imported is the one in the repo.
SCREAMING_SNAKE_CASE_      =			direct_transformers_import(PATH_TO_TRANSFORMERS)

SCREAMING_SNAKE_CASE_      =			transformers.models.auto.configuration_auto.CONFIG_MAPPING

# Regex pattern used to find the checkpoint mentioned in the docstring of `config_class`.
# For example, `[bert-base-uncased](https://huggingface.co/bert-base-uncased)`
SCREAMING_SNAKE_CASE_      =			re.compile(R'\[(.+?)\]\((https://huggingface\.co/.+?)\)')


SCREAMING_SNAKE_CASE_      =			{
    'DecisionTransformerConfig',
    'EncoderDecoderConfig',
    'MusicgenConfig',
    'RagConfig',
    'SpeechEncoderDecoderConfig',
    'TimmBackboneConfig',
    'VisionEncoderDecoderConfig',
    'VisionTextDualEncoderConfig',
    'LlamaConfig',
}




def        __lowercase						(      __SCREAMING_SNAKE_CASE		)				->					List[str]:
     """simple docstring"""




     __a       =   None

     # source code of `config_class`
     __a       =   inspect.getsource(__SCREAMING_SNAKE_CASE		)
     __a       =   _re_checkpoint.findall(__SCREAMING_SNAKE_CASE		)

     # Each `checkpoint` is a tuple of a checkpoint name and a checkpoint link.
     # For example, `('bert-base-uncased', 'https://huggingface.co/bert-base-uncased')`
     for ckpt_name, ckpt_link in checkpoints:
          # allow the link to end with `/`
          if ckpt_link.endswith("""/"""		):
               __a       =   ckpt_link[:-1]

          # verify the checkpoint name corresponds to the checkpoint link
          __a       =   F'''https://huggingface.co/{ckpt_name}'''
          if ckpt_link == ckpt_link_from_name:
               __a       =   ckpt_name
               break

     return checkpoint




def        __lowercase						(      )				->					str:
     """simple docstring"""




     __a       =   []

     for config_class in list(CONFIG_MAPPING.values()		):
          # Skip deprecated models
          if "models.deprecated" in config_class.__module__:
               continue
          __a       =   get_checkpoint_from_config_class(__SCREAMING_SNAKE_CASE		)

          __a       =   config_class.__name__
          if checkpoint is None and name not in CONFIG_CLASSES_TO_IGNORE_FOR_DOCSTRING_CHECKPOINT_CHECK:
               configs_without_checkpoint.append(__SCREAMING_SNAKE_CASE		)

     if len(__SCREAMING_SNAKE_CASE		) > 0:
          __a       =   """\n""".join(sorted(__SCREAMING_SNAKE_CASE		)		)
          raise ValueError(F'''The following configurations don\'t contain any valid checkpoint:\n{message}'''		)


if __name__ == "__main__":
 check_config_docstrings_have_checkpoints()










'''simple docstring'''







import numpy

# List of input, output pairs
SCREAMING_SNAKE_CASE_      =			(
    ((5, 2, 3), 15),
    ((6, 5, 9), 25),
    ((11, 12, 13), 41),
    ((1, 1, 1), 8),
    ((11, 12, 13), 41),
)
SCREAMING_SNAKE_CASE_      =			(((5_15, 22, 13), 5_55), ((61, 35, 49), 1_50))
SCREAMING_SNAKE_CASE_      =			[2, 4, 1, 5]
SCREAMING_SNAKE_CASE_      =			len(train_data)
SCREAMING_SNAKE_CASE_      =			0.0_0_9




def        __lowercase						(      __SCREAMING_SNAKE_CASE				,  __SCREAMING_SNAKE_CASE="train"		)				->					Optional[int]:
     """simple docstring"""




     return calculate_hypothesis_value(__SCREAMING_SNAKE_CASE				,  __SCREAMING_SNAKE_CASE		) - output(
         __SCREAMING_SNAKE_CASE				,  __SCREAMING_SNAKE_CASE		)




def        __lowercase						(      __SCREAMING_SNAKE_CASE		)				->					int:
     """simple docstring"""




     __a       =   0
     for i in range(len(__SCREAMING_SNAKE_CASE		) - 1		):
          hyp_val += data_input_tuple[i] * parameter_vector[i + 1]
     hyp_val += parameter_vector[0]
     return hyp_val




def        __lowercase						(      __SCREAMING_SNAKE_CASE				,  __SCREAMING_SNAKE_CASE		)				->					Optional[int]:
     """simple docstring"""




     if data_set == "train":
          return train_data[example_no][1]
     elif data_set == "test":
          return test_data[example_no][1]
     return None




def        __lowercase						(      __SCREAMING_SNAKE_CASE				,  __SCREAMING_SNAKE_CASE		)				->					Tuple:
     """simple docstring"""




     if data_set == "train":
          return _hypothesis_value(train_data[example_no][0]		)
     elif data_set == "test":
          return _hypothesis_value(test_data[example_no][0]		)
     return None




def        __lowercase						(      __SCREAMING_SNAKE_CASE				,  __SCREAMING_SNAKE_CASE=m		)				->					Optional[Any]:
     """simple docstring"""




     __a       =   0
     for i in range(__SCREAMING_SNAKE_CASE		):
          if index == -1:
               summation_value += _error(__SCREAMING_SNAKE_CASE		)
          else:
               summation_value += _error(__SCREAMING_SNAKE_CASE		) * train_data[i][0][index]
     return summation_value




def        __lowercase						(      __SCREAMING_SNAKE_CASE		)				->					List[str]:
     """simple docstring"""




     __a       =   summation_of_cost_derivative(__SCREAMING_SNAKE_CASE				,  __SCREAMING_SNAKE_CASE		) / m
     return cost_derivative_value




def        __lowercase						(      )				->					str:
     """simple docstring"""




     global parameter_vector
     # Tune these values to set a tolerance value for predicted output
     __a       =   0.000_002
     __a       =   0
     __a       =   0
     while True:
          j += 1
          __a       =   [0, 0, 0, 0]
          for i in range(0				,  len(__SCREAMING_SNAKE_CASE		)		):
               __a       =   get_cost_derivative(i - 1		)
               __a       =   (
                   parameter_vector[i] - LEARNING_RATE * cost_derivative
               )
          if numpy.allclose(
              __SCREAMING_SNAKE_CASE				,  __SCREAMING_SNAKE_CASE				,  atol=__SCREAMING_SNAKE_CASE				,  rtol=__SCREAMING_SNAKE_CASE				,  ):
               break
          __a       =   temp_parameter_vector
     print(("""Number of iterations:""", j)		)




def        __lowercase						(      )				->					List[Any]:
     """simple docstring"""




     for i in range(len(__SCREAMING_SNAKE_CASE		)		):
          print(("""Actual output value:""", output(__SCREAMING_SNAKE_CASE				,  """test"""		))		)
          print(("""Hypothesis output:""", calculate_hypothesis_value(__SCREAMING_SNAKE_CASE				,  """test"""		))		)


if __name__ == "__main__":
 run_gradient_descent()
 print('\nTesting gradient descent for a linear hypothesis function.\n')
 test_gradient_descent()






