Skip to content

Commit

Permalink
Fix the inplace sign operation
Browse files Browse the repository at this point in the history
  • Loading branch information
yongchanghao authored and fsx950223 committed Nov 22, 2023
1 parent c7392f2 commit b21d6ce
Showing 1 changed file with 1 addition and 4 deletions.
5 changes: 1 addition & 4 deletions lion/lion_pytorch.py
Original file line number Diff line number Diff line change
Expand Up @@ -78,10 +78,7 @@ def step(self, closure=None):
# Weight update
update = exp_avg * beta1 + grad * (1 - beta1)

p.add_(torch.sign(update), alpha=-group['lr'], inplace=True)
#This has been made more efficient by using the torch.sign function's inplace mode.
#This will prevent the need to create a new tensor for the updated parameter,
#which can save a significant amount of time for large models.
p.add_(update.sign_(), alpha=-group['lr'])

# Decay the momentum running average coefficient
exp_avg.mul_(beta2).add_(grad, alpha=1 - beta2)
Expand Down

1 comment on commit b21d6ce

@crazydonkey200
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@yongchanghao Sorry that I missed the PR previously. Thanks for fixing the bug, Yongchang!

Please sign in to comment.