首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >无法加载numpy npz文件-而是返回一个numpy.lib.npyio.NpzFile

无法加载numpy npz文件-而是返回一个numpy.lib.npyio.NpzFile
EN

Stack Overflow用户
提问于 2022-06-05 16:42:14
回答 2查看 1.1K关注 0票数 0

当试图像无意义文件中所描述的那样加载npz文件时,我使用的是numpy.lib.npyio.NpzFile类型的对象。

这是代码:

代码语言:javascript
运行
复制
imgs = np.ones((3,32,32,3))
masks = np.ones((3,32,32,1))
array_dict = {"imgs" : imgs, "masks": masks}
np.savez_compressed("/path/to/imgs_with_masks.npz", array_dict)
loaded_data = np.load("/path/to/imgs_with_masks.npz")
print(type(loaded_data), " - ", loaded_data)

这方面的产出如下:

代码语言:javascript
运行
复制
<class 'numpy.lib.npyio.NpzFile'>  -  <numpy.lib.npyio.NpzFile object at 0x2b766fa00>

我期待一个我可以使用的解压缩结构,但我却得到了一个未文档化的对象。这里发生了什么,我如何从这里得到我的数据?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-06-05 16:59:20

您需要将array_dict**传递给np.savez_compressed。如果传递任意Python对象,numpy将使用泡菜,而不是直接压缩数组。

将数组作为kwargs传递后,在加载npz文件时,可以使用括号符号访问数组:

代码语言:javascript
运行
复制
# Save
>>> np.savez_compressed("imgs_with_masks.npz", **array_dict)

# Now load
>>> loaded = np.load("imgs_with_masks.npz")
>>> loaded
<numpy.lib.npyio.NpzFile at 0x1318ad940>

>>> list(loaded.keys())
['imgs', 'masks']

>>> loaded['img']
array([[[[1., 1., 1.],
         [1., 1., 1.],
         [1., 1., 1.],
         ...
        ]]])

>>> loaded['masks']
array([[[[1.],
         [1.],
         [1.],
         ...,
         [1.],
         [1.],
         [1.]],
       ]])
票数 2
EN

Stack Overflow用户

发布于 2022-06-05 16:53:07

通常,当我想要创建一个numpy .npz文件时,我编写如下所示:

保存NPZ文件:

代码语言:javascript
运行
复制
import numpy as np
imgs  = np.ones((3,32,32,3))
masks = np.ones((3,32,32,1))
np.savez_compressed('imgs_with_masks.npz', imgs=imgs, masks=masks)

加载NPZ文件:

代码语言:javascript
运行
复制
npz_dataset = np.load('imgs_with_masks.npz')
print(npz_dataset.files)
imgs  = npz_dataset['imgs']
masks = npz_dataset['masks']
print(imgs.shape)
print(masks.shape)

输出:

代码语言:javascript
运行
复制
['imgs', 'masks']
(3, 32, 32, 3)
(3, 32, 32, 1)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72509271

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档