为了账号安全,请及时绑定邮箱和手机立即绑定

将 numpy 内存映射保存到新文件并从该文件加载新内存映射会导致值发生变化

将 numpy 内存映射保存到新文件并从该文件加载新内存映射会导致值发生变化

侃侃尔雅 2022-11-18 14:15:44
在这里,我设置了一个 numpy 内存映射并将值设置为其中一行import numpy as npnumpyMemmap = np.memmap( 'test.npy', dtype=np.uint16, mode='w+', shape=(500 , 512))numpyMemmap[34] = np.ones(512)numpyMemmap[34]输出memmap([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,        1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,        1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,        1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,        1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,        1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,        1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,        1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,        1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,        1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,        1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,        1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,        1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,为什么价值观改变了?为方便起见,这是一个重现错误的 colab notebookhttps://colab.research.google.com/drive/1WiSkFYRI0l7mkhtQzxZZDXVFw-IzzGpS?usp=sharing
查看完整描述

1 回答

?
qq_笑_17

TA贡献1818条经验 获得超7个赞

如果你想 memmap 一个用 保存的数组numpy.save,你需要使用numpy.load, 而不是numpy.memmap

numpyMemmap2 = np.load('LocalMemmap.npy', mmap_mode='r+')

使用numpy.memmap,您将 NPY 文件头解释为数组的一部分。

(此外,您的原件test.npy实际上不是 NPY 文件格式。np.memmap不会生成 NPY 文件,就像它不会读取它们一样。)


查看完整回答
反对 回复 2022-11-18
  • 1 回答
  • 0 关注
  • 68 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信