Go to file
Alex Black 2a488efb1b
DL4J CNN2D layers NHWC support (#376)
* First steps for DL4J NHWC support

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

* Conv2d NHWC forward pass works

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

* Conv2d NHWC backprop

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

* Conv2d backprop + fixes; subsampling fwd/bwd; improve tests

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

* Zero padding layer NHWC support

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

* Cropping2D NHWC support

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

* Deconv2d NHWC + clean up NHWC test framework code duplication

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

* CnnLossLayer NHWC support

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

* Upsampling and batchnorm NHWC support

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

* Space to depth

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

* Depthwise pt1

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

* Depthwise pt2 and LRN

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

* SpaceToBatch

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

* LocallyConnected2D

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

* Fix depthwise nhwc support

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

* Upsampling NHWC - workaround for #8857

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

* Workaround for #8859 - SpaceToDepth

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

* Batch normalization workaround - #8860

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

* cuDNN fixes

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

* Switch cudnn conv2d to permute based impl due to 'true' NHWC not working

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

* cuDNN subsampling helper NHWC fix

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

* Upsampling/batchnorm fixes

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

* Small fixes

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

* CNN2D NHWC gradient checks (make CNNGradientCheckTest parameterized)

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

* Gradient checks, SConv2d, bunch of fixes

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

* Small fixes

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

* Global pooling NHWC support

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

* Also test both float and double for cuDNN NHWC tests

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

* Javadoc

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

* Ignore failing keras import test until next PR

Signed-off-by: Alex Black <blacka101@gmail.com>
2020-04-22 22:54:29 +10:00
.github Update contributing and issue/PR templates (#7934) 2019-06-22 16:21:27 +10:00
arbiter Fixes for codegen generated classes and build improvements (#367) 2020-04-20 10:27:13 +10:00
datavec nd4j-jackson dependency fix (#398) 2020-04-20 22:33:11 +10:00
deeplearning4j DL4J CNN2D layers NHWC support (#376) 2020-04-22 22:54:29 +10:00
docs Update dependencies to just released JavaCPP and JavaCV 1.5.3 (#374) 2020-04-14 19:36:14 +10:00
jumpy Update links to eclipse repos (#252) 2019-09-10 19:09:46 +10:00
libnd4j Shugeo exponential distribution infinities fix (#403) 2020-04-22 12:12:00 +03:00
nd4j disable mmap test for cuda 2020-04-22 12:57:26 +03:00
nd4s SameDiff multi-threaded inference (#263) 2020-03-20 21:24:39 +11:00
pydatavec Minor edits to README for pydatavec and pydl4j (#8336) 2019-12-06 08:10:38 +01:00
pydl4j Update dependencies to just released JavaCPP and JavaCV 1.5.3 (#374) 2020-04-14 19:36:14 +10:00
rl4j RL4J: Add Agent and Environment (#358) 2020-04-22 09:13:08 +09:00
scalnet Timeouts and scala 2.12 for deeplearning4j-nlp-korean workaround (#380) 2020-04-20 10:26:00 +10:00
.gitignore RL4J: Sanitize async learner (#327) 2020-04-20 11:21:01 +09:00
CONTRIBUTING.md Various fixes (#43) 2019-11-14 19:38:20 +11:00
Jenkinsfile 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 Eclipse -> Konduit update (#188) 2020-01-27 16:03:00 +11:00
change-cuda-versions.sh Update dependencies to just released JavaCPP and JavaCV 1.5.3 (#374) 2020-04-14 19:36:14 +10:00
change-scala-versions.sh Timeouts and scala 2.12 for deeplearning4j-nlp-korean workaround (#380) 2020-04-20 10:26:00 +10:00
perform-release.sh Eclipse Migration Initial Commit 2019-06-06 15:21:15 +03:00
pom.xml Update dependencies to just released JavaCPP and JavaCV 1.5.3 (#374) 2020-04-14 19:36:14 +10:00

README.md

Monorepo of Deeplearning4j

Welcome to the new monorepo of Deeplearning4j that contains the source code for all the following projects, in addition to the original repository of Deeplearning4j moved to deeplearning4j:

To build everything, we can use commands like

./change-cuda-versions.sh x.x
./change-scala-versions.sh 2.xx
./change-spark-versions.sh x
mvn clean install -Dmaven.test.skip -Dlibnd4j.cuda=x.x -Dlibnd4j.compute=xx

or

mvn -B -V -U clean install -pl '!jumpy,!pydatavec,!pydl4j' -Dlibnd4j.platform=linux-x86_64 -Dlibnd4j.chip=cuda -Dlibnd4j.cuda=9.2 -Dlibnd4j.compute=<your GPU CC> -Djavacpp.platform=linux-x86_64 -Dmaven.test.skip=true

An example of GPU "CC" or compute capability is 61 for Titan X Pascal.

Want some examples?

We have separate repository with various examples available: https://github.com/eclipse/deeplearning4j-examples

In the examples repo, you'll also find a tutorial series in Zeppelin: https://github.com/eclipse/deeplearning4j-examples/tree/master/tutorials