CAMD provides a flexible software framework for sequential / Bayesian optimization type campaigns for materials discovery. Its key features include:
Agents: Decision making entities which select experiments to run from pre-determined candidate sets. Agents can combine machine learning with physical or chemical constructs, logic, heuristics, exploration-exploitation strategies and so on. CAMD comes with several generic and structure-discovery focused agents, which can be used by the users as templates to derive new ones.
Experiments: Entities responsible for carrying out the experiments requested by Agents and reporting back the results.
Analyzers: Post-processing procedures which frame experimental results in the context of candidate or seed datasets.
Campaigns: Loop construct which executes the sequence of hypothesize-experiment-analyze by the Agent, Experiment, and Analyzer, respectively, and facilitates the communication between these entities.
Simulations: Agent performance can be simulated using after-the-fact sampling of known existing data. This allows systematic design and tuning of agents before their deployment using actual Experiments.
From the repo README: