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

如何确定 .npz 文件的形状/大小

如何解决如何确定 .npz 文件的形状/大小

我有一个扩展名为 .npz 的文件。我怎样才能确定它的形状。 我用这段代码在 colab 上加载了它

import numpy as np 
file=np.load(path/to/.npz)

我无法确定它的形状

解决方法

生成示例 .npz 文件

import numpy as np
import zipfile


x = np.arange(10)
y = np.sin(x)

np.savez("out.npz",x,y)
def npz_headers(npz):
    """
    Takes a path to an .npz file,which is a Zip archive of .npy files.
    Generates a sequence of (name,shape,np.dtype).
    """
    with zipfile.ZipFile(npz) as archive:
        for name in archive.namelist():
            if not name.endswith('.npy'):
                continue

            npy = archive.open(name)
            version = np.lib.format.read_magic(npy)
            shape,fortran,dtype = np.lib.format._read_array_header(npy,version)
            yield name[:-4],dtype

print(list(npz_headers("out.npz")))

调用上面的函数,它返回下面的输出

[('arr_0',(10,),dtype('int64')),('arr_1',dtype('float64'))]

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