class_docstr: Conditional variational autoencoder.
  
  - paper: `Kihyuk Sohn and Honglak Lee and Xinchen Yan.
    Learning Structured Output Representation using Deep Conditional Generative Models. 2015.
    <https://papers.nips.cc/paper/2015/hash/8d55a249e6baa5c06772297520da2051-Abstract.html>`_
  
  :meta private:
class_docstr_tok: ["Conditional","variational","autoencoder",".","-","paper",":","`","Kihyuk","Sohn","and","Honglak","Lee","and","Xinchen","Yan",".","Learning","Structured","Output","Representation","using","Deep","Conditional","Generative","Models",".","2015",".","<","https",":","\/\/papers.nips.cc\/paper\/2015\/hash\/8d55a249e6baa5c06772297520da2051-Abstract.html",">","`","_",":","meta","private",":"]
code: def forward(self, x, c):
      means, log_var = self.encoder(x, c)
      z = self.reparameterize(means, log_var)
      recon_x = self.decoder(z, c)
      return recon_x, means, log_var, z
  
imports: from typing import Sequence
  import numpy
  import pandas
  from merlion.models.base import NormalizingConfig
  from merlion.models.anomaly.base import DetectorBase, DetectorConfig
  from merlion.post_process.threshold import AggregateAlarms
  from merlion.utils.misc import ProgressBar, initializer
  from merlion.models.utils.rolling_window_dataset import RollingWindowDataset
label_desc: Use image node_id 2 for calling the CVAE obj's underlying member method code with example usage: obj.forward(x, c) and returns: recon_x,  means,  log_var,  z