

"""simple docstring"""

import argparse
import json

from transformers import GPTNeoConfig, GPTNeoForCausalLM, load_tf_weights_in_gpt_neo
from transformers.utils import logging


logging.set_verbosity_info()



def 			SCREAMING_SNAKE_CASE       (   lowercase__				,				lowercase__				,				lowercase__      ) ->	Dict:
 # Initialise PyTorch model
 lowerCAmelCase__      :							Optional[int]    =							json.load(open(lowercase__				,				"r"      )      )
 lowerCAmelCase__      :							Union[str, Any]    =							GPTNeoConfig(
     hidden_size=config_json["n_embd"]				,				num_layers=config_json["n_layer"]				,				num_heads=config_json["n_head"]				,				attention_types=config_json["attention_types"]				,				max_position_embeddings=config_json["n_positions"]				,				resid_dropout=config_json["res_dropout"]				,				embed_dropout=config_json["embed_dropout"]				,				attention_dropout=config_json["attn_dropout"]				,				)
 print(F"""Building PyTorch model from configuration: {config}"""      )
 lowerCAmelCase__      :							Optional[Any]    =							GPTNeoForCausalLM(lowercase__      )

 # Load weights from tf checkpoint
 load_tf_weights_in_gpt_neo(lowercase__				,				lowercase__				,				lowercase__      )

 # Save pytorch-model
 print(F"""Save PyTorch model to {pytorch_dump_path}"""      )
 model.save_pretrained(lowercase__      )


if __name__ == "__main__":
    _UpperCamelCase		    =						argparse.ArgumentParser()
    # Required parameters
    parser.add_argument(
        """--tf_checkpoint_path""", default=None, type=str, required=True, help="""Path to the TensorFlow checkpoint path."""
    )
    parser.add_argument(
        """--config_file""",
        default=None,
        type=str,
        required=True,
        help=(
            """The config json file corresponding to the pre-trained mesh-tf model. \n"""
            """This specifies the model architecture."""
        ),
    )
    parser.add_argument(
        """--pytorch_dump_path""", default=None, type=str, required=True, help="""Path to the output PyTorch model."""
    )
    _UpperCamelCase		    =						parser.parse_args()
    convert_tf_checkpoint_to_pytorch(args.tf_checkpoint_path, args.config_file, args.pytorch_dump_path)









"""simple docstring"""

def 			SCREAMING_SNAKE_CASE       (   lowercase__      ) ->	int:
 return 1 if input_a == 0 else 0



def 			SCREAMING_SNAKE_CASE       (   ) ->	None:
 assert not_gate(0      ) == 1
 assert not_gate(1      ) == 0


if __name__ == "__main__":
    print(not_gate(0))
    print(not_gate(1))






