Code Monkey home page Code Monkey logo

zapata-optimizers's Introduction

z-quantum-optimizers

What is it?

z-quantum-optimizers is a module with basic optimizers to be used in workflows with Orquestra โ€“ a platform for performing computations on quantum computers developed by Zapata Computing.

Currently this library includes the following optimizers:

It also includes a task templates for optimization of variational circuits.

Usage

Workflow

In order to use z-quantum-optimizers in your workflow, you need to add it as a resource:

resources:
- name: z-quantum-optimizers
  type: git
  parameters:
    url: "[email protected]:zapatacomputing/z-quantum-optimizers.git"
    branch: "master"

and then import in a specific step:

- - name: my-task
    template: template-1
    arguments:
      parameters:
      - param_1: 1
      - resources: [z-quantum-optimizers]

Once it's done you can:

  • use any template from templates/ directory
  • use tasks which import zquantum.optimizers in the python code (see below).

Python

Here's an example how to do use methods from z-quantum-optimizers in a python task:

from zquantum.optimizers import ScipyOptimizer
optimizer = ScipyOptimizer(method='L-BFGS-B')

or use optimizer-specs parameter to make our code work with other backends too:

from zquantum.core.utils import create_object
optimizer_specs = {{inputs.parameters.optimizer-specs}}
optimizer = create_object(optimizer_specs)

Even though it's intended to be used with Orquestra, you can also use it as a standalone python module. In order to install it run pip install . from the src directory.

Development and contribution

You can find the development guidelines in the z-quantum-core repository.

Running tests

In order to run tests please run pytest . from the main directory.

In order for the tests related to the daemon optimizer to work you need to first specify FLASK_APP environmental variable: export FLASK_APP=/path/to/z-quantum-optimizer/src/python/orquestra/optimizers/daemon-optimizer/proxy/rest.py.

zapata-optimizers's People

Contributors

agustinsilva447 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.