class_docstr: Generalized Matern Kernel.
  
  This kernel parameterizes the Matern family of kernels.
  
  The kernel has the following form:
  
  ```none
    k(x, y) = amplitude ** 2 * 2 ** (1 - v) / Gamma(v) * s ** v * K(v, s)
  ```
  where
    * `s` is `sqrt(2 * v) * d / l`.
    * `v` is the degrees of freedom parameter `df`.
    * `d` is the Euclidean distance `||x - y||**2`.
    * `l` is the `length_scale`.
    * `K(v, s)` is the Modified Bessel function of the second kind.
  
  where the double-bars represent vector length (i.e. Euclidean, or L2 Norm).
  This kernel, acts over the space `S = R^(D1 x D2 .. x Dd)`.
  
  Warning: Gradients are not available with respect to the `df` parameter.
  Warning: It is recommended that for `df = 0.5, 1.5, 2.5` to use the
  specialized kernels `MaternOneHalf`, `MaternThreeHalves` and
  `MaternFiveHalves` instead.
class_docstr_tok: ["Generalized","Matern","Kernel",".","This","kernel","parameterizes","the","Matern","family","of","kernels",".","The","kernel","has","the","following","form",":","``","`","none","k","(","x",",","y",")","=","amplitude","*","*","2","*","2","*","*","(","1","-","v",")","\/","Gamma","(","v",")","*","s","*","*","v","*","K","(","v",",","s",")","``","`","where","*","`","s","`","is","`","sqrt","(","2","*","v",")","*","d","\/","l","`",".","*","`","v","`","is","the","degrees","of","freedom","parameter","`","df","`",".","*","`","d","`","is","the","Euclidean","distance","`","||x","-","y||","*","*","2","`",".","*","`","l","`","is","the","`","length_scale","`",".","*","`","K","(","v",",","s",")","`","is","the","Modified","Bessel","function","of","the","second","kind",".","where","the","double-bars","represent","vector","length","(","i.e",".","Euclidean",",","or","L2","Norm",")",".","This","kernel",",","acts","over","the","space","`","S","=","R^","(","D1","x","D2","..","x","Dd",")","`",".","Warning",":","Gradients","are","not","available","with","respect","to","the","`","df","`","parameter",".","Warning",":","It","is","recommended","that","for","`","df","=","0.5",",","1.5",",","2.5","`","to","use","the","specialized","kernels","`","MaternOneHalf","`",",","`","MaternThreeHalves","`","and","`","MaternFiveHalves","`","instead","."]
docstr: Degree of Freedom parameter.
code: def df(self):
      """Degree of Freedom parameter."""
      return self._df
  
imports: import numpy
  import tensorflow.compat.v2
  from tensorflow_probability.python.internal import assert_util
  from tensorflow_probability.python.internal import dtype_util
  from tensorflow_probability.python.internal import parameter_properties
  from tensorflow_probability.python.internal import tensor_util
  from tensorflow_probability.python.math import bessel
  from tensorflow_probability.python.math.psd_kernels import positive_semidefinite_kernel
  from tensorflow_probability.python.math.psd_kernels.internal import util
label_desc: Use image node_id 2 for calling the GeneralizedMatern obj's underlying member method code with example usage: obj.df() and returns: self