From 32c4dc583bf4c3a3e6b37504c57178e30630347c Mon Sep 17 00:00:00 2001 From: Sebastian Echeverria Date: Wed, 15 Jan 2025 16:38:07 -0500 Subject: [PATCH] Demo: updated notebooks and helper code to use new model format, which does not need a separate weights file --- .../2d_evidence_interpretability.ipynb | 2 +- .../2f_evidence_interoperability.ipynb | 4 +-- demo/scenarios/2g_evidence_resilience.ipynb | 4 +-- .../2h_evidence_monitorability.ipynb | 4 +-- .../2i_evidence_performance_time.ipynb | 2 +- demo/scenarios/get_model.sh | 2 +- demo/scenarios/model/model_f3_a.json | 1 - demo/scenarios/model_analysis.py | 14 ++-------- demo/scenarios/model_predict.py | 26 ++++--------------- demo/scenarios/session.py | 7 +---- 10 files changed, 14 insertions(+), 52 deletions(-) delete mode 100644 demo/scenarios/model/model_f3_a.json diff --git a/demo/scenarios/2d_evidence_interpretability.ipynb b/demo/scenarios/2d_evidence_interpretability.ipynb index 92955262f..6ed2583fb 100644 --- a/demo/scenarios/2d_evidence_interpretability.ipynb +++ b/demo/scenarios/2d_evidence_interpretability.ipynb @@ -48,7 +48,7 @@ "from demo.scenarios.model_analysis import *\n", "\n", "# Load the model/\n", - "loaded_model = load_model(MODEL_FILE_PATH, MODEL_WEIGHTS_PATH)" + "loaded_model = load_model(MODEL_FILE_PATH)" ] }, { diff --git a/demo/scenarios/2f_evidence_interoperability.ipynb b/demo/scenarios/2f_evidence_interoperability.ipynb index 17aaed53c..56426d23d 100644 --- a/demo/scenarios/2f_evidence_interoperability.ipynb +++ b/demo/scenarios/2f_evidence_interoperability.ipynb @@ -51,9 +51,7 @@ "\n", "def run_and_get_log() -> str:\n", " \"\"\"Runs the model and gets the log.\"\"\"\n", - " model_predict.run_model(\n", - " SAMPLE_DATASET_DIR, MODEL_FILE_PATH, MODEL_WEIGHTS_PATH\n", - " )\n", + " model_predict.run_model(SAMPLE_DATASET_DIR, MODEL_FILE_PATH)\n", "\n", " return model_predict.load_log()" ] diff --git a/demo/scenarios/2g_evidence_resilience.ipynb b/demo/scenarios/2g_evidence_resilience.ipynb index 8bf45e24e..973f581cb 100644 --- a/demo/scenarios/2g_evidence_resilience.ipynb +++ b/demo/scenarios/2g_evidence_resilience.ipynb @@ -51,9 +51,7 @@ "\n", "def run_and_get_log() -> str:\n", " \"\"\"Runs the model and gets the log.\"\"\"\n", - " model_predict.run_model(\n", - " OOD_DATASET_DIR, MODEL_FILE_PATH, MODEL_WEIGHTS_PATH\n", - " )\n", + " model_predict.run_model(OOD_DATASET_DIR, MODEL_FILE_PATH)\n", "\n", " return model_predict.load_log()" ] diff --git a/demo/scenarios/2h_evidence_monitorability.ipynb b/demo/scenarios/2h_evidence_monitorability.ipynb index 9733b7887..3f084ef51 100644 --- a/demo/scenarios/2h_evidence_monitorability.ipynb +++ b/demo/scenarios/2h_evidence_monitorability.ipynb @@ -50,9 +50,7 @@ "\n", "def run_and_get_log() -> str:\n", " \"\"\"Runs the model and gets the log.\"\"\"\n", - " model_predict.run_model(\n", - " OOD_DATASET_DIR, MODEL_FILE_PATH, MODEL_WEIGHTS_PATH\n", - " )\n", + " model_predict.run_model(OOD_DATASET_DIR, MODEL_FILE_PATH)\n", " return model_predict.load_log()" ] }, diff --git a/demo/scenarios/2i_evidence_performance_time.ipynb b/demo/scenarios/2i_evidence_performance_time.ipynb index 11433e169..d37b787c9 100644 --- a/demo/scenarios/2i_evidence_performance_time.ipynb +++ b/demo/scenarios/2i_evidence_performance_time.ipynb @@ -53,7 +53,7 @@ " \"\"\"Returns total time, and average time per inference.\"\"\"\n", " start = time.time()\n", " avg_time, _, _ = model_predict.run_model(\n", - " SAMPLE_DATASET_DIR, MODEL_FILE_PATH, MODEL_WEIGHTS_PATH\n", + " SAMPLE_DATASET_DIR, MODEL_FILE_PATH\n", " )\n", " end = time.time()\n", " total = end - start\n", diff --git a/demo/scenarios/get_model.sh b/demo/scenarios/get_model.sh index ca3ad3753..16fc44d27 100644 --- a/demo/scenarios/get_model.sh +++ b/demo/scenarios/get_model.sh @@ -1,2 +1,2 @@ #!/usr/bin/env bash -curl -o ./model/oxford_flower_model_v6.testing.keras -L "https://docs.google.com/uc?export=download&id=15kAII1kOPGIAI46OP01ecNkq4tdf5yXw" +curl -o ./model/oxford_flower_model.keras -L "https://drive.usercontent.google.com/download?id=17C_RowVjlZXrvY_VHXCTBAHwLZjZl1OD&export=download&authuser=0&confirm=t" diff --git a/demo/scenarios/model/model_f3_a.json b/demo/scenarios/model/model_f3_a.json deleted file mode 100644 index a4a2c5590..000000000 --- a/demo/scenarios/model/model_f3_a.json +++ /dev/null @@ -1 +0,0 @@ -{"class_name": "Functional", "config": {"name": "model", "trainable": true, "layers": [{"class_name": "InputLayer", "config": {"batch_input_shape": [null, 224, 224, 3], "dtype": "float32", "sparse": false, "ragged": false, "name": "input_2"}, "name": "input_2", "inbound_nodes": []}, {"class_name": "Sequential", "config": {"name": "sequential", "layers": [{"class_name": "InputLayer", "config": {"batch_input_shape": [null, 224, 224, 3], "dtype": "float32", "sparse": false, "ragged": false, "name": "resizing_input"}}, {"class_name": "Resizing", "config": {"name": "resizing", "trainable": true, "dtype": "float32", "height": 230, "width": 230, "interpolation": "bilinear", "crop_to_aspect_ratio": false}}, {"class_name": "RandomFlip", "config": {"name": "random_flip", "trainable": true, "dtype": "float32", "mode": "horizontal_and_vertical", "seed": null}}, {"class_name": "RandomRotation", "config": {"name": "random_rotation", "trainable": true, "dtype": "float32", "factor": 0.2, "fill_mode": "reflect", "fill_value": 0.0, "interpolation": "bilinear", "seed": null}}, {"class_name": "RandomZoom", "config": {"name": "random_zoom", "trainable": true, "dtype": "float32", "height_factor": 0.3, "width_factor": null, "fill_mode": "reflect", "fill_value": 0.0, "interpolation": "bilinear", "seed": null}}, {"class_name": "RandomCrop", "config": {"name": "random_crop", "trainable": true, "dtype": "float32", "height": 224, "width": 224, "seed": null}}]}, "name": "sequential", "inbound_nodes": [[["input_2", 0, 0, {}]]]}, {"class_name": "SlicingOpLambda", "config": {"name": "tf.__operators__.getitem", "trainable": true, "dtype": "float32", "function": "__operators__.getitem"}, "name": "tf.__operators__.getitem", "inbound_nodes": [["sequential", 1, 0, {"slice_spec": [{"class_name": "__ellipsis__"}, {"start": null, "stop": null, "step": -1}]}]]}, {"class_name": "TFOpLambda", "config": {"name": "tf.nn.bias_add", "trainable": true, "dtype": "float32", "function": "nn.bias_add"}, "name": "tf.nn.bias_add", "inbound_nodes": [["tf.__operators__.getitem", 0, 0, {"bias": [-103.93900299072266, -116.77899932861328, -123.68000030517578], "data_format": "NHWC"}]]}, {"class_name": "Functional", "config": {"name": "resnet50", "trainable": true, "layers": [{"class_name": "InputLayer", "config": {"batch_input_shape": [null, 224, 224, 3], "dtype": "float32", "sparse": false, "ragged": false, "name": "input_1"}, "name": "input_1", "inbound_nodes": []}, {"class_name": "ZeroPadding2D", "config": {"name": "conv1_pad", "trainable": true, "dtype": "float32", "padding": [[3, 3], [3, 3]], "data_format": "channels_last"}, "name": "conv1_pad", "inbound_nodes": [[["input_1", 0, 0, {}]]]}, {"class_name": "Conv2D", "config": {"name": "conv1_conv", "trainable": true, "dtype": "float32", "filters": 64, "kernel_size": [7, 7], "strides": [2, 2], "padding": "valid", "data_format": "channels_last", "dilation_rate": [1, 1], "groups": 1, "activation": "linear", "use_bias": true, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}}, "bias_initializer": {"class_name": "Zeros", "config": {}}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "name": "conv1_conv", "inbound_nodes": [[["conv1_pad", 0, 0, {}]]]}, {"class_name": "BatchNormalization", "config": {"name": "conv1_bn", "trainable": true, "dtype": "float32", "axis": [3], "momentum": 0.99, "epsilon": 1.001e-05, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}}, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "name": "conv1_bn", "inbound_nodes": [[["conv1_conv", 0, 0, {}]]]}, {"class_name": "Activation", "config": {"name": "conv1_relu", "trainable": true, "dtype": "float32", "activation": "relu"}, "name": "conv1_relu", "inbound_nodes": [[["conv1_bn", 0, 0, {}]]]}, {"class_name": "ZeroPadding2D", "config": {"name": "pool1_pad", "trainable": true, "dtype": "float32", "padding": [[1, 1], [1, 1]], "data_format": "channels_last"}, "name": "pool1_pad", "inbound_nodes": [[["conv1_relu", 0, 0, {}]]]}, {"class_name": "MaxPooling2D", "config": {"name": "pool1_pool", "trainable": true, "dtype": "float32", "pool_size": [3, 3], "padding": "valid", "strides": [2, 2], "data_format": "channels_last"}, "name": "pool1_pool", "inbound_nodes": [[["pool1_pad", 0, 0, {}]]]}, {"class_name": "Conv2D", "config": {"name": "conv2_block1_1_conv", "trainable": true, "dtype": "float32", "filters": 64, "kernel_size": [1, 1], "strides": [1, 1], "padding": "valid", "data_format": "channels_last", "dilation_rate": [1, 1], "groups": 1, "activation": "linear", "use_bias": true, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}}, "bias_initializer": {"class_name": "Zeros", "config": {}}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "name": "conv2_block1_1_conv", "inbound_nodes": [[["pool1_pool", 0, 0, {}]]]}, {"class_name": "BatchNormalization", "config": {"name": "conv2_block1_1_bn", "trainable": true, "dtype": "float32", "axis": [3], "momentum": 0.99, "epsilon": 1.001e-05, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}}, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "name": "conv2_block1_1_bn", "inbound_nodes": [[["conv2_block1_1_conv", 0, 0, {}]]]}, {"class_name": "Activation", "config": {"name": "conv2_block1_1_relu", "trainable": true, "dtype": "float32", "activation": "relu"}, "name": "conv2_block1_1_relu", "inbound_nodes": [[["conv2_block1_1_bn", 0, 0, {}]]]}, {"class_name": "Conv2D", "config": {"name": "conv2_block1_2_conv", "trainable": true, "dtype": "float32", "filters": 64, "kernel_size": [3, 3], "strides": [1, 1], "padding": "same", "data_format": "channels_last", "dilation_rate": [1, 1], "groups": 1, "activation": "linear", "use_bias": true, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}}, "bias_initializer": {"class_name": "Zeros", "config": {}}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "name": "conv2_block1_2_conv", "inbound_nodes": [[["conv2_block1_1_relu", 0, 0, {}]]]}, {"class_name": "BatchNormalization", "config": {"name": "conv2_block1_2_bn", "trainable": true, "dtype": "float32", "axis": [3], "momentum": 0.99, "epsilon": 1.001e-05, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}}, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "name": "conv2_block1_2_bn", "inbound_nodes": [[["conv2_block1_2_conv", 0, 0, {}]]]}, {"class_name": "Activation", "config": {"name": "conv2_block1_2_relu", "trainable": true, "dtype": "float32", "activation": "relu"}, "name": "conv2_block1_2_relu", "inbound_nodes": [[["conv2_block1_2_bn", 0, 0, {}]]]}, {"class_name": "Conv2D", "config": {"name": "conv2_block1_0_conv", "trainable": true, "dtype": "float32", "filters": 256, "kernel_size": [1, 1], "strides": [1, 1], "padding": "valid", "data_format": "channels_last", "dilation_rate": [1, 1], "groups": 1, "activation": "linear", "use_bias": true, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}}, "bias_initializer": {"class_name": "Zeros", "config": {}}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "name": "conv2_block1_0_conv", "inbound_nodes": [[["pool1_pool", 0, 0, {}]]]}, {"class_name": "Conv2D", "config": {"name": "conv2_block1_3_conv", "trainable": true, "dtype": "float32", "filters": 256, "kernel_size": [1, 1], "strides": [1, 1], "padding": "valid", "data_format": "channels_last", "dilation_rate": [1, 1], "groups": 1, "activation": "linear", "use_bias": true, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}}, "bias_initializer": {"class_name": "Zeros", "config": {}}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "name": "conv2_block1_3_conv", "inbound_nodes": [[["conv2_block1_2_relu", 0, 0, {}]]]}, {"class_name": "BatchNormalization", "config": {"name": "conv2_block1_0_bn", "trainable": true, "dtype": "float32", "axis": [3], "momentum": 0.99, "epsilon": 1.001e-05, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}}, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "name": "conv2_block1_0_bn", "inbound_nodes": [[["conv2_block1_0_conv", 0, 0, {}]]]}, {"class_name": "BatchNormalization", "config": {"name": "conv2_block1_3_bn", "trainable": true, "dtype": "float32", "axis": [3], "momentum": 0.99, "epsilon": 1.001e-05, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}}, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "name": "conv2_block1_3_bn", "inbound_nodes": [[["conv2_block1_3_conv", 0, 0, {}]]]}, {"class_name": "Add", "config": {"name": "conv2_block1_add", "trainable": true, "dtype": "float32"}, "name": "conv2_block1_add", "inbound_nodes": [[["conv2_block1_0_bn", 0, 0, {}], ["conv2_block1_3_bn", 0, 0, {}]]]}, {"class_name": "Activation", "config": {"name": "conv2_block1_out", "trainable": true, "dtype": "float32", "activation": "relu"}, "name": "conv2_block1_out", "inbound_nodes": [[["conv2_block1_add", 0, 0, {}]]]}, {"class_name": "Conv2D", "config": {"name": "conv2_block2_1_conv", "trainable": true, "dtype": "float32", "filters": 64, "kernel_size": [1, 1], "strides": [1, 1], "padding": "valid", "data_format": "channels_last", "dilation_rate": [1, 1], "groups": 1, "activation": "linear", "use_bias": true, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}}, "bias_initializer": {"class_name": "Zeros", "config": {}}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "name": "conv2_block2_1_conv", "inbound_nodes": [[["conv2_block1_out", 0, 0, {}]]]}, {"class_name": "BatchNormalization", "config": {"name": "conv2_block2_1_bn", "trainable": true, "dtype": "float32", "axis": [3], "momentum": 0.99, "epsilon": 1.001e-05, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}}, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "name": "conv2_block2_1_bn", "inbound_nodes": [[["conv2_block2_1_conv", 0, 0, {}]]]}, {"class_name": "Activation", "config": {"name": "conv2_block2_1_relu", "trainable": true, "dtype": "float32", "activation": "relu"}, "name": "conv2_block2_1_relu", "inbound_nodes": [[["conv2_block2_1_bn", 0, 0, {}]]]}, {"class_name": "Conv2D", "config": {"name": "conv2_block2_2_conv", "trainable": true, "dtype": "float32", "filters": 64, "kernel_size": [3, 3], "strides": [1, 1], "padding": "same", "data_format": "channels_last", "dilation_rate": [1, 1], "groups": 1, "activation": "linear", "use_bias": true, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}}, "bias_initializer": {"class_name": "Zeros", "config": {}}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "name": "conv2_block2_2_conv", "inbound_nodes": [[["conv2_block2_1_relu", 0, 0, {}]]]}, {"class_name": "BatchNormalization", "config": {"name": "conv2_block2_2_bn", "trainable": true, "dtype": "float32", "axis": [3], "momentum": 0.99, "epsilon": 1.001e-05, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}}, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "name": "conv2_block2_2_bn", "inbound_nodes": [[["conv2_block2_2_conv", 0, 0, {}]]]}, {"class_name": "Activation", "config": {"name": "conv2_block2_2_relu", "trainable": true, "dtype": "float32", "activation": "relu"}, "name": "conv2_block2_2_relu", "inbound_nodes": [[["conv2_block2_2_bn", 0, 0, {}]]]}, {"class_name": "Conv2D", "config": {"name": "conv2_block2_3_conv", "trainable": true, "dtype": "float32", "filters": 256, "kernel_size": [1, 1], "strides": [1, 1], "padding": "valid", "data_format": "channels_last", "dilation_rate": [1, 1], "groups": 1, "activation": "linear", "use_bias": true, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}}, "bias_initializer": {"class_name": "Zeros", "config": {}}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "name": "conv2_block2_3_conv", "inbound_nodes": [[["conv2_block2_2_relu", 0, 0, {}]]]}, {"class_name": "BatchNormalization", "config": {"name": "conv2_block2_3_bn", "trainable": true, "dtype": "float32", "axis": [3], "momentum": 0.99, "epsilon": 1.001e-05, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}}, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "name": "conv2_block2_3_bn", "inbound_nodes": [[["conv2_block2_3_conv", 0, 0, {}]]]}, {"class_name": "Add", "config": {"name": "conv2_block2_add", "trainable": true, "dtype": "float32"}, "name": "conv2_block2_add", "inbound_nodes": [[["conv2_block1_out", 0, 0, {}], ["conv2_block2_3_bn", 0, 0, {}]]]}, {"class_name": "Activation", "config": {"name": "conv2_block2_out", "trainable": true, "dtype": "float32", "activation": "relu"}, "name": "conv2_block2_out", "inbound_nodes": [[["conv2_block2_add", 0, 0, {}]]]}, {"class_name": "Conv2D", "config": {"name": "conv2_block3_1_conv", "trainable": true, "dtype": "float32", "filters": 64, "kernel_size": [1, 1], "strides": [1, 1], "padding": "valid", "data_format": "channels_last", "dilation_rate": [1, 1], "groups": 1, "activation": "linear", "use_bias": true, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}}, "bias_initializer": {"class_name": "Zeros", "config": {}}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "name": "conv2_block3_1_conv", "inbound_nodes": [[["conv2_block2_out", 0, 0, {}]]]}, {"class_name": "BatchNormalization", "config": {"name": "conv2_block3_1_bn", "trainable": true, "dtype": "float32", "axis": [3], "momentum": 0.99, "epsilon": 1.001e-05, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}}, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "name": "conv2_block3_1_bn", "inbound_nodes": [[["conv2_block3_1_conv", 0, 0, {}]]]}, {"class_name": "Activation", "config": {"name": "conv2_block3_1_relu", "trainable": true, "dtype": "float32", "activation": "relu"}, "name": "conv2_block3_1_relu", "inbound_nodes": [[["conv2_block3_1_bn", 0, 0, {}]]]}, {"class_name": "Conv2D", "config": {"name": "conv2_block3_2_conv", "trainable": true, "dtype": "float32", "filters": 64, "kernel_size": [3, 3], "strides": [1, 1], "padding": "same", "data_format": "channels_last", "dilation_rate": [1, 1], "groups": 1, "activation": "linear", "use_bias": true, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}}, "bias_initializer": {"class_name": "Zeros", "config": {}}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "name": "conv2_block3_2_conv", "inbound_nodes": [[["conv2_block3_1_relu", 0, 0, {}]]]}, {"class_name": "BatchNormalization", "config": {"name": "conv2_block3_2_bn", "trainable": true, "dtype": "float32", "axis": [3], "momentum": 0.99, "epsilon": 1.001e-05, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}}, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "name": "conv2_block3_2_bn", "inbound_nodes": [[["conv2_block3_2_conv", 0, 0, {}]]]}, {"class_name": "Activation", "config": {"name": "conv2_block3_2_relu", "trainable": true, "dtype": "float32", "activation": "relu"}, "name": "conv2_block3_2_relu", "inbound_nodes": [[["conv2_block3_2_bn", 0, 0, {}]]]}, {"class_name": "Conv2D", "config": {"name": "conv2_block3_3_conv", "trainable": true, "dtype": "float32", "filters": 256, "kernel_size": [1, 1], "strides": [1, 1], "padding": "valid", "data_format": "channels_last", "dilation_rate": [1, 1], "groups": 1, "activation": "linear", "use_bias": true, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}}, "bias_initializer": {"class_name": "Zeros", "config": {}}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "name": "conv2_block3_3_conv", "inbound_nodes": [[["conv2_block3_2_relu", 0, 0, {}]]]}, {"class_name": "BatchNormalization", "config": {"name": "conv2_block3_3_bn", "trainable": true, "dtype": "float32", "axis": [3], "momentum": 0.99, "epsilon": 1.001e-05, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}}, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "name": "conv2_block3_3_bn", "inbound_nodes": [[["conv2_block3_3_conv", 0, 0, {}]]]}, {"class_name": "Add", "config": {"name": "conv2_block3_add", "trainable": true, "dtype": "float32"}, "name": "conv2_block3_add", "inbound_nodes": [[["conv2_block2_out", 0, 0, {}], ["conv2_block3_3_bn", 0, 0, {}]]]}, {"class_name": "Activation", "config": {"name": "conv2_block3_out", "trainable": true, "dtype": "float32", "activation": "relu"}, "name": "conv2_block3_out", "inbound_nodes": [[["conv2_block3_add", 0, 0, {}]]]}, {"class_name": "Conv2D", "config": {"name": "conv3_block1_1_conv", "trainable": true, "dtype": "float32", "filters": 128, "kernel_size": [1, 1], "strides": [2, 2], "padding": "valid", "data_format": "channels_last", "dilation_rate": [1, 1], "groups": 1, "activation": "linear", "use_bias": true, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}}, "bias_initializer": {"class_name": "Zeros", "config": {}}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "name": "conv3_block1_1_conv", "inbound_nodes": [[["conv2_block3_out", 0, 0, {}]]]}, {"class_name": "BatchNormalization", "config": {"name": "conv3_block1_1_bn", "trainable": true, "dtype": "float32", "axis": [3], "momentum": 0.99, "epsilon": 1.001e-05, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}}, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "name": "conv3_block1_1_bn", "inbound_nodes": [[["conv3_block1_1_conv", 0, 0, {}]]]}, {"class_name": "Activation", "config": {"name": "conv3_block1_1_relu", "trainable": true, "dtype": "float32", "activation": "relu"}, "name": "conv3_block1_1_relu", "inbound_nodes": [[["conv3_block1_1_bn", 0, 0, {}]]]}, {"class_name": "Conv2D", "config": {"name": "conv3_block1_2_conv", "trainable": true, "dtype": "float32", "filters": 128, "kernel_size": [3, 3], "strides": [1, 1], "padding": "same", "data_format": "channels_last", "dilation_rate": [1, 1], "groups": 1, "activation": "linear", "use_bias": true, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}}, "bias_initializer": {"class_name": "Zeros", "config": {}}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "name": "conv3_block1_2_conv", "inbound_nodes": [[["conv3_block1_1_relu", 0, 0, {}]]]}, {"class_name": "BatchNormalization", "config": {"name": "conv3_block1_2_bn", "trainable": true, "dtype": "float32", "axis": [3], "momentum": 0.99, "epsilon": 1.001e-05, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}}, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "name": "conv3_block1_2_bn", "inbound_nodes": [[["conv3_block1_2_conv", 0, 0, {}]]]}, {"class_name": "Activation", "config": {"name": "conv3_block1_2_relu", "trainable": true, "dtype": "float32", "activation": "relu"}, "name": "conv3_block1_2_relu", "inbound_nodes": [[["conv3_block1_2_bn", 0, 0, {}]]]}, {"class_name": "Conv2D", "config": {"name": "conv3_block1_0_conv", "trainable": true, "dtype": "float32", "filters": 512, "kernel_size": [1, 1], "strides": [2, 2], "padding": "valid", "data_format": "channels_last", "dilation_rate": [1, 1], "groups": 1, "activation": "linear", "use_bias": true, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}}, "bias_initializer": {"class_name": "Zeros", "config": {}}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "name": "conv3_block1_0_conv", "inbound_nodes": [[["conv2_block3_out", 0, 0, {}]]]}, {"class_name": "Conv2D", "config": {"name": "conv3_block1_3_conv", "trainable": true, "dtype": "float32", "filters": 512, "kernel_size": [1, 1], "strides": [1, 1], "padding": "valid", "data_format": "channels_last", "dilation_rate": [1, 1], "groups": 1, "activation": "linear", "use_bias": true, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}}, "bias_initializer": {"class_name": "Zeros", "config": {}}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "name": "conv3_block1_3_conv", "inbound_nodes": [[["conv3_block1_2_relu", 0, 0, {}]]]}, {"class_name": "BatchNormalization", "config": {"name": "conv3_block1_0_bn", "trainable": true, "dtype": "float32", "axis": [3], "momentum": 0.99, "epsilon": 1.001e-05, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}}, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "name": "conv3_block1_0_bn", "inbound_nodes": [[["conv3_block1_0_conv", 0, 0, {}]]]}, {"class_name": "BatchNormalization", "config": {"name": "conv3_block1_3_bn", "trainable": true, "dtype": "float32", "axis": [3], "momentum": 0.99, "epsilon": 1.001e-05, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}}, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "name": "conv3_block1_3_bn", "inbound_nodes": [[["conv3_block1_3_conv", 0, 0, {}]]]}, {"class_name": "Add", "config": {"name": "conv3_block1_add", "trainable": true, "dtype": "float32"}, "name": "conv3_block1_add", "inbound_nodes": [[["conv3_block1_0_bn", 0, 0, {}], ["conv3_block1_3_bn", 0, 0, {}]]]}, {"class_name": "Activation", "config": {"name": "conv3_block1_out", "trainable": true, "dtype": "float32", "activation": "relu"}, "name": "conv3_block1_out", "inbound_nodes": [[["conv3_block1_add", 0, 0, {}]]]}, {"class_name": "Conv2D", "config": {"name": "conv3_block2_1_conv", "trainable": true, "dtype": "float32", "filters": 128, "kernel_size": [1, 1], "strides": [1, 1], "padding": "valid", "data_format": "channels_last", "dilation_rate": [1, 1], "groups": 1, "activation": "linear", "use_bias": true, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}}, "bias_initializer": {"class_name": "Zeros", "config": {}}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "name": "conv3_block2_1_conv", "inbound_nodes": [[["conv3_block1_out", 0, 0, {}]]]}, {"class_name": "BatchNormalization", "config": {"name": "conv3_block2_1_bn", "trainable": true, "dtype": "float32", "axis": [3], "momentum": 0.99, "epsilon": 1.001e-05, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}}, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "name": "conv3_block2_1_bn", "inbound_nodes": [[["conv3_block2_1_conv", 0, 0, {}]]]}, {"class_name": "Activation", "config": {"name": "conv3_block2_1_relu", "trainable": true, "dtype": "float32", "activation": "relu"}, "name": "conv3_block2_1_relu", "inbound_nodes": [[["conv3_block2_1_bn", 0, 0, {}]]]}, {"class_name": "Conv2D", "config": {"name": "conv3_block2_2_conv", "trainable": true, "dtype": "float32", "filters": 128, "kernel_size": [3, 3], "strides": [1, 1], "padding": "same", "data_format": "channels_last", "dilation_rate": [1, 1], "groups": 1, "activation": "linear", "use_bias": true, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}}, "bias_initializer": {"class_name": "Zeros", "config": {}}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "name": "conv3_block2_2_conv", "inbound_nodes": [[["conv3_block2_1_relu", 0, 0, {}]]]}, {"class_name": "BatchNormalization", "config": {"name": "conv3_block2_2_bn", "trainable": true, "dtype": "float32", "axis": [3], "momentum": 0.99, "epsilon": 1.001e-05, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}}, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "name": "conv3_block2_2_bn", "inbound_nodes": [[["conv3_block2_2_conv", 0, 0, {}]]]}, {"class_name": "Activation", "config": {"name": "conv3_block2_2_relu", "trainable": true, "dtype": "float32", "activation": "relu"}, "name": "conv3_block2_2_relu", "inbound_nodes": [[["conv3_block2_2_bn", 0, 0, {}]]]}, {"class_name": "Conv2D", "config": {"name": "conv3_block2_3_conv", "trainable": true, "dtype": "float32", "filters": 512, "kernel_size": [1, 1], "strides": [1, 1], "padding": "valid", "data_format": "channels_last", "dilation_rate": [1, 1], "groups": 1, "activation": "linear", "use_bias": true, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}}, "bias_initializer": {"class_name": "Zeros", "config": {}}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "name": "conv3_block2_3_conv", "inbound_nodes": [[["conv3_block2_2_relu", 0, 0, {}]]]}, {"class_name": "BatchNormalization", "config": {"name": "conv3_block2_3_bn", "trainable": true, "dtype": "float32", "axis": [3], "momentum": 0.99, "epsilon": 1.001e-05, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}}, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "name": "conv3_block2_3_bn", "inbound_nodes": [[["conv3_block2_3_conv", 0, 0, {}]]]}, {"class_name": "Add", "config": {"name": "conv3_block2_add", "trainable": true, "dtype": "float32"}, "name": "conv3_block2_add", "inbound_nodes": [[["conv3_block1_out", 0, 0, {}], ["conv3_block2_3_bn", 0, 0, {}]]]}, {"class_name": "Activation", "config": {"name": "conv3_block2_out", "trainable": true, "dtype": "float32", "activation": "relu"}, "name": "conv3_block2_out", "inbound_nodes": [[["conv3_block2_add", 0, 0, {}]]]}, {"class_name": "Conv2D", "config": {"name": "conv3_block3_1_conv", "trainable": true, "dtype": "float32", "filters": 128, "kernel_size": [1, 1], "strides": [1, 1], "padding": "valid", "data_format": "channels_last", "dilation_rate": [1, 1], "groups": 1, "activation": "linear", "use_bias": true, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}}, "bias_initializer": {"class_name": "Zeros", "config": {}}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "name": "conv3_block3_1_conv", "inbound_nodes": [[["conv3_block2_out", 0, 0, {}]]]}, {"class_name": "BatchNormalization", "config": {"name": "conv3_block3_1_bn", "trainable": true, "dtype": "float32", "axis": [3], "momentum": 0.99, "epsilon": 1.001e-05, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}}, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "name": "conv3_block3_1_bn", "inbound_nodes": [[["conv3_block3_1_conv", 0, 0, {}]]]}, {"class_name": "Activation", "config": {"name": "conv3_block3_1_relu", "trainable": true, "dtype": "float32", "activation": "relu"}, "name": "conv3_block3_1_relu", "inbound_nodes": [[["conv3_block3_1_bn", 0, 0, {}]]]}, {"class_name": "Conv2D", "config": {"name": "conv3_block3_2_conv", "trainable": true, "dtype": "float32", "filters": 128, "kernel_size": [3, 3], "strides": [1, 1], "padding": "same", "data_format": "channels_last", "dilation_rate": [1, 1], "groups": 1, "activation": "linear", "use_bias": true, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}}, "bias_initializer": {"class_name": "Zeros", "config": {}}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "name": "conv3_block3_2_conv", "inbound_nodes": [[["conv3_block3_1_relu", 0, 0, {}]]]}, {"class_name": "BatchNormalization", "config": {"name": "conv3_block3_2_bn", "trainable": true, "dtype": "float32", "axis": [3], "momentum": 0.99, "epsilon": 1.001e-05, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}}, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "name": "conv3_block3_2_bn", "inbound_nodes": [[["conv3_block3_2_conv", 0, 0, {}]]]}, {"class_name": "Activation", "config": {"name": "conv3_block3_2_relu", "trainable": true, "dtype": "float32", "activation": "relu"}, "name": "conv3_block3_2_relu", "inbound_nodes": [[["conv3_block3_2_bn", 0, 0, {}]]]}, {"class_name": "Conv2D", "config": {"name": "conv3_block3_3_conv", "trainable": true, "dtype": "float32", "filters": 512, "kernel_size": [1, 1], "strides": [1, 1], "padding": "valid", "data_format": "channels_last", "dilation_rate": [1, 1], "groups": 1, "activation": "linear", "use_bias": true, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}}, "bias_initializer": {"class_name": "Zeros", "config": {}}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "name": "conv3_block3_3_conv", "inbound_nodes": [[["conv3_block3_2_relu", 0, 0, {}]]]}, {"class_name": "BatchNormalization", "config": {"name": "conv3_block3_3_bn", "trainable": true, "dtype": "float32", "axis": [3], "momentum": 0.99, "epsilon": 1.001e-05, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}}, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "name": "conv3_block3_3_bn", "inbound_nodes": [[["conv3_block3_3_conv", 0, 0, {}]]]}, {"class_name": "Add", "config": {"name": "conv3_block3_add", "trainable": true, "dtype": "float32"}, "name": "conv3_block3_add", "inbound_nodes": [[["conv3_block2_out", 0, 0, {}], ["conv3_block3_3_bn", 0, 0, {}]]]}, {"class_name": "Activation", "config": {"name": "conv3_block3_out", "trainable": true, "dtype": "float32", "activation": "relu"}, "name": "conv3_block3_out", "inbound_nodes": [[["conv3_block3_add", 0, 0, {}]]]}, {"class_name": "Conv2D", "config": {"name": "conv3_block4_1_conv", "trainable": true, "dtype": "float32", "filters": 128, "kernel_size": [1, 1], "strides": [1, 1], "padding": "valid", "data_format": "channels_last", "dilation_rate": [1, 1], "groups": 1, "activation": "linear", "use_bias": true, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}}, "bias_initializer": {"class_name": "Zeros", "config": {}}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "name": "conv3_block4_1_conv", "inbound_nodes": [[["conv3_block3_out", 0, 0, {}]]]}, {"class_name": "BatchNormalization", "config": {"name": "conv3_block4_1_bn", "trainable": true, "dtype": "float32", "axis": [3], "momentum": 0.99, "epsilon": 1.001e-05, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}}, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "name": "conv3_block4_1_bn", "inbound_nodes": [[["conv3_block4_1_conv", 0, 0, {}]]]}, {"class_name": "Activation", "config": {"name": "conv3_block4_1_relu", "trainable": true, "dtype": "float32", "activation": "relu"}, "name": "conv3_block4_1_relu", "inbound_nodes": [[["conv3_block4_1_bn", 0, 0, {}]]]}, {"class_name": "Conv2D", "config": {"name": "conv3_block4_2_conv", "trainable": true, "dtype": "float32", "filters": 128, "kernel_size": [3, 3], "strides": [1, 1], "padding": "same", "data_format": "channels_last", "dilation_rate": [1, 1], "groups": 1, "activation": "linear", "use_bias": true, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}}, "bias_initializer": {"class_name": "Zeros", "config": {}}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "name": "conv3_block4_2_conv", "inbound_nodes": [[["conv3_block4_1_relu", 0, 0, {}]]]}, {"class_name": "BatchNormalization", "config": {"name": "conv3_block4_2_bn", "trainable": true, "dtype": "float32", "axis": [3], "momentum": 0.99, "epsilon": 1.001e-05, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}}, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "name": "conv3_block4_2_bn", "inbound_nodes": [[["conv3_block4_2_conv", 0, 0, {}]]]}, {"class_name": "Activation", "config": {"name": "conv3_block4_2_relu", "trainable": true, "dtype": "float32", "activation": "relu"}, "name": "conv3_block4_2_relu", "inbound_nodes": [[["conv3_block4_2_bn", 0, 0, {}]]]}, {"class_name": "Conv2D", "config": {"name": "conv3_block4_3_conv", "trainable": true, "dtype": "float32", "filters": 512, "kernel_size": [1, 1], "strides": [1, 1], "padding": "valid", "data_format": "channels_last", "dilation_rate": [1, 1], "groups": 1, "activation": "linear", "use_bias": true, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}}, "bias_initializer": {"class_name": "Zeros", "config": {}}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "name": "conv3_block4_3_conv", "inbound_nodes": [[["conv3_block4_2_relu", 0, 0, {}]]]}, {"class_name": "BatchNormalization", "config": {"name": "conv3_block4_3_bn", "trainable": true, "dtype": "float32", "axis": [3], "momentum": 0.99, "epsilon": 1.001e-05, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}}, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "name": "conv3_block4_3_bn", "inbound_nodes": [[["conv3_block4_3_conv", 0, 0, {}]]]}, {"class_name": "Add", "config": {"name": "conv3_block4_add", "trainable": true, "dtype": "float32"}, "name": "conv3_block4_add", "inbound_nodes": [[["conv3_block3_out", 0, 0, {}], ["conv3_block4_3_bn", 0, 0, {}]]]}, {"class_name": "Activation", "config": {"name": "conv3_block4_out", "trainable": true, "dtype": "float32", "activation": "relu"}, "name": "conv3_block4_out", "inbound_nodes": [[["conv3_block4_add", 0, 0, {}]]]}, {"class_name": "Conv2D", "config": {"name": "conv4_block1_1_conv", "trainable": true, "dtype": "float32", "filters": 256, "kernel_size": [1, 1], "strides": [2, 2], "padding": "valid", "data_format": "channels_last", "dilation_rate": [1, 1], "groups": 1, "activation": "linear", "use_bias": true, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}}, "bias_initializer": {"class_name": "Zeros", "config": {}}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "name": "conv4_block1_1_conv", "inbound_nodes": [[["conv3_block4_out", 0, 0, {}]]]}, {"class_name": "BatchNormalization", "config": {"name": "conv4_block1_1_bn", "trainable": true, "dtype": "float32", "axis": [3], "momentum": 0.99, "epsilon": 1.001e-05, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}}, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "name": "conv4_block1_1_bn", "inbound_nodes": [[["conv4_block1_1_conv", 0, 0, {}]]]}, {"class_name": "Activation", "config": {"name": "conv4_block1_1_relu", "trainable": true, "dtype": "float32", "activation": "relu"}, "name": "conv4_block1_1_relu", "inbound_nodes": [[["conv4_block1_1_bn", 0, 0, {}]]]}, {"class_name": "Conv2D", "config": {"name": "conv4_block1_2_conv", "trainable": true, "dtype": "float32", "filters": 256, "kernel_size": [3, 3], "strides": [1, 1], "padding": "same", "data_format": "channels_last", "dilation_rate": [1, 1], "groups": 1, "activation": "linear", "use_bias": true, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}}, "bias_initializer": {"class_name": "Zeros", "config": {}}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "name": "conv4_block1_2_conv", "inbound_nodes": [[["conv4_block1_1_relu", 0, 0, {}]]]}, {"class_name": "BatchNormalization", "config": {"name": "conv4_block1_2_bn", "trainable": true, "dtype": "float32", "axis": [3], "momentum": 0.99, "epsilon": 1.001e-05, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}}, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "name": "conv4_block1_2_bn", "inbound_nodes": [[["conv4_block1_2_conv", 0, 0, {}]]]}, {"class_name": "Activation", "config": {"name": "conv4_block1_2_relu", "trainable": true, "dtype": "float32", "activation": "relu"}, "name": "conv4_block1_2_relu", "inbound_nodes": [[["conv4_block1_2_bn", 0, 0, {}]]]}, {"class_name": "Conv2D", "config": {"name": "conv4_block1_0_conv", "trainable": true, "dtype": "float32", "filters": 1024, "kernel_size": [1, 1], "strides": [2, 2], "padding": "valid", "data_format": "channels_last", "dilation_rate": [1, 1], "groups": 1, "activation": "linear", "use_bias": true, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}}, "bias_initializer": {"class_name": "Zeros", "config": {}}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "name": "conv4_block1_0_conv", "inbound_nodes": [[["conv3_block4_out", 0, 0, {}]]]}, {"class_name": "Conv2D", "config": {"name": "conv4_block1_3_conv", "trainable": true, "dtype": "float32", "filters": 1024, "kernel_size": [1, 1], "strides": [1, 1], "padding": "valid", "data_format": "channels_last", "dilation_rate": [1, 1], "groups": 1, "activation": "linear", "use_bias": true, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}}, "bias_initializer": {"class_name": "Zeros", "config": {}}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "name": "conv4_block1_3_conv", "inbound_nodes": [[["conv4_block1_2_relu", 0, 0, {}]]]}, {"class_name": "BatchNormalization", "config": {"name": "conv4_block1_0_bn", "trainable": true, "dtype": "float32", "axis": [3], "momentum": 0.99, "epsilon": 1.001e-05, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}}, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "name": "conv4_block1_0_bn", "inbound_nodes": [[["conv4_block1_0_conv", 0, 0, {}]]]}, {"class_name": "BatchNormalization", "config": {"name": "conv4_block1_3_bn", "trainable": true, "dtype": "float32", "axis": [3], "momentum": 0.99, "epsilon": 1.001e-05, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}}, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "name": "conv4_block1_3_bn", "inbound_nodes": [[["conv4_block1_3_conv", 0, 0, {}]]]}, {"class_name": "Add", "config": {"name": "conv4_block1_add", "trainable": true, "dtype": "float32"}, "name": "conv4_block1_add", "inbound_nodes": [[["conv4_block1_0_bn", 0, 0, {}], ["conv4_block1_3_bn", 0, 0, {}]]]}, {"class_name": "Activation", "config": {"name": "conv4_block1_out", "trainable": true, "dtype": "float32", "activation": "relu"}, "name": "conv4_block1_out", "inbound_nodes": [[["conv4_block1_add", 0, 0, {}]]]}, {"class_name": "Conv2D", "config": {"name": "conv4_block2_1_conv", "trainable": true, "dtype": "float32", "filters": 256, "kernel_size": [1, 1], "strides": [1, 1], "padding": "valid", "data_format": "channels_last", "dilation_rate": [1, 1], "groups": 1, "activation": "linear", "use_bias": true, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}}, "bias_initializer": {"class_name": "Zeros", "config": {}}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "name": "conv4_block2_1_conv", "inbound_nodes": [[["conv4_block1_out", 0, 0, {}]]]}, {"class_name": "BatchNormalization", "config": {"name": "conv4_block2_1_bn", "trainable": true, "dtype": "float32", "axis": [3], "momentum": 0.99, "epsilon": 1.001e-05, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}}, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "name": "conv4_block2_1_bn", "inbound_nodes": [[["conv4_block2_1_conv", 0, 0, {}]]]}, {"class_name": "Activation", "config": {"name": "conv4_block2_1_relu", "trainable": true, "dtype": "float32", "activation": "relu"}, "name": "conv4_block2_1_relu", "inbound_nodes": [[["conv4_block2_1_bn", 0, 0, {}]]]}, {"class_name": "Conv2D", "config": {"name": "conv4_block2_2_conv", "trainable": true, "dtype": "float32", "filters": 256, "kernel_size": [3, 3], "strides": [1, 1], "padding": "same", "data_format": "channels_last", "dilation_rate": [1, 1], "groups": 1, "activation": "linear", "use_bias": true, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}}, "bias_initializer": {"class_name": "Zeros", "config": {}}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "name": "conv4_block2_2_conv", "inbound_nodes": [[["conv4_block2_1_relu", 0, 0, {}]]]}, {"class_name": "BatchNormalization", "config": {"name": "conv4_block2_2_bn", "trainable": true, "dtype": "float32", "axis": [3], "momentum": 0.99, "epsilon": 1.001e-05, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}}, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "name": "conv4_block2_2_bn", "inbound_nodes": [[["conv4_block2_2_conv", 0, 0, {}]]]}, {"class_name": "Activation", "config": {"name": "conv4_block2_2_relu", "trainable": true, "dtype": "float32", "activation": "relu"}, "name": "conv4_block2_2_relu", "inbound_nodes": [[["conv4_block2_2_bn", 0, 0, {}]]]}, {"class_name": "Conv2D", "config": {"name": "conv4_block2_3_conv", "trainable": true, "dtype": "float32", "filters": 1024, "kernel_size": [1, 1], "strides": [1, 1], "padding": "valid", "data_format": "channels_last", "dilation_rate": [1, 1], "groups": 1, "activation": "linear", "use_bias": true, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}}, "bias_initializer": {"class_name": "Zeros", "config": {}}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "name": "conv4_block2_3_conv", "inbound_nodes": [[["conv4_block2_2_relu", 0, 0, {}]]]}, {"class_name": "BatchNormalization", "config": {"name": "conv4_block2_3_bn", "trainable": true, "dtype": "float32", "axis": [3], "momentum": 0.99, "epsilon": 1.001e-05, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}}, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "name": "conv4_block2_3_bn", "inbound_nodes": [[["conv4_block2_3_conv", 0, 0, {}]]]}, {"class_name": "Add", "config": {"name": "conv4_block2_add", "trainable": true, "dtype": "float32"}, "name": "conv4_block2_add", "inbound_nodes": [[["conv4_block1_out", 0, 0, {}], ["conv4_block2_3_bn", 0, 0, {}]]]}, {"class_name": "Activation", "config": {"name": "conv4_block2_out", "trainable": true, "dtype": "float32", "activation": "relu"}, "name": "conv4_block2_out", "inbound_nodes": [[["conv4_block2_add", 0, 0, {}]]]}, {"class_name": "Conv2D", "config": {"name": "conv4_block3_1_conv", "trainable": true, "dtype": "float32", "filters": 256, "kernel_size": [1, 1], "strides": [1, 1], "padding": "valid", "data_format": "channels_last", "dilation_rate": [1, 1], "groups": 1, "activation": "linear", "use_bias": true, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}}, "bias_initializer": {"class_name": "Zeros", "config": {}}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "name": "conv4_block3_1_conv", "inbound_nodes": [[["conv4_block2_out", 0, 0, {}]]]}, {"class_name": "BatchNormalization", "config": {"name": "conv4_block3_1_bn", "trainable": true, "dtype": "float32", "axis": [3], "momentum": 0.99, "epsilon": 1.001e-05, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}}, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "name": "conv4_block3_1_bn", "inbound_nodes": [[["conv4_block3_1_conv", 0, 0, {}]]]}, {"class_name": "Activation", "config": {"name": "conv4_block3_1_relu", "trainable": true, "dtype": "float32", "activation": "relu"}, "name": "conv4_block3_1_relu", "inbound_nodes": [[["conv4_block3_1_bn", 0, 0, {}]]]}, {"class_name": "Conv2D", "config": {"name": "conv4_block3_2_conv", "trainable": true, "dtype": "float32", "filters": 256, "kernel_size": [3, 3], "strides": [1, 1], "padding": "same", "data_format": "channels_last", "dilation_rate": [1, 1], "groups": 1, "activation": "linear", "use_bias": true, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}}, "bias_initializer": {"class_name": "Zeros", "config": {}}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "name": "conv4_block3_2_conv", "inbound_nodes": [[["conv4_block3_1_relu", 0, 0, {}]]]}, {"class_name": "BatchNormalization", "config": {"name": "conv4_block3_2_bn", "trainable": true, "dtype": "float32", "axis": [3], "momentum": 0.99, "epsilon": 1.001e-05, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}}, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "name": "conv4_block3_2_bn", "inbound_nodes": [[["conv4_block3_2_conv", 0, 0, {}]]]}, {"class_name": "Activation", "config": {"name": "conv4_block3_2_relu", "trainable": true, "dtype": "float32", "activation": "relu"}, "name": "conv4_block3_2_relu", "inbound_nodes": [[["conv4_block3_2_bn", 0, 0, {}]]]}, {"class_name": "Conv2D", "config": {"name": "conv4_block3_3_conv", "trainable": true, "dtype": "float32", "filters": 1024, "kernel_size": [1, 1], "strides": [1, 1], "padding": "valid", "data_format": "channels_last", "dilation_rate": [1, 1], "groups": 1, "activation": "linear", "use_bias": true, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}}, "bias_initializer": {"class_name": "Zeros", "config": {}}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "name": "conv4_block3_3_conv", "inbound_nodes": [[["conv4_block3_2_relu", 0, 0, {}]]]}, {"class_name": "BatchNormalization", "config": {"name": "conv4_block3_3_bn", "trainable": true, "dtype": "float32", "axis": [3], "momentum": 0.99, "epsilon": 1.001e-05, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}}, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "name": "conv4_block3_3_bn", "inbound_nodes": [[["conv4_block3_3_conv", 0, 0, {}]]]}, {"class_name": "Add", "config": {"name": "conv4_block3_add", "trainable": true, "dtype": "float32"}, "name": "conv4_block3_add", "inbound_nodes": [[["conv4_block2_out", 0, 0, {}], ["conv4_block3_3_bn", 0, 0, {}]]]}, {"class_name": "Activation", "config": {"name": "conv4_block3_out", "trainable": true, "dtype": "float32", "activation": "relu"}, "name": "conv4_block3_out", "inbound_nodes": [[["conv4_block3_add", 0, 0, {}]]]}, {"class_name": "Conv2D", "config": {"name": "conv4_block4_1_conv", "trainable": true, "dtype": "float32", "filters": 256, "kernel_size": [1, 1], "strides": [1, 1], "padding": "valid", "data_format": "channels_last", "dilation_rate": [1, 1], "groups": 1, "activation": "linear", "use_bias": true, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}}, "bias_initializer": {"class_name": "Zeros", "config": {}}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "name": "conv4_block4_1_conv", "inbound_nodes": [[["conv4_block3_out", 0, 0, {}]]]}, {"class_name": "BatchNormalization", "config": {"name": "conv4_block4_1_bn", "trainable": true, "dtype": "float32", "axis": [3], "momentum": 0.99, "epsilon": 1.001e-05, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}}, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "name": "conv4_block4_1_bn", "inbound_nodes": [[["conv4_block4_1_conv", 0, 0, {}]]]}, {"class_name": "Activation", "config": {"name": "conv4_block4_1_relu", "trainable": true, "dtype": "float32", "activation": "relu"}, "name": "conv4_block4_1_relu", "inbound_nodes": [[["conv4_block4_1_bn", 0, 0, {}]]]}, {"class_name": "Conv2D", "config": {"name": "conv4_block4_2_conv", "trainable": true, "dtype": "float32", "filters": 256, "kernel_size": [3, 3], "strides": [1, 1], "padding": "same", "data_format": "channels_last", "dilation_rate": [1, 1], "groups": 1, "activation": "linear", "use_bias": true, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}}, "bias_initializer": {"class_name": "Zeros", "config": {}}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "name": "conv4_block4_2_conv", "inbound_nodes": [[["conv4_block4_1_relu", 0, 0, {}]]]}, {"class_name": "BatchNormalization", "config": {"name": "conv4_block4_2_bn", "trainable": true, "dtype": "float32", "axis": [3], "momentum": 0.99, "epsilon": 1.001e-05, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}}, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "name": "conv4_block4_2_bn", "inbound_nodes": [[["conv4_block4_2_conv", 0, 0, {}]]]}, {"class_name": "Activation", "config": {"name": "conv4_block4_2_relu", "trainable": true, "dtype": "float32", "activation": "relu"}, "name": "conv4_block4_2_relu", "inbound_nodes": [[["conv4_block4_2_bn", 0, 0, {}]]]}, {"class_name": "Conv2D", "config": {"name": "conv4_block4_3_conv", "trainable": true, "dtype": "float32", "filters": 1024, "kernel_size": [1, 1], "strides": [1, 1], "padding": "valid", "data_format": "channels_last", "dilation_rate": [1, 1], "groups": 1, "activation": "linear", "use_bias": true, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}}, "bias_initializer": {"class_name": "Zeros", "config": {}}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "name": "conv4_block4_3_conv", "inbound_nodes": [[["conv4_block4_2_relu", 0, 0, {}]]]}, {"class_name": "BatchNormalization", "config": {"name": "conv4_block4_3_bn", "trainable": true, "dtype": "float32", "axis": [3], "momentum": 0.99, "epsilon": 1.001e-05, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}}, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "name": "conv4_block4_3_bn", "inbound_nodes": [[["conv4_block4_3_conv", 0, 0, {}]]]}, {"class_name": "Add", "config": {"name": "conv4_block4_add", "trainable": true, "dtype": "float32"}, "name": "conv4_block4_add", "inbound_nodes": [[["conv4_block3_out", 0, 0, {}], ["conv4_block4_3_bn", 0, 0, {}]]]}, {"class_name": "Activation", "config": {"name": "conv4_block4_out", "trainable": true, "dtype": "float32", "activation": "relu"}, "name": "conv4_block4_out", "inbound_nodes": [[["conv4_block4_add", 0, 0, {}]]]}, {"class_name": "Conv2D", "config": {"name": "conv4_block5_1_conv", "trainable": true, "dtype": "float32", "filters": 256, "kernel_size": [1, 1], "strides": [1, 1], "padding": "valid", "data_format": "channels_last", "dilation_rate": [1, 1], "groups": 1, "activation": "linear", "use_bias": true, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}}, "bias_initializer": {"class_name": "Zeros", "config": {}}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "name": "conv4_block5_1_conv", "inbound_nodes": [[["conv4_block4_out", 0, 0, {}]]]}, {"class_name": "BatchNormalization", "config": {"name": "conv4_block5_1_bn", "trainable": true, "dtype": "float32", "axis": [3], "momentum": 0.99, "epsilon": 1.001e-05, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}}, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "name": "conv4_block5_1_bn", "inbound_nodes": [[["conv4_block5_1_conv", 0, 0, {}]]]}, {"class_name": "Activation", "config": {"name": "conv4_block5_1_relu", "trainable": true, "dtype": "float32", "activation": "relu"}, "name": "conv4_block5_1_relu", "inbound_nodes": [[["conv4_block5_1_bn", 0, 0, {}]]]}, {"class_name": "Conv2D", "config": {"name": "conv4_block5_2_conv", "trainable": true, "dtype": "float32", "filters": 256, "kernel_size": [3, 3], "strides": [1, 1], "padding": "same", "data_format": "channels_last", "dilation_rate": [1, 1], "groups": 1, "activation": "linear", "use_bias": true, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}}, "bias_initializer": {"class_name": "Zeros", "config": {}}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "name": "conv4_block5_2_conv", "inbound_nodes": [[["conv4_block5_1_relu", 0, 0, {}]]]}, {"class_name": "BatchNormalization", "config": {"name": "conv4_block5_2_bn", "trainable": true, "dtype": "float32", "axis": [3], "momentum": 0.99, "epsilon": 1.001e-05, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}}, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "name": "conv4_block5_2_bn", "inbound_nodes": [[["conv4_block5_2_conv", 0, 0, {}]]]}, {"class_name": "Activation", "config": {"name": "conv4_block5_2_relu", "trainable": true, "dtype": "float32", "activation": "relu"}, "name": "conv4_block5_2_relu", "inbound_nodes": [[["conv4_block5_2_bn", 0, 0, {}]]]}, {"class_name": "Conv2D", "config": {"name": "conv4_block5_3_conv", "trainable": true, "dtype": "float32", "filters": 1024, "kernel_size": [1, 1], "strides": [1, 1], "padding": "valid", "data_format": "channels_last", "dilation_rate": [1, 1], "groups": 1, "activation": "linear", "use_bias": true, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}}, "bias_initializer": {"class_name": "Zeros", "config": {}}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "name": "conv4_block5_3_conv", "inbound_nodes": [[["conv4_block5_2_relu", 0, 0, {}]]]}, {"class_name": "BatchNormalization", "config": {"name": "conv4_block5_3_bn", "trainable": true, "dtype": "float32", "axis": [3], "momentum": 0.99, "epsilon": 1.001e-05, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}}, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "name": "conv4_block5_3_bn", "inbound_nodes": [[["conv4_block5_3_conv", 0, 0, {}]]]}, {"class_name": "Add", "config": {"name": "conv4_block5_add", "trainable": true, "dtype": "float32"}, "name": "conv4_block5_add", "inbound_nodes": [[["conv4_block4_out", 0, 0, {}], ["conv4_block5_3_bn", 0, 0, {}]]]}, {"class_name": "Activation", "config": {"name": "conv4_block5_out", "trainable": true, "dtype": "float32", "activation": "relu"}, "name": "conv4_block5_out", "inbound_nodes": [[["conv4_block5_add", 0, 0, {}]]]}, {"class_name": "Conv2D", "config": {"name": "conv4_block6_1_conv", "trainable": true, "dtype": "float32", "filters": 256, "kernel_size": [1, 1], "strides": [1, 1], "padding": "valid", "data_format": "channels_last", "dilation_rate": [1, 1], "groups": 1, "activation": "linear", "use_bias": true, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}}, "bias_initializer": {"class_name": "Zeros", "config": {}}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "name": "conv4_block6_1_conv", "inbound_nodes": [[["conv4_block5_out", 0, 0, {}]]]}, {"class_name": "BatchNormalization", "config": {"name": "conv4_block6_1_bn", "trainable": true, "dtype": "float32", "axis": [3], "momentum": 0.99, "epsilon": 1.001e-05, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}}, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "name": "conv4_block6_1_bn", "inbound_nodes": [[["conv4_block6_1_conv", 0, 0, {}]]]}, {"class_name": "Activation", "config": {"name": "conv4_block6_1_relu", "trainable": true, "dtype": "float32", "activation": "relu"}, "name": "conv4_block6_1_relu", "inbound_nodes": [[["conv4_block6_1_bn", 0, 0, {}]]]}, {"class_name": "Conv2D", "config": {"name": "conv4_block6_2_conv", "trainable": true, "dtype": "float32", "filters": 256, "kernel_size": [3, 3], "strides": [1, 1], "padding": "same", "data_format": "channels_last", "dilation_rate": [1, 1], "groups": 1, "activation": "linear", "use_bias": true, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}}, "bias_initializer": {"class_name": "Zeros", "config": {}}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "name": "conv4_block6_2_conv", "inbound_nodes": [[["conv4_block6_1_relu", 0, 0, {}]]]}, {"class_name": "BatchNormalization", "config": {"name": "conv4_block6_2_bn", "trainable": true, "dtype": "float32", "axis": [3], "momentum": 0.99, "epsilon": 1.001e-05, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}}, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "name": "conv4_block6_2_bn", "inbound_nodes": [[["conv4_block6_2_conv", 0, 0, {}]]]}, {"class_name": "Activation", "config": {"name": "conv4_block6_2_relu", "trainable": true, "dtype": "float32", "activation": "relu"}, "name": "conv4_block6_2_relu", "inbound_nodes": [[["conv4_block6_2_bn", 0, 0, {}]]]}, {"class_name": "Conv2D", "config": {"name": "conv4_block6_3_conv", "trainable": true, "dtype": "float32", "filters": 1024, "kernel_size": [1, 1], "strides": [1, 1], "padding": "valid", "data_format": "channels_last", "dilation_rate": [1, 1], "groups": 1, "activation": "linear", "use_bias": true, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}}, "bias_initializer": {"class_name": "Zeros", "config": {}}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "name": "conv4_block6_3_conv", "inbound_nodes": [[["conv4_block6_2_relu", 0, 0, {}]]]}, {"class_name": "BatchNormalization", "config": {"name": "conv4_block6_3_bn", "trainable": true, "dtype": "float32", "axis": [3], "momentum": 0.99, "epsilon": 1.001e-05, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}}, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "name": "conv4_block6_3_bn", "inbound_nodes": [[["conv4_block6_3_conv", 0, 0, {}]]]}, {"class_name": "Add", "config": {"name": "conv4_block6_add", "trainable": true, "dtype": "float32"}, "name": "conv4_block6_add", "inbound_nodes": [[["conv4_block5_out", 0, 0, {}], ["conv4_block6_3_bn", 0, 0, {}]]]}, {"class_name": "Activation", "config": {"name": "conv4_block6_out", "trainable": true, "dtype": "float32", "activation": "relu"}, "name": "conv4_block6_out", "inbound_nodes": [[["conv4_block6_add", 0, 0, {}]]]}, {"class_name": "Conv2D", "config": {"name": "conv5_block1_1_conv", "trainable": true, "dtype": "float32", "filters": 512, "kernel_size": [1, 1], "strides": [2, 2], "padding": "valid", "data_format": "channels_last", "dilation_rate": [1, 1], "groups": 1, "activation": "linear", "use_bias": true, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}}, "bias_initializer": {"class_name": "Zeros", "config": {}}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "name": "conv5_block1_1_conv", "inbound_nodes": [[["conv4_block6_out", 0, 0, {}]]]}, {"class_name": "BatchNormalization", "config": {"name": "conv5_block1_1_bn", "trainable": true, "dtype": "float32", "axis": [3], "momentum": 0.99, "epsilon": 1.001e-05, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}}, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "name": "conv5_block1_1_bn", "inbound_nodes": [[["conv5_block1_1_conv", 0, 0, {}]]]}, {"class_name": "Activation", "config": {"name": "conv5_block1_1_relu", "trainable": true, "dtype": "float32", "activation": "relu"}, "name": "conv5_block1_1_relu", "inbound_nodes": [[["conv5_block1_1_bn", 0, 0, {}]]]}, {"class_name": "Conv2D", "config": {"name": "conv5_block1_2_conv", "trainable": true, "dtype": "float32", "filters": 512, "kernel_size": [3, 3], "strides": [1, 1], "padding": "same", "data_format": "channels_last", "dilation_rate": [1, 1], "groups": 1, "activation": "linear", "use_bias": true, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}}, "bias_initializer": {"class_name": "Zeros", "config": {}}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "name": "conv5_block1_2_conv", "inbound_nodes": [[["conv5_block1_1_relu", 0, 0, {}]]]}, {"class_name": "BatchNormalization", "config": {"name": "conv5_block1_2_bn", "trainable": true, "dtype": "float32", "axis": [3], "momentum": 0.99, "epsilon": 1.001e-05, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}}, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "name": "conv5_block1_2_bn", "inbound_nodes": [[["conv5_block1_2_conv", 0, 0, {}]]]}, {"class_name": "Activation", "config": {"name": "conv5_block1_2_relu", "trainable": true, "dtype": "float32", "activation": "relu"}, "name": "conv5_block1_2_relu", "inbound_nodes": [[["conv5_block1_2_bn", 0, 0, {}]]]}, {"class_name": "Conv2D", "config": {"name": "conv5_block1_0_conv", "trainable": true, "dtype": "float32", "filters": 2048, "kernel_size": [1, 1], "strides": [2, 2], "padding": "valid", "data_format": "channels_last", "dilation_rate": [1, 1], "groups": 1, "activation": "linear", "use_bias": true, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}}, "bias_initializer": {"class_name": "Zeros", "config": {}}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "name": "conv5_block1_0_conv", "inbound_nodes": [[["conv4_block6_out", 0, 0, {}]]]}, {"class_name": "Conv2D", "config": {"name": "conv5_block1_3_conv", "trainable": true, "dtype": "float32", "filters": 2048, "kernel_size": [1, 1], "strides": [1, 1], "padding": "valid", "data_format": "channels_last", "dilation_rate": [1, 1], "groups": 1, "activation": "linear", "use_bias": true, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}}, "bias_initializer": {"class_name": "Zeros", "config": {}}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "name": "conv5_block1_3_conv", "inbound_nodes": [[["conv5_block1_2_relu", 0, 0, {}]]]}, {"class_name": "BatchNormalization", "config": {"name": "conv5_block1_0_bn", "trainable": true, "dtype": "float32", "axis": [3], "momentum": 0.99, "epsilon": 1.001e-05, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}}, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "name": "conv5_block1_0_bn", "inbound_nodes": [[["conv5_block1_0_conv", 0, 0, {}]]]}, {"class_name": "BatchNormalization", "config": {"name": "conv5_block1_3_bn", "trainable": true, "dtype": "float32", "axis": [3], "momentum": 0.99, "epsilon": 1.001e-05, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}}, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "name": "conv5_block1_3_bn", "inbound_nodes": [[["conv5_block1_3_conv", 0, 0, {}]]]}, {"class_name": "Add", "config": {"name": "conv5_block1_add", "trainable": true, "dtype": "float32"}, "name": "conv5_block1_add", "inbound_nodes": [[["conv5_block1_0_bn", 0, 0, {}], ["conv5_block1_3_bn", 0, 0, {}]]]}, {"class_name": "Activation", "config": {"name": "conv5_block1_out", "trainable": true, "dtype": "float32", "activation": "relu"}, "name": "conv5_block1_out", "inbound_nodes": [[["conv5_block1_add", 0, 0, {}]]]}, {"class_name": "Conv2D", "config": {"name": "conv5_block2_1_conv", "trainable": true, "dtype": "float32", "filters": 512, "kernel_size": [1, 1], "strides": [1, 1], "padding": "valid", "data_format": "channels_last", "dilation_rate": [1, 1], "groups": 1, "activation": "linear", "use_bias": true, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}}, "bias_initializer": {"class_name": "Zeros", "config": {}}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "name": "conv5_block2_1_conv", "inbound_nodes": [[["conv5_block1_out", 0, 0, {}]]]}, {"class_name": "BatchNormalization", "config": {"name": "conv5_block2_1_bn", "trainable": true, "dtype": "float32", "axis": [3], "momentum": 0.99, "epsilon": 1.001e-05, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}}, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "name": "conv5_block2_1_bn", "inbound_nodes": [[["conv5_block2_1_conv", 0, 0, {}]]]}, {"class_name": "Activation", "config": {"name": "conv5_block2_1_relu", "trainable": true, "dtype": "float32", "activation": "relu"}, "name": "conv5_block2_1_relu", "inbound_nodes": [[["conv5_block2_1_bn", 0, 0, {}]]]}, {"class_name": "Conv2D", "config": {"name": "conv5_block2_2_conv", "trainable": true, "dtype": "float32", "filters": 512, "kernel_size": [3, 3], "strides": [1, 1], "padding": "same", "data_format": "channels_last", "dilation_rate": [1, 1], "groups": 1, "activation": "linear", "use_bias": true, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}}, "bias_initializer": {"class_name": "Zeros", "config": {}}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "name": "conv5_block2_2_conv", "inbound_nodes": [[["conv5_block2_1_relu", 0, 0, {}]]]}, {"class_name": "BatchNormalization", "config": {"name": "conv5_block2_2_bn", "trainable": true, "dtype": "float32", "axis": [3], "momentum": 0.99, "epsilon": 1.001e-05, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}}, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "name": "conv5_block2_2_bn", "inbound_nodes": [[["conv5_block2_2_conv", 0, 0, {}]]]}, {"class_name": "Activation", "config": {"name": "conv5_block2_2_relu", "trainable": true, "dtype": "float32", "activation": "relu"}, "name": "conv5_block2_2_relu", "inbound_nodes": [[["conv5_block2_2_bn", 0, 0, {}]]]}, {"class_name": "Conv2D", "config": {"name": "conv5_block2_3_conv", "trainable": true, "dtype": "float32", "filters": 2048, "kernel_size": [1, 1], "strides": [1, 1], "padding": "valid", "data_format": "channels_last", "dilation_rate": [1, 1], "groups": 1, "activation": "linear", "use_bias": true, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}}, "bias_initializer": {"class_name": "Zeros", "config": {}}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "name": "conv5_block2_3_conv", "inbound_nodes": [[["conv5_block2_2_relu", 0, 0, {}]]]}, {"class_name": "BatchNormalization", "config": {"name": "conv5_block2_3_bn", "trainable": true, "dtype": "float32", "axis": [3], "momentum": 0.99, "epsilon": 1.001e-05, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}}, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "name": "conv5_block2_3_bn", "inbound_nodes": [[["conv5_block2_3_conv", 0, 0, {}]]]}, {"class_name": "Add", "config": {"name": "conv5_block2_add", "trainable": true, "dtype": "float32"}, "name": "conv5_block2_add", "inbound_nodes": [[["conv5_block1_out", 0, 0, {}], ["conv5_block2_3_bn", 0, 0, {}]]]}, {"class_name": "Activation", "config": {"name": "conv5_block2_out", "trainable": true, "dtype": "float32", "activation": "relu"}, "name": "conv5_block2_out", "inbound_nodes": [[["conv5_block2_add", 0, 0, {}]]]}, {"class_name": "Conv2D", "config": {"name": "conv5_block3_1_conv", "trainable": true, "dtype": "float32", "filters": 512, "kernel_size": [1, 1], "strides": [1, 1], "padding": "valid", "data_format": "channels_last", "dilation_rate": [1, 1], "groups": 1, "activation": "linear", "use_bias": true, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}}, "bias_initializer": {"class_name": "Zeros", "config": {}}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "name": "conv5_block3_1_conv", "inbound_nodes": [[["conv5_block2_out", 0, 0, {}]]]}, {"class_name": "BatchNormalization", "config": {"name": "conv5_block3_1_bn", "trainable": true, "dtype": "float32", "axis": [3], "momentum": 0.99, "epsilon": 1.001e-05, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}}, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "name": "conv5_block3_1_bn", "inbound_nodes": [[["conv5_block3_1_conv", 0, 0, {}]]]}, {"class_name": "Activation", "config": {"name": "conv5_block3_1_relu", "trainable": true, "dtype": "float32", "activation": "relu"}, "name": "conv5_block3_1_relu", "inbound_nodes": [[["conv5_block3_1_bn", 0, 0, {}]]]}, {"class_name": "Conv2D", "config": {"name": "conv5_block3_2_conv", "trainable": true, "dtype": "float32", "filters": 512, "kernel_size": [3, 3], "strides": [1, 1], "padding": "same", "data_format": "channels_last", "dilation_rate": [1, 1], "groups": 1, "activation": "linear", "use_bias": true, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}}, "bias_initializer": {"class_name": "Zeros", "config": {}}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "name": "conv5_block3_2_conv", "inbound_nodes": [[["conv5_block3_1_relu", 0, 0, {}]]]}, {"class_name": "BatchNormalization", "config": {"name": "conv5_block3_2_bn", "trainable": true, "dtype": "float32", "axis": [3], "momentum": 0.99, "epsilon": 1.001e-05, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}}, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "name": "conv5_block3_2_bn", "inbound_nodes": [[["conv5_block3_2_conv", 0, 0, {}]]]}, {"class_name": "Activation", "config": {"name": "conv5_block3_2_relu", "trainable": true, "dtype": "float32", "activation": "relu"}, "name": "conv5_block3_2_relu", "inbound_nodes": [[["conv5_block3_2_bn", 0, 0, {}]]]}, {"class_name": "Conv2D", "config": {"name": "conv5_block3_3_conv", "trainable": true, "dtype": "float32", "filters": 2048, "kernel_size": [1, 1], "strides": [1, 1], "padding": "valid", "data_format": "channels_last", "dilation_rate": [1, 1], "groups": 1, "activation": "linear", "use_bias": true, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}}, "bias_initializer": {"class_name": "Zeros", "config": {}}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "name": "conv5_block3_3_conv", "inbound_nodes": [[["conv5_block3_2_relu", 0, 0, {}]]]}, {"class_name": "BatchNormalization", "config": {"name": "conv5_block3_3_bn", "trainable": true, "dtype": "float32", "axis": [3], "momentum": 0.99, "epsilon": 1.001e-05, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}}, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "name": "conv5_block3_3_bn", "inbound_nodes": [[["conv5_block3_3_conv", 0, 0, {}]]]}, {"class_name": "Add", "config": {"name": "conv5_block3_add", "trainable": true, "dtype": "float32"}, "name": "conv5_block3_add", "inbound_nodes": [[["conv5_block2_out", 0, 0, {}], ["conv5_block3_3_bn", 0, 0, {}]]]}, {"class_name": "Activation", "config": {"name": "conv5_block3_out", "trainable": true, "dtype": "float32", "activation": "relu"}, "name": "conv5_block3_out", "inbound_nodes": [[["conv5_block3_add", 0, 0, {}]]]}], "input_layers": [["input_1", 0, 0]], "output_layers": [["conv5_block3_out", 0, 0]]}, "name": "resnet50", "inbound_nodes": [[["tf.nn.bias_add", 0, 0, {"training": false}]]]}, {"class_name": "GlobalAveragePooling2D", "config": {"name": "global_average_pooling2d", "trainable": true, "dtype": "float32", "data_format": "channels_last", "keepdims": false}, "name": "global_average_pooling2d", "inbound_nodes": [[["resnet50", 1, 0, {}]]]}, {"class_name": "Dropout", "config": {"name": "dropout", "trainable": true, "dtype": "float32", "rate": 0.6, "noise_shape": null, "seed": null}, "name": "dropout", "inbound_nodes": [[["global_average_pooling2d", 0, 0, {}]]]}, {"class_name": "Dense", "config": {"name": "dense", "trainable": true, "dtype": "float32", "units": 1024, "activation": "relu", "use_bias": true, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}}, "bias_initializer": {"class_name": "Zeros", "config": {}}, "kernel_regularizer": {"class_name": "L1L2", "config": {"l1": 9.999999747378752e-06, "l2": 9.999999747378752e-05}}, "bias_regularizer": {"class_name": "L2", "config": {"l2": 9.999999747378752e-05}}, "activity_regularizer": {"class_name": "L2", "config": {"l2": 9.999999747378752e-06}}, "kernel_constraint": null, "bias_constraint": null}, "name": "dense", "inbound_nodes": [[["dropout", 0, 0, {}]]]}, {"class_name": "Dropout", "config": {"name": "dropout_1", "trainable": true, "dtype": "float32", "rate": 0.2, "noise_shape": null, "seed": null}, "name": "dropout_1", "inbound_nodes": [[["dense", 0, 0, {}]]]}, {"class_name": "Dense", "config": {"name": "dense_1", "trainable": true, "dtype": "float32", "units": 102, "activation": "softmax", "use_bias": true, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}}, "bias_initializer": {"class_name": "Zeros", "config": {}}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "name": "dense_1", "inbound_nodes": [[["dropout_1", 0, 0, {}]]]}], "input_layers": [["input_2", 0, 0]], "output_layers": [["dense_1", 0, 0]]}, "keras_version": "2.12.0", "backend": "tensorflow"} \ No newline at end of file diff --git a/demo/scenarios/model_analysis.py b/demo/scenarios/model_analysis.py index e406f9d6b..89ed76dd8 100644 --- a/demo/scenarios/model_analysis.py +++ b/demo/scenarios/model_analysis.py @@ -1,19 +1,9 @@ import matplotlib.pyplot as plt import tensorflow as tf -from tensorflow.keras.models import model_from_json -def load_model(model_filename: str, weights_filename: str): - # Load model - json_file = open(model_filename, "r") - loaded_model_json = json_file.read() - loaded_model = model_from_json(loaded_model_json) - json_file.close() - - # Load weights into new model - loaded_model.load_weights(weights_filename) - - return loaded_model +def load_model(model_filename: str): + return tf.keras.models.load_model(model_filename) def run_model(im, loaded_model): diff --git a/demo/scenarios/model_predict.py b/demo/scenarios/model_predict.py index 382f30d2c..48f52424c 100644 --- a/demo/scenarios/model_predict.py +++ b/demo/scenarios/model_predict.py @@ -44,19 +44,13 @@ def parse_args(): ) # --model file example: model_f3_a.json parser.add_argument( - "--model", help="The json formatted model file.", required=True - ) - # --weights file example: model_f_a.h5 - parser.add_argument( - "--weights", - help="The file that contains the model weights.", - required=True, + "--model", help="The keras formatted model file.", required=True ) args = parser.parse_args() return args -def run_model(image_folder_path, model_file, weights_file): +def run_model(image_folder_path, model_file): """ This script gets performance metrics (elapsed time and memory consumption) for running inference on a model. It does NOT check accurate predictions - it simply runs the inference on the provided dataset and outputs statics @@ -70,7 +64,6 @@ def run_model(image_folder_path, model_file, weights_file): import tensorflow as tf print_and_log(f"TensorFlow version: {tf.__version__}") - from tensorflow.keras.models import model_from_json # Load dataset dataset = tf.keras.utils.image_dataset_from_directory( @@ -85,13 +78,7 @@ def run_model(image_folder_path, model_file, weights_file): ru1 = getrusage(RUSAGE_SELF).ru_maxrss # Load model - json_file = open(model_file, "r") - loaded_model_json = json_file.read() - loaded_model = model_from_json(loaded_model_json) - json_file.close() - - # Load weights into new model - loaded_model.load_weights(weights_file) + loaded_model = tf.keras.models.load_model(model_file) print_and_log("Loaded model from disk!") ru2 = getrusage(RUSAGE_SELF).ru_maxrss @@ -99,10 +86,8 @@ def run_model(image_folder_path, model_file, weights_file): print_and_log(loaded_model.summary()) mfile_size = os.path.getsize(model_file) - wfile_size = os.path.getsize(weights_file) - print_and_log(f"Size of model json file ({model_file}): {mfile_size} bytes") - print_and_log(f"Size of weights file ({weights_file}): {wfile_size} bytes") + print_and_log(f"Size of model file ({model_file}): {mfile_size} bytes") print_and_log( f"Memory used for the entire model loading process: {ru2 - ru1} {r_mem_units_str}." ) @@ -208,6 +193,5 @@ def run_model(image_folder_path, model_file, weights_file): args = parse_args() image_folder = args.images model_file = args.model - weights_file = args.weights - run_model(image_folder, model_file, weights_file) + run_model(image_folder, model_file) diff --git a/demo/scenarios/session.py b/demo/scenarios/session.py index 11bc0d2a0..1b52ef8ee 100644 --- a/demo/scenarios/session.py +++ b/demo/scenarios/session.py @@ -29,10 +29,7 @@ os.makedirs(MEDIA_DIR, exist_ok=True) # The json file of the model to load -MODEL_FILE_PATH = MODELS_DIR / "model_f3_a.json" - -# The weights file for the model -MODEL_WEIGHTS_PATH = MODELS_DIR / "oxford_flower_model_v6.testing.keras" +MODEL_FILE_PATH = MODELS_DIR / "oxford_flower_model.keras" # This is the external script that will load and run the model for inference/prediction. MODEL_SCRIPT = Path.cwd() / "model_predict.py" @@ -41,6 +38,4 @@ SAMPLE_DATASET_DIR, "--model", MODEL_FILE_PATH, - "--weights", - MODEL_WEIGHTS_PATH, ]