mendevi.database.serialize

Serialize the sql binary data.

Functions

binary_to_list(data)

Deserialize a binary data into a float vector.

binary_to_tensor(data)

Serialize a 2d array into binary data.

list_to_binary(vect)

Serialize a float vector into binary data.

skip_none(func)

Allow skipping the process of None input.

tensor_to_binary(tensor)

Serialize a 2d array into binary data.

Details

mendevi.database.serialize.binary_to_list(data: bytes) ndarray[float32][source]

Deserialize a binary data into a float vector.

Bijection of list_to_binary().

Parameters

databytes

The serialized float 32 list.

Returns

vectnp.ndarray

The list of floats

Examples

>>> from mendevi.database.serialize import binary_to_list
>>> binary_to_list(b'\x00\x00\x00\x00\x00\x00\x80\xbf\xea\xd6\xfc=')
array([ 0.        , -1.        ,  0.12345679], dtype=float32)
>>>
mendevi.database.serialize.binary_to_tensor(data: bytes) ndarray[float32, float32][source]

Serialize a 2d array into binary data.

Bijection os binary_to_tensor().

Parameters

databytes

The serialized float32 tensor.

Returns

tensornp.ndarray

The list of list of float

Examples

>>> from mendevi.database.serialize import binary_to_tensor
>>> data = b'\x02\x00\x00\x00\xcd\xcc\x8c?\xcd\xcc\x0c@33S@\xcd\xcc\x8c@\x00\x00\xb0@33\xd3@'
>>> binary_to_tensor(data)
array([[1.1, 2.2],
       [3.3, 4.4],
       [5.5, 6.6]], dtype=float32)
>>>
mendevi.database.serialize.list_to_binary(vect: list[float]) bytes[source]

Serialize a float vector into binary data.

Bijection of binary_to_list().

Parameters

vectarralike

The list of floats

Returns

databytes

The serialized float32 list.

Examples

>>> from mendevi.database.serialize import list_to_binary
>>> list_to_binary([0.0, -1.0, 0.123456789])
b'\x00\x00\x00\x00\x00\x00\x80\xbf\xea\xd6\xfc='
>>>
mendevi.database.serialize.skip_none(func: Callable) Callable[source]

Allow skipping the process of None input.

mendevi.database.serialize.tensor_to_binary(tensor: list[list[float]]) bytes[source]

Serialize a 2d array into binary data.

Bijection os binary_to_tensor().

Parameters

tensorarraylike

The list of list of float

Returns

databytes

The serialized float32 tensor.

Examples

>>> from mendevi.database.serialize import tensor_to_binary
>>> tensor_to_binary([[1.1, 2.2], [3.3, 4.4], [5.5, 6.6]])
b'\x02\x00\x00\x00\xcd\xcc\x8c?\xcd\xcc\x0c@33S@\xcd\xcc\x8c@\x00\x00\xb0@33\xd3@'
>>>