Tune D-Wave QPU solver parameters
Project description
D-Wave Tuner
dwave-tuner
simplifies the process of tuning annealing parameters, allowing
you to concentrate on your model and specific problem. Simply specify the
number of embeddings, chain strengths, and annealing times, and watch as
dwave-tuner tailors the tuning experience to your needs.
Features
- Effortless parameter tuning: Grid scan chain strengths and annealing times with a given number of embeddings.
- Caching for efficiency: D-Wave responses are cached by default, enhancing performance by utilizing cached results unless you modify the scan or alter the parameters.
- User-Friendly: Minimal configuration; just specify your preferences in a
dictionary, and let
dwave-tuner
handle the details. - Basic Benchmarking: Includes rudimentary benchmarking functionality.
- Visualization: Plot success probabilities vs. chain strength or annealing time to gain insights into tuning results.
- Model Comparison: Compare success probabilities of optimal D-Wave parameters for a set of models, such as those with increasing model size.
Example Usage
import dwavetuner
from dwavetuner import analysis
Specify the scan parameters:
parameters = {
'num_embeddings': 10,
'num_chain_strengths': 1,
'num_reads': 1000,
'num_reps': 1
}
Create a Scanner
to schedule the Job
s:
scanner = dwavetuner.Scanner(my_model.bqm, label='my_model', **parameters)
Perform a grid scan
scanner.grid_scan()
The grid scan stores the results in scanner.results
. It returns a response
that can also be accessed via
print(scanner.response)
The verbose tuning data can be accessed via
x, ys, yerrs = scanner.scan_results('chain_strength')
For annealing time scans, replace chain_strength
with annealing_time
.
Note that x
is one list, while ys
an yerrs
contain
scanner.num_embeddings
lists - one for each embedding.
Alternatively, use these self-explanatory parameters
:
# Scan chain strengths
parameters = {
'num_embeddings': 10,
'chain_strengths_start': 0.24,
'chain_strengths_end': 0.44,
'num_chain_strengths': 10,
'num_reads': 100,
'num_reps': 1
}
# Scan annealing times
parameters = {
'chain_strength': 0.28,
'num_annealing_times': 10,
'num_reads': 100,
'num_reps': 5
}
Author
Orkun Şensebat
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
Built Distribution
Hashes for dwave_tuner-0.0.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a1363e0e03b73bb5a92953082dea81c832b70e9ee1c650e199edbc6ce5ac9ae5 |
|
MD5 | 03ebf6125b02307d8870e6305747b9ab |
|
BLAKE2b-256 | 7027000058f14ce29a8d285a076bb8ef5fd13b7886e5317e2ff9e2c03b659168 |