在不知道形状的情况下加载 np.memmap

2024-01-11

是否可以加载一个numpy.memmap在不知道形状的情况下仍然可以恢复数据的形状?

data = np.arange(12, dtype='float32')
data.resize((3,4))
fp = np.memmap(filename, dtype='float32', mode='w+', shape=(3,4))
fp[:] = data[:]
del fp
newfp = np.memmap(filename, dtype='float32', mode='r', shape=(3,4))

在最后一行中,我希望能够不指定形状并仍然获得变量newfp具有形状(3,4),就像会发生的那样joblib.load。这可能吗?谢谢。


除非该信息已明确存储在文件中的某个位置。据,直到...为止np.memmap http://docs.scipy.org/doc/numpy-1.10.0/reference/generated/numpy.memmap.html就而言,文件只是一个平面缓冲区。

我建议使用np.save http://docs.scipy.org/doc/numpy-1.10.0/reference/generated/numpy.save.html持久化 numpy 数组,因为这也保留了指定其维度、数据类型等的元数据。您还可以加载.npy通过传递文件作为内存映射memmap_mode=参数为np.load http://docs.scipy.org/doc/numpy-1.10.0/reference/generated/numpy.load.html.

joblib.dump https://pythonhosted.org/joblib/generated/joblib.dump.html使用 pickling 的组合来存储通用 Python 对象和np.save存储 numpy 数组。


初始化由 a 支持的空内存映射数组.npy您可以使用的文件numpy.lib.format.open_memmap:

import numpy as np
from numpy.lib.format import open_memmap

# initialize an empty 10TB memory-mapped array
x = open_memmap('/tmp/bigarray.npy', mode='w+', dtype=np.ubyte, shape=(10**13,))

您可能会对此成功感到惊讶即使阵列大于总可用磁盘空间(我的笔记本电脑只有 500GB SSD,但我刚刚创建了一个 10TB memmap)。这是可能的,因为创建的文件是sparse https://stackoverflow.com/a/34029352/1461210.

发现的功劳open_memmap应该去kiyo之前的回答在这里 https://stackoverflow.com/a/4620395/1461210.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在不知道形状的情况下加载 np.memmap 的相关文章

