class_docstr: A parameter retains both constrained and unconstrained representations. If no transform
  is provided, these two values will be the same.  It is often challenging for humans to operate with
  unconstrained parameters, although this is typically easier for the optimiser. For example, a variance cannot be negative, therefore we need a
  positive constraint and it is natural to use constrained values.  A prior can be imposed
  either on the constrained version (default) or on the unconstrained version of the
  parameter.
  
  See `this guide <https://gpflow.github.io/GPflow/develop/notebooks/getting_started/parameters_and_their_optimisation.html#The-Module-and-Parameter-classes>`_
  for an introduction to this class.
  
  :param unconstrained_shape: Declare the shape of the unconstrained / pre-transformed values.
      Useful for setting dynamic shapes.
  :param constrained_shape: Declare the shape of the constrained / transformed values. Useful
      for setting dynamic shapes.
  :param shape: Convenience shortcut for setting both `unconstrained_shape` and
      `constrained_shape` to the same value.
class_docstr_tok: ["A","parameter","retains","both","constrained","and","unconstrained","representations",".","If","no","transform","is","provided",",","these","two","values","will","be","the","same",".","It","is","often","challenging","for","humans","to","operate","with","unconstrained","parameters",",","although","this","is","typically","easier","for","the","optimiser",".","For","example",",","a","variance","can","not","be","negative",",","therefore","we","need","a","positive","constraint","and","it","is","natural","to","use","constrained","values",".","A","prior","can","be","imposed","either","on","the","constrained","version","(","default",")","or","on","the","unconstrained","version","of","the","parameter",".","See","`","this","guide","<","https",":","\/\/gpflow.github.io\/GPflow\/develop\/notebooks\/getting_started\/parameters_and_their_optimisation.html","#","The-Module-and-Parameter-classes",">","`","_","for","an","introduction","to","this","class",".",":","param","unconstrained_shape",":","Declare","the","shape","of","the","unconstrained","\/","pre-transformed","values",".","Useful","for","setting","dynamic","shapes",".",":","param","constrained_shape",":","Declare","the","shape","of","the","constrained","\/","transformed","values",".","Useful","for","setting","dynamic","shapes",".",":","param","shape",":","Convenience","shortcut","for","setting","both","`","unconstrained_shape","`","and","`","constrained_shape","`","to","the","same","value","."]
code: def prior_on(self, value: Union[str, PriorOn]) -> None:
      self._prior_on = PriorOn(value)
  
imports: from enum import Enum
  from typing import TYPE_CHECKING, Any, List, Optional, Sequence, Tuple, Union
  import numpy
  import tensorflow
  import tensorflow_probability
  from check_shapes import check_shapes
  from typing_extensions import Final
  from .config import default_float, default_summary_fmt
  from .type_flags import GENERIC_NP_ARRAYS, NP_TYPE_CHECKING
label_desc: Use image node_id 4 for calling the Parameter obj's underlying member method code with example usage: obj.prior_on(value) without return types