 ///     10.0]: it would use a scale_factor of 127 / 10.0 = 12.7 In this case, it
 ///     would update input_min to be 128.0 / 12.7 = -10.07874
 /// *   if the output is unsigned, input_min is forced to be 0, and only the
-///     specifide input_max is used.
-///
-/// After determining the scale_factor and updating the input tange, it applies the
+///     specified input_max is used.
+///
+/// After determining the scale_factor and updating the input range, it applies the
 /// following to each value in the 'input' tensor.
 ///
 /// output = round(clamp(value, input_min, input_max) * scale_factor) / scale_factor.

///
/// That is for rows we have grad for, we update var and accum as follows:
///
/// accum = accum * momentum + grad
/// var -= lr * accum
///
/// - Parameters:
///   - var: Should be from a Variable().

///
/// if < 0, `scale * features` otherwise.
///
/// To be used together with
/// `initializer = tf.variance_scaling_initializer(factor=1.0, mode='FAN_IN')`.
/// For correct dropout, use `tf.contrib.nn.alpha_dropout`.
///
/// See [Self-Normalizing Neural Networks](https://arxiv.org/abs/1706.02515)
@inlinable @inline(__always)
public static func selu<T: BinaryFloatingPoint>(
