AttributeError: 'GPTNeoXForCausalLM' object has no attribute 'lm_head'
#1
by
AayushShah
- opened
I was trying to run this code:
for param in model.parameters():
param.requires_grad = False # freeze the model - train adapters later
if param.ndim == 1:
# cast the small parameters (e.g. layernorm) to fp32 for stability
param.data = param.data.to(torch.float32)
model.gradient_checkpointing_enable() # reduce number of stored activations
model.enable_input_require_grads()
class CastOutputToFloat(nn.Sequential):
def forward(self, x): return super().forward(x).to(torch.float32)
model.lm_head = CastOutputToFloat(model.lm_head)
And got this error:
AttributeError: 'GPTNeoXForCausalLM' object has no attribute 'lm_head'
Please help.
Same problem
Hello
@sr5434
,
I think this would help:
It appears that GPTNeoXForCausalLM's output layer is model.embed_out instead of model.lm_head. Could you modify the name and try again?
Please follow this thread: https://huggingface.co/togethercomputer/GPT-NeoXT-Chat-Base-20B/discussions/12#6434f46ba5aed21dd11b3534
Ok, thanks
Does it work now?