SlideShare a Scribd company logo
ND4J
ND-ARRAYS FOR JAVA
SCIENTIFIC COMPUTING ON THE JVM
Why another scientific library?
Different libraries:
JVM:
● Jblas (not
maintained)
● Breeze (scala)
● Spire (scala)
● Core.matrix(clojure)
● Netlib blas
● N + 1 pure java
impls
Real scientific
environments (no
fragmentation!):
● octave/matlab
● numpy
● R
● Theano
Blas and NDArrays
BLAS - Basic Linear Algebra Sub programs. Underlies EVERY fast
matrix lib out there.
NDArrays - matrices, tensors, math is done on axes (eg: rows/cols)
Matlab/Octave
a = ones(5,5)
a =
1 1 1 1 1
1 1 1 1 1
1 1 1 1 1
1 1 1 1 1
1 1 1 1 1
octave:2> sum(a,1)
ans =
5 5 5 5 5
Numpy
>>> import numpy as np
>>> a = np.ones((5,5))
>>> np.sum(a,axis=1)
array([ 5., 5., 5., 5., 5.])
Nd4j java/scala
import org.nd4j.api.linalg.DSL._
import org.nd4j.linalg.api.ndarray.INDArray
import org.nd4j.linalg.factory.Nd4j
val a = Nd4j.ones(5,5)
println Nd4j.sum(a,1)
[5.0, 5.0, 5.0, 5.0, 5.0]
Blas Implementations
● Cublas (cuda)
● Openblas
● Intel MKL(cpu)
● Nvblas(cuda)
● Clblas(opencl)
● ATLAS(CPU)
● LAPACK(CPU)
ND4J
A DISTRIBUTED FRAMEWORK
FOR MATRIX MANIPULATION
NATIVE
JBLAS
GPU
JCUDA ??
WITH SWAPPABLE BACKENDS…
Core Concepts
● DataBuffer - A DataBuffer is a storage abstraction. A raw buffer
could be an nio buffer or a jcuda buffer. This allows for backend
optimal storage.
● FFTInstance - An instantiation of FFT. Every hardware maker has
their own impls.
● ConvolutionInstance - An instantiation of Convolution. Same as FFT
● Complex Numbers - (An abstraction over different libs)
● BlasWrapper - An interface to a blas backend (blas is a standard for
cripe sakes!)
● Op - Some sort of a mathematical operation (dot product, element
wise addition,negation,..)
● Garbage Collector (WIP) - Native resource handling where needed
Other Features
● Loss Functions
● Adaptive learning rates
● Solvers (LBFGS,Conjugate gradient,Hessian Free,SGD)
● RNG: (DIfferent distributions based on apache math)
ND4J
ND4J IS PORTABLE
& CROSS-PLATFORM
DESKTOP CLOUD MOBILE
ND4J
ND4J SUPPORTS
JAVA
SCAL
A CLOJURE
ND4J
FAMILIAR SEMANTICS
NUMPY
MATLA
B
SCIKIT-
LEARN
ND4J
ADAM GIBSON
adam@skymind.io

More Related Content

PDF
Live coding java 8 urs peter
NLJUG
 
PDF
Type Checking Scala Spark Datasets: Dataset Transforms
John Nestor
 
PPTX
Scalable Applications with Scala
Nimrod Argov
 
PDF
Clojure - LISP on the JVM
Tikal Knowledge
 
PDF
JDK8 Functional API
Justin Lin
 
PDF
Scilab-by-dr-gomez-june2014
Ir. Dr. R.Badlishah Ahmad
 
PPTX
DevNexus 2018: Learn Java 8, lambdas and functional programming
Henri Tremblay
 
PPTX
Scilab: Computing Tool For Engineers
Naren P.R.
 
Live coding java 8 urs peter
NLJUG
 
Type Checking Scala Spark Datasets: Dataset Transforms
John Nestor
 
Scalable Applications with Scala
Nimrod Argov
 
Clojure - LISP on the JVM
Tikal Knowledge
 
