Skip to main content

QCalibrate remote interface

Project description

A client library for runnig a custom optimisation with qcalibrate software

Description

Example simple parameter parametrisation

# import dependencies
from typing import Dict

from qcalibrateremote import (
    EvaluateFigureOfMerit,
    FigureOfMerit,
    create_optimizer_client,
)

# setup client connection (copy form web UI: https://www.qcalibrate.staging.optimal-control.net:31603)
experiment_id="0xabcd"
token=("ey...")

optimizer_client = create_optimizer_client(
    host="grpc.qcalibrate.staging.optimal-control.net", port=31603, token=token)

# define infidelity evaluation class
class DistanceFom(EvaluateFigureOfMerit):

    def __init__(self, *args, **kwargs) -> None:
        super().__init__()

    def infidelity(self, param1, param2) -> float:
        return (param1 - 0.55)**2 + (param2 - 0.33)**2

    def evaluate(self, parameters: Dict[str, float], **kwargs) -> FigureOfMerit:
        """Abstract method for figure of merit evaluation"""
        # print(parameters)
        return FigureOfMerit(self.infidelity(**parameters), '')

# run optimisation
optimisation_result = optimizer_client.run(experiment_id=experiment_id, evaluate_fom_class=DistanceFom)

# best fiting parameters
optimisation_result.top[0].parameters

Note

The API is experimental and subject to change without a prior notice

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

qcalibrateremote-0.1.2.tar.gz (34.5 kB view hashes)

Uploaded Source

Built Distribution

qcalibrateremote-0.1.2-py2.py3-none-any.whl (23.1 kB view hashes)

Uploaded Python 2 Python 3

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