c98390a27a
Signed-off-by: Serhii Shepel <9946053+sshepel@users.noreply.github.com> |
||
---|---|---|
.. | ||
benchmarks | ||
jumpy | ||
tests | ||
.gitignore | ||
.travis.yml | ||
LICENSE | ||
README.md | ||
pom.xml | ||
pytest.ini | ||
release.sh | ||
requirements.txt | ||
setup.cfg | ||
setup.py |
README.md
Jumpy: Python interface for nd4j
Jumpy allows you to use ND4J from Python without any network communication. Many other Python libraries bridging Java
have considerable overhead, jumpy uses pointers to directly access your numpy arrays. Under the hood, Jumpy uses pydl4j
for dependency management and pyjnius
to load Java classes.
Installation
Jumpy is on PyPI, simply install it with
pip install jumpy
or build it 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. :)