2013-09-10 2 views
3

Есть ли библиотека для создания файла npy в java?Запись .npy (numpy двоичный формат) из java

Я ищу метод для записи больших матриц в java, который нужно читать с использованием кода python.

npy похоже на хороший вариант, так как он не добавляет дополнительных зависимостей на стороне python, и формат документирован.

Я считал формат hdf5, но зависимость от родных библиотек усложняет развертывание.

+0

Формат npy очень прост и документирован. Вы можете легко написать его самостоятельно. – seberg

+0

закончил с использованием hdf5 - jmatio был несколько неисправен с большими выделениями памяти –

ответ

2

Я не думаю, что есть библиотека, чтобы сделать это, но вы можете посмотреть на спецификации, или, возможно, использовать формат MatLab в качестве промежуточного продукта, для которого, как представляется, по крайней мере, одна библиотека Java:

http://www.mathworks.com/matlabcentral/fileexchange/10759-jmatio-matlabs-mat-file-io-in-java

Я никогда не делал этого, но он может работать для вас, а затем вы можете прочитать эти файлы с помощью:

http://docs.scipy.org/doc/scipy/reference/generated/scipy.io.loadmat.html

+0

стороне python требуются собственные библиотеки hdf5. –

+0

@OphirYoktan HDF5 не является зависимостью Scipy, и формат .mat также не полагается на это: http://www.mathworks.com/help/pdf_doc/matlab/matfile_format.pdf – JoshAdel

+0

@joshAdel у вас есть какое-либо решение в java для чтения из .npy-файла –

3

Мы столкнулись с той же проблемой некоторое время назад и внедрить ed как NPY, так и NPZ в Kotlin как часть библиотеки npy.

Текущая версия (0.2.0) имеет ряд ограничений. В частности, он не поддерживает

  • многомерные массивы
  • структурированных массивов
  • беззнаковых целых типов и some others.
Смежные вопросы