Skip to content
This repository has been archived by the owner. It is now read-only.
A Python interface for ND4J: A Numpy Array Wrapper for the JVM
Branch: master
Clone or download
Latest commit 3eac578 May 21, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
benchmarks benchmark running Mar 28, 2018
jumpy
tests tests Mar 28, 2018
.gitignore add proper python gitignore, to ignore local build files etc Aug 1, 2017
LICENSE
README.md Update README.md May 21, 2018
pom.xml Update dl4j.version to 1.0.0-beta May 18, 2018
pytest.ini remove pytest-xdist dependent option Jul 18, 2017
requirements.txt Moved to PEP8 format, fixed module import errors and update the Pom file Apr 23, 2018
setup.cfg initial commit Apr 3, 2017
setup.py Moved to PEP8 format, fixed module import errors and update the Pom file Apr 23, 2018

README.md

IMPORTANT: THIS REPOSITORY HAS BEEN ARCHIVED AND JUMPY HAS BEEN MOVED

Jumpy has been migrated to a sub-module of the mono-repository here: https://github.com/deeplearning4j/deeplearning4j All future development will continue at that repository, which should be used for all issues and pull requests.

Jumpy: Python interface for nd4j

Join the chat at https://gitter.im/deeplearning4j/deeplearning4j

Jumpy allows you to use nd4j from python via pointers (no network communication required like a lot of python libraries).

Installation

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

Using Jumpy

Creating arrays

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))

Converting numpy array to jumpy array

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)

Converting jumpy array to numpy array

Simply call the .numpy() method of jumpy.ndarray.ndarray

import jumpy as jp

x_jp = jp.zeros((100,50))
x_np = x_jp.numpy()

Operations

  • Basic operators like + - * / += -= *= /= are overloaded and broadcasting is supported.
  • Indexing, slicing and assignment behaviour has been made as close to numpy as possible.
  • Check jumpy/ops/ to see available ops.

Contribute

  • Check for open issues, or open a new issue to start a discussion around a feature idea or a bug.
  • We could use more ops! Have a look at available ops (jumpy/ops/), it's quite easy to add new ones.
  • Send a pull request and bug us on Gitter until it gets merged and published. :)
You can’t perform that action at this time.