Skip to content

Xopt v2.0.0

Compare
Choose a tag to compare
@ChristopherMayes ChristopherMayes released this 20 Oct 16:20
· 270 commits to main since this release
f3dd3ce

We are pleased the second major release of Xopt, with major changes of all high-level objects embrace the latest Pydantic V2. Some highlights are:

  • Objects Xopt, VOCS, Evaluator, and all Generators inherit from pydantic.BaseModel
  • Xopt VOCS objects now contain "observables" attribute to store observed data that is not directly maximized or minimized for more complex algorithms (BAX)
  • Asynchronous behavior is now implemented in a separate AsynchronousXopt object, which allows for the base Xopt object to be simpler.
  • Multiple bugs with BO have been fixed, especially with constraints and trust region BO
  • Enables new features including Heteroskedastic noise models, fixed feature GP models, and evaluate functions returning multiple observations for a single input dict

Special thanks to @nikitakuklev for the careful migration from Pydantic v1 to v2.

Migration from V1

Users of previous versions will need to modify their YAML inputs. In particular, the xopt: field is no longer needed in the YAML, because its options are now at the top level. So,

xopt:
     max_evalulations: 100
vocs: 
    ...

Is now:

max_evalulations: 100
vocs: 
    ...

Pydantic will raise errors if fields are missing or if additional fields are not allowed.

What's Changed

New Contributors

Full Changelog: v1.4.1...v2.0.0