class_docstr: Discrete Cosine Transform of type-II.
  
  This uses :func:`~pyro.ops.tensor_utils.dct` and
  :func:`~pyro.ops.tensor_utils.idct` to compute
  orthonormal DCT and inverse DCT transforms. The jacobian is 1.
  
  :param int dim: Dimension along which to transform. Must be negative.
      This is an absolute dim counting from the right.
  :param float smooth: Smoothing parameter. When 0, this transforms white
      noise to white noise; when 1 this transforms Brownian noise to to white
      noise; when -1 this transforms violet noise to white noise; etc. Any
      real number is allowed. https://en.wikipedia.org/wiki/Colors_of_noise.
class_docstr_tok: ["Discrete","Cosine","Transform","of","type-II",".","This","uses",":","func",":","`","~pyro.ops.tensor_utils.dct","`","and",":","func",":","`","~pyro.ops.tensor_utils.idct","`","to","compute","orthonormal","DCT","and","inverse","DCT","transforms",".","The","jacobian","is","1.",":","param","int","dim",":","Dimension","along","which","to","transform",".","Must","be","negative",".","This","is","an","absolute","dim","counting","from","the","right",".",":","param","float","smooth",":","Smoothing","parameter",".","When","0",",","this","transforms","white","noise","to","white","noise",";","when","1","this","transforms","Brownian","noise","to","to","white","noise",";","when","-1","this","transforms","violet","noise","to","white","noise",";","etc",".","Any","real","number","is","allowed",".","https",":","\/\/en.wikipedia.org\/wiki\/Colors_of_noise","."]
code: def with_cache(self, cache_size=1):
      if self._cache_size == cache_size:
          return self
      return DiscreteCosineTransform(
          self.dim, self.smooth, cache_size=cache_size
      )
  
file_path: pyro/pyro/distributions/transforms/discrete_cosine.py
imports: import torch
  from torch.distributions.transforms import Transform
  from pyro.ops.tensor_utils import dct, idct
  from ..None import constraints
label_desc: Use image node_id 10 for calling the DiscreteCosineTransform obj's underlying member method code with example usage: obj.with_cache(cache_size) and returns: DiscreteCosineTransform, self