JDK8 Functional API
Justin Lin
 
Scilab-by-dr-gomez-june2014
Ir. Dr. R.Badlishah Ahmad
 
DevNexus 2018: Learn Java 8, lambdas and functional programming
Henri Tremblay
 
Scilab: Computing Tool For Engineers
Naren P.R.
 

What's hot (20)

PPTX
Cape2013 scilab-workshop-19Oct13
Naren P.R.
 
PPTX
Enhancements in Java 9 Streams
Corneil du Plessis
 
PDF
Performance van Java 8 en verder - Jeroen Borgers
NLJUG
 
PPTX
Speaking Scala: Refactoring for Fun and Profit (Workshop)
Tomer Gabel
 
PDF
Lisp 1.5 - Running history
Norman Richards
 
PDF
Lecture1
Muhammad Fayyaz
 
PDF
Understanding Garbage Collection
Doug Hawkins
 
PDF
Spark: Taming Big Data
Leonardo Gamas
 
PPTX
Scilab
Kripal Priyadarshi
 
PDF
Generalized Linear Models in Spark MLlib and SparkR
Databricks
 
PPTX
Scilab Challenge@NTU 2014/2015 Project Briefing
TBSS Group
 
PDF
CLaSH HIW 2014
baaijcpr
 
PDF
Data Summer Conf 2018, “Hands-on with Apache Spark for Beginners (ENG)” — Akm...
Provectus
 
PDF
A Scala tutorial
Dima Statz
 
PDF
Comparing pregel related systems
Prashant Raaghav
 
PPTX
Apache Flink Deep-Dive @ Hadoop Summit 2015 in San Jose, CA
Robert Metzger
 
ODP
Knolx Session: Introducing Extractors in Scala
Ayush Mishra
 
ODP
Knolx Session : Built-In Control Structures in Scala
Ayush Mishra
 
PPTX
Experiments & Experiences with Scilab in Undergraduate Education
Naren P.R.
 
PDF
Run time data areas
shohan_slideshare
 
Cape2013 scilab-workshop-19Oct13
Naren P.R.
 
Enhancements in Java 9 Streams
Corneil du Plessis
 
Performance van Java 8 en verder - Jeroen Borgers
NLJUG
 
Speaking Scala: Refactoring for Fun and Profit (Workshop)
Tomer Gabel
 
Lisp 1.5 - Running history
Norman Richards
 
Lecture1
Muhammad Fayyaz
 
Understanding Garbage Collection
Doug Hawkins
 
Spark: Taming Big Data
Leonardo Gamas
 
Generalized Linear Models in Spark MLlib and SparkR
Databricks
 
Scilab Challenge@NTU 2014/2015 Project Briefing
TBSS Group
 
CLaSH HIW 2014
baaijcpr
 
Data Summer Conf 2018, “Hands-on with Apache Spark for Beginners (ENG)” — Akm...
Provectus
 
A Scala tutorial
Dima Statz
 
Comparing pregel related systems
Prashant Raaghav
 
Apache Flink Deep-Dive @ Hadoop Summit 2015 in San Jose, CA
Robert Metzger
 
Knolx Session: Introducing Extractors in Scala
Ayush Mishra
 
Knolx Session : Built-In Control Structures in Scala
Ayush Mishra
 
Experiments & Experiences with Scilab in Undergraduate Education
Naren P.R.
 
Run time data areas
shohan_slideshare
 
Ad

Viewers also liked (16)

PPTX
Productionizing dl from the ground up
Adam Gibson
 
PPTX
Future of ai on the jvm
Adam Gibson
 
PDF
Basic NLP with Python and NLTK
Francesco Bruni
 
PPTX
The Next Generation SharePoint: Powered by Text Analytics
Alyona Medelyan
 
PDF
Natural Language Toolkit (NLTK), Basics
Prakash Pimpale
 
PPTX
KiwiPyCon 2014 - NLP with Python tutorial
Alyona Medelyan
 