随机推荐

  • 奇怪的指向成员函数的指针语法

    我了解如何声明函数的类型 typedef void typedef void f typedef void f is void using alias void f void alias void f is void 它可以用来声明函数指针
  • 在 JPA Criteria API 的子查询中使用 ORDER BY 的替代方法有哪些?

    考虑以下两个表 Project id project name Status id id project status name Where Status包含所有状态 其中Project已经是 假设我们要查询最新状态名称为 new 的所有项
  • 了解 Django CSRF_COOKIE_SAMESITE 和 CSRF_TRUSTED_ORIGINS

    显然 我无法理解跨域环境中 Django 2 2 4 设置对 CSRF 参数的影响 正如我已经注意到的那样 我必须设置SESSION COOKIE SAMESITE None如果我想将我的 Django 应用程序放入具有另一个域的网站的 i
  • symfony2自定义表单日期时间渲染

    我有一个表单 其中的日期时间呈现为 5 个选择输入 d MM YYYY H i builder gt add date datetime array data gt new DateTime now default value format
  • 使用jquery进行POST,如何正确提供'data'参数?

    我想以 POST 方式进行 ajax 调用 它将转到我的 servlet 我想发送参数化数据 如下所示 var mydata param0 some text param1 some more text 我将其作为 jquery ajax
  • Node.js在typeorm实体中添加created_at和updated_at

    I have task像这样的实体 import BaseEntity Column Entity PrimaryGeneratedColumn from typeorm Entity export class Task extends B
  • 如何自定义 Jenkins 构建名称?

    当我在 Jenkins 中运行作业时 每个构建都会被赋予一个名称 该名称显示在构建历史记录的 UI 中 基本上是当前日期和时间 我希望能够在那里输入构建参数 以便我可以在构建历史记录中看到哪些分支已构建以及何时构建 我已经搜索过可以执行此操
  • 将 Vue 与 Django 结合使用

    我最近开始使用 Django 开发一些社交媒体网站 我使用默认的django模板引擎来填充我的页面 但此刻我想补充一点javascript使网站更具活力 这意味着 页眉和页脚是每页都一样 标题应该有一个下拉菜单 一个在您键入时进行搜索的搜索
  • 带有包装内容项的 RecyclerView

    我需要实现下一个 UI 元素 未知大小的字符串列表 来自服务器调用 任何项目都应该是包装内容 如果某个项目不适合该行 则该项目将位于下一行 所有列表 网格均居中 我想用RecyclerView with StaggeredGridLayou
  • vite 构建始终使用静态路径

    我有一个简单的设置 包含一个 index html 一些 js 文件和一个 sass 文件 并使用 vite 构建它 我使用的是 vite 默认值 没有配置文件 运行构建后 dist 文件夹中的 index html 将所有内容引用为静态路
  • 将 XPath 与 Perl 结合使用

    我正在尝试复制我的C XPath代码在 Linux 上使用 Perl 执行 我将示例 8 6 中的代码复制并粘贴到Perl 和 XML http oreilly com catalog 9780596002053 如果我理解正确 我应该能够
  • Cloud Firestore:不同查询上的同一文档。是按分开阅读收费吗?

    我已阅读有关如何操作的文档write read在 Firebase 中是收费的 假设我有 20 项待办事项列表project id作为钥匙 todosRef onSnapshot 将被计为20 reads 我用新属性更新了待办事项 todo
  • 使用 apache-poi 4.0.1 库将单元格内容的某些部分设置为粗体/斜体

    我想用粗体和斜体的组合来设置单元格值的内容 就像 这是Sample content 但是 这不适用于 XSSFrichTextString 我正在使用 apache poi 库版本 4 0 1 我尝试使用 XSSFRichTextStrin
  • 为什么在 Common Lisp 中,当我运行参数为 1 的函数“acos”时,答案是错误的?

    当我运行 acos 1 来查找 1 emacs 的反余弦时 我得到了答案 而不是正确答案 0 6 125742f 17 为什么会这样以及如何得到 0 的正确答案 就像 Windows 计算器所说的那样 我在 Windows 8 上使用 SB
  • Spark - 从嵌套数组中的结构中选择列时出错

    更新 我在 JSON 中添加了更多详细信息 struct c 和 array t 以便更清楚地了解异常的位置 再会 我有一个带有结构类型嵌套数组的 Spark DataFrame 我想从该结构中选择一列 但收到错误消息 org apache
  • 在 Splinter 中获取 href 值?

    我想得到href价值来自 a Splinter 中的元素 有没有相关的api方法 如果您使用find by 方法 http splinter cobrateam info docs api driver and element api ht
  • 如何为动态变化的表设置索引?

    我创建了一个表单 您可以在其中使用 javascript 和 jQuery 添加或删除表行 我想知道如何获取和设置每个表行的索引 以便即使我从表中间删除元素也能保持顺序 该表的形式为 thead tr th Index th th Name
  • 嵌入 Jetty 9 - jetty-all.jar 在哪里?

    我正在尝试将 Jetty 9 嵌入到我的项目中 教程位于http www eclipse org jetty documentation current advanced embedding html jetty helloworld ht
  • 将日历设置为特定日期?

    我想设置一个提醒 并在特定日期发出通知 然后我目前正在使用 AlarmManager 和 NotificationManager 当我从 dateDialog 设置选定的日期时 提醒起作用了 如何将日历值设置为固定时间的闹钟 我从中获取当前
  • 在不知道形状的情况下加载 np.memmap

    是否可以加载一个numpy memmap在不知道形状的情况下仍然可以恢复数据的形状 data np arange 12 dtype float32 data resize 3 4 fp np memmap filename dtype fl