Class: Gsplat::Optim::SelectiveAdam

Inherits:
Adam
  • Object
show all
Defined in:
lib/gsplat/optim/selective_adam.rb

Overview

Adam variant that updates only visible first-axis parameter rows.

Instance Attribute Summary

Attributes inherited from Adam

#beta1, #beta2, #groups

Instance Method Summary collapse

Methods inherited from Adam

#append!, #initialize, #learning_rate, #learning_rate=, #load_state!, #select!, #set_learning_rate, #state, #zero_grad!, #zero_state_at!

Constructor Details

This class inherits a constructor from Gsplat::Optim::Adam

Instance Method Details

#step(visibility) ⇒ SelectiveAdam

Updates visible rows while leaving hidden parameters and moments intact.

Parameters:

  • visibility (Numo::Bit, Numo::NArray, Array<Boolean>)

    mask shaped [N]

Returns:



11
12
13
14
15
16
17
18
19
20
# File 'lib/gsplat/optim/selective_adam.rb', line 11

def step(visibility)
  mask = validate_visibility(visibility)
  groups.each_value do |group|
    gradient = group.variable.grad
    next unless gradient

    update_group(group, gradient, mask)
  end
  self
end