class_docstr: Probabilistic Collaborative Representation Learning.
  
  Parameters
  ----------
  k: int, optional, default: 100
      The dimension of the latent factors.
      
  z_dims: Numpy 1d array, optional, default: [300]
      The dimensions of the hidden intermdiate layers 'z' in the order         [dim(z_L), ...,dim(z_1)], please refer to Figure 1 in the orginal paper for more details.
  
  max_iter: int, optional, default: 300
      Maximum number of iterations (number of epochs) for variational PCRL.
      
  batch_size: int, optional, default: 300
      The batch size for SGD.
      
  learning_rate: float, optional, default: 0.001
      The learning rate for SGD.
  
  aux_info: see "cornac/examples/pcrl_example.py" in the GitHub repo for an example of how to use         cornac's graph modality provide item auxiliary data (e.g., context, text, etc.) for PCRL.
  
  name: string, optional, default: 'PCRL'
      The name of the recommender model.
  
  trainable: boolean, optional, default: True
      When False, the model is not trained and Cornac assumes that the model already         pre-trained (Theta, Beta and Xi are not None). 
      
  w_determinist: boolean, optional, default: True
      When True, determinist wheights "W" are used for the generator network,         otherwise "W" is stochastic as in the original paper.
  
  init_params: dictionary, optional, default: None
      List of initial parameters, e.g., init_params = {'G_s':G_s, 'G_r':G_r, 'L_s':L_s, 'L_r':L_r}.
      
      Theta: ndarray, shape (n_users, k)
          The expected user latent factors.
  
      Beta: ndarray, shape (n_items, k)
          The expected item latent factors.
  
      G_s: ndarray, shape (n_users, k)
          Represent the "shape" parameters of Gamma distribution over Theta.
          
      G_r: ndarray, shape (n_users, k)
          Represent the "rate" parameters of Gamma distribution over Theta. 
      
      L_s: ndarray, shape (n_items, k)
          Represent the "shape" parameters of Gamma distribution over Beta.
          
      L_r: ndarray, shape (n_items, k)
          Represent the "rate" parameters of Gamma distribution over Beta. 
      
  References
  ----------
  * Salah, Aghiles, and Hady W. Lauw. Probabilistic Collaborative Representation Learning for Personalized Item Recommendation.     In UAI 2018.
code: def __init__(
      self,
      k=100,
      z_dims=[300],
      max_iter=300,
      batch_size=300,
      learning_rate=0.001,
      name="PCRL",
      trainable=True,
      verbose=False,
      w_determinist=True,
      init_params=None,
  ):
      Recommender.__init__(
          self, name=name, trainable=trainable, verbose=verbose
      )
  
      self.k = k
      self.z_dims = z_dims  # the dimension of the second hidden layer (we consider a 2-layers PCRL)
      self.max_iter = max_iter
      self.batch_size = batch_size
      self.learning_rate = learning_rate
      self.w_determinist = w_determinist
  
      # Init params if provided
      self.init_params = {} if init_params is None else init_params
      self.Theta = self.init_params.get("Theta", None)
      self.Beta = self.init_params.get("Beta", None)
      self.Gs = self.init_params.get("G_s", None)
      self.Gr = self.init_params.get("G_r", None)
      self.Ls = self.init_params.get("L_s", None)
      self.Lr = self.init_params.get("L_r", None)
  
file_path: cornac/cornac/models/pcrl/recom_pcrl.py
imports: import numpy
  from ..recommender import Recommender
  from ..recommender import ANNMixin, MEASURE_DOT
label_desc: Use image node_id 1 to create a new PCRL object from inherited base classes: Recommender, ANNMixin with example: obj = PCRL(k, z_dims, max_iter, batch_size, learning_rate, name, trainable, verbose, w_determinist, init_params)