jax.numpy.savez#
- jax.numpy.savez(file, *args, **kwds)[source]#
将多个数组保存到一个未压缩的
.npz
格式的单个文件中。将数组作为关键字参数提供,以便在输出文件中以相应的名称存储它们:
savez(fn, x=x, y=y)
。如果数组作为位置参数指定,例如
savez(fn, x, y)
,则它们的名称将为 arr_0、arr_1 等。- 参数:
file (文件、字符串或pathlib.Path) – 文件名(字符串)或打开的文件(类文件对象),数据将保存到其中。如果文件是字符串或 Path,则如果文件名尚未存在,则会将
.npz
扩展名附加到文件名。args (参数、可选) – 保存到文件中的数组。请使用关键字参数(参见下面的 kwds)为数组分配名称。作为参数指定的数组将被命名为“arr_0”、“arr_1”等。
kwds (关键字参数、可选) – 保存到文件中的数组。每个数组都将使用其对应的关键字名称保存到输出文件中。
- 返回类型:
无
另请参阅
save
将单个数组保存到 NumPy 格式的二进制文件中。
savetxt
将数组保存到文件中作为纯文本。
savez_compressed
将多个数组保存到压缩的
.npz
档案中
注释
.npz
文件格式是包含变量名称文件的压缩档案。该档案未压缩,并且档案中的每个文件都包含一个.npy
格式的变量。有关.npy
格式的描述,请参见numpy.lib.format
。使用 load 打开保存的
.npz
文件时,将返回一个 ~lib.npyio.NpzFile 对象。这是一个类似字典的对象,可以查询其数组列表(使用.files
属性)和数组本身。在 kwds 中传递的键用作 ZIP 档案中的文件名。因此,键应为有效的文件名;例如,避免以
/
开头或包含.
的键。使用关键字参数命名变量时,无法将变量命名为
file
,因为这会导致在对savez
的调用中两次定义file
参数。示例
>>> import numpy as np >>> from tempfile import TemporaryFile >>> outfile = TemporaryFile() >>> x = np.arange(10) >>> y = np.sin(x)
使用带有 *args 的 savez,数组将使用默认名称保存。
>>> np.savez(outfile, x, y) >>> _ = outfile.seek(0) # Only needed to simulate closing & reopening file >>> npzfile = np.load(outfile) >>> npzfile.files ['arr_0', 'arr_1'] >>> npzfile['arr_0'] array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
使用带有 **kwds 的 savez,数组将使用关键字名称保存。
>>> outfile = TemporaryFile() >>> np.savez(outfile, x=x, y=y) >>> _ = outfile.seek(0) >>> npzfile = np.load(outfile) >>> sorted(npzfile.files) ['x', 'y'] >>> npzfile['x'] array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])