


"""simple docstring"""





import torch
import trajectory.utils as utils

from transformers import TrajectoryTransformerModel

class  lowercase_  ( utils.Parser						):
      __magic_name__     :							str          =				"halfcheetah-medium-expert-v2"
      __magic_name__     :							str          =				"config.offline"





def     lowercase__	(  lowerCamelCase     :  int				,	lowerCamelCase     :  Any				,	lowerCamelCase     :  Union[str, Any]				,	lowerCamelCase     :  List[str]				,	lowerCamelCase     :  List[Any]				)					->     List[Any]:
  lowerCAmelCase__				,		lowerCAmelCase__    :    Dict								=					utils.load_model(lowerCamelCase				,	lowerCamelCase				,	lowerCamelCase				,	epoch=lowerCamelCase				,	device=lowerCamelCase				)
  lowerCAmelCase__    :    int								=					TrajectoryTransformerModel(gpt.config				)

  trajectory_transformer.tok_emb.load_state_dict(gpt.tok_emb.state_dict()				)
  lowerCAmelCase__    :    Optional[Any]								=					gpt.pos_emb
  trajectory_transformer.drop.load_state_dict(gpt.drop.state_dict()				)
  trajectory_transformer.ln_f.load_state_dict(gpt.ln_f.state_dict()				)
  trajectory_transformer.head.load_state_dict(gpt.head.state_dict()				)

  for i, block in enumerate(gpt.blocks				):
    trajectory_transformer.blocks[i].lna.load_state_dict(gpt.blocks[i].lna.state_dict()				)
    trajectory_transformer.blocks[i].lna.load_state_dict(gpt.blocks[i].lna.state_dict()				)
    trajectory_transformer.blocks[i].attn.load_state_dict(gpt.blocks[i].attn.state_dict()				)

    trajectory_transformer.blocks[i].la.load_state_dict(gpt.blocks[i].mlp[0].state_dict()				)
    trajectory_transformer.blocks[i].act.load_state_dict(gpt.blocks[i].mlp[1].state_dict()				)
    trajectory_transformer.blocks[i].la.load_state_dict(gpt.blocks[i].mlp[2].state_dict()				)
    trajectory_transformer.blocks[i].drop.load_state_dict(gpt.blocks[i].mlp[3].state_dict()				)

  torch.save(trajectory_transformer.state_dict()				,	"pytorch_model.bin"				)


if __name__ == "__main__":
   __UpperCAmelCase    				=      Parser().parse_args("plan")
   convert_trajectory_transformer_original_pytorch_checkpoint_to_pytorch(
       args.logbase, args.dataset, args.gpt_loadpath, args.gpt_epoch, args.device
   )




"""simple docstring"""





from math import factorial





def     lowercase__	(  lowerCamelCase     :  Dict				,	lowerCamelCase     :  int				)					->     Tuple:
  return factorial(lowerCamelCase				) / (factorial(lowerCamelCase				) * factorial(n - r				))





def     lowercase__	(  )					->     Optional[Any]:
  lowerCAmelCase__    :    List[Any]								=					0

  for i in range(1				,	1_0_1				):
    for j in range(1				,	i + 1				):
      if combinations(lowerCamelCase				,	lowerCamelCase				) > 1e6:
        total += 1
  return total


if __name__ == "__main__":
   print(solution())
