logo Adaptive: Parallel Active Learning of Mathematical Functions#

Binder Conda Coverage DOI Documentation Downloads GitHub Gitter Pipeline-status PyPI


Adaptive is an open-source Python library that streamlines adaptive parallel function evaluations. Rather than calculating all points on a dense grid, it intelligently selects the β€œbest” points in the parameter space based on your provided function and bounds. With minimal code, you can perform evaluations on a computing cluster, display live plots, and optimize the adaptive sampling algorithm.

Adaptive is most efficient for computations where each function evaluation takes at least β‰ˆ50ms due to the overhead of selecting potentially interesting points.

To see Adaptive in action, try the example notebook on Binder or explore the tutorial on Read the Docs.

⭐ Key features#

  • 🎯 Intelligent Adaptive Sampling: Adaptive focuses on areas of interest within a function, ensuring better results with fewer evaluations, saving time, and computational resources.

  • ⚑ Parallel Execution: The library leverages parallel processing for faster function evaluations, making optimal use of available computational resources.

  • πŸ“Š Live Plotting and Info Widgets: When working in Jupyter notebooks, Adaptive offers real-time visualization of the learning process, making it easier to monitor progress and identify areas of improvement.

  • πŸ”§ Customizable Loss Functions: Adaptive supports various loss functions and allows customization, enabling users to tailor the learning process according to their specific needs.

  • πŸ“ˆ Support for Multidimensional Functions: The library can handle functions with scalar or vector outputs in one or multiple dimensions, providing flexibility for a wide range of problems.

  • 🧩 Seamless Integration: Adaptive offers a simple and intuitive interface, making it easy to integrate with existing Python projects and workflows.

  • πŸ’Ύ Flexible Data Export: The library provides options to export learned data as NumPy arrays or Pandas DataFrames, ensuring compatibility with various data processing tools.

  • 🌐 Open-Source and Community-Driven: Adaptive is an open-source project, encouraging contributions from the community to continuously improve and expand the library’s features and capabilities.

Tip

Start with the 1D function learning tutorial.