code: 
  
  
  
  """simple docstring"""
  
  
  
  
  from typing import TYPE_CHECKING
  
  from ...utils import OptionalDependencyNotAvailable, _LazyModule, is_torch_available, is_vision_available
  
  
  _lowerCAmelCase       :      Dict							=							{
      """configuration_flava""": [
          """FLAVA_PRETRAINED_CONFIG_ARCHIVE_MAP""",
          """FlavaConfig""",
          """FlavaImageCodebookConfig""",
          """FlavaImageConfig""",
          """FlavaMultimodalConfig""",
          """FlavaTextConfig""",
      ],
  }
  
  try:
  	if not is_vision_available():
  		raise OptionalDependencyNotAvailable()
  except OptionalDependencyNotAvailable:
  	pass
  else:
  	_lowerCAmelCase       :      List[Any]							=							["""FlavaFeatureExtractor"""]
  	_lowerCAmelCase       :      Tuple							=							["""FlavaImageProcessor"""]
  	_lowerCAmelCase       :      str							=							["""FlavaProcessor"""]
  
  try:
  	if not is_torch_available():
  		raise OptionalDependencyNotAvailable()
  except OptionalDependencyNotAvailable:
  	pass
  else:
  	_lowerCAmelCase       :      Optional[Any]							=							[
  	    """FLAVA_PRETRAINED_MODEL_ARCHIVE_LIST""",
  	    """FlavaForPreTraining""",
  	    """FlavaImageCodebook""",
  	    """FlavaImageModel""",
  	    """FlavaModel""",
  	    """FlavaMultimodalModel""",
  	    """FlavaPreTrainedModel""",
  	    """FlavaTextModel""",
  	]
  
  if TYPE_CHECKING:
  	from .configuration_flava import (
  	    FLAVA_PRETRAINED_CONFIG_ARCHIVE_MAP,
  	    FlavaConfig,
  	    FlavaImageCodebookConfig,
  	    FlavaImageConfig,
  	    FlavaMultimodalConfig,
  	    FlavaTextConfig,
  	)
  
  	try:
  		if not is_vision_available():
  			raise OptionalDependencyNotAvailable()
  	except OptionalDependencyNotAvailable:
  		pass
  	else:
  		from .feature_extraction_flava import FlavaFeatureExtractor
  		from .image_processing_flava import FlavaImageProcessor
  		from .processing_flava import FlavaProcessor
  
  	try:
  		if not is_torch_available():
  			raise OptionalDependencyNotAvailable()
  	except OptionalDependencyNotAvailable:
  		pass
  	else:
  		from .modeling_flava import (
  		    FLAVA_PRETRAINED_MODEL_ARCHIVE_LIST,
  		    FlavaForPreTraining,
  		    FlavaImageCodebook,
  		    FlavaImageModel,
  		    FlavaModel,
  		    FlavaMultimodalModel,
  		    FlavaPreTrainedModel,
  		    FlavaTextModel,
  		)
  
  else:
  	import sys
  
  	_lowerCAmelCase       :      Optional[Any]							=							_LazyModule(__name__, globals()["__file__"], _import_structure, module_spec=__spec__)
  
style_context: 
  
  
  
  """simple docstring"""
  
  
  
  
  import argparse
  
  import torch
  
  from transformers import ImageGPTConfig, ImageGPTForCausalLM, load_tf_weights_in_imagegpt
  from transformers.utils import CONFIG_NAME, WEIGHTS_NAME, logging
  
  
  logging.set_verbosity_info()
  
  def 		__snake_case		(   SCREAMING_SNAKE_CASE__			:		Optional[Any]		,						SCREAMING_SNAKE_CASE__			:		Tuple		,						SCREAMING_SNAKE_CASE__			:		Any       )						->     Dict:
  
  
  
  
  
       '''simple docstring'''
  
       _UpperCAmelCase    :			Any              =					{"small": (512, 8, 24), "medium": (1_024, 8, 36), "large": (1_536, 16, 48)}
       _UpperCAmelCase       , _UpperCAmelCase       , _UpperCAmelCase    :			str              =					MODELS[model_size]  # set model hyperparameters
       _UpperCAmelCase    :			Tuple              =					ImageGPTConfig(n_embd=SCREAMING_SNAKE_CASE__		,						n_layer=SCREAMING_SNAKE_CASE__		,						n_head=SCREAMING_SNAKE_CASE__       )
       _UpperCAmelCase    :			int              =					ImageGPTForCausalLM(SCREAMING_SNAKE_CASE__       )
  
       # Load weights from numpy
       load_tf_weights_in_imagegpt(SCREAMING_SNAKE_CASE__		,						SCREAMING_SNAKE_CASE__		,						SCREAMING_SNAKE_CASE__       )
  
       # Save pytorch-model
       _UpperCAmelCase    :			Union[str, Any]              =					pytorch_dump_folder_path + "/" + WEIGHTS_NAME
       _UpperCAmelCase    :			int              =					pytorch_dump_folder_path + "/" + CONFIG_NAME
       print(f'Save PyTorch model to {pytorch_weights_dump_path}'       )
       torch.save(model.state_dict()		,						SCREAMING_SNAKE_CASE__       )
       print(f'Save configuration file to {pytorch_config_dump_path}'       )
       with open(SCREAMING_SNAKE_CASE__		,						"w"		,						encoding="utf-8"       ) as f:
            f.write(config.to_json_string()       )
  
  
  if __name__ == "__main__":
   _lowerCAmelCase       :      List[str]							=							argparse.ArgumentParser()
   # Required parameters
   parser.add_argument(
       "--imagegpt_checkpoint_path",
       default=None,
       type=str,
       required=True,
       help="Path to the TensorFlow checkpoint path.",
   )
   parser.add_argument(
       "--model_size",
       default=None,
       type=str,
       required=True,
       help="Size of the model (can be either 'small', 'medium' or 'large').",
   )
   parser.add_argument(
       "--pytorch_dump_folder_path", default=None, type=str, required=True, help="Path to the output PyTorch model."
   )
   _lowerCAmelCase       :      Optional[int]							=							parser.parse_args()
   convert_imagegpt_checkpoint_to_pytorch(
       args.imagegpt_checkpoint_path, args.model_size, args.pytorch_dump_folder_path
   )
  