class_docstr: Multi-scale inducing variables
  
  Originally proposed in :cite:t:`NIPS2009_3876`.
docstr: Custom version of _square_dist that allows sc to provide per-datapoint length
  scales.
docstr_tok: ["Custom","version","of","_square_dist","that","allows","sc","to","provide","per-datapoint","length","scales","."]
code: def _cust_square_dist(
      A: TensorType, B: TensorType, sc: TensorType
  ) -> tf.Tensor:
      """
      Custom version of _square_dist that allows sc to provide per-datapoint length
      scales.
      """
      return tf.reduce_sum(
          tf.square((tf.expand_dims(A, 1) - tf.expand_dims(B, 0)) / sc),
          2,
      )
  
imports: import abc
  from typing import Optional
  import tensorflow
  import tensorflow_probability
  from check_shapes import Shape, check_shapes
  from deprecated import deprecated
  from ..base import Module, Parameter, TensorData, TensorType
  from ..utilities import positive
label_desc: Use image node_id 2 for calling the Multiscale obj's underlying member method code with example usage: obj._cust_square_dist(A, B, sc) and returns: tf