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
ThresholdedReLU
andLeakyReLU
into theReLU
layer. - As a result, the
ReLU
layer now takes new argumentsnegative_slope
andthreshold
, and therelu
function in the backend takes a newthreshold
argument. - Add
update_freq
argument inTensorBoard
callback, controlling how often to write TensorBoard logs. - Add the
exponential
function tokeras.activations
. - Add
data_format
argument in all 4Pooling1D
layers. - Add
interpolation
argument inUpSampling2D
layer and inresize_images
backend function, supporting modes"nearest"
(previous behavior, and new default) and"bilinear"
(new). - Add
dilation_rate
argument inConv2DTranspose
layer and inconv2d_transpose
backend function. - The
LearningRateScheduler
now receives thelr
key as part of thelogs
argument inon_epoch_end
(current value of the learning rate). - Make
GlobalAveragePooling1D
layer support masking. - The the
filepath
argumentsave_model
andmodel.save()
can now be ah5py.Group
instance. - Add argument
restore_best_weights
toEarlyStopping
callback (optionally reverts to the weights that obtained the highest monitored score value). - Add
dtype
argument tokeras.utils.to_categorical
. - Support
run_options
andrun_metadata
as 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_config
consistent 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