class_docstr: Class implementing Prophet operator in PyTorch.
code: def forward(self, x):
      x = torch.sort(x)[0]
      t = (x - self.start) / self.t_scale
  
      # Linear.
      # Intercept changes
      gammas = -self.changepoints_t * self.deltas
      # Get cumulative slope and intercept at each t
      k_t = self.k * torch.ones_like(t)
      m_t = self.m * torch.ones_like(t)
      for s, t_s in enumerate(self.changepoints_t):
          indx = t >= t_s
          k_t[indx] += self.deltas[s]
          m_t[indx] += gammas[s]
          trend = k_t * t + m_t
      trend = trend * self.y_scale + self.floor
      return trend
  
file_path: hummingbird/hummingbird/ml/operator_converters/prophet.py
imports: import numpy
  import torch
  from datetime import datetime
  from onnxconverter_common.registration import register_converter
  from ._physical_operator import PhysicalOperator
  from .None import constants
label_desc: Use image node_id 2 for calling the Prophet obj's underlying member method code with example usage: obj.forward(x) and returns: trend