Skip to main content

gpCAM is a code for autonomous data acquisition

Project description

gpCAM

PyPI Documentation Status gpCAM CI Codecov PyPI - License DOI

gpCAM is an API and software designed to make autonomous data acquisition and analysis for experiments and simulations faster, simpler and more widely available. The tool is based on a flexible and powerful Gaussian process regression at the core. The flexibility stems from the modular design of gpCAM which allows the user to implement and import their own Python functions to customize and control almost every aspect of the software. That makes it possible to easily tune the algorithm to account for various kinds of physics and other domain knowledge, and to identify and find interesting features. A specialized function optimizer in gpCAM can take advantage of HPC architectures for fast analysis time and reactive autonomous data acquisition.

Usage

The following demonstrates a simple usage of the gpCAM API (see interactive demo).

from gpcam.autonomous_experimenter import AutonomousExperimenterGP
import numpy as np

def instrument(data):
    for entry in data:
        entry["value"] = np.sin(np.linalg.norm(entry["position"]))
    return data

##set up your parameter space
parameters = np.array([[3.0,45.8],
                       [4.0,47.0]])

##set up some hyperparameters, if you have no idea, set them to 1 and make the training bounds large
init_hyperparameters = np.array([1,1,1])
hyperparameter_bounds =  np.array([[0.01,100],[0.01,100.0],[0.01,100]])

##let's initialize the autonomous experimenter ...
my_ae = AutonomousExperimenterGP(parameters, init_hyperparameters,
                                 hyperparameter_bounds,instrument_func = instrument,  
                                 init_dataset_size=10)
#...train...
my_ae.train()

#...and run. That's it. You successfully executed an autonomous experiment.
my_ae.go(N = 100)

Credits

Main Developer: Marcus Noack (MarcusNoack@lbl.gov) Several people from across the DOE national labs have given insights that led the code in it's current form. See AUTHORS for more details on that.

======= History

6.0.0 (2020-10-26)

  • First release on PyPI.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gpcam-7.4.3.tar.gz (11.9 MB view details)

Uploaded Source

Built Distribution

gpcam-7.4.3-py2.py3-none-any.whl (37.0 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file gpcam-7.4.3.tar.gz.

File metadata

  • Download URL: gpcam-7.4.3.tar.gz
  • Upload date:
  • Size: 11.9 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.13

File hashes

Hashes for gpcam-7.4.3.tar.gz
Algorithm Hash digest
SHA256 592d8dae6158472b7dfd07d331b80d6e62ccaaf7b4fa5c710de7d101c41f5a6b
MD5 e40313029defa1ecce3ee1601fe17494
BLAKE2b-256 481338e96c01592545666d8f3b7b4fed710634c4ad35c5e0e27b56e0f660c77a

See more details on using hashes here.

Provenance

File details

Details for the file gpcam-7.4.3-py2.py3-none-any.whl.

File metadata

  • Download URL: gpcam-7.4.3-py2.py3-none-any.whl
  • Upload date:
  • Size: 37.0 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.13

File hashes

Hashes for gpcam-7.4.3-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 df852fd5833b17209e90572ec7ddc71c3454fe8ad64c707923d4556362fa6eb0
MD5 63e1a04219d9edc89e88533a4aa7e284
BLAKE2b-256 c02a9517c945939246ca2025ab587f15d8c804d3dbf063df81063e29053fe890

See more details on using hashes here.

Provenance

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page