Class: Gsplat::Ops::CameraBroadcast
- Inherits:
-
Autograd::Function
- Object
- Autograd::Function
- Gsplat::Ops::CameraBroadcast
- Defined in:
- lib/gsplat/ops/tensor_shape_ops.rb
Overview
Adds a leading camera dimension to a tensor.
Class Method Summary collapse
Methods inherited from Autograd::Function
Class Method Details
.backward(_context, gradient) ⇒ Object
36 37 38 |
# File 'lib/gsplat/ops/tensor_shape_ops.rb', line 36 def backward(_context, gradient) [gradient.sum(axis: 0), nil] end |
.forward(context, value, camera_count) ⇒ Object
24 25 26 27 28 29 30 31 32 33 34 |
# File 'lib/gsplat/ops/tensor_shape_ops.rb', line 24 def forward(context, value, camera_count) valid_count = camera_count.is_a?(Integer) && camera_count.positive? raise ArgumentError, "camera_count must be positive" unless valid_count context.save(value.shape) output = value.class.zeros(*([camera_count] + value.shape)) camera_count.times do |camera_index| output[*([camera_index] + Array.new(value.ndim, true))] = value end output end |