class_docstr: This class specifies the interface for a model based on discrete parameters.
  
  These methods should be implemented to have access to all of the features
  of Ax.
class_docstr_tok: ["This","class","specifies","the","interface","for","a","model","based","on","discrete","parameters",".","These","methods","should","be","implemented","to","have","access","to","all","of","the","features","of","Ax","."]
docstr: Predict
  
  Args:
      X: List of the j parameterizations at which to make predictions.
  
  Returns:
      2-element tuple containing
  
      - (j x m) array of outcome predictions at X.
      - (j x m x m) array of predictive covariances at X.
        cov[j, m1, m2] is Cov[m1@j, m2@j].
docstr_tok: ["Predict","Args",":","X",":","List","of","the","j","parameterizations","at","which","to","make","predictions",".","Returns",":","2-element","tuple","containing","-","(","j","x","m",")","array","of","outcome","predictions","at","X",".","-","(","j","x","m","x","m",")","array","of","predictive","covariances","at","X.","cov","[","j",",","m1",",","m2","]","is","Cov","[","m1","@","j",",","m2","@","j","]","."]
code: def predict(
      self, X: List[TParamValueList]
  ) -> Tuple[np.ndarray, np.ndarray]:
      """Predict
  
      Args:
          X: List of the j parameterizations at which to make predictions.
  
      Returns:
          2-element tuple containing
  
          - (j x m) array of outcome predictions at X.
          - (j x m x m) array of predictive covariances at X.
            cov[j, m1, m2] is Cov[m1@j, m2@j].
      """
      raise NotImplementedError
  
file_path: Ax/ax/models/discrete_base.py
imports: from typing import Dict, List, Optional, Tuple
  import numpy
  from ax.core.types import TGenMetadata, TParamValue, TParamValueList
  from ax.models.base import Model
  from ax.models.types import TConfig
label_desc: Use image node_id 2 for calling the DiscreteModel obj's underlying member method code with example usage: obj.predict(X) without return types