Method: TensorStream::TensorMixins#reduce

Defined in:
lib/tensor_stream/helpers/tensor_mixins.rb

#reduce(op_type = :+, axis: nil, keepdims: false, name: nil) ⇒ Object

Apply a reduction to tensor



115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
# File 'lib/tensor_stream/helpers/tensor_mixins.rb', line 115

def reduce(op_type = :+, axis: nil, keepdims: false, name: nil)
  reduce_op = case op_type.to_sym
              when :+
                :sum
              when :*
                :prod
              when :mean
                :mean
              else
                raise "unsupported reduce op type #{op_type} valid values are :+, :*, :prod, :mean"
  end
  raise "blocks are not supported for tensors" if block_given?

  TensorStream.reduce(reduce_op, self, axis, keepdims: keepdims, name: name)
end