class_docstr: RecVAE, a recommender system based on a Variational Autoencoder.
  
  Parameters
  ----------
  name : str, optional, default: 'RecVae'
      Name of the recommender model.
  
  hidden_dim : int, optional, default: 600
      Dimension of the hidden layer in the VAE architecture.
  
  latent_dim : int, optional, default: 200
      Dimension of the latent layer in the VAE architecture.
  
  batch_size : int, optional, default: 500
      Size of the batches used during training.
  
  beta : float, optional
      Weighting factor for the KL divergence term in the VAE loss function.
  
  gamma : float, optional, default: 0.005
      Weighting factor for the regularization term in the loss function.
  
  lr : float, optional, default: 5e-4
      Learning rate for the optimizer.
  
  n_epochs : int, optional, default: 50
      Number of epochs to train the model.
  
  n_enc_epochs : int, optional, default: 3
      Number of epochs to train the encoder part of VAE.
  
  n_dec_epochs : int, optional, default: 1
      Number of epochs to train the decoder part of VAE.
  
  not_alternating : boolean, optional, default: False
      If True, the model training will not alternate between encoder and decoder.
  
  trainable : boolean, optional, default: True
      When False, the model will not be re-trained, and input of pre-trained parameters are required.
  
  verbose : boolean, optional, default: False
      When True, running logs are displayed.
  
  seed : int, optional
      Random seed for weight initialization and training reproducibility.
  
  use_gpu : boolean, optional, default: True
      When True, training utilizes GPU if available.
  
  References
  ----------
  * RecVAE GitHub Repository: https://github.com/ilya-shenbin/RecVAE
  * Paper Link: https://arxiv.org/abs/1912.11160
code: def __init__(
      self,
      name="RecVae",
      hidden_dim=600,
      latent_dim=200,
      batch_size=500,
      beta=None,
      gamma=0.005,
      lr=5e-4,
      n_epochs=50,
      n_enc_epochs=3,
      n_dec_epochs=1,
      not_alternating=False,
      trainable=True,
      verbose=False,
      seed=None,
      use_gpu=True,
  ):
      Recommender.__init__(
          self, name=name, trainable=trainable, verbose=verbose
      )
  
      self.hidden_dim = hidden_dim
      self.latent_dim = latent_dim
      self.batch_size = batch_size
      self.beta = beta
      self.gamma = gamma
      self.lr = lr
      self.n_epochs = n_epochs
      self.n_enc_epochs = n_enc_epochs
      self.n_dec_epochs = n_dec_epochs
      self.not_alternating = not_alternating
      self.seed = seed
  
      import torch
  
      if use_gpu and torch.cuda.is_available():
          self.device = torch.device("cuda:0")
      else:
          self.device = torch.device("cpu")
  
file_path: cornac/cornac/models/recvae/recom_recvae.py
imports: import numpy
  from tqdm.auto import trange
  from ..recommender import Recommender
  from ...exception import ScoreException
label_desc: Use image node_id 1 to create a new RecVAE object from inherited base classes: Recommender with example: obj = RecVAE(name, hidden_dim, latent_dim, batch_size, beta, gamma, lr, n_epochs, n_enc_epochs, n_dec_epochs, not_alternating, trainable, verbose, seed, use_gpu)