ND4J (N-Dimensional Arrays for Java)

Материал из Национальной библиотеки им. Н. Э. Баумана
Последнее изменение этой страницы: 14:25, 24 декабря 2016.
ND4J: N-Dimensional Arrays for Java
Создатели: Adam Gibson
Разработчики: Various
Выпущена: 15 September 2014 года; 5 years ago (2014-09-15)
Постоянный выпуск: 0.5.0 / 3 August 2016 года; 3 years ago (2016-08-03)
Состояние разработки: Active
Написана на: C++
Операционная система: Linux, OS X, Windows, Android
Платформа: Cross-platform
Локализация: English
Тип ПО: Natural language processing, deep learning, machine vision
Лицензия: Apache 2.0
Веб-сайт nd4j.org

ND4J и ND4S научно-вычислительные библиотеки для виртуальной машины Java. Они предназначены для использования в производственной среде, что позволяет запускать процедуры быстро и с минимальными требованиями RAM. Основные черты:

  • Универсальный объект n-мерный массив
  • Мультиплатформенная функциональность, включая графические процессоры
  • Линейная алгебра и функции обработки сигналов

Такие библиотеки, как Breeze не поддерживают n-мерные массивы, или тензоры , которые необходимы для глубокого изучения и других задач. ND4J и ND4S используются национальными лабораториями для таких задач, как климатическое моделирование, которые требуют интенсивных вычислений при моделировании. ND4J предоставляет интуитивные научные вычислительные инструменты сообщества Python JVM в открытом доступе, в виде дистрибутива и библиотеки с поддержкой GPU. В структуре, она похожа на SLF4J . ND4J дает инженерам в производственной среде простой способ совместить свои алгоритмы и интерфейс с другими библиотеками в экосистемах Java и Scala.

Пример кода

Создание 2 х 2 NDarray:

 INDArray arr1 = Nd4j.create(new float[]{1,2,3,4},new int[]{2,2});
 System.out.println(arr1);

Вывод:

 [[1.0 ,3.0]
 [2.0 ,4.0]
 ]

Прибавление скаляра с операцией замещения:

 arr1.addi(1);
 System.out.println(arr1);

Каждый элемент увеличивается на единицу:

 [[2.0 ,4.0]
 [3.0 ,5.0]
 ]

Создадим второй массив ( arr2 ) и прибавим его к первому ( arr1 ):

 INDArray arr2 = ND4j.create(new float[]{5,6,7,8},new int[]{2,2});
 arr1.addi(arr2);
 System.out.println(arr1);

Вывод:

 [[7.0 ,11.0]
 [9.0 ,13.0]
 ]

Источники

  • ND4J [Электронный ресурс]: N-Dimensional Arrays for Java / Дата обращения: 23.12.2016. — Режим доступа:http://nd4j.org/
  • Wikipedia [Электронный ресурс]: ND4J (software)/ Дата обращения: 23.12.2016. — Режим доступа: https://en.wikipedia.org/wiki/ND4J_(software)