微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

我如何反序列化强制转换为字节串的numpy数组?

如何解决我如何反序列化强制转换为字节串的numpy数组?

实际上,numpy.fromstring()返回一个二维数组的一个1024X1024 intead数组,您需要做的就是将其重塑为1024X1024,

尝试这个 :

import numpy as np
a = np.random.rand(1024, 1024)  # create array of random values
b = array.tobytes()
np.fromstring(b).reshape(1024,1024)

解决方法

我需要将一个numpy数组序列化为某些JSON兼容形式。由于我使用的框架无法让我访问JSON编码器/解码器对象,因此我一直坚持将numpy数组序列化为可以将其编组为JSON的对象。我选择了array.tobytes或array.tostring(两者似乎基本上是同一件事)。

以下是说明我的问题的示例:

import numpy as np

a = np.random.rand(1024,1024)  # create array of random values
b = array.tobytes()  # serialize array
a2 = np.fromstring(b)

在检查的值时a2,我发现它仅包含原始内容的第一行a。换句话说,a2 == a[0,:]。

如何解码整个数组?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。