1.0.0-beta6
- Added support for CUDA 10.2. 1.0.0-beta6 released with CUDA 9.2, 10.0, 10.1 and 10.2 support
- SameDiff optimizations - memory use for inference and training significantly reduced, with some performance improvements also
- Deeplearning4j UI - Play framework replaced with Vertx; deeplearning4j-ui dependency now no longer has Scala dependency or Scala version suffix Link
- Note: No API changes, only artifact ID change: replace
deeplearning4j-ui_2.1x
withdeeplearning4j-ui
- ND4j namespace operation methods: operations are available through the Nd4j.math, Nd4j.random, Nd4j.bitwise, Nd4j.nn (neural network), for example
Nd4j.math.abs(INDArray)
,Nd4j.random.logNormal
etc Link.- Note that additional ND4J namespaces API will have additions (new namespaces and methods), and may have some API changes, in the next release
- OpenMP replaced with thread pool c++ parallelism framework; enabled c++ parallelism for platforms without C++-level threading for operations
- DNNL (MKL-DNN) upgraded to version 1.1
- Added causal convolution mode for Convolution1D layer (ConvolutionMode.Causal) and added causal conv1d support for Keras import Link
- Fixed various integer casts to avoid overflows for very large arrays (with dimensions or length > Integer.MAX_VALUE) Link
- Deeplearning4j SameDiff layers now use DL4J workspaces for better performance and reduced memory consumption Link
- Fixed an issue where ComputationGraph instances with a single input going into multiple embedding layers could throw a NPE Link
- Fixed an issue where loss function weights were not automatically cast to network datatype, resulting in an exception if not already correct type Link
- Fixed an issue with KNN where getMostPopulatedClusters actually returned the least populated clusters Link
- Deeplearning4j UI artifact ID has changed:
deeplearning4j-ui_2.1x
(beta5 and earlier) withdeeplearning4j-ui
- Added ND4j namespaces to match SameDiff: Nd4j.math, Nd4j.random, Nd4j.bitwise, Nd4j.nn (neural network) Link
- ND4J/SameDiff: BitCast, CompareAndBitpack, DivideNoNan, DrawBoundingBoxes, FakeQuantWithMinMaxVarsPerChannel ops added Link
- Uniform distribution op now supports random integer generation, not just random floating point generation Link
- Added the ability to disable platform helpers (DNNL/MKLDNN etc) via
Nd4jCPU.Environment.getInstance().allowHelpers(false);
andNd4jCuda.Environment.getInstance().allowHelpers(false);
Link
- OpenMP replaced with ThreadPool abstraction, enables parallelism for platforms without OpenMP support Link
- Removed
SameDiff.outputs()
“best guess ” output inference due to being unreliable, in favor of explicitSameDiff.setOutputs(String...)
call Link - Switched SameDiff variable initialization to non-lazy, to avoid unexpected behaviour when mixing execution and ND4J RNG seed setting Link
- Moved CUDA build version and device logging to Java logging, from c++ stdout to enable disabling logging (via ND4J config or slf4j config) Link
- Fixed an issue where some ND4J methods could fail when the library is compiled on Java 9+ but run on Java 8 Link
- Fixed some issues for pad and mirror_pad ops to ensure they conform with Tensorflow for imported networks Link
Last modified 9mo ago