dwavesystems / dwavesystems/dimod

Deserialization fails for 'energy=None'

Open
#292 2 comments 0 reactions 1 assignee Claimed by @arcondello View on GitHub
bug
Dominant language
Python
Stars
143
Forks
91
Avg merge
1h 24m
Merged PRs (30d)
3

Description

(De-)serialization works when `energy=`:

```
>>> import dimod, json
>>> s = dimod.SampleSet.from_samples([[1,1,1,1], [0,0,0,0]], energy=0, vartype='BINARY')
>>> dimod.SampleSet.from_serializable(json.loads(json.dumps(s.to_serializable())))
SampleSet(rec.array([(0, 1, [1, 1, 1, 1]), (0, 1, [0, 0, 0, 0])],
dtype=[('energy', '>> s = dimod.SampleSet.from_samples([[1,1,1,1], [0,0,0,0]], energy=None, vartype='BINARY')
>>> dimod.SampleSet.from_serializable(json.loads(json.dumps(s.to_serializable())))
Traceback (most recent call last):
File "", line 1, in
File "/tmp/tmp.7ka5nvaHmX/lib/python3.5/site-packages/dimod/sampleset.py", line 768, in from_serializable
return sampleset_decode_hook(obj, cls=cls)
File "/tmp/tmp.7ka5nvaHmX/lib/python3.5/site-packages/dimod/io/json.py", line 138, in sampleset_decode_hook
record = _unpack_record(dct['record'], vartype)
File "/tmp/tmp.7ka5nvaHmX/lib/python3.5/site-packages/dimod/io/json.py", line 94, in _unpack_record
raw = np.frombuffer(base64.b64decode(data['data']), dtype=dtype)
ValueError: cannot create an OBJECT array from memory buffer
```

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.