1.0.0-beta
- Performance and memory optimizations for DL4J
- New or enhanced layers:
- Added support to get input/activation types for each layer from configuration:
ComputationGraphConfiguration.getLayerActivationTypes(InputType...)
,ComputationGraphConfiguration.GraphBuilder.getLayerActivationTypes()
,NeuralNetConfiguration.ListBuilder.getLayerActivationTypes()
,MultiLayerConfiguration.getLayerActivationTypes(InputType)
methods Link - Evaluation.stats() now prints confusion matrix in easier to read matrix format, rather than list format Link
- Added ModelSerializer.addObjectToFile, .getObjectFromFile and .listObjectsInFile for storing arbitrary Java objects in same file as saved network Link
- Added performance (hardware) listeners:
SystemInfoPrintListener
andSystemInfoFilePrintListener
Link
- RecordReaderMultiDataSetIterator will no longer try to convert unused columns to numerical values Link
- Added new model zoo models:
- (to do)
- Fix for RecordReaderMulitDataSetIterator where output could be incorrect for some constructors Link
- Fixed issue where ComputationGraph topological sort may not be consistent on all platforms; could sometimes break ComputationGraphs (with multiple valid topological orderings) trained on PC and deployed on Android Link
- deeplearning4j-cuda no longer throws exceptions if present on classpath with nd4j-native backend set to higher priority Link
- WorkspaceMode.SINGLE and SEPARATE have been deprecated; use WorkspaceMode.ENABLED instead
- Internal layer API changes: custom layers will need to be updated to the new Layer API - see built-in layers or custom layer example
- Custom layers etc in pre-1.0.0-beta JSON (ModelSerializer) format need to be registered before they can be deserialized due to JSON format change. Built-in layers and models saved in 1.0.0-beta or later do not require this. Use
NeuralNetConfiguration.registerLegacyCustomClassesForJSON(Class)
for this purpose - IterationListener has been deprecated in favor of TrainingListener. For existing custom listeners, switch from
implements TrainingListener
toextends BaseTrainingListener
Link - ExistingDataSetIterator has been deprecated; use
fit(DataSetIterator, int numEpochs)
method instead
- ComputationGraph TrainingListener onEpochStart and onEpochEnd methods are not being called correctly
- DL4J Zoo Model FaceNetNN4Small2 model configuration is incorrect, causing issues during forward pass
- Early stopping score calculators with values thar should be maximized (accuracy, f1 etc) are not working properly (values are minimized not maximized). Workaround: override
ScoreCalculator.calculateScore(...)
and return1.0 - super.calculateScore(...)
.
- Not all op gradients implemented for automatic differentiation
- Vast majority of new operations added in 1.0.0-beta do NOT use GPU yet.
- Fixed issue with ImageRecordReader/ParentPathLabelGenerator incorrectly filtering directories containing
.
character(s) Link
- Added LayerSpace for OCNN (one-class neural network)
- Execution now waits for last model(s) to complete before returning when a termination condition is hit Link
Last modified 9mo ago