from transformers import GPT2LMHeadModel, GPT2Config

model_lm_orig = GPT2LMHeadModel.from_pretrained(model_name)
# ... compress and decompress its weights (same functions work) ...
model_lm_decomp = GPT2LMHeadModel(GPT2Config.from_pretrained(model_name))
model_lm_decomp.load_state_dict(decompressed_state_dict)

# Generate from both
input_ids = tokenizer.encode(input_text, return_tensors="pt")
gen_orig = model_lm_orig.generate(input_ids, max_length=50)
gen_decomp = model_lm_decomp.generate(input_ids, max_length=50)
print("Original output:", tokenizer.decode(gen_orig[0]))
print("Decompressed output:", tokenizer.decode(gen_decomp[0]))