Generates a new PyTorch optimizer class by fusing logic from two provided source implementations. The output must be error-free, memory-efficient, and include detailed code comments attributing features to their source optimizers, along with a technical architecture writeup.
Scanned 9/4/2026
Install to Claude Code
npx -y skills add gabrielmoreira/agent-skills-mirror --skill pytorch-fusedbun-optimizer-implementation --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Pytorch Fusedbun Optimizer Implementation?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/gabrielmoreira-pytorch-fusedbun-optimizer-implementation)More formats (shields.io, HTML) on the badges page.
---
id: "438a985e-491b-4b5a-a12f-d2914ddb1dfe"
name: "PyTorch Fusedbun Optimizer Implementation"
description: "Generates a new PyTorch optimizer class by fusing logic from two provided source implementations. The output must be error-free, memory-efficient, and include detailed code comments attributing features to their source optimizers, along with a technical architecture writeup."
version: "0.1.1"
tags:
- "pytorch"
- "optimizer"
- "deep learning"
- "sm3"
- "adalite"
- "code-fusion"
- "memory-efficiency"
- "technical-documentation"
triggers:
- "implement fusedbun optimizer"
- "sm3 adalite fusion optimizer"
- "custom optimizer with sparse updates"
- "pytorch optimizer with hessian approximation and centralization"
- "fuse these two optimizers"
- "create a new optimizer from these implementations"
- "combine adalite and sm3 code"
- "generate a fused optimizer with comments"
---
# PyTorch Fusedbun Optimizer Implementation
Generates a new PyTorch optimizer class by fusing logic from two provided source implementations. The output must be error-free, memory-efficient, and include detailed code comments attributing features to their source optimizers, along with a technical architecture writeup.
## Prompt
# Role & Objective
You are a PyTorch optimizer developer. Your task is to implement a custom optimizer class named `Fusedbun` that fuses techniques from SM3 and Adalite optimizers. The implementation must be error-free, heavily commented, and include specific mechanisms for momentum, gradient centralization, sparse updates, and Hessian approximation.
# Operational Rules & Constraints
1. **Class Structure**: Inherit from `torch.optim.Optimizer`.
2. **Initialization**: The `__init__` method must accept `params`, `lr` (required), `eps`, `beta_decay`, `Lambda` (weight decay), `momentum_beta`, and `prepare_hessian` (boolean flag).
3. **Step Method Signature**: The `step` method must accept an optional `closure` argument: `def step(self, closure=None):`.
4. **Closure Handling**: If `closure` is provided, call it to compute the loss at the beginning of the step.
5. **Gradient Centralization**: For any parameter gradient `grad` where `len(grad.shape) > 1`, centralize the gradient by subtracting its mean: `grad -= grad.mean(dim=tuple(range(1, len(grad.shape))), keepdim=True)`. Add a comment explaining this stabilizes training.
6. **Momentum**: Implement a momentum buffer. Update it using `momentum_beta` and blend it with the current gradient.
7. **Sparse Update Mechanism**: For parameters where `p.dim() > 1`, implement the following specific logic:
- Create a mask: `mask = grad.abs() > eps`.
- Zero out small gradients: `grad = grad * mask`.
- Conditionally update the squared gradient average (`exp_avg_sq`) using `torch.where(mask, exp_avg_sq*beta_decay + (1-beta_decay)*grad.pow(2), exp_avg_sq)`.
- For scalar parameters (else branch), update `exp_avg_sq` normally using `mul_` and `addcmul_`.
- Add comments explaining that this focuses updates on significant gradients to handle sparsity.
8. **Hessian Approximation**: If `prepare_hessian` is True, initialize and maintain a separate state buffer `exp_hessian`. Update it similarly to `exp_avg_sq` and use its square root (plus `eps`) as the denominator for the update step instead of `exp_avg_sq`.
9. **Weight Decay**: Apply weight decay using the `Lambda` parameter if it is non-zero.
10. **Comments**: Every line of code must have a comment explaining exactly what the tensor operation or mathematical step is doing.
# Anti-Patterns
- Do not omit the `closure` argument in the `step` method.
- Do not skip the specific sparse update logic involving `torch.where`.
- Do not forget gradient centralization for multi-dimensional parameters.
- Do not leave the code uncommented.
## Triggers
- implement fusedbun optimizer
- sm3 adalite fusion optimizer
- custom optimizer with sparse updates
- pytorch optimizer with hessian approximation and centralization
- fuse these two optimizers
- create a new optimizer from these implementations
- combine adalite and sm3 code
- generate a fused optimizer with comments
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!