class_docstr: See arXiv: 1806.06923
  This module, in combination with quantile loss,
  learns how to generate the quantile of the distribution of the target.
  A quantile value, tau, is randomly generated with a Uniform([0, 1])).
  This quantile value is embedded in this module and also passed to the quantile loss:
  this should force the model to learn the appropriate quantile.
class_docstr_tok: ["See","arXiv",":","1806.06923","This","module",",","in","combination","with","quantile","loss",",","learns","how","to","generate","the","quantile","of","the","distribution","of","the","target",".","A","quantile","value",",","tau",",","is","randomly","generated","with","a","Uniform","(","[","0",",","1","]",")",")",".","This","quantile","value","is","embedded","in","this","module","and","also","passed","to","the","quantile","loss",":","this","should","force","the","model","to","learn","the","appropriate","quantile","."]
code: def forward(self, input_data, tau):
      embedded_tau = self.quantile_layer(tau)
      new_input_data = input_data * (
          torch.ones_like(embedded_tau) + embedded_tau
      )
      return self.output_layer(new_input_data).squeeze(-1)
  
file_path: gluonts/src/gluonts/nursery/robust-mts-attack/pts/modules/iqn_modules.py
imports: from math import pi
  import torch
  from torch import nn
label_desc: Use image node_id 2 for calling the ImplicitQuantileModule obj's underlying member method code with example usage: obj.forward(input_data, tau) and returns: self