Keras Issues
Up to now, we have generally supported ALL the layers of Keras 1.2.2 to be loaded into BigDL.
Self-defined Keras layers or Lambda
layers are not supported for now. Weight sharing is not supported for now.
This page lists the so-far unsupported arguments for specific layers and some known issues.
Unsupported Layer Arguments
For the following arguments, currently only the default values are expected and supported.
- For
initializations
,lecun_uniform
,orthogonal
,glorot_normal
,he_normal
andhe_uniform
are not supported for all layers. For those unsupported initialization methods, we will default values from BigDL instead. Thus in this case, you are strongly recommended to load the weights from Keras together with its model definition. - Constraints (
W_constraint
,b_constraint
, etc.) are not supported for all layers. activity_regularizer
is not supported for all layers.- For
Dropout
,noise_shape
is not supported. - For
Merge
layers,node_indices
,tensor_indices
,output_mask
are not supported.Lambda/function
as merge mode is not supported. - For
Merge
layers with mode'dot'
or'cosine'
, only2D
input withdot_axes=1
is supported. - For
AtrousConvolution1D
, onlybias=True
is supported. - For
AtrousConvolution2D
, onlydim_ordering='th'
andbias=True
are supported. - For
DeConvolution2D
, onlydim_ordering='th'
is supported. Forborder_mode='same'
, only symmetric padding on both sides is supported. - For
Convolution3D
, onlydim_ordering='th'
is supported. - For
UpSampling3D
, onlydim_ordering='th'
is supported. - For
MaxPooling3D
, onlydim_ordering='th'
andborder_mode='valid'
are supported. - For
AveragePooling3D
, onlydim_ordering='th'
andborder_mode='valid'
are supported. - For
GlobalMaxPooling3D
, onlydim_ordering='th'
is supported. - For
GlobalAveragePooling3D
, onlydim_ordering='th'
is supported. - For all
Recurrent
layers (SimpleRNN
,GRU
,LSTM
andConvLSTM2D
),stateful
,consume_less
,dropout_W
anddropout_U
are not supported. If RNNs are wrapped withBidirectional
, onlyreturn_sequences=True
is supported. - For
ConvLSTM2D
, onlyborder_mode='valid'
,nb_row==nb_col
(square kernel) andsubsample[0]==subsample[1]
(equal strides) are supported. - For
Embedding
,mask_zero
anddropout
are not supported. - For
PReLU
,init
,weights
andshared_axes
are not supported. - For
ParametricSoftplus
,weights
andshared_axes
are not supported. Onlyalpha_init = 1/beta_init
is supported. - For
BatchNormalization
, only 4D input withmode=0
is supported. Onlychannel_first
(dim_ordering='th'
withaxis=1
) andchannel_last
(dim_ordering='tf'
withaxis=-1
) is supported.gamma_regularizer
andbeta_regularizer
are not supported.
Known Issues
- For some layers such as
ZeroPadding2D
,ZeroPadding3D
,Cropping2D
,Cropping3D
, etc., Keras doesn't savedim_ordering
into config. In this case, the defaultdim_ordering
found in~/.keras/keras.json
will be used instead. - For
ConvLSTM2D
, Keras doesn't saveW_regularizer
,U_regularizer
andb_regularizer
into config. In this case, the defaultNone
will be used instead.