我使用以下代码在npz文件中显示元素名称。但是它需要完全加载文件,这可能会很慢,尤其是在文件较大时。有没有一种方法可以提取元素名称而不必完全加载文件?
x = numpy.load(file)
for k in x.iterkeys():
print k
最佳答案
无需将整个文件读入内存,您就可以使用mmap
[memmap documentation]访问磁盘上大文件的小片段。默认值为r+
(打开现有文件进行读写)。
我下面的测试代码使用NpzFile files
属性[NpzFile documentation]和'mnist.npz'测试数据[mnist.npz link],在Python 3.6中一切似乎都非常快:
>>> import numpy as np
>>> x = np.load('mnist.npz', mmap_mode='r')
>>> for k in x.files:
... print(k)
...
x_test
x_train
y_train
y_test
>>>
请检查链接的numpy.memmap了解更多。
关于numpy - 如何在npz文件中显示所有元素名称而不必完全加载?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49219436/