PPTX
NLTK - Natural Language Processing in Python
shanbady
 
PDF
Natural language processing (NLP) introduction
Robert Lujo
 
PDF
Practical Natural Language Processing
Jaganadh Gopinadhan
 
PDF
Natural Language Processing
Jaganadh Gopinadhan
 
PDF
Deep Learning with GPUs in Production - AI By the Bay
Adam Gibson
 
KEY
NLTK in 20 minutes
Jacob Perkins
 
PDF
Study: The Future of VR, AR and Self-Driving Cars
LinkedIn
 
PDF
Hype vs. Reality: The AI Explainer
Luminary Labs
 
PDF
Visual Design with Data
Seth Familian
 
PDF
Build Features, Not Apps
Natasha Murashev
 
Productionizing dl from the ground up
Adam Gibson
 
Future of ai on the jvm
Adam Gibson
 
Basic NLP with Python and NLTK
Francesco Bruni
 
The Next Generation SharePoint: Powered by Text Analytics
Alyona Medelyan
 
Natural Language Toolkit (NLTK), Basics
Prakash Pimpale
 
KiwiPyCon 2014 - NLP with Python tutorial
Alyona Medelyan
 
NLTK - Natural Language Processing in Python
shanbady
 
Natural language processing (NLP) introduction
Robert Lujo
 
Practical Natural Language Processing
Jaganadh Gopinadhan
 
Natural Language Processing
Jaganadh Gopinadhan
 
Deep Learning with GPUs in Production - AI By the Bay
Adam Gibson
 
NLTK in 20 minutes
Jacob Perkins
 
Study: The Future of VR, AR and Self-Driving Cars
LinkedIn
 
Hype vs. Reality: The AI Explainer
Luminary Labs
 
Visual Design with Data
Seth Familian
 
Build Features, Not Apps
Natasha Murashev
 
Ad

Similar to Nd4 j slides.pptx (20)

PDF
あなたのScalaを爆速にする7つの方法
x1 ichi
 
PPTX
Scientific computing on jruby
Prasun Anand
 
PDF
scalaliftoff2009.pdf
Hiroshi Ono
 
PDF
scalaliftoff2009.pdf
Hiroshi Ono
 
PDF
scalaliftoff2009.pdf
Hiroshi Ono
 
PDF
scalaliftoff2009.pdf
Hiroshi Ono
 
PDF
Java Performance Analysis on Linux with Flame Graphs
Brendan Gregg
 
PDF
20160520 what youneedtoknowaboutlambdas
shinolajla
 
PDF
CDAT - cdms numpy arrays - Introduction
Arulalan T
 
PDF
An Introduction to Scala - Blending OO and Functional Paradigms
Miles Sabin
 
PDF
From Lisp to Clojure/Incanter and RAn Introduction
elliando dias
 
ODP
Introduction to ScalaZ
Knoldus Inc.
 
PDF
Arrays in database systems, the next frontier?
PlanetData Network of Excellence
 
PPTX
Fosdem2017 Scientific computing on Jruby
Prasun Anand
 
PDF
Introduction to matlab
Santosh V
 
PDF
What You Need to Know About Lambdas - Jamie Allen (Typesafe)
jaxLondonConference
 
PPTX
Spark - The Ultimate Scala Collections by Martin Odersky
Spark Summit
 
PPTX
Scala final ppt vinay
Viplav Jain
 
PDF
An ntutorial[1]
Sudeshna Roy
 
PPTX
L 5 Numpy final learning and Coding
Kirti Verma
 
あなたのScalaを爆速にする7つの方法
x1 ichi
 
Scientific computing on jruby
Prasun Anand
 
scalaliftoff2009.pdf
Hiroshi Ono
 
scalaliftoff2009.pdf
Hiroshi Ono
 
scalaliftoff2009.pdf
Hiroshi Ono
 
scalaliftoff2009.pdf
Hiroshi Ono
 
Java Performance Analysis on Linux with Flame Graphs
Brendan Gregg
 
