Jumpy allows you to use nd4j from python via pointers (no network communication required like a lot of python libraries).
Jumpy requires an uber jar (a jar file that contains nd4j and all its dependencies) and the path to this file is expected to be found in the environment variable JUMPY_CLASS_PATH
.
Easiest way to build the uber jar is by running mvn package
on the pom.xml
file:
git clone https://www.github.com/deeplearning4j/jumpy.git
cd jumpy
mvn package
This will create a jar file called dl4j-1.0.0-SNAPSHOT.jar
in the target
directory. Set JUMPY_CLASS_PATH
environment variable to path of this file.
export JUMPY_CLASS_PATH='/...../jumpy/target/dl4j-1.0.0-SNAPSHOT.jar'
Finally, either install jumpy via pip:
pip install jumpy
Or from source:
python setup.py install
Just like numpy, you can initialize an array using .zeros()
or .ones()
import jumpy as jp
x = jp.zeros((32, 16))
y = jp.ones((32, 16))
A numpy ndarray
instance can be converted to a jumpy ndarray
instance (and vice-versa) without copying the data
import jumpy as jp
import numpy as np
x_np = np.random.random((100, 50))
x_jp = jp.array(x_np)
Simply call the .numpy()
method of jumpy.ndarray.ndarray
import jumpy as jp
x_jp = jp.zeros((100,50))
x_np = x_jp.numpy()
+
-
*
/
+=
-=
*=
/=
are overloaded and broadcasting is supported.jumpy/ops/
to see available ops.jumpy/ops/
), it's quite easy to add new ones.