cavis/scalnet
Alex Black 88d3c4867f
Refactor packages to fix split package issues (#411)
* Refactor nd4j-common: org.nd4j.* -> org.nd4j.common.*

Signed-off-by: Alex Black <blacka101@gmail.com>

* Fix CUDA (missed nd4j-common package refactoring changes)

Signed-off-by: Alex Black <blacka101@gmail.com>

* nd4j-kryo: org.nd4j -> org.nd4j.kryo

Signed-off-by: Alex Black <blacka101@gmail.com>

* Fix nd4j-common for deeplearning4j-cuda

Signed-off-by: Alex Black <blacka101@gmail.com>

* nd4j-grppc-client: org.nd4j.graph -> org.nd4j.remote.grpc

Signed-off-by: Alex Black <blacka101@gmail.com>

* deeplearning4j-common: org.deeplearning4.* -> org.deeplearning4j.common.*

Signed-off-by: Alex Black <blacka101@gmail.com>

* deeplearning4j-core: org.deeplearning4j.* -> org.deeplearning.core.*

Signed-off-by: Alex Black <blacka101@gmail.com>

* deeplearning4j-cuda: org.deeplearning4j.nn.layers.* -> org.deeplearning4j.cuda.*

Signed-off-by: Alex Black <blacka101@gmail.com>

* Import fixes

Signed-off-by: Alex Black <blacka101@gmail.com>

* deeplearning4j-nlp-*: org.deeplearning4.text.* -> org.deeplearning4j.nlp.(language).*

Signed-off-by: Alex Black <blacka101@gmail.com>

* deeplearning4j-ui-model: org.deeplearning4j.ui -> org.deeplearning4j.ui.model

Signed-off-by: Alex Black <blacka101@gmail.com>

* datavec-spark-inference-{server/model/client}: org.datavec.spark.transform -> org.datavec.spark.inference.{server/model/client}

Signed-off-by: Alex Black <blacka101@gmail.com>

* datavec-jdbc: org.datavec.api -> org.datavec.jdbc

Signed-off-by: Alex Black <blacka101@gmail.com>

* Delete org.deeplearning4j.datasets.iterator.impl.MultiDataSetIteratorAdapter in favor of (essentially identical) org.nd4j.linalg.dataset.adapter.MultiDataSetIteratorAdapter

Signed-off-by: Alex Black <blacka101@gmail.com>

* ND4S fixes

Signed-off-by: Alex Black <blacka101@gmail.com>

* Fixes

Signed-off-by: Alex Black <blacka101@gmail.com>

* nd4j-common-tests: org.nd4j.* -> org.nd4j.common.tests

Signed-off-by: Alex Black <blacka101@gmail.com>

* Trigger CI

Signed-off-by: Alex Black <blacka101@gmail.com>

* Fixes

Signed-off-by: Alex Black <blacka101@gmail.com>

* #8878 Ignore CUDA tests on modules with 'nd4j-native under cuda' issue

Signed-off-by: Alex Black <blacka101@gmail.com>

* Fix bad imports in tests

Signed-off-by: Alex Black <blacka101@gmail.com>

* Add ignore on test (already failing) due to #8882

Signed-off-by: Alex Black <blacka101@gmail.com>

* Import fixes

Signed-off-by: Alex Black <blacka101@gmail.com>

* Additional import fixes

Signed-off-by: Alex Black <blacka101@gmail.com>
2020-04-29 11:19:26 +10:00
..
project Eclipse Migration Initial Commit 2019-06-06 15:21:15 +03:00
src Refactor packages to fix split package issues (#411) 2020-04-29 11:19:26 +10:00
.gitignore Eclipse Migration Initial Commit 2019-06-06 15:21:15 +03:00
.scalafmt.conf Eclipse Migration Initial Commit 2019-06-06 15:21:15 +03:00
.travis.yml Eclipse Migration Initial Commit 2019-06-06 15:21:15 +03:00
LICENSE Eclipse Migration Initial Commit 2019-06-06 15:21:15 +03:00
README.md fix link to scalnet examples (#8354) 2019-11-05 11:12:08 +11:00
build.sbt Eclipse Migration Initial Commit 2019-06-06 15:21:15 +03:00
buildmultiplescalaversions.sh Eclipse Migration Initial Commit 2019-06-06 15:21:15 +03:00
pom.xml Add support for CUDA 10.2 (#89) 2019-11-29 16:31:03 +11:00
sbt-pom.xml Eclipse Migration Initial Commit 2019-06-06 15:21:15 +03:00

README.md

ScalNet

ScalNet is a wrapper around Deeplearning4J emulating a Keras like API for deep learning.

ScalNet is released under an Apache 2.0 license. By contributing code to this repository, you agree to make your contribution available under an Apache 2.0 license.

ScalNet is STILL ALPHA and we are open sourcing this in an attempt to get feedback.

Come in to gitter if you are interested in learning more.

Prerequisites

  • JDK 8
  • Scala 2.11.+ or 2.10.x
  • SBT and Maven

How to build

ScalNet depends on Deeplearning4j and ND4J

sbt

ScalNet uses sbt, but due to resolving issues, you must have Maven available to copy some nd4j-native dependencies in your classpath, in order to run the examples.

This is automatically done in build.sbt and you don't need to do anything besides having maven installed.

If you use sbt in your own project, you will probably have to proceed the same way. When ScalNet will be using releases instead of snapshots, this won't be necessary anymore.

To build, use:

$ sbt package

Alternatively, for some quick testing or usage in Jupyter for example, run:

$ sbt assembly

To obtain a JAR file with all needed dependencies.

See the official sbt documentation for more on how to use sbt.

Maven

Althought Maven is mainly used for release management, you can use the provided pom.xml to import ScalNet as a Maven project.

Target for scala 2.11

$ change-scala-versions.sh "2.11"
$ mvn package

Target for scala 2.10

$ change-scala-versions.sh "2.10"
$ mvn package

How to use

sbt

libraryDependencies ++= "org.deeplearning4j" % "scalnet_2.11" % "0.9.2-SNAPSHOT"

Maven

<dependency>
    <groupId>org.deeplearning4j</groupId>
    <artifactId>scalnet_2.11</artifactId>
    <version>0.9.2-SNAPSHOT</version>
</dependency>

Getting started

ScalNet uses a Keras like API, wrapping deeplearning4j to make it more easier to start with.

Also, since you can call Java code from Scala, you can still use everything from deeplearning4j.

To see what ScalNet has to offer, run one of the [examples] (https://github.com/eclipse/deeplearning4j/tree/master/scalnet/src/test/scala/org/deeplearning4j/scalnet/examples) it ships with.

Please note that those examples are not state-of-the-art in any way, they're just enough to get you started.