class_docstr: Objective transforming the multi-output posterior samples to samples
  of a multi-output risk measure.
  
  The risk measure is calculated over joint q-batch samples from the posterior.
  If the q-batch includes samples corresponding to multiple inputs, it is assumed
  that first `n_w` samples correspond to first input, second `n_w` samples
  correspond to second input, etc.
  
  :meta private:
docstr: Transform the posterior samples to samples of a risk measure.
  
  Args:
      n_w: The size of the `w_set` to calculate the risk measure over.
      preprocessing_function: A preprocessing function to apply to the
          samples before computing the risk measure. This can be used to
          remove non-objective outcomes or to align all outcomes for
          maximization. For constrained optimization, this should also
          apply feasibility-weighting to samples. Given a `batch x m`-dim
          tensor of samples, this should return a `batch x m'`-dim tensor.
docstr_tok: ["Transform","the","posterior","samples","to","samples","of","a","risk","measure",".","Args",":","n_w",":","The","size","of","the","`","w_set","`","to","calculate","the","risk","measure","over",".","preprocessing_function",":","A","preprocessing","function","to","apply","to","the","samples","before","computing","the","risk","measure",".","This","can","be","used","to","remove","non-objective","outcomes","or","to","align","all","outcomes","for","maximization",".","For","constrained","optimization",",","this","should","also","apply","feasibility-weighting","to","samples",".","Given","a","`","batch","x","m","`","-dim","tensor","of","samples",",","this","should","return","a","`","batch","x","m","'","`","-dim","tensor","."]
code: def __init__(
      self,
      n_w: int,
      preprocessing_function: Optional[
          Callable[[Tensor], Tensor]
      ] = None,
  ) -> None:
      r"""Transform the posterior samples to samples of a risk measure.
  
      Args:
          n_w: The size of the `w_set` to calculate the risk measure over.
          preprocessing_function: A preprocessing function to apply to the
              samples before computing the risk measure. This can be used to
              remove non-objective outcomes or to align all outcomes for
              maximization. For constrained optimization, this should also
              apply feasibility-weighting to samples. Given a `batch x m`-dim
              tensor of samples, this should return a `batch x m'`-dim tensor.
      """
      super().__init__(
          n_w=n_w, preprocessing_function=preprocessing_function
      )
  
imports: import warnings
  from abc import ABC, abstractmethod
  from math import ceil
  from typing import Callable, List, Optional, Union
  import torch
  from botorch.acquisition.multi_objective.objective import IdentityMCMultiOutputObjective, MCMultiOutputObjective
  from botorch.acquisition.risk_measures import CVaR, RiskMeasureMCObjective, VaR
  from botorch.exceptions.errors import UnsupportedError
  from botorch.exceptions.warnings import BotorchWarning
  from botorch.models.model import Model
  from botorch.utils.multi_objective.pareto import is_non_dominated
  from botorch.utils.transforms import normalize
  from torch import Tensor
label_desc: Use image node_id 1 to create a new MultiOutputRiskMeasureMCObjective object from inherited base classes: RiskMeasureMCObjective, MCMultiOutputObjective, ABC with example: obj = MultiOutputRiskMeasureMCObjective(n_w, preprocessing_function)