class_docstr: Generator for full factorial designs.
  
  Generates arms for all possible combinations of parameter values,
  each with weight 1.
  
  The value of n supplied to `gen` will be ignored, as the number
  of arms generated is determined by the list of parameter values.
  To suppress this warning, use n = -1.
class_docstr_tok: ["Generator","for","full","factorial","designs",".","Generates","arms","for","all","possible","combinations","of","parameter","values",",","each","with","weight","1",".","The","value","of","n","supplied","to","`","gen","`","will","be","ignored",",","as","the","number","of","arms","generated","is","determined","by","the","list","of","parameter","values",".","To","suppress","this","warning",",","use","n","=","-1","."]
docstr: Args:
      max_cardinality: maximum number of arms allowed if
          check_cardinality == True. Default is 100.
      check_cardinality: if True, throw if number of arms
          exceeds max_cardinality.
docstr_tok: ["Args",":","max_cardinality",":","maximum","number","of","arms","allowed","if","check_cardinality","==","True",".","Default","is","100.","check_cardinality",":","if","True",",","throw","if","number","of","arms","exceeds","max_cardinality","."]
code: def __init__(
      self, max_cardinality: int = 100, check_cardinality: bool = True
  ) -> None:
      """
      Args:
          max_cardinality: maximum number of arms allowed if
              check_cardinality == True. Default is 100.
          check_cardinality: if True, throw if number of arms
              exceeds max_cardinality.
      """
      super().__init__()
      self.max_cardinality = max_cardinality
      self.check_cardinality = check_cardinality
  
file_path: Ax/ax/models/discrete/full_factorial.py
imports: import itertools
  import logging
  from functools import reduce
  from operator import mul
  from typing import Dict, List, Optional, Tuple
  import numpy
  from ax.core.types import TGenMetadata, TParamValue, TParamValueList
  from ax.models.discrete_base import DiscreteModel
  from ax.models.types import TConfig
  from ax.utils.common.docutils import copy_doc
  from ax.utils.common.logger import get_logger
label_desc: Use image node_id 1 to create a new FullFactorialGenerator object from inherited base classes: DiscreteModel with example: obj = FullFactorialGenerator(max_cardinality, check_cardinality)