可以恢复数据:
In [41]: a = {'0': {'A': array([1,2,3]), 'B': array([4,5,6])}}In [42]: np.savez('/tmp/model.npz', **a)In [43]: a = np.load('/tmp/model.npz')
注意,dtype是’object’。
In [44]: a['0']Out[44]: array({'A': array([1, 2, 3]), 'B': array([4, 5, 6])}, dtype=object)
而且数组中只有一项。该项目是Python字典!
In [45]: a['0'].sizeOut[45]: 1
您可以使用
item()方法来检索值(注意:这 不是
items()字典的 方法,也不是
NpzFile
类固有的任何
numpy.ndarray.item()方法,而是
将数组中的值复制到标准Python标量的方法。在
objectdtype数组中,任何值Python标量保存在数组(甚至是字典)的单元格中:
In [46]: a['0'].item()Out[46]: {'A': array([1, 2, 3]), 'B': array([4, 5, 6])}In [47]: a['0'].item()['A']Out[47]: array([1, 2, 3])In [48]: a['0'].item()['B']Out[48]: array([4, 5, 6])
还原
a为辞令:
In [84]: a = np.load('/tmp/model.npz')In [85]: a = {key:a[key].item() for key in a}In [86]: a['0']['A']Out[86]: array([1, 2, 3])
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)