import torch from transformers import GPT2TokenizerFast from modeling_perklm import PerkLMConfig, PerkLM checkpoint = torch.load('perklm.pt', map_location = 'cpu', weights_only = True) old_config = checkpoint['config'] hf_config = PerkLMConfig(d_model = old_config['model']['d_model'], n_heads = old_config['model']['n_heads'], n_layers = old_config['model']['n_layers'], d_ff = old_config['model']['d_ff'], maxt = old_config['model']['maxt'], dropout = old_config['model']['dropout'], tokenizer_path = 'tokenizer') hf_config.auto_map = { "AutoConfig": "modeling_perklm.PerkLMConfig", "AutoModelForCausalLM": "modeling_perklm.PerkLM"} model = PerkLM(hf_config) model.transformer.load_state_dict(checkpoint['model_state_dict']) model.save_pretrained('perklm_hf') hf_config.save_pretrained('perklm_hf')