-
Notifications
You must be signed in to change notification settings - Fork 223
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Model-inside-a-model not displayed in browser #16
Comments
single channel images is a problem to begin with. |
@varoudis Can't make a plot, using windows and graphviz doesnt work on it with keras. Is this a single channel image issue or a problem with the graph render? |
This is the best I can do to approximate the model
the vggnets are their own model. |
You're right this has to do with having a model inside a model - which is a case that the client side graph generation is failing to handle. Should be a quick fix, I'll look into it. |
Thanks @jakebian. Happy to pull and test. |
Do you need any help with this? @jakebian |
Hey sorry didnt get to this yet - I'll get to it today hopefully |
Complex model's do not display in browser. I think this linked to having a model.engine.training.Model inside of a model.engine.training.Model.
Example follows...
My model's json. Inputs 400x400 grayscale images.
model.to_json()
'{"class_name": "Model", "config": {"input_layers": [["input_1", 0, 0]], "name": "model_3", "layers": [{"inbound_nodes": [], "name": "input_1", "config": {"batch_input_shape": [null, 1, 400, 400], "input_dtype": "float32", "name": "input_1"}, "class_name": "InputLayer"}, {"inbound_nodes": [[["input_1", 0, 0]]], "name": "averagepooling2d_2", "config": {"strides": [4, 4], "border_mode": "valid", "trainable": true, "name": "averagepooling2d_2", "dim_ordering": "th", "pool_size": [4, 4]}, "class_name": "AveragePooling2D"}, {"inbound_nodes": [[["input_1", 0, 0]]], "name": "averagepooling2d_1", "config": {"strides": [2, 2], "border_mode": "valid", "trainable": true, "name": "averagepooling2d_1", "dim_ordering": "th", "pool_size": [2, 2]}, "class_name": "AveragePooling2D"}, {"inbound_nodes": [[["averagepooling2d_2", 0, 0]]], "name": "gaussiannoise_2", "config": {"trainable": true, "name": "gaussiannoise_2", "sigma": 0.1}, "class_name": "GaussianNoise"}, {"inbound_nodes": [[["averagepooling2d_1", 0, 0]]], "name": "gaussiannoise_1", "config": {"trainable": true, "name": "gaussiannoise_1", "sigma": 0.1}, "class_name": "GaussianNoise"}, {"inbound_nodes": [[["gaussiannoise_2", 0, 0]]], "name": "flatten_2", "config": {"trainable": true, "name": "flatten_2"}, "class_name": "Flatten"}, {"inbound_nodes": [[["gaussiannoise_1", 0, 0]]], "name": "flatten_1", "config": {"trainable": true, "name": "flatten_1"}, "class_name": "Flatten"}, {"inbound_nodes": [[["flatten_2", 0, 0]]], "name": "repeatvector_2", "config": {"trainable": true, "name": "repeatvector_2", "n": 3}, "class_name": "RepeatVector"}, {"inbound_nodes": [[["flatten_1", 0, 0]]], "name": "repeatvector_1", "config": {"trainable": true, "name": "repeatvector_1", "n": 3}, "class_name": "RepeatVector"}, {"inbound_nodes": [[["repeatvector_2", 0, 0]]], "name": "reshape_2", "config": {"trainable": true, "name": "reshape_2", "target_shape": [3, 100, 100]}, "class_name": "Reshape"}, {"inbound_nodes": [[["repeatvector_1", 0, 0]]], "name": "reshape_1", "config": {"trainable": true, "name": "reshape_1", "target_shape": [3, 200, 200]}, "class_name": "Reshape"}, {"inbound_nodes": [[["reshape_2", 0, 0]]], "name": "model_2", "config": {"input_layers": [["input_3", 0, 0]], "name": "model_2", "layers": [{"inbound_nodes": [], "name": "input_3", "config": {"batch_input_shape": [null, 3, null, null], "input_dtype": "float32", "name": "input_3"}, "class_name": "InputLayer"}, {"inbound_nodes": [[["input_3", 0, 0]]], "name": "block1_conv1_2", "config": {"nb_filter": 64, "activity_regularizer": null, "b_regularizer": null, "border_mode": "same", "trainable": false, "W_constraint": null, "init": "glorot_uniform", "dim_ordering": "th", "activation": "relu", "nb_col": 3, "W_regularizer": null, "b_constraint": null, "bias": true, "name": "block1_conv1_2", "subsample": [1, 1], "nb_row": 3}, "class_name": "Convolution2D"}, {"inbound_nodes": [[["block1_conv1_2", 0, 0]]], "name": "block1_conv2_2", "config": {"nb_filter": 64, "activity_regularizer": null, "b_regularizer": null, "border_mode": "same", "trainable": false, "W_constraint": null, "init": "glorot_uniform", "dim_ordering": "th", "activation": "relu", "nb_col": 3, "W_regularizer": null, "b_constraint": null, "bias": true, "name": "block1_conv2_2", "subsample": [1, 1], "nb_row": 3}, "class_name": "Convolution2D"}, {"inbound_nodes": [[["block1_conv2_2", 0, 0]]], "name": "block1_pool_2", "config": {"strides": [2, 2], "border_mode": "valid", "trainable": true, "name": "block1_pool_2", "dim_ordering": "th", "pool_size": [2, 2]}, "class_name": "MaxPooling2D"}, {"inbound_nodes": [[["block1_pool_2", 0, 0]]], "name": "block2_conv1_2", "config": {"nb_filter": 128, "activity_regularizer": null, "b_regularizer": null, "border_mode": "same", "trainable": false, "W_constraint": null, "init": "glorot_uniform", "dim_ordering": "th", "activation": "relu", "nb_col": 3, "W_regularizer": null, "b_constraint": null, "bias": true, "name": "block2_conv1_2", "subsample": [1, 1], "nb_row": 3}, "class_name": "Convolution2D"}, {"inbound_nodes": [[["block2_conv1_2", 0, 0]]], "name": "block2_conv2_2", "config": {"nb_filter": 128, "activity_regularizer": null, "b_regularizer": null, "border_mode": "same", "trainable": false, "W_constraint": null, "init": "glorot_uniform", "dim_ordering": "th", "activation": "relu", "nb_col": 3, "W_regularizer": null, "b_constraint": null, "bias": true, "name": "block2_conv2_2", "subsample": [1, 1], "nb_row": 3}, "class_name": "Convolution2D"}, {"inbound_nodes": [[["block2_conv2_2", 0, 0]]], "name": "block2_pool_2", "config": {"strides": [2, 2], "border_mode": "valid", "trainable": true, "name": "block2_pool_2", "dim_ordering": "th", "pool_size": [2, 2]}, "class_name": "MaxPooling2D"}, {"inbound_nodes": [[["block2_pool_2", 0, 0]]], "name": "block3_conv1_2", "config": {"nb_filter": 256, "activity_regularizer": null, "b_regularizer": null, "border_mode": "same", "trainable": false, "W_constraint": null, "init": "glorot_uniform", "dim_ordering": "th", "activation": "relu", "nb_col": 3, "W_regularizer": null, "b_constraint": null, "bias": true, "name": "block3_conv1_2", "subsample": [1, 1], "nb_row": 3}, "class_name": "Convolution2D"}, {"inbound_nodes": [[["block3_conv1_2", 0, 0]]], "name": "block3_conv2_2", "config": {"nb_filter": 256, "activity_regularizer": null, "b_regularizer": null, "border_mode": "same", "trainable": false, "W_constraint": null, "init": "glorot_uniform", "dim_ordering": "th", "activation": "relu", "nb_col": 3, "W_regularizer": null, "b_constraint": null, "bias": true, "name": "block3_conv2_2", "subsample": [1, 1], "nb_row": 3}, "class_name": "Convolution2D"}, {"inbound_nodes": [[["block3_conv2_2", 0, 0]]], "name": "block3_conv3_2", "config": {"nb_filter": 256, "activity_regularizer": null, "b_regularizer": null, "border_mode": "same", "trainable": false, "W_constraint": null, "init": "glorot_uniform", "dim_ordering": "th", "activation": "relu", "nb_col": 3, "W_regularizer": null, "b_constraint": null, "bias": true, "name": "block3_conv3_2", "subsample": [1, 1], "nb_row": 3}, "class_name": "Convolution2D"}, {"inbound_nodes": [[["block3_conv3_2", 0, 0]]], "name": "block3_pool_2", "config": {"strides": [2, 2], "border_mode": "valid", "trainable": true, "name": "block3_pool_2", "dim_ordering": "th", "pool_size": [2, 2]}, "class_name": "MaxPooling2D"}, {"inbound_nodes": [[["block3_pool_2", 0, 0]]], "name": "block4_conv1_2", "config": {"nb_filter": 512, "activity_regularizer": null, "b_regularizer": null, "border_mode": "same", "trainable": false, "W_constraint": null, "init": "glorot_uniform", "dim_ordering": "th", "activation": "relu", "nb_col": 3, "W_regularizer": null, "b_constraint": null, "bias": true, "name": "block4_conv1_2", "subsample": [1, 1], "nb_row": 3}, "class_name": "Convolution2D"}, {"inbound_nodes": [[["block4_conv1_2", 0, 0]]], "name": "block4_conv2_2", "config": {"nb_filter": 512, "activity_regularizer": null, "b_regularizer": null, "border_mode": "same", "trainable": false, "W_constraint": null, "init": "glorot_uniform", "dim_ordering": "th", "activation": "relu", "nb_col": 3, "W_regularizer": null, "b_constraint": null, "bias": true, "name": "block4_conv2_2", "subsample": [1, 1], "nb_row": 3}, "class_name": "Convolution2D"}, {"inbound_nodes": [[["block4_conv2_2", 0, 0]]], "name": "block4_conv3_2", "config": {"nb_filter": 512, "activity_regularizer": null, "b_regularizer": null, "border_mode": "same", "trainable": false, "W_constraint": null, "init": "glorot_uniform", "dim_ordering": "th", "activation": "relu", "nb_col": 3, "W_regularizer": null, "b_constraint": null, "bias": true, "name": "block4_conv3_2", "subsample": [1, 1], "nb_row": 3}, "class_name": "Convolution2D"}, {"inbound_nodes": [[["block4_conv3_2", 0, 0]]], "name": "block4_pool_2", "config": {"strides": [2, 2], "border_mode": "valid", "trainable": true, "name": "block4_pool_2", "dim_ordering": "th", "pool_size": [2, 2]}, "class_name": "MaxPooling2D"}, {"inbound_nodes": [[["block4_pool_2", 0, 0]]], "name": "block5_conv1_2", "config": {"nb_filter": 512, "activity_regularizer": null, "b_regularizer": null, "border_mode": "same", "trainable": true, "W_constraint": null, "init": "glorot_uniform", "dim_ordering": "th", "activation": "linear", "nb_col": 3, "W_regularizer": null, "b_constraint": null, "bias": true, "name": "block5_conv1_2", "subsample": [1, 1], "nb_row": 3}, "class_name": "Convolution2D"}, {"inbound_nodes": [[["block5_conv1_2", 0, 0]]], "name": "leakyrelu_4", "config": {"alpha": 0.01, "trainable": true, "name": "leakyrelu_4"}, "class_name": "LeakyReLU"}, {"inbound_nodes": [[["leakyrelu_4", 0, 0]]], "name": "block5_conv2_2", "config": {"nb_filter": 512, "activity_regularizer": null, "b_regularizer": null, "border_mode": "same", "trainable": true, "W_constraint": null, "init": "glorot_uniform", "dim_ordering": "th", "activation": "linear", "nb_col": 3, "W_regularizer": null, "b_constraint": null, "bias": true, "name": "block5_conv2_2", "subsample": [1, 1], "nb_row": 3}, "class_name": "Convolution2D"}, {"inbound_nodes": [[["block5_conv2_2", 0, 0]]], "name": "leakyrelu_5", "config": {"alpha": 0.01, "trainable": true, "name": "leakyrelu_5"}, "class_name": "LeakyReLU"}, {"inbound_nodes": [[["leakyrelu_5", 0, 0]]], "name": "block5_conv3_2", "config": {"nb_filter": 512, "activity_regularizer": null, "b_regularizer": null, "border_mode": "same", "trainable": true, "W_constraint": null, "init": "glorot_uniform", "dim_ordering": "th", "activation": "linear", "nb_col": 3, "W_regularizer": null, "b_constraint": null, "bias": true, "name": "block5_conv3_2", "subsample": [1, 1], "nb_row": 3}, "class_name": "Convolution2D"}, {"inbound_nodes": [[["block5_conv3_2", 0, 0]]], "name": "leakyrelu_6", "config": {"alpha": 0.01, "trainable": true, "name": "leakyrelu_6"}, "class_name": "LeakyReLU"}, {"inbound_nodes": [[["leakyrelu_6", 0, 0]]], "name": "block5_pool_2", "config": {"strides": [2, 2], "border_mode": "valid", "trainable": true, "name": "block5_pool_2", "dim_ordering": "th", "pool_size": [2, 2]}, "class_name": "MaxPooling2D"}], "output_layers": [["block5_pool_2", 0, 0]]}, "class_name": "Model"}, {"inbound_nodes": [[["reshape_1", 0, 0]]], "name": "model_1", "config": {"input_layers": [["input_2", 0, 0]], "name": "model_1", "layers": [{"inbound_nodes": [], "name": "input_2", "config": {"batch_input_shape": [null, 3, null, null], "input_dtype": "float32", "name": "input_2"}, "class_name": "InputLayer"}, {"inbound_nodes": [[["input_2", 0, 0]]], "name": "block1_conv1", "config": {"nb_filter": 64, "activity_regularizer": null, "b_regularizer": null, "border_mode": "same", "trainable": false, "W_constraint": null, "init": "glorot_uniform", "dim_ordering": "th", "activation": "relu", "nb_col": 3, "W_regularizer": null, "b_constraint": null, "bias": true, "name": "block1_conv1", "subsample": [1, 1], "nb_row": 3}, "class_name": "Convolution2D"}, {"inbound_nodes": [[["block1_conv1", 0, 0]]], "name": "block1_conv2", "config": {"nb_filter": 64, "activity_regularizer": null, "b_regularizer": null, "border_mode": "same", "trainable": false, "W_constraint": null, "init": "glorot_uniform", "dim_ordering": "th", "activation": "relu", "nb_col": 3, "W_regularizer": null, "b_constraint": null, "bias": true, "name": "block1_conv2", "subsample": [1, 1], "nb_row": 3}, "class_name": "Convolution2D"}, {"inbound_nodes": [[["block1_conv2", 0, 0]]], "name": "block1_pool", "config": {"strides": [2, 2], "border_mode": "valid", "trainable": true, "name": "block1_pool", "dim_ordering": "th", "pool_size": [2, 2]}, "class_name": "MaxPooling2D"}, {"inbound_nodes": [[["block1_pool", 0, 0]]], "name": "block2_conv1", "config": {"nb_filter": 128, "activity_regularizer": null, "b_regularizer": null, "border_mode": "same", "trainable": false, "W_constraint": null, "init": "glorot_uniform", "dim_ordering": "th", "activation": "relu", "nb_col": 3, "W_regularizer": null, "b_constraint": null, "bias": true, "name": "block2_conv1", "subsample": [1, 1], "nb_row": 3}, "class_name": "Convolution2D"}, {"inbound_nodes": [[["block2_conv1", 0, 0]]], "name": "block2_conv2", "config": {"nb_filter": 128, "activity_regularizer": null, "b_regularizer": null, "border_mode": "same", "trainable": false, "W_constraint": null, "init": "glorot_uniform", "dim_ordering": "th", "activation": "relu", "nb_col": 3, "W_regularizer": null, "b_constraint": null, "bias": true, "name": "block2_conv2", "subsample": [1, 1], "nb_row": 3}, "class_name": "Convolution2D"}, {"inbound_nodes": [[["block2_conv2", 0, 0]]], "name": "block2_pool", "config": {"strides": [2, 2], "border_mode": "valid", "trainable": true, "name": "block2_pool", "dim_ordering": "th", "pool_size": [2, 2]}, "class_name": "MaxPooling2D"}, {"inbound_nodes": [[["block2_pool", 0, 0]]], "name": "block3_conv1", "config": {"nb_filter": 256, "activity_regularizer": null, "b_regularizer": null, "border_mode": "same", "trainable": false, "W_constraint": null, "init": "glorot_uniform", "dim_ordering": "th", "activation": "relu", "nb_col": 3, "W_regularizer": null, "b_constraint": null, "bias": true, "name": "block3_conv1", "subsample": [1, 1], "nb_row": 3}, "class_name": "Convolution2D"}, {"inbound_nodes": [[["block3_conv1", 0, 0]]], "name": "block3_conv2", "config": {"nb_filter": 256, "activity_regularizer": null, "b_regularizer": null, "border_mode": "same", "trainable": false, "W_constraint": null, "init": "glorot_uniform", "dim_ordering": "th", "activation": "relu", "nb_col": 3, "W_regularizer": null, "b_constraint": null, "bias": true, "name": "block3_conv2", "subsample": [1, 1], "nb_row": 3}, "class_name": "Convolution2D"}, {"inbound_nodes": [[["block3_conv2", 0, 0]]], "name": "block3_conv3", "config": {"nb_filter": 256, "activity_regularizer": null, "b_regularizer": null, "border_mode": "same", "trainable": false, "W_constraint": null, "init": "glorot_uniform", "dim_ordering": "th", "activation": "relu", "nb_col": 3, "W_regularizer": null, "b_constraint": null, "bias": true, "name": "block3_conv3", "subsample": [1, 1], "nb_row": 3}, "class_name": "Convolution2D"}, {"inbound_nodes": [[["block3_conv3", 0, 0]]], "name": "block3_pool", "config": {"strides": [2, 2], "border_mode": "valid", "trainable": true, "name": "block3_pool", "dim_ordering": "th", "pool_size": [2, 2]}, "class_name": "MaxPooling2D"}, {"inbound_nodes": [[["block3_pool", 0, 0]]], "name": "block4_conv1", "config": {"nb_filter": 512, "activity_regularizer": null, "b_regularizer": null, "border_mode": "same", "trainable": false, "W_constraint": null, "init": "glorot_uniform", "dim_ordering": "th", "activation": "relu", "nb_col": 3, "W_regularizer": null, "b_constraint": null, "bias": true, "name": "block4_conv1", "subsample": [1, 1], "nb_row": 3}, "class_name": "Convolution2D"}, {"inbound_nodes": [[["block4_conv1", 0, 0]]], "name": "block4_conv2", "config": {"nb_filter": 512, "activity_regularizer": null, "b_regularizer": null, "border_mode": "same", "trainable": false, "W_constraint": null, "init": "glorot_uniform", "dim_ordering": "th", "activation": "relu", "nb_col": 3, "W_regularizer": null, "b_constraint": null, "bias": true, "name": "block4_conv2", "subsample": [1, 1], "nb_row": 3}, "class_name": "Convolution2D"}, {"inbound_nodes": [[["block4_conv2", 0, 0]]], "name": "block4_conv3", "config": {"nb_filter": 512, "activity_regularizer": null, "b_regularizer": null, "border_mode": "same", "trainable": false, "W_constraint": null, "init": "glorot_uniform", "dim_ordering": "th", "activation": "relu", "nb_col": 3, "W_regularizer": null, "b_constraint": null, "bias": true, "name": "block4_conv3", "subsample": [1, 1], "nb_row": 3}, "class_name": "Convolution2D"}, {"inbound_nodes": [[["block4_conv3", 0, 0]]], "name": "block4_pool", "config": {"strides": [2, 2], "border_mode": "valid", "trainable": true, "name": "block4_pool", "dim_ordering": "th", "pool_size": [2, 2]}, "class_name": "MaxPooling2D"}, {"inbound_nodes": [[["block4_pool", 0, 0]]], "name": "block5_conv1", "config": {"nb_filter": 512, "activity_regularizer": null, "b_regularizer": null, "border_mode": "same", "trainable": true, "W_constraint": null, "init": "glorot_uniform", "dim_ordering": "th", "activation": "linear", "nb_col": 3, "W_regularizer": null, "b_constraint": null, "bias": true, "name": "block5_conv1", "subsample": [1, 1], "nb_row": 3}, "class_name": "Convolution2D"}, {"inbound_nodes": [[["block5_conv1", 0, 0]]], "name": "leakyrelu_1", "config": {"alpha": 0.01, "trainable": true, "name": "leakyrelu_1"}, "class_name": "LeakyReLU"}, {"inbound_nodes": [[["leakyrelu_1", 0, 0]]], "name": "block5_conv2", "config": {"nb_filter": 512, "activity_regularizer": null, "b_regularizer": null, "border_mode": "same", "trainable": true, "W_constraint": null, "init": "glorot_uniform", "dim_ordering": "th", "activation": "linear", "nb_col": 3, "W_regularizer": null, "b_constraint": null, "bias": true, "name": "block5_conv2", "subsample": [1, 1], "nb_row": 3}, "class_name": "Convolution2D"}, {"inbound_nodes": [[["block5_conv2", 0, 0]]], "name": "leakyrelu_2", "config": {"alpha": 0.01, "trainable": true, "name": "leakyrelu_2"}, "class_name": "LeakyReLU"}, {"inbound_nodes": [[["leakyrelu_2", 0, 0]]], "name": "block5_conv3", "config": {"nb_filter": 512, "activity_regularizer": null, "b_regularizer": null, "border_mode": "same", "trainable": true, "W_constraint": null, "init": "glorot_uniform", "dim_ordering": "th", "activation": "linear", "nb_col": 3, "W_regularizer": null, "b_constraint": null, "bias": true, "name": "block5_conv3", "subsample": [1, 1], "nb_row": 3}, "class_name": "Convolution2D"}, {"inbound_nodes": [[["block5_conv3", 0, 0]]], "name": "leakyrelu_3", "config": {"alpha": 0.01, "trainable": true, "name": "leakyrelu_3"}, "class_name": "LeakyReLU"}, {"inbound_nodes": [[["leakyrelu_3", 0, 0]]], "name": "block5_pool", "config": {"strides": [2, 2], "border_mode": "valid", "trainable": true, "name": "block5_pool", "dim_ordering": "th", "pool_size": [2, 2]}, "class_name": "MaxPooling2D"}], "output_layers": [["block5_pool", 0, 0]]}, "class_name": "Model"}, {"inbound_nodes": [[["model_2", 1, 0]]], "name": "upsampling2d_1", "config": {"trainable": true, "name": "upsampling2d_1", "size": [2, 2]}, "class_name": "UpSampling2D"}, {"inbound_nodes": [[["model_1", 1, 0], ["upsampling2d_1", 0, 0]]], "name": "merge_1", "config": {"mode": "sum", "output_shape_type": "raw", "dot_axes": -1, "output_shape": null, "mode_type": "raw", "name": "merge_1", "concat_axis": -1}, "class_name": "Merge"}, {"inbound_nodes": [[["merge_1", 0, 0]]], "name": "convolution2d_1", "config": {"nb_filter": 64, "activity_regularizer": null, "b_regularizer": null, "border_mode": "same", "trainable": true, "W_constraint": null, "init": "glorot_uniform", "dim_ordering": "th", "activation": "linear", "nb_col": 3, "W_regularizer": null, "b_constraint": null, "bias": true, "name": "convolution2d_1", "subsample": [1, 1], "nb_row": 3}, "class_name": "Convolution2D"}, {"inbound_nodes": [[["convolution2d_1", 0, 0]]], "name": "leakyrelu_7", "config": {"trainable": true, "alpha": 0.01, "name": "leakyrelu_7"}, "class_name": "LeakyReLU"}, {"inbound_nodes": [[["leakyrelu_7", 0, 0]]], "name": "spatialdropout2d_1", "config": {"trainable": true, "name": "spatialdropout2d_1", "p": 0.5}, "class_name": "SpatialDropout2D"}, {"inbound_nodes": [[["spatialdropout2d_1", 0, 0]]], "name": "flatten_3", "config": {"trainable": true, "name": "flatten_3"}, "class_name": "Flatten"}, {"inbound_nodes": [[["flatten_3", 0, 0]]], "name": "maxoutdense_1", "config": {"activity_regularizer": null, "nb_feature": 4, "output_dim": 8, "trainable": true, "input_dim": null, "W_constraint": null, "init": "glorot_uniform", "W_regularizer": null, "b_regularizer": null, "b_constraint": null, "bias": true, "name": "maxoutdense_1"}, "class_name": "MaxoutDense"}, {"inbound_nodes": [[["maxoutdense_1", 0, 0]]], "name": "dropout_1", "config": {"trainable": true, "name": "dropout_1", "p": 0.5}, "class_name": "Dropout"}, {"inbound_nodes": [[["dropout_1", 0, 0]]], "name": "maxoutdense_2", "config": {"activity_regularizer": null, "nb_feature": 4, "output_dim": 4, "trainable": true, "input_dim": null, "W_constraint": null, "init": "glorot_uniform", "W_regularizer": null, "b_regularizer": null, "b_constraint": null, "bias": true, "name": "maxoutdense_2"}, "class_name": "MaxoutDense"}, {"inbound_nodes": [[["maxoutdense_2", 0, 0]]], "name": "dropout_2", "config": {"trainable": true, "name": "dropout_2", "p": 0.5}, "class_name": "Dropout"}, {"inbound_nodes": [[["dropout_2", 0, 0]]], "name": "dense_1", "config": {"activity_regularizer": null, "b_regularizer": null, "output_dim": 2, "trainable": true, "input_dim": null, "W_constraint": null, "init": "glorot_uniform", "activation": "softmax", "W_regularizer": null, "b_constraint": null, "bias": true, "name": "dense_1"}, "class_name": "Dense"}], "output_layers": [["dense_1", 0, 0]]}, "keras_version": "1.0.8"}'
The text was updated successfully, but these errors were encountered: