EnzymeAD/Reactant.jl

Missing neural network operations

Open

#250 opened on Nov 9, 2024

View on GitHub
 (0 comments) (0 reactions) (0 assignees)Julia (64 forks)github user discovery
good first issue

Repository metrics

Stars
 (336 stars)
PR merge metrics
 (PR metrics pending)

Description

NNlib

  • activations
    • tanh_fast
    • sigmoid
    • sigmoid_fast
  • softmax!
  • logsoftmax!
  • conv / conv! (#258)
  • maxpool / maxpool! (#258)
  • meanpool / meanpool! (#258)
  • batched_mul / batched_mul! (#258)
  • padding
    • pad_constant
    • pad_circular
    • pad_repeat
    • pad_zeros
    • pad_reflect
    • pad_symmetric
  • ∇conv_data / ∇conv_data!
  • ∇conv_filter / ∇conv_filter!
  • gather / gather!
  • scatter / scatter! https://github.com/EnzymeAD/Reactant.jl/pull/1395
  • dot_product_attention
  • pixel_shuffle
  • batchnorm (has a special stablehlo impl) - this needs to wait for a corresponding adjoint on EnzymeJAX end
  • grid_sample / grid_sample!
  • upsampling
    • nearest
    • linear
    • bilinear
    • trilinear
  • fold / fold!
  • unfold / unfold!

Some of these might not even be needed, but we should test the generated IR. Strikethrough denotes we don't need specialized handling for these operations

Feel free to add missing operations to the list

Contributor guide