code: def convert_sklearn_pls_regression(operator, device, extra_config):
      """
      Converter for `sklearn.cross_decomposition.PLSRegression`
  
      Args:
          operator: An operator wrapping a `sklearn.cross_decomposition.PLSRegression` transformer
          device: String defining the type of device the converted operator should be run on
          extra_config: Extra configuration used to select the best conversion strategy
  
      Returns:
          A PyTorch model
      """
      assert operator is not None, "Cannot convert None operator"
  
      # Check if operator.raw_operator._coef_ does not exist, which means to transpose coefficients (#26016)
      if hasattr(operator.raw_operator, "_coef_"):  # SKL<1.3
          coefficients = operator.raw_operator.coef_
      else:  # SKL>=1.3
          coefficients = operator.raw_operator.coef_.T
      x_mean = operator.raw_operator._x_mean
      x_std = operator.raw_operator._x_std
      y_mean = operator.raw_operator._y_mean
      return CrossDecomposition(
          operator,
          x_mean,
          x_std,
          y_mean,
          coefficients.astype("float32"),
          device,
      )
  
file_path: hummingbird/hummingbird/ml/operator_converters/sklearn/decomposition.py
imports: import numpy
  from onnxconverter_common.registration import register_converter
  from .._decomposition_implementations import KernelPCA, Decomposition, CrossDecomposition
label_desc: Use image node_id 5 for calling a global function with example usage: convert_sklearn_pls_regression(operator, device, extra_config) and returns: CrossDecomposition