20160520 what youneedtoknowaboutlambdas
shinolajla
 
CDAT - cdms numpy arrays - Introduction
Arulalan T
 
An Introduction to Scala - Blending OO and Functional Paradigms
Miles Sabin
 
From Lisp to Clojure/Incanter and RAn Introduction
elliando dias
 
Introduction to ScalaZ
Knoldus Inc.
 
Arrays in database systems, the next frontier?
PlanetData Network of Excellence
 
Fosdem2017 Scientific computing on Jruby
Prasun Anand
 
Introduction to matlab
Santosh V
 
What You Need to Know About Lambdas - Jamie Allen (Typesafe)
jaxLondonConference
 
Spark - The Ultimate Scala Collections by Martin Odersky
Spark Summit
 
Scala final ppt vinay
Viplav Jain
 
An ntutorial[1]
Sudeshna Roy
 
L 5 Numpy final learning and Coding
Kirti Verma
 

More from Adam Gibson (20)

PDF
End to end MLworkflows
Adam Gibson
 
PDF
World Artificial Intelligence Conference Shanghai 2018
Adam Gibson
 
PPTX
Deploying signature verification with deep learning
Adam Gibson
 
ODP
Self driving computers active learning workflows with human interpretable ve...
Adam Gibson
 
PDF
Anomaly Detection and Automatic Labeling with Deep Learning
Adam Gibson
 
PDF
Strata Beijing 2017: Jumpy, a python interface for nd4j
Adam Gibson
 
PPTX
Boolan machine learning summit
Adam Gibson
 
PDF
Advanced deeplearning4j features
Adam Gibson
 
PDF
Big Data Analytics Tokyo
Adam Gibson
 
PDF
Wrangleconf Big Data Malaysia 2016
Adam Gibson
 
PDF
Distributed deep rl on spark strata singapore
Adam Gibson
 
PDF
Deep learning in production with the best
Adam Gibson
 
PPTX
Dl4j in the wild
Adam Gibson
 
PDF
SKIL - Dl4j in the wild meetup
Adam Gibson
 
PDF
Strata Beijing - Deep Learning in Production on Spark
Adam Gibson
 
PPTX
Anomaly detection in deep learning (Updated) English
Adam Gibson
 
PPTX
Skymind - Udacity China presentation
Adam Gibson
 
PDF
Anomaly Detection in Deep Learning (Updated)
Adam Gibson
 
PPTX
Hadoop summit 2016
Adam Gibson
 
PDF
Anomaly detection in deep learning
Adam Gibson
 
End to end MLworkflows
Adam Gibson
 
World Artificial Intelligence Conference Shanghai 2018
Adam Gibson
 
Deploying signature verification with deep learning
Adam Gibson
 
Self driving computers active learning workflows with human interpretable ve...
Adam Gibson
 
Anomaly Detection and Automatic Labeling with Deep Learning
Adam Gibson
 
Strata Beijing 2017: Jumpy, a python interface for nd4j
Adam Gibson
 
Boolan machine learning summit
Adam Gibson
 
Advanced deeplearning4j features
Adam Gibson
 
Big Data Analytics Tokyo
Adam Gibson
 
Wrangleconf Big Data Malaysia 2016
Adam Gibson
 
Distributed deep rl on spark strata singapore
Adam Gibson
 
Deep learning in production with the best
Adam Gibson
 
Dl4j in the wild
Adam Gibson
 
SKIL - Dl4j in the wild meetup
Adam Gibson
 
Strata Beijing - Deep Learning in Production on Spark
Adam Gibson
 
Anomaly detection in deep learning (Updated) English
Adam Gibson
 
Skymind - Udacity China presentation
Adam Gibson
 
Anomaly Detection in Deep Learning (Updated)
Adam Gibson
 
Hadoop summit 2016
Adam Gibson
 
Anomaly detection in deep learning
Adam Gibson
 

Recently uploaded (20)

