aepsych.config¶
aepsych.config module¶
- class aepsych.config.Config(config_dict=None, config_fnames=None, config_str=None)[source]¶
Bases:
ConfigParser
Initialize the AEPsych config object. This can be used to instantiate most objects in AEPsych by calling object.from_config(config).
- Parameters:
config_dict (Mapping[str, str], optional) – Mapping to build configuration from. Keys are section names, values are dictionaries with keys and values that should be present in the section. Defaults to None.
config_fnames (Sequence[str], optional) – List of INI filenames to load configuration from. Defaults to None.
config_str (str, optional) – String formatted as an INI file to load configuration from. Defaults to None.
- registered_names: ClassVar[Dict[str, object]] = {'AEPsychObjective': <class 'aepsych.acquisition.objective.objective.AEPsychObjective'>, 'AcqfThompsonSamplerGenerator': <class 'aepsych.generators.acqf_thompson_sampler_generator.AcqfThompsonSamplerGenerator'>, 'AdditiveKernel': <class 'gpytorch.kernels.kernel.AdditiveKernel'>, 'AdditiveStructureKernel': <class 'gpytorch.kernels.additive_structure_kernel.AdditiveStructureKernel'>, 'ApproxGlobalSUR': <class 'aepsych.acquisition.lookahead.ApproxGlobalSUR'>, 'ArcKernel': <class 'gpytorch.kernels.arc_kernel.ArcKernel'>, 'BernoulliLikelihood': <class 'gpytorch.likelihoods.bernoulli_likelihood.BernoulliLikelihood'>, 'BernoulliMCMutualInformation': <class 'aepsych.acquisition.mutual_information.BernoulliMCMutualInformation'>, 'BernoulliObjectiveLikelihood': <class 'aepsych.likelihoods.bernoulli.BernoulliObjectiveLikelihood'>, 'BetaLikelihood': <class 'gpytorch.likelihoods.beta_likelihood.BetaLikelihood'>, 'ConstantKernel': <class 'gpytorch.kernels.constant_kernel.ConstantKernel'>, 'CosineKernel': <class 'gpytorch.kernels.cosine_kernel.CosineKernel'>, 'CylindricalKernel': <class 'gpytorch.kernels.cylindrical_kernel.CylindricalKernel'>, 'DirichletClassificationLikelihood': <class 'gpytorch.likelihoods.gaussian_likelihood.DirichletClassificationLikelihood'>, 'DistributionalInputKernel': <class 'gpytorch.kernels.distributional_input_kernel.DistributionalInputKernel'>, 'EAVC': <class 'aepsych.acquisition.lookahead.EAVC'>, 'EpsilonGreedyGenerator': <class 'aepsych.generators.epsilon_greedy_generator.EpsilonGreedyGenerator'>, 'FixedAllocator': <class 'aepsych.models.inducing_points.fixed.FixedAllocator'>, 'FixedNoiseGaussianLikelihood': <class 'gpytorch.likelihoods.gaussian_likelihood.FixedNoiseGaussianLikelihood'>, 'FloorGumbelObjective': <class 'aepsych.acquisition.objective.objective.FloorGumbelObjective'>, 'FloorLogitObjective': <class 'aepsych.acquisition.objective.objective.FloorLogitObjective'>, 'FloorProbitObjective': <class 'aepsych.acquisition.objective.objective.FloorProbitObjective'>, 'GPBetaRegressionModel': <class 'aepsych.models.gp_classification.GPBetaRegressionModel'>, 'GPClassificationModel': <class 'aepsych.models.gp_classification.GPClassificationModel'>, 'GPRegressionModel': <class 'aepsych.models.gp_regression.GPRegressionModel'>, 'GaussianLikelihood': <class 'gpytorch.likelihoods.gaussian_likelihood.GaussianLikelihood'>, 'GaussianLikelihoodWithMissingObs': <class 'gpytorch.likelihoods.gaussian_likelihood.GaussianLikelihoodWithMissingObs'>, 'GaussianSymmetrizedKLKernel': <class 'gpytorch.kernels.gaussian_symmetrized_kl_kernel.GaussianSymmetrizedKLKernel'>, 'GlobalMI': <class 'aepsych.acquisition.lookahead.GlobalMI'>, 'GlobalSUR': <class 'aepsych.acquisition.lookahead.GlobalSUR'>, 'GreedyVarianceReduction': <class 'aepsych.models.inducing_points.greedy_variance_reduction.GreedyVarianceReduction'>, 'GridInterpolationKernel': <class 'gpytorch.kernels.grid_interpolation_kernel.GridInterpolationKernel'>, 'GridKernel': <class 'gpytorch.kernels.grid_kernel.GridKernel'>, 'HadamardSemiPModel': <class 'aepsych.models.semi_p.HadamardSemiPModel'>, 'HammingIMQKernel': <class 'gpytorch.kernels.hamming_kernel.HammingIMQKernel'>, 'HeteroskedasticNoise': <class 'gpytorch.likelihoods.noise_models.HeteroskedasticNoise'>, 'IndependentMultitaskGPRModel': <class 'aepsych.models.multitask_regression.IndependentMultitaskGPRModel'>, 'IndexKernel': <class 'gpytorch.kernels.index_kernel.IndexKernel'>, 'InducingPointKernel': <class 'gpytorch.kernels.inducing_point_kernel.InducingPointKernel'>, 'IntensityAwareSemiPGenerator': <class 'aepsych.generators.semi_p.IntensityAwareSemiPGenerator'>, 'KMeansAllocator': <class 'aepsych.models.inducing_points.kmeans.KMeansAllocator'>, 'Kernel': <class 'gpytorch.kernels.kernel.Kernel'>, 'LCMKernel': <class 'gpytorch.kernels.lcm_kernel.LCMKernel'>, 'LaplaceLikelihood': <class 'gpytorch.likelihoods.laplace_likelihood.LaplaceLikelihood'>, 'Likelihood': <class 'gpytorch.likelihoods.likelihood.Likelihood'>, 'LikelihoodList': <class 'gpytorch.likelihoods.likelihood_list.LikelihoodList'>, 'LinearBernoulliLikelihood': <class 'aepsych.likelihoods.semi_p.LinearBernoulliLikelihood'>, 'LinearKernel': <class 'gpytorch.kernels.linear_kernel.LinearKernel'>, 'LocalMI': <class 'aepsych.acquisition.lookahead.LocalMI'>, 'LocalSUR': <class 'aepsych.acquisition.lookahead.LocalSUR'>, 'MCLevelSetEstimation': <class 'aepsych.acquisition.lse.MCLevelSetEstimation'>, 'MCPosteriorVariance': <class 'aepsych.acquisition.mc_posterior_variance.MCPosteriorVariance'>, 'ManualGenerator': <class 'aepsych.generators.manual_generator.ManualGenerator'>, 'Matern52KernelGrad': <class 'gpytorch.kernels.matern52_kernel_grad.Matern52KernelGrad'>, 'MaternKernel': <class 'gpytorch.kernels.matern_kernel.MaternKernel'>, 'MonotonicBernoulliMCMutualInformation': <class 'aepsych.acquisition.mutual_information.MonotonicBernoulliMCMutualInformation'>, 'MonotonicMCLSE': <class 'aepsych.acquisition.monotonic_rejection.MonotonicMCLSE'>, 'MonotonicMCPosteriorVariance': <class 'aepsych.acquisition.mc_posterior_variance.MonotonicMCPosteriorVariance'>, 'MonotonicProjectionGP': <class 'aepsych.models.monotonic_projection_gp.MonotonicProjectionGP'>, 'MonotonicRejectionGP': <class 'aepsych.models.monotonic_rejection_gp.MonotonicRejectionGP'>, 'MonotonicRejectionGenerator': <class 'aepsych.generators.monotonic_rejection_generator.MonotonicRejectionGenerator'>, 'MonotonicThompsonSamplerGenerator': <class 'aepsych.generators.monotonic_thompson_sampler_generator.MonotonicThompsonSamplerGenerator'>, 'MultiDeviceKernel': <class 'gpytorch.kernels.multi_device_kernel.MultiDeviceKernel'>, 'MultitaskGPRModel': <class 'aepsych.models.multitask_regression.MultitaskGPRModel'>, 'MultitaskGaussianLikelihood': <class 'gpytorch.likelihoods.multitask_gaussian_likelihood.MultitaskGaussianLikelihood'>, 'MultitaskKernel': <class 'gpytorch.kernels.multitask_kernel.MultitaskKernel'>, 'NewtonGirardAdditiveKernel': <class 'gpytorch.kernels.newton_girard_additive_kernel.NewtonGirardAdditiveKernel'>, 'None': None, 'OptimizeAcqfGenerator': <class 'aepsych.generators.optimize_acqf_generator.OptimizeAcqfGenerator'>, 'OrdinalGPModel': <class 'aepsych.models.ordinal_gp.OrdinalGPModel'>, 'OrdinalLikelihood': <class 'aepsych.likelihoods.ordinal.OrdinalLikelihood'>, 'PairwiseOptimizeAcqfGenerator': <class 'aepsych.generators.pairwise_optimize_acqf_generator.PairwiseOptimizeAcqfGenerator'>, 'PairwiseProbitModel': <class 'aepsych.models.pairwise_probit.PairwiseProbitModel'>, 'PairwiseSobolGenerator': <class 'aepsych.generators.pairwise_sobol_generator.PairwiseSobolGenerator'>, 'PeriodicKernel': <class 'gpytorch.kernels.periodic_kernel.PeriodicKernel'>, 'PiecewisePolynomialKernel': <class 'gpytorch.kernels.piecewise_polynomial_kernel.PiecewisePolynomialKernel'>, 'PolynomialKernel': <class 'gpytorch.kernels.polynomial_kernel.PolynomialKernel'>, 'PolynomialKernelGrad': <class 'gpytorch.kernels.polynomial_kernel_grad.PolynomialKernelGrad'>, 'ProbitObjective': <class 'aepsych.acquisition.objective.objective.ProbitObjective'>, 'ProductKernel': <class 'gpytorch.kernels.kernel.ProductKernel'>, 'ProductStructureKernel': <class 'gpytorch.kernels.product_structure_kernel.ProductStructureKernel'>, 'RBFKernel': <class 'gpytorch.kernels.rbf_kernel.RBFKernel'>, 'RBFKernelGrad': <class 'gpytorch.kernels.rbf_kernel_grad.RBFKernelGrad'>, 'RBFKernelGradGrad': <class 'gpytorch.kernels.rbf_kernel_gradgrad.RBFKernelGradGrad'>, 'RFFKernel': <class 'gpytorch.kernels.rff_kernel.RFFKernel'>, 'RQKernel': <class 'gpytorch.kernels.rq_kernel.RQKernel'>, 'RandomGenerator': <class 'aepsych.generators.random_generator.RandomGenerator'>, 'SampleAroundPointsGenerator': <class 'aepsych.generators.manual_generator.SampleAroundPointsGenerator'>, 'ScaleKernel': <class 'gpytorch.kernels.scale_kernel.ScaleKernel'>, 'SemiPProbabilityObjective': <class 'aepsych.acquisition.objective.semi_p.SemiPProbabilityObjective'>, 'SemiPThresholdObjective': <class 'aepsych.acquisition.objective.semi_p.SemiPThresholdObjective'>, 'SemiParametricGPModel': <class 'aepsych.models.semi_p.SemiParametricGPModel'>, 'SequentialStrategy': <class 'aepsych.strategy.SequentialStrategy'>, 'SobolAllocator': <class 'aepsych.models.inducing_points.sobol.SobolAllocator'>, 'SobolGenerator': <class 'aepsych.generators.sobol_generator.SobolGenerator'>, 'SoftmaxLikelihood': <class 'gpytorch.likelihoods.softmax_likelihood.SoftmaxLikelihood'>, 'SpectralDeltaKernel': <class 'gpytorch.kernels.spectral_delta_kernel.SpectralDeltaKernel'>, 'SpectralMixtureKernel': <class 'gpytorch.kernels.spectral_mixture_kernel.SpectralMixtureKernel'>, 'Strategy': <class 'aepsych.strategy.Strategy'>, 'StudentTLikelihood': <class 'gpytorch.likelihoods.student_t_likelihood.StudentTLikelihood'>, '_GaussianLikelihoodBase': <class 'gpytorch.likelihoods.gaussian_likelihood._GaussianLikelihoodBase'>, '_MultitaskGaussianLikelihoodBase': <class 'gpytorch.likelihoods.multitask_gaussian_likelihood._MultitaskGaussianLikelihoodBase'>, '_OneDimensionalLikelihood': <class 'gpytorch.likelihoods.likelihood._OneDimensionalLikelihood'>, 'default_mean_covar_factory': <function default_mean_covar_factory>, 'monotonic_mean_covar_factory': <function monotonic_mean_covar_factory>, 'ordinal_mean_covar_factory': <function ordinal_mean_covar_factory>, 'pairwise_mean_covar_factory': <function pairwise_mean_covar_factory>, 'semi_p_posterior_transform': <function semi_p_posterior_transform>, 'song_mean_covar_factory': <function song_mean_covar_factory>}¶
- to_dict(deduplicate=True)[source]¶
Convert the config into a dictionary.
- Parameters:
deduplicate (bool) – Whether to deduplicate the ‘common’ section. Defaults to True.
- Returns:
Dictionary representation of the config.
- Return type:
dict
- jsonifyMetadata()[source]¶
Turn the metadata section into JSON.
- Returns:
JSON representation of the metadata section.
- Return type:
str
- jsonifyAll()[source]¶
Turn the entire config into JSON format.
- Returns:
JSON representation of the entire config.
- Return type:
str
- update(config_dict=None, config_fnames=None, config_str=None)[source]¶
Update this object with a new configuration.
- Parameters:
config_dict (Mapping[str, str], optional) – Mapping to build configuration from. Keys are section names, values are dictionaries with keys and values that should be present in the section. Defaults to None.
config_fnames (Sequence[str]) – List of INI filenames to load configuration from. Defaults to None.
config_str (str) – String formatted as an INI file to load configuration from. Defaults to None.
- Return type:
None
- classmethod register_module(module)[source]¶
- Register a module with Config so that objects in it can
be referred to by their string name in config files.
- Parameters:
module (ModuleType) – Module to register.
- Return type:
None
- classmethod register_object(obj)[source]¶
- Register an object with Config so that it can be
referred to by its string name in config files.
- Parameters:
obj (object) – Object to register.
- Return type:
None
- get_section(section)[source]¶
Get a section of the config.
- Parameters:
section (str) – Section to get.
- Returns:
Dictionary representation of the section.
- Return type:
Dict[str, Any]
- convert(from_version, to_version)[source]¶
Converts a config from an older version to a newer version.
- Parameters:
from_version (str) – The version of the config to be converted.
to_version (str) – The version the config should be converted to.
- Return type:
None
- property version: str¶
Returns the version number of the config.
- Returns:
Version number of the config.
- Return type:
str
- class aepsych.config.ConfigurableMixin[source]¶
Bases:
ABC
- abstract classmethod get_config_options(config, name=None, options=None)[source]¶
Return a dictionary of the relevant options to initialize this class from the config, even if it is outside of the named section.
- Parameters:
config (Config) – Config to look for options in.
name (str, optional) – Primary section to look for options for this class and the name to infer options from other sections in the config.
options (Dict[str, Any], optional) – Options to override from the config, defaults to None.
- Returns:
A dictionary of options to initialize this class.
- Return type:
Dict[str, Any]
- classmethod from_config(config, name=None, options=None)[source]¶
Return a initialized instance of this class using the config and the name.
- Parameters:
config (Config) – Config to use to initialize this class.
name (str, optional) – Name of section to look in first for this class.
options (Dict[str, Any], optional) – Options to override from the config, defaults to None.
- Returns:
Initialized class based on config and name.
- Return type: