Is numpy.save cross platform?
Question:
Suppose I save a numpy array to a file, “arr.npy”, using numpy.save() and that I do this using a particular python version, numpy version, and OS.
Can I load, using numpy.load(), arr.npy on a different OS using a different version of python or numpy? Are there any restrictions, such as backwards compatibility?
Answers:
Yes. The .npy format is documented here:
https://numpy.org/doc/stable/reference/generated/numpy.lib.format.html#module-numpy.lib.format
Note this comment in the source code (emphasis mine):
The .npy
format is the standard binary file format in NumPy for
persisting a single arbitrary NumPy array on disk. The format stores
all of the shape and dtype information necessary to reconstruct the
array correctly even on another machine with a different architecture.
Suppose I save a numpy array to a file, “arr.npy”, using numpy.save() and that I do this using a particular python version, numpy version, and OS.
Can I load, using numpy.load(), arr.npy on a different OS using a different version of python or numpy? Are there any restrictions, such as backwards compatibility?
Yes. The .npy format is documented here:
https://numpy.org/doc/stable/reference/generated/numpy.lib.format.html#module-numpy.lib.format
Note this comment in the source code (emphasis mine):
The
.npy
format is the standard binary file format in NumPy for
persisting a single arbitrary NumPy array on disk. The format stores
all of the shape and dtype information necessary to reconstruct the
array correctly even on another machine with a different architecture.