class_docstr: A multi-output Model represented by a list of independent models.
  
  All BoTorch models are acceptable as inputs. The cost of this flexibility is
  that `ModelList` does not support all methods that may be implemented by its
  component models. One use case for `ModelList` is combining a regression
  model and a deterministic model in one multi-output container model, e.g.
  for cost-aware or multi-objective optimization where one of the outcomes is
  a deterministic function of the inputs.
class_docstr_tok: ["A","multi-output","Model","represented","by","a","list","of","independent","models",".","All","BoTorch","models","are","acceptable","as","inputs",".","The","cost","of","this","flexibility","is","that","`","ModelList","`","does","not","support","all","methods","that","may","be","implemented","by","its","component","models",".","One","use","case","for","`","ModelList","`","is","combining","a","regression","model","and","a","deterministic","model","in","one","multi-output","container","model",",","e.g",".","for","cost-aware","or","multi-objective","optimization","where","one","of","the","outcomes","is","a","deterministic","function","of","the","inputs","."]
docstr: The number of outputs of the model.
  
  Equal to the sum of the number of outputs of the individual models
  in the ModelList.
code: def num_outputs(self) -> int:
      r"""The number of outputs of the model.
  
      Equal to the sum of the number of outputs of the individual models
      in the ModelList.
      """
      return sum(model.num_outputs for model in self.models)
  
imports: from __future__ import annotations
  import warnings
  from abc import ABC, abstractmethod
  from collections import defaultdict
  from copy import deepcopy
  from typing import Any, Callable, Dict, List, Mapping, Optional, Set, TYPE_CHECKING, TypeVar, Union
  import numpy
  import torch
  from botorch import settings
  from botorch.exceptions.errors import BotorchTensorDimensionError, DeprecationError, InputDataError
  from botorch.logging import shape_to_str
  from botorch.models.utils.assorted import fantasize
  from botorch.posteriors import Posterior, PosteriorList
  from botorch.sampling.base import MCSampler
  from botorch.sampling.list_sampler import ListSampler
  from botorch.utils.datasets import SupervisedDataset
  from botorch.utils.transforms import is_fully_bayesian
  from gpytorch.likelihoods.gaussian_likelihood import FixedNoiseGaussianLikelihood
  from torch import Tensor
  from torch.nn import Module, ModuleDict, ModuleList
label_desc: Use image node_id 5 for calling the ModelList obj's underlying member method code with example usage: obj.num_outputs() and returns: sum