jax.numpy.load

内容

jax.numpy.load#

jax.numpy.load(*args, **kwargs)[source]#

.npy.npz 或腌制文件加载数组或腌制对象。

LAX 后端实现 numpy.load().

原始文档字符串如下。

警告

加载包含对象数组的文件使用 pickle 模块,该模块不能抵御错误或恶意构建的数据。请考虑传递 allow_pickle=False 加载已知不包含对象数组的数据,以便更安全地处理不受信任的来源。

参数:
  • file (文件类对象, 字符串, 或 pathlib.Path) – 要读取的文件。文件类对象必须支持 seek()read() 方法,并且必须始终以二进制模式打开。腌制文件要求文件类对象还支持 readline() 方法。

  • mmap_mode ({None, 'r+', 'r', 'w+', 'c'}, 可选) – 如果不为 None,则使用给定模式将文件内存映射(参见 numpy.memmap 以了解模式的详细说明)。内存映射数组保存在磁盘上。但是,可以像任何 ndarray 一样访问和切片它。内存映射对于访问大型文件的小片段特别有用,无需将整个文件读入内存。

  • allow_pickle (bool, 可选) –

    允许加载存储在 npy 文件中的腌制对象数组。不允许腌制的原因包括安全性,因为加载腌制数据可以执行任意代码。如果禁止腌制,则加载对象数组将失败。默认值:False

    版本 1.16.3 中的更改: 为响应 CVE-2019-6446 将默认值设为 False。

  • fix_imports (bool, 可选) – 仅在 Python 3 上加载 Python 2 生成的腌制文件时有用,其中包括包含对象数组的 npy/npz 文件。如果 fix_imports 为 True,则 pickle 将尝试将旧的 Python 2 名称映射到 Python 3 中使用的新的名称。

  • encoding (str, 可选) – 读取 Python 2 字符串时使用的编码。仅在 Python 3 中加载 Python 2 生成的腌制文件时有用,其中包括包含对象数组的 npy/npz 文件。“latin1”、“ASCII”和“bytes”以外的值不允许,因为它们会损坏数字数据。默认值:'ASCII'

  • max_header_size (int, 可选) – 允许的最大标头大小。大型标头可能不安全加载,因此需要显式传递更大的值。有关详细信息,请参见 ast.literal_eval()。当传递 allow_pickle 时,此选项将被忽略。在这种情况下,文件按定义是可信的,限制是不必要的。

  • args (任意)

  • kwargs (任意)

返回:

result – 存储在文件中的数据。对于 .npz 文件,返回的 NpzFile 类实例必须关闭以避免泄漏文件描述符。

返回类型:

数组,元组字典,等等。