Является ли преобразование массива numpy в формат .npy примером сериализации данных? - PullRequest
0 голосов
/ 29 марта 2020

Я понимаю, что сериализация данных означает преобразование структуры данных или состояния объекта в форму, которая может быть сохранена в файле или буфере, может быть передана и может быть восстановлена ​​позже (https://www.tutorialspoint.com/object_oriented_python/object_oriented_python_serialization.htm) , Исходя из этого определения, преобразование массива numpy в формат .npy должно быть сериализацией объекта данных массива numpy. Однако я нигде не смог найти это утверждение, когда посмотрел на inte rnet. В большинстве ссылок упоминалось о том, как формат pickle выполняет сериализацию данных в python. Мои вопросы - это преобразование массива numpy в формат .npz, пример сериализации объекта данных python. Если нет, то каковы причины?

Ответы [ 2 ]

0 голосов
/ 29 марта 2020

np.save(filename, arr) записывает массив в файл. Поскольку файл линейной структуры, это форма сериализации. Но часто «сериализация» относится к созданию строки, которую можно отправить в базу данных или через какой-то «конвейер». Я думаю, что вы можете save в строковый буфер, но это требует некоторой хитрости.

Но в Python большинство объектов имеют метод pickle, который создает строку, которая может быть записана в файл. В этом смысле pickle - это двухэтапный процесс - сериализация и запись в файл. Оформление для массива numpy на самом деле является save совместимой формой. (наоборот, np.save объекта, не являющегося массивом, использует указатель этого объекта).

savez записывает архив zip, содержащий один файл npy для каждого массива. Это может быть дополнительно сжато. Существуют инструменты ОС для переноса zip-архивов на другие компьютеры.

0 голосов
/ 29 марта 2020

Ну, согласно Википедии :

В вычислениях сериализация (или сериализация) - это процесс перевода структур данных или состояния объекта в формат, который можно сохранить ( например, в файле или в буфере памяти) или передается (например, через канал сетевого подключения) и восстанавливается позже (возможно, в другой компьютерной среде).

И в соответствии с Numpy Do c:

Двоичная сериализация

Формат NPY Простой формат для сохранения numpy массивов на диск с полной информацией о них.

Формат .npy - это стандартный двоичный формат файла в NumPy для сохранения одного произвольного массива NumPy на диске. В этом формате хранится вся информация о форме и типе d, необходимая для правильного восстановления массива даже на другом компьютере с другой архитектурой .

Формат .npz является стандартным формат для сохранения нескольких NumPy массивов на диске. Файл .npz - это zip-файл, содержащий несколько файлов .npy, по одному для каждого массива.

Итак, собрав эти определения вместе, вы сможете получить ответ на свой вопрос. Да , это способ сериализации. Также процесс хранения и чтения быстрый

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...