dimod.QuadraticModel.to_file#
- QuadraticModel.to_file(*, spool_size: int = 1000000000) SpooledTemporaryFile [source]#
Serialize the QM to a file-like object.
- Parameters:
spool_size – Defines the max_size passed to the constructor of
tempfile.SpooledTemporaryFile
. Determines whether the returned file-like’s contents will be kept on disk or in memory.
Format Specification (Version 1.0):
This format is inspired by the NPY format
The first 7 bytes are a magic string: exactly “DIMODQM”.
The next 1 byte is an unsigned byte: the major version of the file format.
The next 1 byte is an unsigned byte: the minor version of the file format.
The next 4 bytes form a little-endian unsigned int, the length of the header data HEADER_LEN.
The next HEADER_LEN bytes form the header data. This is a json-serialized dictionary. The dictionary is exactly:
data = dict(shape=qm.shape, dtype=qm.dtype.name, itype=qm.data.index_dtype.name, type=type(qm).__name__, variables=not qm.variables._is_range(), )
it is terminated by a newline character and padded with spaces to make the entire length of the entire header divisible by 64.
The quadratic model data comes after the header.