module TensorStream::Maths::MathFunctions
Public Instance Methods
l2_normalize(x, axis: nil, epsilon: 1e-12, name: nil)
click to toggle source
Normalizes along dimension axis using an L2 norm.
# File lib/tensor_stream/math/math_ops.rb, line 10 def l2_normalize(x, axis: nil, epsilon: 1e-12, name: nil) TensorStream.name_scope(name, "l2_normalize", values: [x]) do |name| x = TensorStream.convert_to_tensor(x, name: "x") square_sum = TensorStream.reduce_sum(TensorStream.square(x), axis, keepdims: true) x_inv_norm = TensorStream.rsqrt(TensorStream.maximum(square_sum, epsilon)) TensorStream.multiply(x, x_inv_norm, name: name) end end