class_docstr: A wrapper around AcquisitionFunctions to fix a subset of features.
  
  Example:
      >>> model = SingleTaskGP(train_X, train_Y)  # d = 5
      >>> qEI = qExpectedImprovement(model, best_f=0.0)
      >>> columns = [2, 4]
      >>> values = X[..., columns]
      >>> qEI_FF = FixedFeatureAcquisitionFunction(qEI, 5, columns, values)
      >>> qei = qEI_FF(test_X)  # d' = 3
docstr: Evaluate base acquisition function under the fixed features.
  
  Args:
      X: Input tensor of feature dimension `d' < d` such that `d' + d_f = d`.
  
  Returns:
      Base acquisition function evaluated on tensor `X_full` constructed
      by adding `values` in the appropriate places (see
      `_construct_X_full`).
docstr_tok: ["Evaluate","base","acquisition","function","under","the","fixed","features",".","Args",":","X",":","Input","tensor","of","feature","dimension","`","d","'","<","d","`","such","that","`","d","'","+","d_f","=","d","`",".","Returns",":","Base","acquisition","function","evaluated","on","tensor","`","X_full","`","constructed","by","adding","`","values","`","in","the","appropriate","places","(","see","`","_construct_X_full","`",")","."]
code: def forward(self, X: Tensor):
      r"""Evaluate base acquisition function under the fixed features.
  
      Args:
          X: Input tensor of feature dimension `d' < d` such that `d' + d_f = d`.
  
      Returns:
          Base acquisition function evaluated on tensor `X_full` constructed
          by adding `values` in the appropriate places (see
          `_construct_X_full`).
      """
      X_full = self._construct_X_full(X)
      return self.acq_func(X_full)
  
file_path: botorch/botorch/acquisition/fixed_feature.py
imports: from __future__ import annotations
  from numbers import Number
  from typing import List, Optional, Sequence, Union
  import torch
  from botorch.acquisition.acquisition import AcquisitionFunction
  from torch import Tensor
  from torch.nn import Module
label_desc: Use image node_id 2 for calling the FixedFeatureAcquisitionFunction obj's underlying member method code with example usage: obj.forward(X) and returns: self