PPTX
22PCOAM21 Session 2 Understanding Data Source.pptx
Guru Nanak Technical Institutions
 
PDF
Biodegradable Plastics: Innovations and Market Potential (www.kiu.ac.ug)
publication11
 
PDF
Advanced LangChain & RAG: Building a Financial AI Assistant with Real-Time Data
Soufiane Sejjari
 
PDF
Introduction to Data Science: data science process
ShivarkarSandip
 
PDF
FLEX-LNG-Company-Presentation-Nov-2017.pdf
jbloggzs
 
PPTX
Victory Precisions_Supplier Profile.pptx
victoryprecisions199
 
PDF
20ME702-Mechatronics-UNIT-1,UNIT-2,UNIT-3,UNIT-4,UNIT-5, 2025-2026
Mohanumar S
 
PDF
67243-Cooling and Heating & Calculation.pdf
DHAKA POLYTECHNIC
 
PPTX
Chapter_Seven_Construction_Reliability_Elective_III_Msc CM
SubashKumarBhattarai
 
PPTX
database slide on modern techniques for optimizing database queries.pptx
aky52024
 
PPTX
MT Chapter 1.pptx- Magnetic particle testing
ABCAnyBodyCanRelax
 
PDF
2025 Laurence Sigler - Advancing Decision Support. Content Management Ecommer...
Francisco Javier Mora Serrano
 
PPTX
easa module 3 funtamental electronics.pptx
tryanothert7
 
PDF
dse_final_merit_2025_26 gtgfffffcjjjuuyy
rushabhjain127
 
PDF
Traditional Exams vs Continuous Assessment in Boarding Schools.pdf
The Asian School
 
PPTX
Inventory management chapter in automation and robotics.
atisht0104
 
PDF
July 2025: Top 10 Read Articles Advanced Information Technology
ijait
 
PDF
Top 10 read articles In Managing Information Technology.pdf
IJMIT JOURNAL
 
PDF
Software Testing Tools - names and explanation
shruti533256
 
PPTX
Module2 Data Base Design- ER and NF.pptx
gomathisankariv2
 
22PCOAM21 Session 2 Understanding Data Source.pptx
Guru Nanak Technical Institutions
 
Biodegradable Plastics: Innovations and Market Potential (www.kiu.ac.ug)
publication11
 
Advanced LangChain & RAG: Building a Financial AI Assistant with Real-Time Data
Soufiane Sejjari
 
Introduction to Data Science: data science process
ShivarkarSandip
 
FLEX-LNG-Company-Presentation-Nov-2017.pdf
jbloggzs
 
Victory Precisions_Supplier Profile.pptx
victoryprecisions199
 
20ME702-Mechatronics-UNIT-1,UNIT-2,UNIT-3,UNIT-4,UNIT-5, 2025-2026
Mohanumar S
 
67243-Cooling and Heating & Calculation.pdf
DHAKA POLYTECHNIC
 
Chapter_Seven_Construction_Reliability_Elective_III_Msc CM
SubashKumarBhattarai
 
database slide on modern techniques for optimizing database queries.pptx
aky52024
 
MT Chapter 1.pptx- Magnetic particle testing
ABCAnyBodyCanRelax
 
2025 Laurence Sigler - Advancing Decision Support. Content Management Ecommer...
Francisco Javier Mora Serrano
 
easa module 3 funtamental electronics.pptx
tryanothert7
 
dse_final_merit_2025_26 gtgfffffcjjjuuyy
rushabhjain127
 
Traditional Exams vs Continuous Assessment in Boarding Schools.pdf
The Asian School
 
Inventory management chapter in automation and robotics.
atisht0104
 
July 2025: Top 10 Read Articles Advanced Information Technology
ijait
 
Top 10 read articles In Managing Information Technology.pdf
IJMIT JOURNAL
 
Software Testing Tools - names and explanation
shruti533256
 
Module2 Data Base Design- ER and NF.pptx
gomathisankariv2
 

Nd4 j slides.pptx