Areas of improvement
- API completeness & usability improvements
- Bug fixes
- Documentation improvements
API changes
- Keras models can now be safely pickled.
- Consolidate the functionality of the activation layers
ThresholdedReLUandLeakyReLUinto theReLUlayer. - As a result, the
ReLUlayer now takes new argumentsnegative_slopeandthreshold, and therelufunction in the backend takes a newthresholdargument. - Add
update_freqargument inTensorBoardcallback, controlling how often to write TensorBoard logs. - Add the
exponentialfunction tokeras.activations. - Add
data_formatargument in all 4Pooling1Dlayers. - Add
interpolationargument inUpSampling2Dlayer and inresize_imagesbackend function, supporting modes"nearest"(previous behavior, and new default) and"bilinear"(new). - Add
dilation_rateargument inConv2DTransposelayer and inconv2d_transposebackend function. - The
LearningRateSchedulernow receives thelrkey as part of thelogsargument inon_epoch_end(current value of the learning rate). - Make
GlobalAveragePooling1Dlayer support masking. - The the
filepathargumentsave_modelandmodel.save()can now be ah5py.Groupinstance. - Add argument
restore_best_weightstoEarlyStoppingcallback (optionally reverts to the weights that obtained the highest monitored score value). - Add
dtypeargument tokeras.utils.to_categorical. - Support
run_optionsandrun_metadataas optional session arguments inmodel.compile()for the TensorFlow backend.
Breaking changes
- Modify the return value of
Sequential.get_config(). Previously, the return value was a list of the config dictionaries of the layers of the model. Now, the return value is a dictionary with keyslayers,name, and an optional keybuild_input_shape. The old config is equivalent tonew_config['layers']. This makes the output ofget_configconsistent across all model classes.
Credits
Thanks to our 38 contributors whose commits are featured in this release:
@BertrandDechoux, @ChrisGll, @Dref360, @JamesHinshelwood, @MarcoAndreaBuchmann, @ageron, @alfasst, @blue-atom, @chasebrignac, @cshubhamrao, @danFromTelAviv, @datumbox, @farizrahman4u, @fchollet, @fuzzythecat, @gabrieldemarmiesse, @hadifar, @heytitle, @hsgkim, @jankrepl, @joelthchao, @knightXun, @kouml, @linjinjin123, @lvapeab, @nikoladze, @ozabluda, @qlzh727, @roywei, @rvinas, @sriyogesh94, @tacaswell, @taehoonlee, @tedyu, @xuhdev, @yanboliang, @yongzx, @yuanxiaosc