Skip to content

Conversation

@ooples
Copy link
Owner

@ooples ooples commented Nov 23, 2025

Story 4: IR Operations - Softmax Family & Special

Added 16 IR operation classes for vector-based and special activations.

Activations Added:

  • Softmax variants: Softmin, LogSoftmax, LogSoftmin, Sparsemax, SphericalSoftmax, GumbelSoftmax, TaylorSoftmax, HierarchicalSoftmax
  • Special: Maxout, Sign, Gaussian, ISRU, LiSHT, SQRBF, Squash, BinarySpikingActivation

Features:

  • Numerically stable implementations for Log* variants (using log-sum-exp trick)
  • Axis parameter support for vector operations (Softmax family, Squash)
  • Parameterized operations (GumbelSoftmax temperature, ISRU alpha, SQRBF beta, etc.)
  • Clear TODOs for complex algorithms (Sparsemax, HierarchicalSoftmax, TaylorSoftmax)
  • Comprehensive documentation with beginner-friendly examples

Technical Details:

  • All operations inherit from IROp base class
  • Proper validation in each Validate() method
  • Custom ToString() implementations for ops with parameters
  • Follows existing IR operation patterns

Build Status:

  • Build succeeded with no errors or warnings
  • All 21 activation operations now available (5 existing + 16 new)

Generated with Claude Code

…ns (group 3)

Added IR operation classes for 16 vector-based and special activations:
- Softmin, LogSoftmax, LogSoftmin (numerically stable)
- Sparsemax, SphericalSoftmax, GumbelSoftmax, TaylorSoftmax, HierarchicalSoftmax
- Maxout, Sign, Gaussian, ISRU, LiSHT, SQRBF, Squash, BinarySpikingActivation

Completes IR operation coverage for all 37 activation functions.

Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Nov 23, 2025

Warning

Rate limit exceeded

@ooples has exceeded the limit for the number of commits or files that can be reviewed per hour. Please wait 5 minutes and 3 seconds before requesting another review.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

📥 Commits

Reviewing files that changed from the base of the PR and between fdc5dd7 and 57ce547.

📒 Files selected for processing (5)
  • src/JitCompiler/IR/IRGraph.cs (1 hunks)
  • src/JitCompiler/IR/IROp.cs (1 hunks)
  • src/JitCompiler/IR/IRType.cs (1 hunks)
  • src/JitCompiler/IR/Operations/ActivationOps.cs (1 hunks)
  • src/JitCompiler/IR/TensorShape.cs (1 hunks)
✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch feat/activation-ir-ops-group3

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@ooples ooples closed this Dec 1, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants