dimod.BinaryQuadraticModel.from_json

classmethod BinaryQuadraticModel.from_json(obj)[source]

Deserialize a binary quadratic model from a JSON encoding.

Parameters:obj – (str/file): Either a string or a .read()-supporting file object that represents linear and quadratic biases for a binary quadratic model formatted in accordance to the current BQM schema.

Examples

This example shows a serialized binary quadratic model in JSON encoding for schema version 1.0.0.

{
    "linear_terms": [
        {"bias": 1.0, "label": 0},
        {"bias": -1.0, "label": 1}
    ],
    "info": {},
    "offset": 0.5,
    "quadratic_terms": [
        {"bias": 0.5, "label_head": 1, "label_tail": 0}
    ],
    "variable_labels": [0, 1],
    "variable_type": "SPIN",
    "version": {
        "bqm_schema": "1.0.0",
        "dimod": "0.6.3"
    }
}

This example saves a binary quadratic model to a JSON-format file and creates a new model by reading the saved file.

>>> import dimod
>>> bqm = dimod.BinaryQuadraticModel({'a': -1.0, 'b': 1.0}, {('a', 'b'): -1.0}, 0.0, dimod.SPIN)
>>> with open('tmp.txt', 'w') as file:  
...     bqm.to_json(file)
>>> with open('tmp.txt', 'r') as file:  
...     new_bqm = dimod.BinaryQuadraticModel.from_json(file)