{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Residual Networks\n", "\n", "Welcome to the second assignment of this week! You will learn how to build very deep convolutional networks, using Residual Networks (ResNets). In theory, very deep networks can represent very complex functions; but in practice, they are hard to train. Residual Networks, introduced by [He et al.](https://arxiv.org/pdf/1512.03385.pdf), allow you to train much deeper networks than were previously practically feasible.\n", "\n", "**In this assignment, you will:**\n", "- Implement the basic building blocks of ResNets. \n", "- Put together these building blocks to implement and train a state-of-the-art neural network for image classification. \n", "\n", "This assignment will be done in Keras. \n", "\n", "Before jumping into the problem, let's run the cell below to load the required packages." ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "Using TensorFlow backend.\n" ] } ], "source": [ "import numpy as np\n", "from keras import layers\n", "from keras.layers import Input, Add, Dense, Activation, ZeroPadding2D, BatchNormalization, Flatten, Conv2D, AveragePooling2D, MaxPooling2D, GlobalMaxPooling2D\n", "from keras.models import Model, load_model\n", "from keras.preprocessing import image\n", "from keras.utils import layer_utils\n", "from keras.utils.data_utils import get_file\n", "from keras.applications.imagenet_utils import preprocess_input\n", "import pydot\n", "from IPython.display import SVG\n", "from keras.utils.vis_utils import model_to_dot\n", "from keras.utils import plot_model\n", "from resnets_utils import *\n", "from keras.initializers import glorot_uniform\n", "import scipy.misc\n", "from matplotlib.pyplot import imshow\n", "%matplotlib inline\n", "\n", "import keras.backend as K\n", "K.set_image_data_format('channels_last')\n", "K.set_learning_phase(1)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 1 - The problem of very deep neural networks\n", "\n", "Last week, you built your first convolutional neural network. In recent years, neural networks have become deeper, with state-of-the-art networks going from just a few layers (e.g., AlexNet) to over a hundred layers.\n", "\n", "The main benefit of a very deep network is that it can represent very complex functions. It can also learn features at many different levels of abstraction, from edges (at the lower layers) to very complex features (at the deeper layers). However, using a deeper network doesn't always help. A huge barrier to training them is vanishing gradients: very deep networks often have a gradient signal that goes to zero quickly, thus making gradient descent unbearably slow. More specifically, during gradient descent, as you backprop from the final layer back to the first layer, you are multiplying by the weight matrix on each step, and thus the gradient can decrease exponentially quickly to zero (or, in rare cases, grow exponentially quickly and \"explode\" to take very large values). \n", "\n", "During training, you might therefore see the magnitude (or norm) of the gradient for the earlier layers descrease to zero very rapidly as training proceeds: " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "<img src=\"images/vanishing_grad_kiank.png\" style=\"width:450px;height:220px;\">\n", "<caption><center> <u> <font color='purple'> **Figure 1** </u><font color='purple'> : **Vanishing gradient** <br> The speed of learning decreases very rapidly for the early layers as the network trains </center></caption>\n", "\n", "You are now going to solve this problem by building a Residual Network!" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 2 - Building a Residual Network\n", "\n", "In ResNets, a \"shortcut\" or a \"skip connection\" allows the gradient to be directly backpropagated to earlier layers: \n", "\n", "<img src=\"images/skip_connection_kiank.png\" style=\"width:650px;height:200px;\">\n", "<caption><center> <u> <font color='purple'> **Figure 2** </u><font color='purple'> : A ResNet block showing a **skip-connection** <br> </center></caption>\n", "\n", "The image on the left shows the \"main path\" through the network. The image on the right adds a shortcut to the main path. By stacking these ResNet blocks on top of each other, you can form a very deep network. \n", "\n", "We also saw in lecture that having ResNet blocks with the shortcut also makes it very easy for one of the blocks to learn an identity function. This means that you can stack on additional ResNet blocks with little risk of harming training set performance. (There is also some evidence that the ease of learning an identity function--even more than skip connections helping with vanishing gradients--accounts for ResNets' remarkable performance.)\n", "\n", "Two main types of blocks are used in a ResNet, depending mainly on whether the input/output dimensions are same or different. You are going to implement both of them. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 2.1 - The identity block\n", "\n", "The identity block is the standard block used in ResNets, and corresponds to the case where the input activation (say $a^{[l]}$) has the same dimension as the output activation (say $a^{[l+2]}$). To flesh out the different steps of what happens in a ResNet's identity block, here is an alternative diagram showing the individual steps:\n", "\n", "<img src=\"images/idblock2_kiank.png\" style=\"width:650px;height:150px;\">\n", "<caption><center> <u> <font color='purple'> **Figure 3** </u><font color='purple'> : **Identity block.** Skip connection \"skips over\" 2 layers. </center></caption>\n", "\n", "The upper path is the \"shortcut path.\" The lower path is the \"main path.\" In this diagram, we have also made explicit the CONV2D and ReLU steps in each layer. To speed up training we have also added a BatchNorm step. Don't worry about this being complicated to implement--you'll see that BatchNorm is just one line of code in Keras! \n", "\n", "In this exercise, you'll actually implement a slightly more powerful version of this identity block, in which the skip connection \"skips over\" 3 hidden layers rather than 2 layers. It looks like this: \n", "\n", "<img src=\"images/idblock3_kiank.png\" style=\"width:650px;height:150px;\">\n", "<caption><center> <u> <font color='purple'> **Figure 4** </u><font color='purple'> : **Identity block.** Skip connection \"skips over\" 3 layers.</center></caption>\n", "\n", "Here're the individual steps.\n", "\n", "First component of main path: \n", "- The first CONV2D has $F_1$ filters of shape (1,1) and a stride of (1,1). Its padding is \"valid\" and its name should be `conv_name_base + '2a'`. Use 0 as the seed for the random initialization. \n", "- The first BatchNorm is normalizing the channels axis. Its name should be `bn_name_base + '2a'`.\n", "- Then apply the ReLU activation function. This has no name and no hyperparameters. \n", "\n", "Second component of main path:\n", "- The second CONV2D has $F_2$ filters of shape $(f,f)$ and a stride of (1,1). Its padding is \"same\" and its name should be `conv_name_base + '2b'`. Use 0 as the seed for the random initialization. \n", "- The second BatchNorm is normalizing the channels axis. Its name should be `bn_name_base + '2b'`.\n", "- Then apply the ReLU activation function. This has no name and no hyperparameters. \n", "\n", "Third component of main path:\n", "- The third CONV2D has $F_3$ filters of shape (1,1) and a stride of (1,1). Its padding is \"valid\" and its name should be `conv_name_base + '2c'`. Use 0 as the seed for the random initialization. \n", "- The third BatchNorm is normalizing the channels axis. Its name should be `bn_name_base + '2c'`. Note that there is no ReLU activation function in this component. \n", "\n", "Final step: \n", "- The shortcut and the input are added together.\n", "- Then apply the ReLU activation function. This has no name and no hyperparameters. \n", "\n", "**Exercise**: Implement the ResNet identity block. We have implemented the first component of the main path. Please read over this carefully to make sure you understand what it is doing. You should implement the rest. \n", "- To implement the Conv2D step: [See reference](https://keras.io/layers/convolutional/#conv2d)\n", "- To implement BatchNorm: [See reference](https://faroit.github.io/keras-docs/1.2.2/layers/normalization/) (axis: Integer, the axis that should be normalized (typically the channels axis))\n", "- For the activation, use: `Activation('relu')(X)`\n", "- To add the value passed forward by the shortcut: [See reference](https://keras.io/layers/merge/#add)" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": true }, "outputs": [], "source": [ "# GRADED FUNCTION: identity_block\n", "\n", "def identity_block(X, f, filters, stage, block):\n", " \"\"\"\n", " Implementation of the identity block as defined in Figure 3\n", " \n", " Arguments:\n", " X -- input tensor of shape (m, n_H_prev, n_W_prev, n_C_prev)\n", " f -- integer, specifying the shape of the middle CONV's window for the main path\n", " filters -- python list of integers, defining the number of filters in the CONV layers of the main path\n", " stage -- integer, used to name the layers, depending on their position in the network\n", " block -- string/character, used to name the layers, depending on their position in the network\n", " \n", " Returns:\n", " X -- output of the identity block, tensor of shape (n_H, n_W, n_C)\n", " \"\"\"\n", " \n", " # defining name basis\n", " conv_name_base = 'res' + str(stage) + block + '_branch'\n", " bn_name_base = 'bn' + str(stage) + block + '_branch'\n", " \n", " # Retrieve Filters\n", " F1, F2, F3 = filters\n", " \n", " # Save the input value. You'll need this later to add back to the main path. \n", " X_shortcut = X\n", " \n", " # First component of main path\n", " X = Conv2D(filters = F1, kernel_size = (1, 1), strides = (1,1), padding = 'valid', name = conv_name_base + '2a', kernel_initializer = glorot_uniform(seed=0))(X)\n", " X = BatchNormalization(axis = 3, name = bn_name_base + '2a')(X)\n", " X = Activation('relu')(X)\n", " \n", " ### START CODE HERE ###\n", " \n", " # Second component of main path (≈3 lines)\n", " X = Conv2D(filters = F2, kernel_size = (f, f), strides = (1,1), padding = 'same', name = conv_name_base + '2b', kernel_initializer = glorot_uniform(seed=0))(X)\n", " X = BatchNormalization(axis = 3, name = bn_name_base + '2b')(X)\n", " X = Activation('relu')(X) \n", "\n", " # Third component of main path (≈2 lines)\n", " X = Conv2D(filters = F3, kernel_size = (1, 1), strides = (1,1), padding = 'valid', name = conv_name_base + '2c', kernel_initializer = glorot_uniform(seed=0))(X)\n", " X = BatchNormalization(axis = 3, name = bn_name_base + '2c')(X) \n", "\n", " # Final step: Add shortcut value to main path, and pass it through a RELU activation (≈2 lines)\n", " X = Add()([X, X_shortcut]) \n", " X = Activation('relu')(X) \n", " \n", " ### END CODE HERE ###\n", " \n", " return X" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "out = [ 0.94822985 0. 1.16101444 2.747859 0. 1.36677003]\n" ] } ], "source": [ "tf.reset_default_graph()\n", "\n", "with tf.Session() as test:\n", " np.random.seed(1)\n", " A_prev = tf.placeholder(\"float\", [3, 4, 4, 6])\n", " X = np.random.randn(3, 4, 4, 6)\n", " A = identity_block(A_prev, f = 2, filters = [2, 4, 6], stage = 1, block = 'a')\n", " test.run(tf.global_variables_initializer())\n", " out = test.run([A], feed_dict={A_prev: X, K.learning_phase(): 0})\n", " print(\"out = \" + str(out[0][1][1][0]))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Expected Output**:\n", "\n", "<table>\n", " <tr>\n", " <td>\n", " **out**\n", " </td>\n", " <td>\n", " [ 0.94822985 0. 1.16101444 2.747859 0. 1.36677003]\n", " </td>\n", " </tr>\n", "\n", "</table>" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 2.2 - The convolutional block\n", "\n", "You've implemented the ResNet identity block. Next, the ResNet \"convolutional block\" is the other type of block. You can use this type of block when the input and output dimensions don't match up. The difference with the identity block is that there is a CONV2D layer in the shortcut path: \n", "\n", "<img src=\"images/convblock_kiank.png\" style=\"width:650px;height:150px;\">\n", "<caption><center> <u> <font color='purple'> **Figure 4** </u><font color='purple'> : **Convolutional block** </center></caption>\n", "\n", "The CONV2D layer in the shortcut path is used to resize the input $x$ to a different dimension, so that the dimensions match up in the final addition needed to add the shortcut value back to the main path. (This plays a similar role as the matrix $W_s$ discussed in lecture.) For example, to reduce the activation dimensions's height and width by a factor of 2, you can use a 1x1 convolution with a stride of 2. The CONV2D layer on the shortcut path does not use any non-linear activation function. Its main role is to just apply a (learned) linear function that reduces the dimension of the input, so that the dimensions match up for the later addition step. \n", "\n", "The details of the convolutional block are as follows. \n", "\n", "First component of main path:\n", "- The first CONV2D has $F_1$ filters of shape (1,1) and a stride of (s,s). Its padding is \"valid\" and its name should be `conv_name_base + '2a'`. \n", "- The first BatchNorm is normalizing the channels axis. Its name should be `bn_name_base + '2a'`.\n", "- Then apply the ReLU activation function. This has no name and no hyperparameters. \n", "\n", "Second component of main path:\n", "- The second CONV2D has $F_2$ filters of (f,f) and a stride of (1,1). Its padding is \"same\" and it's name should be `conv_name_base + '2b'`.\n", "- The second BatchNorm is normalizing the channels axis. Its name should be `bn_name_base + '2b'`.\n", "- Then apply the ReLU activation function. This has no name and no hyperparameters. \n", "\n", "Third component of main path:\n", "- The third CONV2D has $F_3$ filters of (1,1) and a stride of (1,1). Its padding is \"valid\" and it's name should be `conv_name_base + '2c'`.\n", "- The third BatchNorm is normalizing the channels axis. Its name should be `bn_name_base + '2c'`. Note that there is no ReLU activation function in this component. \n", "\n", "Shortcut path:\n", "- The CONV2D has $F_3$ filters of shape (1,1) and a stride of (s,s). Its padding is \"valid\" and its name should be `conv_name_base + '1'`.\n", "- The BatchNorm is normalizing the channels axis. Its name should be `bn_name_base + '1'`. \n", "\n", "Final step: \n", "- The shortcut and the main path values are added together.\n", "- Then apply the ReLU activation function. This has no name and no hyperparameters. \n", " \n", "**Exercise**: Implement the convolutional block. We have implemented the first component of the main path; you should implement the rest. As before, always use 0 as the seed for the random initialization, to ensure consistency with our grader.\n", "- [Conv Hint](https://keras.io/layers/convolutional/#conv2d)\n", "- [BatchNorm Hint](https://keras.io/layers/normalization/#batchnormalization) (axis: Integer, the axis that should be normalized (typically the features axis))\n", "- For the activation, use: `Activation('relu')(X)`\n", "- [Addition Hint](https://keras.io/layers/merge/#add)" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": true }, "outputs": [], "source": [ "# GRADED FUNCTION: convolutional_block\n", "\n", "def convolutional_block(X, f, filters, stage, block, s = 2):\n", " \"\"\"\n", " Implementation of the convolutional block as defined in Figure 4\n", " \n", " Arguments:\n", " X -- input tensor of shape (m, n_H_prev, n_W_prev, n_C_prev)\n", " f -- integer, specifying the shape of the middle CONV's window for the main path\n", " filters -- python list of integers, defining the number of filters in the CONV layers of the main path\n", " stage -- integer, used to name the layers, depending on their position in the network\n", " block -- string/character, used to name the layers, depending on their position in the network\n", " s -- Integer, specifying the stride to be used\n", " \n", " Returns:\n", " X -- output of the convolutional block, tensor of shape (n_H, n_W, n_C)\n", " \"\"\"\n", " \n", " # defining name basis\n", " conv_name_base = 'res' + str(stage) + block + '_branch'\n", " bn_name_base = 'bn' + str(stage) + block + '_branch'\n", " \n", " # Retrieve Filters\n", " F1, F2, F3 = filters\n", " \n", " # Save the input value\n", " X_shortcut = X\n", "\n", "\n", " ##### MAIN PATH #####\n", " # First component of main path \n", " X = Conv2D(F1, (1, 1), strides = (s,s), padding = 'valid', name = conv_name_base + '2a', kernel_initializer = glorot_uniform(seed=0))(X)\n", " X = BatchNormalization(axis = 3, name = bn_name_base + '2a')(X)\n", " X = Activation('relu')(X)\n", " \n", " ### START CODE HERE ###\n", "\n", " # Second component of main path (≈3 lines)\n", " X = Conv2D(F2, (f, f), strides = (1,1), padding = 'same', name = conv_name_base + '2b', kernel_initializer = glorot_uniform(seed=0))(X)\n", " X = BatchNormalization(axis = 3, name = bn_name_base + '2b')(X) \n", " X = Activation('relu')(X)\n", "\n", " # Third component of main path (≈2 lines)\n", " X = Conv2D(F3, (1, 1), strides = (1,1), padding = 'valid', name = conv_name_base + '2c', kernel_initializer = glorot_uniform(seed=0))(X)\n", " X = BatchNormalization(axis = 3, name = bn_name_base + '2c')(X) \n", "\n", " ##### SHORTCUT PATH #### (≈2 lines)\n", " X_ = Conv2D(F3, (1, 1), strides = (s,s), padding = 'valid', name = conv_name_base + '1', kernel_initializer = glorot_uniform(seed=0))(X_shortcut)\n", " X_ = BatchNormalization(axis = 3, name = bn_name_base + '1')(X_) \n", "\n", " # Final step: Add shortcut value to main path, and pass it through a RELU activation (≈2 lines)\n", " X = Add()([X, X_]) \n", " X = Activation('relu')(X) \n", " \n", " ### END CODE HERE ###\n", " \n", " return X" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "out = [ 0.09018463 1.23489773 0.46822017 0.0367176 0. 0.65516603]\n" ] } ], "source": [ "tf.reset_default_graph()\n", "\n", "with tf.Session() as test:\n", " np.random.seed(1)\n", " A_prev = tf.placeholder(\"float\", [3, 4, 4, 6])\n", " X = np.random.randn(3, 4, 4, 6)\n", " A = convolutional_block(A_prev, f = 2, filters = [2, 4, 6], stage = 1, block = 'a')\n", " test.run(tf.global_variables_initializer())\n", " out = test.run([A], feed_dict={A_prev: X, K.learning_phase(): 0})\n", " print(\"out = \" + str(out[0][1][1][0]))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Expected Output**:\n", "\n", "<table>\n", " <tr>\n", " <td>\n", " **out**\n", " </td>\n", " <td>\n", " [ 0.09018463 1.23489773 0.46822017 0.0367176 0. 0.65516603]\n", " </td>\n", " </tr>\n", "\n", "</table>" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 3 - Building your first ResNet model (50 layers)\n", "\n", "You now have the necessary blocks to build a very deep ResNet. The following figure describes in detail the architecture of this neural network. \"ID BLOCK\" in the diagram stands for \"Identity block,\" and \"ID BLOCK x3\" means you should stack 3 identity blocks together.\n", "\n", "<img src=\"images/resnet_kiank.png\" style=\"width:850px;height:150px;\">\n", "<caption><center> <u> <font color='purple'> **Figure 5** </u><font color='purple'> : **ResNet-50 model** </center></caption>\n", "\n", "The details of this ResNet-50 model are:\n", "- Zero-padding pads the input with a pad of (3,3)\n", "- Stage 1:\n", " - The 2D Convolution has 64 filters of shape (7,7) and uses a stride of (2,2). Its name is \"conv1\".\n", " - BatchNorm is applied to the channels axis of the input.\n", " - MaxPooling uses a (3,3) window and a (2,2) stride.\n", "- Stage 2:\n", " - The convolutional block uses three set of filters of size [64,64,256], \"f\" is 3, \"s\" is 1 and the block is \"a\".\n", " - The 2 identity blocks use three set of filters of size [64,64,256], \"f\" is 3 and the blocks are \"b\" and \"c\".\n", "- Stage 3:\n", " - The convolutional block uses three set of filters of size [128,128,512], \"f\" is 3, \"s\" is 2 and the block is \"a\".\n", " - The 3 identity blocks use three set of filters of size [128,128,512], \"f\" is 3 and the blocks are \"b\", \"c\" and \"d\".\n", "- Stage 4:\n", " - The convolutional block uses three set of filters of size [256, 256, 1024], \"f\" is 3, \"s\" is 2 and the block is \"a\".\n", " - The 5 identity blocks use three set of filters of size [256, 256, 1024], \"f\" is 3 and the blocks are \"b\", \"c\", \"d\", \"e\" and \"f\".\n", "- Stage 5:\n", " - The convolutional block uses three set of filters of size [512, 512, 2048], \"f\" is 3, \"s\" is 2 and the block is \"a\".\n", " - The 2 identity blocks use three set of filters of size [512, 512, 2048], \"f\" is 3 and the blocks are \"b\" and \"c\".\n", "- The 2D Average Pooling uses a window of shape (2,2) and its name is \"avg_pool\".\n", "- The flatten doesn't have any hyperparameters or name.\n", "- The Fully Connected (Dense) layer reduces its input to the number of classes using a softmax activation. Its name should be `'fc' + str(classes)`.\n", "\n", "**Exercise**: Implement the ResNet with 50 layers described in the figure above. We have implemented Stages 1 and 2. Please implement the rest. (The syntax for implementing Stages 3-5 should be quite similar to that of Stage 2.) Make sure you follow the naming convention in the text above. \n", "\n", "You'll need to use this function: \n", "- Average pooling [see reference](https://keras.io/layers/pooling/#averagepooling2d)\n", "\n", "Here're some other functions we used in the code below:\n", "- Conv2D: [See reference](https://keras.io/layers/convolutional/#conv2d)\n", "- BatchNorm: [See reference](https://keras.io/layers/normalization/#batchnormalization) (axis: Integer, the axis that should be normalized (typically the features axis))\n", "- Zero padding: [See reference](https://keras.io/layers/convolutional/#zeropadding2d)\n", "- Max pooling: [See reference](https://keras.io/layers/pooling/#maxpooling2d)\n", "- Fully conected layer: [See reference](https://keras.io/layers/core/#dense)\n", "- Addition: [See reference](https://keras.io/layers/merge/#add)" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": true }, "outputs": [], "source": [ "# GRADED FUNCTION: ResNet50\n", "\n", "def ResNet50(input_shape = (64, 64, 3), classes = 6):\n", " \"\"\"\n", " Implementation of the popular ResNet50 the following architecture:\n", " CONV2D -> BATCHNORM -> RELU -> MAXPOOL -> CONVBLOCK -> IDBLOCK*2 -> CONVBLOCK -> IDBLOCK*3\n", " -> CONVBLOCK -> IDBLOCK*5 -> CONVBLOCK -> IDBLOCK*2 -> AVGPOOL -> TOPLAYER\n", "\n", " Arguments:\n", " input_shape -- shape of the images of the dataset\n", " classes -- integer, number of classes\n", "\n", " Returns:\n", " model -- a Model() instance in Keras\n", " \"\"\"\n", " \n", " # Define the input as a tensor with shape input_shape\n", " X_input = Input(input_shape)\n", "\n", " \n", " # Zero-Padding\n", " X = ZeroPadding2D((3, 3))(X_input)\n", " \n", " # Stage 1\n", " X = Conv2D(64, (7, 7), strides = (2, 2), name = 'conv1', kernel_initializer = glorot_uniform(seed=0))(X)\n", " X = BatchNormalization(axis = 3, name = 'bn_conv1')(X)\n", " X = Activation('relu')(X)\n", " X = MaxPooling2D((3, 3), strides=(2, 2))(X)\n", "\n", " # Stage 2\n", " X = convolutional_block(X, f = 3, filters = [64, 64, 256], stage = 2, block='a', s = 1)\n", " X = identity_block(X, 3, [64, 64, 256], stage=2, block='b')\n", " X = identity_block(X, 3, [64, 64, 256], stage=2, block='c') \n", "\n", " ### START CODE HERE ###\n", "\n", " # Stage 3 (≈4 lines)\n", " X = convolutional_block(X, f = 3, filters = [128, 128, 512], stage = 3, block='a', s = 2)\n", " X = identity_block(X, 3, [128, 128, 512], stage=3, block='b')\n", " X = identity_block(X, 3, [128, 128, 512], stage=3, block='c')\n", " X = identity_block(X, 3, [128, 128, 512], stage=3, block='d') \n", "\n", " # Stage 4 (≈6 lines)\n", " X = convolutional_block(X, f = 3, filters = [256, 256, 1024], stage = 4, block='a', s = 2) \n", " X = identity_block(X, 3, [256, 256, 1024], stage=4, block='b') \n", " X = identity_block(X, 3, [256, 256, 1024], stage=4, block='c')\n", " X = identity_block(X, 3, [256, 256, 1024], stage=4, block='d')\n", " X = identity_block(X, 3, [256, 256, 1024], stage=4, block='e')\n", " X = identity_block(X, 3, [256, 256, 1024], stage=4, block='f') \n", "\n", " # Stage 5 (≈3 lines)\n", " X = convolutional_block(X, f = 3, filters = [512, 512, 2048], stage = 5, block='a', s = 2) \n", " X = identity_block(X, 3, [512, 512, 2048], stage=5, block='b')\n", " X = identity_block(X, 3, [512, 512, 2048], stage=5, block='c') \n", "\n", " # AVGPOOL (≈1 line). Use \"X = AveragePooling2D(...)(X)\"\n", " X = AveragePooling2D(pool_size=(2, 2), strides=None, padding='same', data_format=None, name = \"avg_pool\")(X) \n", " \n", " ### END CODE HERE ### \n", "\n", " # output layer\n", " X = Flatten()(X)\n", " X = Dense(classes, activation='softmax', name='fc' + str(classes), kernel_initializer = glorot_uniform(seed=0))(X)\n", " \n", " \n", " # Create model\n", " model = Model(inputs = X_input, outputs = X, name='ResNet50')\n", "\n", " return model" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Run the following code to build the model's graph. If your implementation is not correct you will know it by checking your accuracy when running `model.fit(...)` below." ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": true }, "outputs": [], "source": [ "model = ResNet50(input_shape = (64, 64, 3), classes = 6)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "As seen in the Keras Tutorial Notebook, prior training a model, you need to configure the learning process by compiling the model." ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "collapsed": true }, "outputs": [], "source": [ "model.compile(optimizer='adam', loss='categorical_crossentropy', metrics=['accuracy'])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The model is now ready to be trained. The only thing you need is a dataset." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's load the SIGNS Dataset.\n", "\n", "<img src=\"images/signs_data_kiank.png\" style=\"width:450px;height:250px;\">\n", "<caption><center> <u> <font color='purple'> **Figure 6** </u><font color='purple'> : **SIGNS dataset** </center></caption>\n" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "number of training examples = 1080\n", "number of test examples = 120\n", "X_train shape: (1080, 64, 64, 3)\n", "Y_train shape: (1080, 6)\n", "X_test shape: (120, 64, 64, 3)\n", "Y_test shape: (120, 6)\n" ] } ], "source": [ "X_train_orig, Y_train_orig, X_test_orig, Y_test_orig, classes = load_dataset()\n", "\n", "# Normalize image vectors\n", "X_train = X_train_orig/255.\n", "X_test = X_test_orig/255.\n", "\n", "# Convert training and test labels to one hot matrices\n", "Y_train = convert_to_one_hot(Y_train_orig, 6).T\n", "Y_test = convert_to_one_hot(Y_test_orig, 6).T\n", "\n", "print (\"number of training examples = \" + str(X_train.shape[0]))\n", "print (\"number of test examples = \" + str(X_test.shape[0]))\n", "print (\"X_train shape: \" + str(X_train.shape))\n", "print (\"Y_train shape: \" + str(Y_train.shape))\n", "print (\"X_test shape: \" + str(X_test.shape))\n", "print (\"Y_test shape: \" + str(Y_test.shape))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Run the following cell to train your model on 2 epochs with a batch size of 32. On a CPU it should take you around 5min per epoch. " ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "scrolled": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Epoch 1/2\n", "1080/1080 [==============================] - 253s - loss: 3.1414 - acc: 0.2481 \n", "Epoch 2/2\n", "1080/1080 [==============================] - 263s - loss: 2.1335 - acc: 0.3324 \n" ] }, { "data": { "text/plain": [ "<keras.callbacks.History at 0x7f9e7b1d5438>" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "model.fit(X_train, Y_train, epochs = 2, batch_size = 32)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Expected Output**:\n", "\n", "<table>\n", " <tr>\n", " <td>\n", " ** Epoch 1/2**\n", " </td>\n", " <td>\n", " loss: between 1 and 5, acc: between 0.2 and 0.5, although your results can be different from ours.\n", " </td>\n", " </tr>\n", " <tr>\n", " <td>\n", " ** Epoch 2/2**\n", " </td>\n", " <td>\n", " loss: between 1 and 5, acc: between 0.2 and 0.5, you should see your loss decreasing and the accuracy increasing.\n", " </td>\n", " </tr>\n", "\n", "</table>" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's see how this model (trained on only two epochs) performs on the test set." ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "120/120 [==============================] - 9s \n", "Loss = 2.20782663027\n", "Test Accuracy = 0.166666666667\n" ] } ], "source": [ "preds = model.evaluate(X_test, Y_test)\n", "print (\"Loss = \" + str(preds[0]))\n", "print (\"Test Accuracy = \" + str(preds[1]))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Expected Output**:\n", "\n", "<table>\n", " <tr>\n", " <td>\n", " **Test Accuracy**\n", " </td>\n", " <td>\n", " between 0.16 and 0.25\n", " </td>\n", " </tr>\n", "\n", "</table>" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "For the purpose of this assignment, we've asked you to train the model only for two epochs. You can see that it achieves poor performances. Please go ahead and submit your assignment; to check correctness, the online grader will run your code only for a small number of epochs as well." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "After you have finished this official (graded) part of this assignment, you can also optionally train the ResNet for more iterations, if you want. We get a lot better performance when we train for ~20 epochs, but this will take more than an hour when training on a CPU. \n", "\n", "Using a GPU, we've trained our own ResNet50 model's weights on the SIGNS dataset. You can load and run our trained model on the test set in the cells below. It may take ≈1min to load the model." ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "collapsed": true }, "outputs": [], "source": [ "model = load_model('ResNet50.h5') " ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "120/120 [==============================] - 9s \n", "Loss = 0.530178320408\n", "Test Accuracy = 0.866666662693\n" ] } ], "source": [ "preds = model.evaluate(X_test, Y_test)\n", "print (\"Loss = \" + str(preds[0]))\n", "print (\"Test Accuracy = \" + str(preds[1]))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "ResNet50 is a powerful model for image classification when it is trained for an adequate number of iterations. We hope you can use what you've learnt and apply it to your own classification problem to perform state-of-the-art accuracy.\n", "\n", "Congratulations on finishing this assignment! You've now implemented a state-of-the-art image classification system! " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 4 - Test on your own image (Optional/Ungraded)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "If you wish, you can also take a picture of your own hand and see the output of the model. To do this:\n", " 1. Click on \"File\" in the upper bar of this notebook, then click \"Open\" to go on your Coursera Hub.\n", " 2. Add your image to this Jupyter Notebook's directory, in the \"images\" folder\n", " 3. Write your image's name in the following code\n", " 4. Run the code and check if the algorithm is right! " ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Input image shape: (1, 64, 64, 3)\n", "class prediction vector [p(0), p(1), p(2), p(3), p(4), p(5)] = \n", "[[ 1. 0. 0. 0. 0. 0.]]\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "<matplotlib.figure.Figure at 0x7f9e6a773dd8>" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "img_path = 'images/my_image.jpg'\n", "img = image.load_img(img_path, target_size=(64, 64))\n", "x = image.img_to_array(img)\n", "x = np.expand_dims(x, axis=0)\n", "x = preprocess_input(x)\n", "print('Input image shape:', x.shape)\n", "my_image = scipy.misc.imread(img_path)\n", "imshow(my_image)\n", "print(\"class prediction vector [p(0), p(1), p(2), p(3), p(4), p(5)] = \")\n", "print(model.predict(x))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "You can also print a summary of your model by running the following code." ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "scrolled": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "____________________________________________________________________________________________________\n", "Layer (type) Output Shape Param # Connected to \n", "====================================================================================================\n", "input_1 (InputLayer) (None, 64, 64, 3) 0 \n", "____________________________________________________________________________________________________\n", "zero_padding2d_1 (ZeroPadding2D) (None, 70, 70, 3) 0 input_1[0][0] \n", "____________________________________________________________________________________________________\n", "conv1 (Conv2D) (None, 32, 32, 64) 9472 zero_padding2d_1[0][0] \n", "____________________________________________________________________________________________________\n", "bn_conv1 (BatchNormalization) (None, 32, 32, 64) 256 conv1[0][0] \n", "____________________________________________________________________________________________________\n", "activation_4 (Activation) (None, 32, 32, 64) 0 bn_conv1[0][0] \n", "____________________________________________________________________________________________________\n", "max_pooling2d_1 (MaxPooling2D) (None, 15, 15, 64) 0 activation_4[0][0] \n", "____________________________________________________________________________________________________\n", "res2a_branch2a (Conv2D) (None, 15, 15, 64) 4160 max_pooling2d_1[0][0] \n", "____________________________________________________________________________________________________\n", "bn2a_branch2a (BatchNormalizatio (None, 15, 15, 64) 256 res2a_branch2a[0][0] \n", "____________________________________________________________________________________________________\n", "activation_5 (Activation) (None, 15, 15, 64) 0 bn2a_branch2a[0][0] \n", "____________________________________________________________________________________________________\n", "res2a_branch2b (Conv2D) (None, 15, 15, 64) 36928 activation_5[0][0] \n", "____________________________________________________________________________________________________\n", "bn2a_branch2b (BatchNormalizatio (None, 15, 15, 64) 256 res2a_branch2b[0][0] \n", "____________________________________________________________________________________________________\n", "activation_6 (Activation) (None, 15, 15, 64) 0 bn2a_branch2b[0][0] \n", "____________________________________________________________________________________________________\n", "res2a_branch2c (Conv2D) (None, 15, 15, 256) 16640 activation_6[0][0] \n", "____________________________________________________________________________________________________\n", "res2a_branch1 (Conv2D) (None, 15, 15, 256) 16640 max_pooling2d_1[0][0] \n", "____________________________________________________________________________________________________\n", "bn2a_branch2c (BatchNormalizatio (None, 15, 15, 256) 1024 res2a_branch2c[0][0] \n", "____________________________________________________________________________________________________\n", "bn2a_branch1 (BatchNormalization (None, 15, 15, 256) 1024 res2a_branch1[0][0] \n", "____________________________________________________________________________________________________\n", "add_2 (Add) (None, 15, 15, 256) 0 bn2a_branch2c[0][0] \n", " bn2a_branch1[0][0] \n", "____________________________________________________________________________________________________\n", "activation_7 (Activation) (None, 15, 15, 256) 0 add_2[0][0] \n", "____________________________________________________________________________________________________\n", "res2b_branch2a (Conv2D) (None, 15, 15, 64) 16448 activation_7[0][0] \n", "____________________________________________________________________________________________________\n", "bn2b_branch2a (BatchNormalizatio (None, 15, 15, 64) 256 res2b_branch2a[0][0] \n", "____________________________________________________________________________________________________\n", "activation_8 (Activation) (None, 15, 15, 64) 0 bn2b_branch2a[0][0] \n", "____________________________________________________________________________________________________\n", "res2b_branch2b (Conv2D) (None, 15, 15, 64) 36928 activation_8[0][0] \n", "____________________________________________________________________________________________________\n", "bn2b_branch2b (BatchNormalizatio (None, 15, 15, 64) 256 res2b_branch2b[0][0] \n", "____________________________________________________________________________________________________\n", "activation_9 (Activation) (None, 15, 15, 64) 0 bn2b_branch2b[0][0] \n", "____________________________________________________________________________________________________\n", "res2b_branch2c (Conv2D) (None, 15, 15, 256) 16640 activation_9[0][0] \n", "____________________________________________________________________________________________________\n", "bn2b_branch2c (BatchNormalizatio (None, 15, 15, 256) 1024 res2b_branch2c[0][0] \n", "____________________________________________________________________________________________________\n", "add_3 (Add) (None, 15, 15, 256) 0 bn2b_branch2c[0][0] \n", " activation_7[0][0] \n", "____________________________________________________________________________________________________\n", "activation_10 (Activation) (None, 15, 15, 256) 0 add_3[0][0] \n", "____________________________________________________________________________________________________\n", "res2c_branch2a (Conv2D) (None, 15, 15, 64) 16448 activation_10[0][0] \n", "____________________________________________________________________________________________________\n", "bn2c_branch2a (BatchNormalizatio (None, 15, 15, 64) 256 res2c_branch2a[0][0] \n", "____________________________________________________________________________________________________\n", "activation_11 (Activation) (None, 15, 15, 64) 0 bn2c_branch2a[0][0] \n", "____________________________________________________________________________________________________\n", "res2c_branch2b (Conv2D) (None, 15, 15, 64) 36928 activation_11[0][0] \n", "____________________________________________________________________________________________________\n", "bn2c_branch2b (BatchNormalizatio (None, 15, 15, 64) 256 res2c_branch2b[0][0] \n", "____________________________________________________________________________________________________\n", "activation_12 (Activation) (None, 15, 15, 64) 0 bn2c_branch2b[0][0] \n", "____________________________________________________________________________________________________\n", "res2c_branch2c (Conv2D) (None, 15, 15, 256) 16640 activation_12[0][0] \n", "____________________________________________________________________________________________________\n", "bn2c_branch2c (BatchNormalizatio (None, 15, 15, 256) 1024 res2c_branch2c[0][0] \n", "____________________________________________________________________________________________________\n", "add_4 (Add) (None, 15, 15, 256) 0 bn2c_branch2c[0][0] \n", " activation_10[0][0] \n", "____________________________________________________________________________________________________\n", "activation_13 (Activation) (None, 15, 15, 256) 0 add_4[0][0] \n", "____________________________________________________________________________________________________\n", "res3a_branch2a (Conv2D) (None, 8, 8, 128) 32896 activation_13[0][0] \n", "____________________________________________________________________________________________________\n", "bn3a_branch2a (BatchNormalizatio (None, 8, 8, 128) 512 res3a_branch2a[0][0] \n", "____________________________________________________________________________________________________\n", "activation_14 (Activation) (None, 8, 8, 128) 0 bn3a_branch2a[0][0] \n", "____________________________________________________________________________________________________\n", "res3a_branch2b (Conv2D) (None, 8, 8, 128) 147584 activation_14[0][0] \n", "____________________________________________________________________________________________________\n", "bn3a_branch2b (BatchNormalizatio (None, 8, 8, 128) 512 res3a_branch2b[0][0] \n", "____________________________________________________________________________________________________\n", "activation_15 (Activation) (None, 8, 8, 128) 0 bn3a_branch2b[0][0] \n", "____________________________________________________________________________________________________\n", "res3a_branch2c (Conv2D) (None, 8, 8, 512) 66048 activation_15[0][0] \n", "____________________________________________________________________________________________________\n", "res3a_branch1 (Conv2D) (None, 8, 8, 512) 131584 activation_13[0][0] \n", "____________________________________________________________________________________________________\n", "bn3a_branch2c (BatchNormalizatio (None, 8, 8, 512) 2048 res3a_branch2c[0][0] \n", "____________________________________________________________________________________________________\n", "bn3a_branch1 (BatchNormalization (None, 8, 8, 512) 2048 res3a_branch1[0][0] \n", "____________________________________________________________________________________________________\n", "add_5 (Add) (None, 8, 8, 512) 0 bn3a_branch2c[0][0] \n", " bn3a_branch1[0][0] \n", "____________________________________________________________________________________________________\n", "activation_16 (Activation) (None, 8, 8, 512) 0 add_5[0][0] \n", "____________________________________________________________________________________________________\n", "res3b_branch2a (Conv2D) (None, 8, 8, 128) 65664 activation_16[0][0] \n", "____________________________________________________________________________________________________\n", "bn3b_branch2a (BatchNormalizatio (None, 8, 8, 128) 512 res3b_branch2a[0][0] \n", "____________________________________________________________________________________________________\n", "activation_17 (Activation) (None, 8, 8, 128) 0 bn3b_branch2a[0][0] \n", "____________________________________________________________________________________________________\n", "res3b_branch2b (Conv2D) (None, 8, 8, 128) 147584 activation_17[0][0] \n", "____________________________________________________________________________________________________\n", "bn3b_branch2b (BatchNormalizatio (None, 8, 8, 128) 512 res3b_branch2b[0][0] \n", "____________________________________________________________________________________________________\n", "activation_18 (Activation) (None, 8, 8, 128) 0 bn3b_branch2b[0][0] \n", "____________________________________________________________________________________________________\n", "res3b_branch2c (Conv2D) (None, 8, 8, 512) 66048 activation_18[0][0] \n", "____________________________________________________________________________________________________\n", "bn3b_branch2c (BatchNormalizatio (None, 8, 8, 512) 2048 res3b_branch2c[0][0] \n", "____________________________________________________________________________________________________\n", "add_6 (Add) (None, 8, 8, 512) 0 bn3b_branch2c[0][0] \n", " activation_16[0][0] \n", "____________________________________________________________________________________________________\n", "activation_19 (Activation) (None, 8, 8, 512) 0 add_6[0][0] \n", "____________________________________________________________________________________________________\n", "res3c_branch2a (Conv2D) (None, 8, 8, 128) 65664 activation_19[0][0] \n", "____________________________________________________________________________________________________\n", "bn3c_branch2a (BatchNormalizatio (None, 8, 8, 128) 512 res3c_branch2a[0][0] \n", "____________________________________________________________________________________________________\n", "activation_20 (Activation) (None, 8, 8, 128) 0 bn3c_branch2a[0][0] \n", "____________________________________________________________________________________________________\n", "res3c_branch2b (Conv2D) (None, 8, 8, 128) 147584 activation_20[0][0] \n", "____________________________________________________________________________________________________\n", "bn3c_branch2b (BatchNormalizatio (None, 8, 8, 128) 512 res3c_branch2b[0][0] \n", "____________________________________________________________________________________________________\n", "activation_21 (Activation) (None, 8, 8, 128) 0 bn3c_branch2b[0][0] \n", "____________________________________________________________________________________________________\n", "res3c_branch2c (Conv2D) (None, 8, 8, 512) 66048 activation_21[0][0] \n", "____________________________________________________________________________________________________\n", "bn3c_branch2c (BatchNormalizatio (None, 8, 8, 512) 2048 res3c_branch2c[0][0] \n", "____________________________________________________________________________________________________\n", "add_7 (Add) (None, 8, 8, 512) 0 bn3c_branch2c[0][0] \n", " activation_19[0][0] \n", "____________________________________________________________________________________________________\n", "activation_22 (Activation) (None, 8, 8, 512) 0 add_7[0][0] \n", "____________________________________________________________________________________________________\n", "res3d_branch2a (Conv2D) (None, 8, 8, 128) 65664 activation_22[0][0] \n", "____________________________________________________________________________________________________\n", "bn3d_branch2a (BatchNormalizatio (None, 8, 8, 128) 512 res3d_branch2a[0][0] \n", "____________________________________________________________________________________________________\n", "activation_23 (Activation) (None, 8, 8, 128) 0 bn3d_branch2a[0][0] \n", "____________________________________________________________________________________________________\n", "res3d_branch2b (Conv2D) (None, 8, 8, 128) 147584 activation_23[0][0] \n", "____________________________________________________________________________________________________\n", "bn3d_branch2b (BatchNormalizatio (None, 8, 8, 128) 512 res3d_branch2b[0][0] \n", "____________________________________________________________________________________________________\n", "activation_24 (Activation) (None, 8, 8, 128) 0 bn3d_branch2b[0][0] \n", "____________________________________________________________________________________________________\n", "res3d_branch2c (Conv2D) (None, 8, 8, 512) 66048 activation_24[0][0] \n", "____________________________________________________________________________________________________\n", "bn3d_branch2c (BatchNormalizatio (None, 8, 8, 512) 2048 res3d_branch2c[0][0] \n", "____________________________________________________________________________________________________\n", "add_8 (Add) (None, 8, 8, 512) 0 bn3d_branch2c[0][0] \n", " activation_22[0][0] \n", "____________________________________________________________________________________________________\n", "activation_25 (Activation) (None, 8, 8, 512) 0 add_8[0][0] \n", "____________________________________________________________________________________________________\n", "res4a_branch2a (Conv2D) (None, 4, 4, 256) 131328 activation_25[0][0] \n", "____________________________________________________________________________________________________\n", "bn4a_branch2a (BatchNormalizatio (None, 4, 4, 256) 1024 res4a_branch2a[0][0] \n", "____________________________________________________________________________________________________\n", "activation_26 (Activation) (None, 4, 4, 256) 0 bn4a_branch2a[0][0] \n", "____________________________________________________________________________________________________\n", "res4a_branch2b (Conv2D) (None, 4, 4, 256) 590080 activation_26[0][0] \n", "____________________________________________________________________________________________________\n", "bn4a_branch2b (BatchNormalizatio (None, 4, 4, 256) 1024 res4a_branch2b[0][0] \n", "____________________________________________________________________________________________________\n", "activation_27 (Activation) (None, 4, 4, 256) 0 bn4a_branch2b[0][0] \n", "____________________________________________________________________________________________________\n", "res4a_branch2c (Conv2D) (None, 4, 4, 1024) 263168 activation_27[0][0] \n", "____________________________________________________________________________________________________\n", "res4a_branch1 (Conv2D) (None, 4, 4, 1024) 525312 activation_25[0][0] \n", "____________________________________________________________________________________________________\n", "bn4a_branch2c (BatchNormalizatio (None, 4, 4, 1024) 4096 res4a_branch2c[0][0] \n", "____________________________________________________________________________________________________\n", "bn4a_branch1 (BatchNormalization (None, 4, 4, 1024) 4096 res4a_branch1[0][0] \n", "____________________________________________________________________________________________________\n", "add_9 (Add) (None, 4, 4, 1024) 0 bn4a_branch2c[0][0] \n", " bn4a_branch1[0][0] \n", "____________________________________________________________________________________________________\n", "activation_28 (Activation) (None, 4, 4, 1024) 0 add_9[0][0] \n", "____________________________________________________________________________________________________\n", "res4b_branch2a (Conv2D) (None, 4, 4, 256) 262400 activation_28[0][0] \n", "____________________________________________________________________________________________________\n", "bn4b_branch2a (BatchNormalizatio (None, 4, 4, 256) 1024 res4b_branch2a[0][0] \n", "____________________________________________________________________________________________________\n", "activation_29 (Activation) (None, 4, 4, 256) 0 bn4b_branch2a[0][0] \n", "____________________________________________________________________________________________________\n", "res4b_branch2b (Conv2D) (None, 4, 4, 256) 590080 activation_29[0][0] \n", "____________________________________________________________________________________________________\n", "bn4b_branch2b (BatchNormalizatio (None, 4, 4, 256) 1024 res4b_branch2b[0][0] \n", "____________________________________________________________________________________________________\n", "activation_30 (Activation) (None, 4, 4, 256) 0 bn4b_branch2b[0][0] \n", "____________________________________________________________________________________________________\n", "res4b_branch2c (Conv2D) (None, 4, 4, 1024) 263168 activation_30[0][0] \n", "____________________________________________________________________________________________________\n", "bn4b_branch2c (BatchNormalizatio (None, 4, 4, 1024) 4096 res4b_branch2c[0][0] \n", "____________________________________________________________________________________________________\n", "add_10 (Add) (None, 4, 4, 1024) 0 bn4b_branch2c[0][0] \n", " activation_28[0][0] \n", "____________________________________________________________________________________________________\n", "activation_31 (Activation) (None, 4, 4, 1024) 0 add_10[0][0] \n", "____________________________________________________________________________________________________\n", "res4c_branch2a (Conv2D) (None, 4, 4, 256) 262400 activation_31[0][0] \n", "____________________________________________________________________________________________________\n", "bn4c_branch2a (BatchNormalizatio (None, 4, 4, 256) 1024 res4c_branch2a[0][0] \n", "____________________________________________________________________________________________________\n", "activation_32 (Activation) (None, 4, 4, 256) 0 bn4c_branch2a[0][0] \n", "____________________________________________________________________________________________________\n", "res4c_branch2b (Conv2D) (None, 4, 4, 256) 590080 activation_32[0][0] \n", "____________________________________________________________________________________________________\n", "bn4c_branch2b (BatchNormalizatio (None, 4, 4, 256) 1024 res4c_branch2b[0][0] \n", "____________________________________________________________________________________________________\n", "activation_33 (Activation) (None, 4, 4, 256) 0 bn4c_branch2b[0][0] \n", "____________________________________________________________________________________________________\n", "res4c_branch2c (Conv2D) (None, 4, 4, 1024) 263168 activation_33[0][0] \n", "____________________________________________________________________________________________________\n", "bn4c_branch2c (BatchNormalizatio (None, 4, 4, 1024) 4096 res4c_branch2c[0][0] \n", "____________________________________________________________________________________________________\n", "add_11 (Add) (None, 4, 4, 1024) 0 bn4c_branch2c[0][0] \n", " activation_31[0][0] \n", "____________________________________________________________________________________________________\n", "activation_34 (Activation) (None, 4, 4, 1024) 0 add_11[0][0] \n", "____________________________________________________________________________________________________\n", "res4d_branch2a (Conv2D) (None, 4, 4, 256) 262400 activation_34[0][0] \n", "____________________________________________________________________________________________________\n", "bn4d_branch2a (BatchNormalizatio (None, 4, 4, 256) 1024 res4d_branch2a[0][0] \n", "____________________________________________________________________________________________________\n", "activation_35 (Activation) (None, 4, 4, 256) 0 bn4d_branch2a[0][0] \n", "____________________________________________________________________________________________________\n", "res4d_branch2b (Conv2D) (None, 4, 4, 256) 590080 activation_35[0][0] \n", "____________________________________________________________________________________________________\n", "bn4d_branch2b (BatchNormalizatio (None, 4, 4, 256) 1024 res4d_branch2b[0][0] \n", "____________________________________________________________________________________________________\n", "activation_36 (Activation) (None, 4, 4, 256) 0 bn4d_branch2b[0][0] \n", "____________________________________________________________________________________________________\n", "res4d_branch2c (Conv2D) (None, 4, 4, 1024) 263168 activation_36[0][0] \n", "____________________________________________________________________________________________________\n", "bn4d_branch2c (BatchNormalizatio (None, 4, 4, 1024) 4096 res4d_branch2c[0][0] \n", "____________________________________________________________________________________________________\n", "add_12 (Add) (None, 4, 4, 1024) 0 bn4d_branch2c[0][0] \n", " activation_34[0][0] \n", "____________________________________________________________________________________________________\n", "activation_37 (Activation) (None, 4, 4, 1024) 0 add_12[0][0] \n", "____________________________________________________________________________________________________\n", "res4e_branch2a (Conv2D) (None, 4, 4, 256) 262400 activation_37[0][0] \n", "____________________________________________________________________________________________________\n", "bn4e_branch2a (BatchNormalizatio (None, 4, 4, 256) 1024 res4e_branch2a[0][0] \n", "____________________________________________________________________________________________________\n", "activation_38 (Activation) (None, 4, 4, 256) 0 bn4e_branch2a[0][0] \n", "____________________________________________________________________________________________________\n", "res4e_branch2b (Conv2D) (None, 4, 4, 256) 590080 activation_38[0][0] \n", "____________________________________________________________________________________________________\n", "bn4e_branch2b (BatchNormalizatio (None, 4, 4, 256) 1024 res4e_branch2b[0][0] \n", "____________________________________________________________________________________________________\n", "activation_39 (Activation) (None, 4, 4, 256) 0 bn4e_branch2b[0][0] \n", "____________________________________________________________________________________________________\n", "res4e_branch2c (Conv2D) (None, 4, 4, 1024) 263168 activation_39[0][0] \n", "____________________________________________________________________________________________________\n", "bn4e_branch2c (BatchNormalizatio (None, 4, 4, 1024) 4096 res4e_branch2c[0][0] \n", "____________________________________________________________________________________________________\n", "add_13 (Add) (None, 4, 4, 1024) 0 bn4e_branch2c[0][0] \n", " activation_37[0][0] \n", "____________________________________________________________________________________________________\n", "activation_40 (Activation) (None, 4, 4, 1024) 0 add_13[0][0] \n", "____________________________________________________________________________________________________\n", "res4f_branch2a (Conv2D) (None, 4, 4, 256) 262400 activation_40[0][0] \n", "____________________________________________________________________________________________________\n", "bn4f_branch2a (BatchNormalizatio (None, 4, 4, 256) 1024 res4f_branch2a[0][0] \n", "____________________________________________________________________________________________________\n", "activation_41 (Activation) (None, 4, 4, 256) 0 bn4f_branch2a[0][0] \n", "____________________________________________________________________________________________________\n", "res4f_branch2b (Conv2D) (None, 4, 4, 256) 590080 activation_41[0][0] \n", "____________________________________________________________________________________________________\n", "bn4f_branch2b (BatchNormalizatio (None, 4, 4, 256) 1024 res4f_branch2b[0][0] \n", "____________________________________________________________________________________________________\n", "activation_42 (Activation) (None, 4, 4, 256) 0 bn4f_branch2b[0][0] \n", "____________________________________________________________________________________________________\n", "res4f_branch2c (Conv2D) (None, 4, 4, 1024) 263168 activation_42[0][0] \n", "____________________________________________________________________________________________________\n", "bn4f_branch2c (BatchNormalizatio (None, 4, 4, 1024) 4096 res4f_branch2c[0][0] \n", "____________________________________________________________________________________________________\n", "add_14 (Add) (None, 4, 4, 1024) 0 bn4f_branch2c[0][0] \n", " activation_40[0][0] \n", "____________________________________________________________________________________________________\n", "activation_43 (Activation) (None, 4, 4, 1024) 0 add_14[0][0] \n", "____________________________________________________________________________________________________\n", "res5a_branch2a (Conv2D) (None, 2, 2, 512) 524800 activation_43[0][0] \n", "____________________________________________________________________________________________________\n", "bn5a_branch2a (BatchNormalizatio (None, 2, 2, 512) 2048 res5a_branch2a[0][0] \n", "____________________________________________________________________________________________________\n", "activation_44 (Activation) (None, 2, 2, 512) 0 bn5a_branch2a[0][0] \n", "____________________________________________________________________________________________________\n", "res5a_branch2b (Conv2D) (None, 2, 2, 512) 2359808 activation_44[0][0] \n", "____________________________________________________________________________________________________\n", "bn5a_branch2b (BatchNormalizatio (None, 2, 2, 512) 2048 res5a_branch2b[0][0] \n", "____________________________________________________________________________________________________\n", "activation_45 (Activation) (None, 2, 2, 512) 0 bn5a_branch2b[0][0] \n", "____________________________________________________________________________________________________\n", "res5a_branch2c (Conv2D) (None, 2, 2, 2048) 1050624 activation_45[0][0] \n", "____________________________________________________________________________________________________\n", "res5a_branch1 (Conv2D) (None, 2, 2, 2048) 2099200 activation_43[0][0] \n", "____________________________________________________________________________________________________\n", "bn5a_branch2c (BatchNormalizatio (None, 2, 2, 2048) 8192 res5a_branch2c[0][0] \n", "____________________________________________________________________________________________________\n", "bn5a_branch1 (BatchNormalization (None, 2, 2, 2048) 8192 res5a_branch1[0][0] \n", "____________________________________________________________________________________________________\n", "add_15 (Add) (None, 2, 2, 2048) 0 bn5a_branch2c[0][0] \n", " bn5a_branch1[0][0] \n", "____________________________________________________________________________________________________\n", "activation_46 (Activation) (None, 2, 2, 2048) 0 add_15[0][0] \n", "____________________________________________________________________________________________________\n", "res5b_branch2a (Conv2D) (None, 2, 2, 512) 1049088 activation_46[0][0] \n", "____________________________________________________________________________________________________\n", "bn5b_branch2a (BatchNormalizatio (None, 2, 2, 512) 2048 res5b_branch2a[0][0] \n", "____________________________________________________________________________________________________\n", "activation_47 (Activation) (None, 2, 2, 512) 0 bn5b_branch2a[0][0] \n", "____________________________________________________________________________________________________\n", "res5b_branch2b (Conv2D) (None, 2, 2, 512) 2359808 activation_47[0][0] \n", "____________________________________________________________________________________________________\n", "bn5b_branch2b (BatchNormalizatio (None, 2, 2, 512) 2048 res5b_branch2b[0][0] \n", "____________________________________________________________________________________________________\n", "activation_48 (Activation) (None, 2, 2, 512) 0 bn5b_branch2b[0][0] \n", "____________________________________________________________________________________________________\n", "res5b_branch2c (Conv2D) (None, 2, 2, 2048) 1050624 activation_48[0][0] \n", "____________________________________________________________________________________________________\n", "bn5b_branch2c (BatchNormalizatio (None, 2, 2, 2048) 8192 res5b_branch2c[0][0] \n", "____________________________________________________________________________________________________\n", "add_16 (Add) (None, 2, 2, 2048) 0 bn5b_branch2c[0][0] \n", " activation_46[0][0] \n", "____________________________________________________________________________________________________\n", "activation_49 (Activation) (None, 2, 2, 2048) 0 add_16[0][0] \n", "____________________________________________________________________________________________________\n", "res5c_branch2a (Conv2D) (None, 2, 2, 512) 1049088 activation_49[0][0] \n", "____________________________________________________________________________________________________\n", "bn5c_branch2a (BatchNormalizatio (None, 2, 2, 512) 2048 res5c_branch2a[0][0] \n", "____________________________________________________________________________________________________\n", "activation_50 (Activation) (None, 2, 2, 512) 0 bn5c_branch2a[0][0] \n", "____________________________________________________________________________________________________\n", "res5c_branch2b (Conv2D) (None, 2, 2, 512) 2359808 activation_50[0][0] \n", "____________________________________________________________________________________________________\n", "bn5c_branch2b (BatchNormalizatio (None, 2, 2, 512) 2048 res5c_branch2b[0][0] \n", "____________________________________________________________________________________________________\n", "activation_51 (Activation) (None, 2, 2, 512) 0 bn5c_branch2b[0][0] \n", "____________________________________________________________________________________________________\n", "res5c_branch2c (Conv2D) (None, 2, 2, 2048) 1050624 activation_51[0][0] \n", "____________________________________________________________________________________________________\n", "bn5c_branch2c (BatchNormalizatio (None, 2, 2, 2048) 8192 res5c_branch2c[0][0] \n", "____________________________________________________________________________________________________\n", "add_17 (Add) (None, 2, 2, 2048) 0 bn5c_branch2c[0][0] \n", " activation_49[0][0] \n", "____________________________________________________________________________________________________\n", "activation_52 (Activation) (None, 2, 2, 2048) 0 add_17[0][0] \n", "____________________________________________________________________________________________________\n", "avg_pool (AveragePooling2D) (None, 1, 1, 2048) 0 activation_52[0][0] \n", "____________________________________________________________________________________________________\n", "flatten_1 (Flatten) (None, 2048) 0 avg_pool[0][0] \n", "____________________________________________________________________________________________________\n", "fc6 (Dense) (None, 6) 12294 flatten_1[0][0] \n", "====================================================================================================\n", "Total params: 23,600,006\n", "Trainable params: 23,546,886\n", "Non-trainable params: 53,120\n", "____________________________________________________________________________________________________\n" ] } ], "source": [ "model.summary()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Finally, run the code below to visualize your ResNet50. You can also download a .png picture of your model by going to \"File -> Open...-> model.png\"." ] }, { "cell_type": "code", "execution_count": 16, "metadata": { "scrolled": false }, "outputs": [ { "data": { "image/svg+xml": [ "<svg height=\"12309pt\" viewBox=\"0.00 0.00 456.00 12309.00\" width=\"456pt\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n", "<g class=\"graph\" id=\"graph0\" transform=\"scale(1 1) rotate(0) translate(4 12305)\">\n", "<title>G</title>\n", "<polygon fill=\"white\" points=\"-4,4 -4,-12305 452,-12305 452,4 -4,4\" stroke=\"none\"/>\n", "<!-- 140318367783400 -->\n", "<g class=\"node\" id=\"node1\"><title>140318367783400</title>\n", "<polygon fill=\"none\" points=\"147,-12264.5 147,-12300.5 273,-12300.5 273,-12264.5 147,-12264.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"210\" y=\"-12278.8\">input_1: InputLayer</text>\n", "</g>\n", "<!-- 140319871023088 -->\n", "<g class=\"node\" id=\"node2\"><title>140319871023088</title>\n", "<polygon fill=\"none\" points=\"101.5,-12191.5 101.5,-12227.5 318.5,-12227.5 318.5,-12191.5 101.5,-12191.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"210\" y=\"-12205.8\">zero_padding2d_1: ZeroPadding2D</text>\n", "</g>\n", "<!-- 140318367783400->140319871023088 -->\n", "<g class=\"edge\" id=\"edge1\"><title>140318367783400->140319871023088</title>\n", "<path d=\"M210,-12264.3C210,-12256.3 210,-12246.5 210,-12237.6\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"213.5,-12237.5 210,-12227.5 206.5,-12237.5 213.5,-12237.5\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367783624 -->\n", "<g class=\"node\" id=\"node3\"><title>140318367783624</title>\n", "<polygon fill=\"none\" points=\"157.5,-12118.5 157.5,-12154.5 262.5,-12154.5 262.5,-12118.5 157.5,-12118.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"210\" y=\"-12132.8\">conv1: Conv2D</text>\n", "</g>\n", "<!-- 140319871023088->140318367783624 -->\n", "<g class=\"edge\" id=\"edge2\"><title>140319871023088->140318367783624</title>\n", "<path d=\"M210,-12191.3C210,-12183.3 210,-12173.5 210,-12164.6\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"213.5,-12164.5 210,-12154.5 206.5,-12164.5 213.5,-12164.5\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367784016 -->\n", "<g class=\"node\" id=\"node4\"><title>140318367784016</title>\n", "<polygon fill=\"none\" points=\"115.5,-12045.5 115.5,-12081.5 304.5,-12081.5 304.5,-12045.5 115.5,-12045.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"210\" y=\"-12059.8\">bn_conv1: BatchNormalization</text>\n", "</g>\n", "<!-- 140318367783624->140318367784016 -->\n", "<g class=\"edge\" id=\"edge3\"><title>140318367783624->140318367784016</title>\n", "<path d=\"M210,-12118.3C210,-12110.3 210,-12100.5 210,-12091.6\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"213.5,-12091.5 210,-12081.5 206.5,-12091.5 213.5,-12091.5\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367784632 -->\n", "<g class=\"node\" id=\"node5\"><title>140318367784632</title>\n", "<polygon fill=\"none\" points=\"136.5,-11972.5 136.5,-12008.5 283.5,-12008.5 283.5,-11972.5 136.5,-11972.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"210\" y=\"-11986.8\">activation_4: Activation</text>\n", "</g>\n", "<!-- 140318367784016->140318367784632 -->\n", "<g class=\"edge\" id=\"edge4\"><title>140318367784016->140318367784632</title>\n", "<path d=\"M210,-12045.3C210,-12037.3 210,-12027.5 210,-12018.6\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"213.5,-12018.5 210,-12008.5 206.5,-12018.5 213.5,-12018.5\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367784688 -->\n", "<g class=\"node\" id=\"node6\"><title>140318367784688</title>\n", "<polygon fill=\"none\" points=\"105.5,-11899.5 105.5,-11935.5 314.5,-11935.5 314.5,-11899.5 105.5,-11899.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"210\" y=\"-11913.8\">max_pooling2d_1: MaxPooling2D</text>\n", "</g>\n", "<!-- 140318367784632->140318367784688 -->\n", "<g class=\"edge\" id=\"edge5\"><title>140318367784632->140318367784688</title>\n", "<path d=\"M210,-11972.3C210,-11964.3 210,-11954.5 210,-11945.6\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"213.5,-11945.5 210,-11935.5 206.5,-11945.5 213.5,-11945.5\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367784856 -->\n", "<g class=\"node\" id=\"node7\"><title>140318367784856</title>\n", "<polygon fill=\"none\" points=\"54,-11826.5 54,-11862.5 212,-11862.5 212,-11826.5 54,-11826.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"133\" y=\"-11840.8\">res2a_branch2a: Conv2D</text>\n", "</g>\n", "<!-- 140318367784688->140318367784856 -->\n", "<g class=\"edge\" id=\"edge6\"><title>140318367784688->140318367784856</title>\n", "<path d=\"M191.36,-11899.3C181.619,-11890.3 169.541,-11879.2 158.904,-11869.4\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"161.192,-11866.7 151.468,-11862.5 156.447,-11871.9 161.192,-11866.7\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367835864 -->\n", "<g class=\"node\" id=\"node14\"><title>140318367835864</title>\n", "<polygon fill=\"none\" points=\"236,-11753.5 236,-11789.5 388,-11789.5 388,-11753.5 236,-11753.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"312\" y=\"-11767.8\">res2a_branch1: Conv2D</text>\n", "</g>\n", "<!-- 140318367784688->140318367835864 -->\n", "<g class=\"edge\" id=\"edge13\"><title>140318367784688->140318367835864</title>\n", "<path d=\"M222.101,-11899.4C239.892,-11874.3 273.23,-11827.2 293.928,-11798\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"296.99,-11799.7 299.914,-11789.6 291.278,-11795.7 296.99,-11799.7\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367834408 -->\n", "<g class=\"node\" id=\"node8\"><title>140318367834408</title>\n", "<polygon fill=\"none\" points=\"0,-11753.5 0,-11789.5 218,-11789.5 218,-11753.5 0,-11753.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"109\" y=\"-11767.8\">bn2a_branch2a: BatchNormalization</text>\n", "</g>\n", "<!-- 140318367784856->140318367834408 -->\n", "<g class=\"edge\" id=\"edge7\"><title>140318367784856->140318367834408</title>\n", "<path d=\"M127.19,-11826.3C124.449,-11818.2 121.113,-11808.3 118.051,-11799.3\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"121.274,-11797.9 114.756,-11789.5 114.643,-11800.1 121.274,-11797.9\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367834744 -->\n", "<g class=\"node\" id=\"node9\"><title>140318367834744</title>\n", "<polygon fill=\"none\" points=\"37.5,-11680.5 37.5,-11716.5 184.5,-11716.5 184.5,-11680.5 37.5,-11680.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"111\" y=\"-11694.8\">activation_5: Activation</text>\n", "</g>\n", "<!-- 140318367834408->140318367834744 -->\n", "<g class=\"edge\" id=\"edge8\"><title>140318367834408->140318367834744</title>\n", "<path d=\"M109.484,-11753.3C109.71,-11745.3 109.985,-11735.5 110.237,-11726.6\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"113.737,-11726.6 110.52,-11716.5 106.74,-11726.4 113.737,-11726.6\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367834800 -->\n", "<g class=\"node\" id=\"node10\"><title>140318367834800</title>\n", "<polygon fill=\"none\" points=\"61,-11607.5 61,-11643.5 221,-11643.5 221,-11607.5 61,-11607.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"141\" y=\"-11621.8\">res2a_branch2b: Conv2D</text>\n", "</g>\n", "<!-- 140318367834744->140318367834800 -->\n", "<g class=\"edge\" id=\"edge9\"><title>140318367834744->140318367834800</title>\n", "<path d=\"M118.262,-11680.3C121.726,-11672.1 125.948,-11662.1 129.809,-11653\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"133.137,-11654.1 133.805,-11643.5 126.688,-11651.4 133.137,-11654.1\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367835136 -->\n", "<g class=\"node\" id=\"node11\"><title>140318367835136</title>\n", "<polygon fill=\"none\" points=\"46,-11534.5 46,-11570.5 266,-11570.5 266,-11534.5 46,-11534.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"156\" y=\"-11548.8\">bn2a_branch2b: BatchNormalization</text>\n", "</g>\n", "<!-- 140318367834800->140318367835136 -->\n", "<g class=\"edge\" id=\"edge10\"><title>140318367834800->140318367835136</title>\n", "<path d=\"M144.631,-11607.3C146.326,-11599.3 148.384,-11589.5 150.281,-11580.6\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"153.76,-11581 152.402,-11570.5 146.911,-11579.6 153.76,-11581\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367835472 -->\n", "<g class=\"node\" id=\"node12\"><title>140318367835472</title>\n", "<polygon fill=\"none\" points=\"83.5,-11461.5 83.5,-11497.5 230.5,-11497.5 230.5,-11461.5 83.5,-11461.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"157\" y=\"-11475.8\">activation_6: Activation</text>\n", "</g>\n", "<!-- 140318367835136->140318367835472 -->\n", "<g class=\"edge\" id=\"edge11\"><title>140318367835136->140318367835472</title>\n", "<path d=\"M156.242,-11534.3C156.355,-11526.3 156.492,-11516.5 156.619,-11507.6\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"160.119,-11507.6 156.76,-11497.5 153.12,-11507.5 160.119,-11507.6\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367835528 -->\n", "<g class=\"node\" id=\"node13\"><title>140318367835528</title>\n", "<polygon fill=\"none\" points=\"81.5,-11388.5 81.5,-11424.5 240.5,-11424.5 240.5,-11388.5 81.5,-11388.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"161\" y=\"-11402.8\">res2a_branch2c: Conv2D</text>\n", "</g>\n", "<!-- 140318367835472->140318367835528 -->\n", "<g class=\"edge\" id=\"edge12\"><title>140318367835472->140318367835528</title>\n", "<path d=\"M157.968,-11461.3C158.42,-11453.3 158.969,-11443.5 159.475,-11434.6\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"162.973,-11434.7 160.041,-11424.5 155.984,-11434.3 162.973,-11434.7\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367836256 -->\n", "<g class=\"node\" id=\"node15\"><title>140318367836256</title>\n", "<polygon fill=\"none\" points=\"53.5,-11315.5 53.5,-11351.5 272.5,-11351.5 272.5,-11315.5 53.5,-11315.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"163\" y=\"-11329.8\">bn2a_branch2c: BatchNormalization</text>\n", "</g>\n", "<!-- 140318367835528->140318367836256 -->\n", "<g class=\"edge\" id=\"edge14\"><title>140318367835528->140318367836256</title>\n", "<path d=\"M161.484,-11388.3C161.71,-11380.3 161.985,-11370.5 162.237,-11361.6\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"165.737,-11361.6 162.52,-11351.5 158.74,-11361.4 165.737,-11361.6\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367836592 -->\n", "<g class=\"node\" id=\"node16\"><title>140318367836592</title>\n", "<polygon fill=\"none\" points=\"204,-11680.5 204,-11716.5 416,-11716.5 416,-11680.5 204,-11680.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"310\" y=\"-11694.8\">bn2a_branch1: BatchNormalization</text>\n", "</g>\n", "<!-- 140318367835864->140318367836592 -->\n", "<g class=\"edge\" id=\"edge15\"><title>140318367835864->140318367836592</title>\n", "<path d=\"M311.516,-11753.3C311.29,-11745.3 311.015,-11735.5 310.763,-11726.6\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"314.26,-11726.4 310.48,-11716.5 307.263,-11726.6 314.26,-11726.4\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367836872 -->\n", "<g class=\"node\" id=\"node17\"><title>140318367836872</title>\n", "<polygon fill=\"none\" points=\"190.5,-11242.5 190.5,-11278.5 273.5,-11278.5 273.5,-11242.5 190.5,-11242.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"232\" y=\"-11256.8\">add_2: Add</text>\n", "</g>\n", "<!-- 140318367836256->140318367836872 -->\n", "<g class=\"edge\" id=\"edge16\"><title>140318367836256->140318367836872</title>\n", "<path d=\"M179.703,-11315.3C188.263,-11306.5 198.836,-11295.6 208.231,-11286\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"210.991,-11288.1 215.451,-11278.5 205.971,-11283.3 210.991,-11288.1\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367836592->140318367836872 -->\n", "<g class=\"edge\" id=\"edge17\"><title>140318367836592->140318367836872</title>\n", "<path d=\"M308.419,-11680.2C306.088,-11653.2 302,-11599.3 302,-11553.5 302,-11553.5 302,-11553.5 302,-11405.5 302,-11364.2 300.242,-11351.5 281,-11315 275.518,-11304.6 267.513,-11294.7 259.556,-11286.2\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"261.863,-11283.6 252.336,-11279 256.893,-11288.5 261.863,-11283.6\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367836928 -->\n", "<g class=\"node\" id=\"node18\"><title>140318367836928</title>\n", "<polygon fill=\"none\" points=\"158.5,-11169.5 158.5,-11205.5 305.5,-11205.5 305.5,-11169.5 158.5,-11169.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"232\" y=\"-11183.8\">activation_7: Activation</text>\n", "</g>\n", "<!-- 140318367836872->140318367836928 -->\n", "<g class=\"edge\" id=\"edge18\"><title>140318367836872->140318367836928</title>\n", "<path d=\"M232,-11242.3C232,-11234.3 232,-11224.5 232,-11215.6\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"235.5,-11215.5 232,-11205.5 228.5,-11215.5 235.5,-11215.5\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367836984 -->\n", "<g class=\"node\" id=\"node19\"><title>140318367836984</title>\n", "<polygon fill=\"none\" points=\"83,-11096.5 83,-11132.5 243,-11132.5 243,-11096.5 83,-11096.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"163\" y=\"-11110.8\">res2b_branch2a: Conv2D</text>\n", "</g>\n", "<!-- 140318367836928->140318367836984 -->\n", "<g class=\"edge\" id=\"edge19\"><title>140318367836928->140318367836984</title>\n", "<path d=\"M215.297,-11169.3C206.737,-11160.5 196.164,-11149.6 186.769,-11140\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"189.029,-11137.3 179.549,-11132.5 184.009,-11142.1 189.029,-11137.3\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367859656 -->\n", "<g class=\"node\" id=\"node27\"><title>140318367859656</title>\n", "<polygon fill=\"none\" points=\"174.5,-10512.5 174.5,-10548.5 257.5,-10548.5 257.5,-10512.5 174.5,-10512.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"216\" y=\"-10526.8\">add_3: Add</text>\n", "</g>\n", "<!-- 140318367836928->140318367859656 -->\n", "<g class=\"edge\" id=\"edge28\"><title>140318367836928->140318367859656</title>\n", "<path d=\"M243.189,-11169.1C259.006,-11142.8 286,-11090.8 286,-11042.5 286,-11042.5 286,-11042.5 286,-10675.5 286,-10634.3 285.188,-10621.5 266,-10585 260.366,-10574.3 252.015,-10564.2 243.744,-10555.6\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"246.157,-10553.1 236.566,-10548.6 241.257,-10558.1 246.157,-10553.1\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367837320 -->\n", "<g class=\"node\" id=\"node20\"><title>140318367837320</title>\n", "<polygon fill=\"none\" points=\"38,-11023.5 38,-11059.5 258,-11059.5 258,-11023.5 38,-11023.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"148\" y=\"-11037.8\">bn2b_branch2a: BatchNormalization</text>\n", "</g>\n", "<!-- 140318367836984->140318367837320 -->\n", "<g class=\"edge\" id=\"edge20\"><title>140318367836984->140318367837320</title>\n", "<path d=\"M159.369,-11096.3C157.674,-11088.3 155.616,-11078.5 153.719,-11069.6\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"157.089,-11068.6 151.598,-11059.5 150.24,-11070 157.089,-11068.6\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367837656 -->\n", "<g class=\"node\" id=\"node21\"><title>140318367837656</title>\n", "<polygon fill=\"none\" points=\"74.5,-10950.5 74.5,-10986.5 221.5,-10986.5 221.5,-10950.5 74.5,-10950.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"148\" y=\"-10964.8\">activation_8: Activation</text>\n", "</g>\n", "<!-- 140318367837320->140318367837656 -->\n", "<g class=\"edge\" id=\"edge21\"><title>140318367837320->140318367837656</title>\n", "<path d=\"M148,-11023.3C148,-11015.3 148,-11005.5 148,-10996.6\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"151.5,-10996.5 148,-10986.5 144.5,-10996.5 151.5,-10996.5\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367837712 -->\n", "<g class=\"node\" id=\"node22\"><title>140318367837712</title>\n", "<polygon fill=\"none\" points=\"66.5,-10877.5 66.5,-10913.5 227.5,-10913.5 227.5,-10877.5 66.5,-10877.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"147\" y=\"-10891.8\">res2b_branch2b: Conv2D</text>\n", "</g>\n", "<!-- 140318367837656->140318367837712 -->\n", "<g class=\"edge\" id=\"edge22\"><title>140318367837656->140318367837712</title>\n", "<path d=\"M147.758,-10950.3C147.645,-10942.3 147.508,-10932.5 147.381,-10923.6\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"150.88,-10923.5 147.24,-10913.5 143.881,-10923.6 150.88,-10923.5\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367838048 -->\n", "<g class=\"node\" id=\"node23\"><title>140318367838048</title>\n", "<polygon fill=\"none\" points=\"36.5,-10804.5 36.5,-10840.5 257.5,-10840.5 257.5,-10804.5 36.5,-10804.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"147\" y=\"-10818.8\">bn2b_branch2b: BatchNormalization</text>\n", "</g>\n", "<!-- 140318367837712->140318367838048 -->\n", "<g class=\"edge\" id=\"edge23\"><title>140318367837712->140318367838048</title>\n", "<path d=\"M147,-10877.3C147,-10869.3 147,-10859.5 147,-10850.6\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"150.5,-10850.5 147,-10840.5 143.5,-10850.5 150.5,-10850.5\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318647506256 -->\n", "<g class=\"node\" id=\"node24\"><title>140318647506256</title>\n", "<polygon fill=\"none\" points=\"73.5,-10731.5 73.5,-10767.5 220.5,-10767.5 220.5,-10731.5 73.5,-10731.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"147\" y=\"-10745.8\">activation_9: Activation</text>\n", "</g>\n", "<!-- 140318367838048->140318647506256 -->\n", "<g class=\"edge\" id=\"edge24\"><title>140318367838048->140318647506256</title>\n", "<path d=\"M147,-10804.3C147,-10796.3 147,-10786.5 147,-10777.6\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"150.5,-10777.5 147,-10767.5 143.5,-10777.5 150.5,-10777.5\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367858984 -->\n", "<g class=\"node\" id=\"node25\"><title>140318367858984</title>\n", "<polygon fill=\"none\" points=\"66.5,-10658.5 66.5,-10694.5 227.5,-10694.5 227.5,-10658.5 66.5,-10658.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"147\" y=\"-10672.8\">res2b_branch2c: Conv2D</text>\n", "</g>\n", "<!-- 140318647506256->140318367858984 -->\n", "<g class=\"edge\" id=\"edge25\"><title>140318647506256->140318367858984</title>\n", "<path d=\"M147,-10731.3C147,-10723.3 147,-10713.5 147,-10704.6\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"150.5,-10704.5 147,-10694.5 143.5,-10704.5 150.5,-10704.5\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367859320 -->\n", "<g class=\"node\" id=\"node26\"><title>140318367859320</title>\n", "<polygon fill=\"none\" points=\"36.5,-10585.5 36.5,-10621.5 257.5,-10621.5 257.5,-10585.5 36.5,-10585.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"147\" y=\"-10599.8\">bn2b_branch2c: BatchNormalization</text>\n", "</g>\n", "<!-- 140318367858984->140318367859320 -->\n", "<g class=\"edge\" id=\"edge26\"><title>140318367858984->140318367859320</title>\n", "<path d=\"M147,-10658.3C147,-10650.3 147,-10640.5 147,-10631.6\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"150.5,-10631.5 147,-10621.5 143.5,-10631.5 150.5,-10631.5\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367859320->140318367859656 -->\n", "<g class=\"edge\" id=\"edge27\"><title>140318367859320->140318367859656</title>\n", "<path d=\"M163.703,-10585.3C172.263,-10576.5 182.836,-10565.6 192.231,-10556\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"194.991,-10558.1 199.451,-10548.5 189.971,-10553.3 194.991,-10558.1\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367859712 -->\n", "<g class=\"node\" id=\"node28\"><title>140318367859712</title>\n", "<polygon fill=\"none\" points=\"139,-10439.5 139,-10475.5 293,-10475.5 293,-10439.5 139,-10439.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"216\" y=\"-10453.8\">activation_10: Activation</text>\n", "</g>\n", "<!-- 140318367859656->140318367859712 -->\n", "<g class=\"edge\" id=\"edge29\"><title>140318367859656->140318367859712</title>\n", "<path d=\"M216,-10512.3C216,-10504.3 216,-10494.5 216,-10485.6\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"219.5,-10485.5 216,-10475.5 212.5,-10485.5 219.5,-10485.5\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367859768 -->\n", "<g class=\"node\" id=\"node29\"><title>140318367859768</title>\n", "<polygon fill=\"none\" points=\"83.5,-10366.5 83.5,-10402.5 242.5,-10402.5 242.5,-10366.5 83.5,-10366.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"163\" y=\"-10380.8\">res2c_branch2a: Conv2D</text>\n", "</g>\n", "<!-- 140318367859712->140318367859768 -->\n", "<g class=\"edge\" id=\"edge30\"><title>140318367859712->140318367859768</title>\n", "<path d=\"M203.17,-10439.3C196.79,-10430.8 188.955,-10420.3 181.903,-10410.8\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"184.498,-10408.4 175.712,-10402.5 178.889,-10412.6 184.498,-10408.4\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367861896 -->\n", "<g class=\"node\" id=\"node37\"><title>140318367861896</title>\n", "<polygon fill=\"none\" points=\"174.5,-9782.5 174.5,-9818.5 257.5,-9818.5 257.5,-9782.5 174.5,-9782.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"216\" y=\"-9796.8\">add_4: Add</text>\n", "</g>\n", "<!-- 140318367859712->140318367861896 -->\n", "<g class=\"edge\" id=\"edge39\"><title>140318367859712->140318367861896</title>\n", "<path d=\"M230.633,-10439.2C250.887,-10413.3 285,-10362.4 285,-10312.5 285,-10312.5 285,-10312.5 285,-9945.5 285,-9904.4 284.952,-9891.47 266,-9855 260.423,-9844.27 252.086,-9834.12 243.811,-9825.61\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"246.22,-9823.07 236.625,-9818.58 241.324,-9828.08 246.22,-9823.07\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367860104 -->\n", "<g class=\"node\" id=\"node30\"><title>140318367860104</title>\n", "<polygon fill=\"none\" points=\"37.5,-10293.5 37.5,-10329.5 256.5,-10329.5 256.5,-10293.5 37.5,-10293.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"147\" y=\"-10307.8\">bn2c_branch2a: BatchNormalization</text>\n", "</g>\n", "<!-- 140318367859768->140318367860104 -->\n", "<g class=\"edge\" id=\"edge31\"><title>140318367859768->140318367860104</title>\n", "<path d=\"M159.127,-10366.3C157.319,-10358.3 155.123,-10348.5 153.1,-10339.6\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"156.45,-10338.5 150.837,-10329.5 149.622,-10340.1 156.45,-10338.5\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367860440 -->\n", "<g class=\"node\" id=\"node31\"><title>140318367860440</title>\n", "<polygon fill=\"none\" points=\"70.5,-10220.5 70.5,-10256.5 223.5,-10256.5 223.5,-10220.5 70.5,-10220.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"147\" y=\"-10234.8\">activation_11: Activation</text>\n", "</g>\n", "<!-- 140318367860104->140318367860440 -->\n", "<g class=\"edge\" id=\"edge32\"><title>140318367860104->140318367860440</title>\n", "<path d=\"M147,-10293.3C147,-10285.3 147,-10275.5 147,-10266.6\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"150.5,-10266.5 147,-10256.5 143.5,-10266.5 150.5,-10266.5\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367860496 -->\n", "<g class=\"node\" id=\"node32\"><title>140318367860496</title>\n", "<polygon fill=\"none\" points=\"65.5,-10147.5 65.5,-10183.5 226.5,-10183.5 226.5,-10147.5 65.5,-10147.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"146\" y=\"-10161.8\">res2c_branch2b: Conv2D</text>\n", "</g>\n", "<!-- 140318367860440->140318367860496 -->\n", "<g class=\"edge\" id=\"edge33\"><title>140318367860440->140318367860496</title>\n", "<path d=\"M146.758,-10220.3C146.645,-10212.3 146.508,-10202.5 146.381,-10193.6\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"149.88,-10193.5 146.24,-10183.5 142.881,-10193.6 149.88,-10193.5\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367860832 -->\n", "<g class=\"node\" id=\"node33\"><title>140318367860832</title>\n", "<polygon fill=\"none\" points=\"35.5,-10074.5 35.5,-10110.5 256.5,-10110.5 256.5,-10074.5 35.5,-10074.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"146\" y=\"-10088.8\">bn2c_branch2b: BatchNormalization</text>\n", "</g>\n", "<!-- 140318367860496->140318367860832 -->\n", "<g class=\"edge\" id=\"edge34\"><title>140318367860496->140318367860832</title>\n", "<path d=\"M146,-10147.3C146,-10139.3 146,-10129.5 146,-10120.6\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"149.5,-10120.5 146,-10110.5 142.5,-10120.5 149.5,-10120.5\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367861168 -->\n", "<g class=\"node\" id=\"node34\"><title>140318367861168</title>\n", "<polygon fill=\"none\" points=\"70,-10001.5 70,-10037.5 224,-10037.5 224,-10001.5 70,-10001.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"147\" y=\"-10015.8\">activation_12: Activation</text>\n", "</g>\n", "<!-- 140318367860832->140318367861168 -->\n", "<g class=\"edge\" id=\"edge35\"><title>140318367860832->140318367861168</title>\n", "<path d=\"M146.242,-10074.3C146.355,-10066.3 146.492,-10056.5 146.619,-10047.6\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"150.119,-10047.6 146.76,-10037.5 143.12,-10047.5 150.119,-10047.6\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367861224 -->\n", "<g class=\"node\" id=\"node35\"><title>140318367861224</title>\n", "<polygon fill=\"none\" points=\"67,-9928.5 67,-9964.5 227,-9964.5 227,-9928.5 67,-9928.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"147\" y=\"-9942.8\">res2c_branch2c: Conv2D</text>\n", "</g>\n", "<!-- 140318367861168->140318367861224 -->\n", "<g class=\"edge\" id=\"edge36\"><title>140318367861168->140318367861224</title>\n", "<path d=\"M147,-10001.3C147,-9993.29 147,-9983.55 147,-9974.57\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"150.5,-9974.53 147,-9964.53 143.5,-9974.53 150.5,-9974.53\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367861560 -->\n", "<g class=\"node\" id=\"node36\"><title>140318367861560</title>\n", "<polygon fill=\"none\" points=\"37,-9855.5 37,-9891.5 257,-9891.5 257,-9855.5 37,-9855.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"147\" y=\"-9869.8\">bn2c_branch2c: BatchNormalization</text>\n", "</g>\n", "<!-- 140318367861224->140318367861560 -->\n", "<g class=\"edge\" id=\"edge37\"><title>140318367861224->140318367861560</title>\n", "<path d=\"M147,-9928.31C147,-9920.29 147,-9910.55 147,-9901.57\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"150.5,-9901.53 147,-9891.53 143.5,-9901.53 150.5,-9901.53\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367861560->140318367861896 -->\n", "<g class=\"edge\" id=\"edge38\"><title>140318367861560->140318367861896</title>\n", "<path d=\"M163.703,-9855.31C172.263,-9846.5 182.836,-9835.63 192.231,-9825.96\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"194.991,-9828.14 199.451,-9818.53 189.971,-9823.26 194.991,-9828.14\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367861952 -->\n", "<g class=\"node\" id=\"node38\"><title>140318367861952</title>\n", "<polygon fill=\"none\" points=\"139,-9709.5 139,-9745.5 293,-9745.5 293,-9709.5 139,-9709.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"216\" y=\"-9723.8\">activation_13: Activation</text>\n", "</g>\n", "<!-- 140318367861896->140318367861952 -->\n", "<g class=\"edge\" id=\"edge40\"><title>140318367861896->140318367861952</title>\n", "<path d=\"M216,-9782.31C216,-9774.29 216,-9764.55 216,-9755.57\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"219.5,-9755.53 216,-9745.53 212.5,-9755.53 219.5,-9755.53\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367862008 -->\n", "<g class=\"node\" id=\"node39\"><title>140318367862008</title>\n", "<polygon fill=\"none\" points=\"84,-9636.5 84,-9672.5 242,-9672.5 242,-9636.5 84,-9636.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"163\" y=\"-9650.8\">res3a_branch2a: Conv2D</text>\n", "</g>\n", "<!-- 140318367861952->140318367862008 -->\n", "<g class=\"edge\" id=\"edge41\"><title>140318367861952->140318367862008</title>\n", "<path d=\"M203.17,-9709.31C196.79,-9700.77 188.955,-9690.27 181.903,-9680.82\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"184.498,-9678.45 175.712,-9672.53 178.889,-9682.64 184.498,-9678.45\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367892536 -->\n", "<g class=\"node\" id=\"node46\"><title>140318367892536</title>\n", "<polygon fill=\"none\" points=\"266,-9563.5 266,-9599.5 418,-9599.5 418,-9563.5 266,-9563.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"342\" y=\"-9577.8\">res3a_branch1: Conv2D</text>\n", "</g>\n", "<!-- 140318367861952->140318367892536 -->\n", "<g class=\"edge\" id=\"edge48\"><title>140318367861952->140318367892536</title>\n", "<path d=\"M230.949,-9709.42C253.114,-9684.08 294.819,-9636.42 320.333,-9607.26\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"323.12,-9609.39 327.071,-9599.56 317.852,-9604.78 323.12,-9609.39\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367862344 -->\n", "<g class=\"node\" id=\"node40\"><title>140318367862344</title>\n", "<polygon fill=\"none\" points=\"30,-9563.5 30,-9599.5 248,-9599.5 248,-9563.5 30,-9563.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"139\" y=\"-9577.8\">bn3a_branch2a: BatchNormalization</text>\n", "</g>\n", "<!-- 140318367862008->140318367862344 -->\n", "<g class=\"edge\" id=\"edge42\"><title>140318367862008->140318367862344</title>\n", "<path d=\"M157.19,-9636.31C154.449,-9628.2 151.113,-9618.34 148.051,-9609.28\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"151.274,-9607.88 144.756,-9599.53 144.643,-9610.12 151.274,-9607.88\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367862680 -->\n", "<g class=\"node\" id=\"node41\"><title>140318367862680</title>\n", "<polygon fill=\"none\" points=\"63,-9490.5 63,-9526.5 217,-9526.5 217,-9490.5 63,-9490.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"140\" y=\"-9504.8\">activation_14: Activation</text>\n", "</g>\n", "<!-- 140318367862344->140318367862680 -->\n", "<g class=\"edge\" id=\"edge43\"><title>140318367862344->140318367862680</title>\n", "<path d=\"M139.242,-9563.31C139.355,-9555.29 139.492,-9545.55 139.619,-9536.57\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"143.119,-9536.58 139.76,-9526.53 136.12,-9536.48 143.119,-9536.58\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367838160 -->\n", "<g class=\"node\" id=\"node42\"><title>140318367838160</title>\n", "<polygon fill=\"none\" points=\"91,-9417.5 91,-9453.5 251,-9453.5 251,-9417.5 91,-9417.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"171\" y=\"-9431.8\">res3a_branch2b: Conv2D</text>\n", "</g>\n", "<!-- 140318367862680->140318367838160 -->\n", "<g class=\"edge\" id=\"edge44\"><title>140318367862680->140318367838160</title>\n", "<path d=\"M147.504,-9490.31C151.084,-9482.12 155.446,-9472.12 159.436,-9462.98\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"162.771,-9464.09 163.565,-9453.53 156.356,-9461.29 162.771,-9464.09\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367891808 -->\n", "<g class=\"node\" id=\"node43\"><title>140318367891808</title>\n", "<polygon fill=\"none\" points=\"77,-9344.5 77,-9380.5 297,-9380.5 297,-9344.5 77,-9344.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"187\" y=\"-9358.8\">bn3a_branch2b: BatchNormalization</text>\n", "</g>\n", "<!-- 140318367838160->140318367891808 -->\n", "<g class=\"edge\" id=\"edge45\"><title>140318367838160->140318367891808</title>\n", "<path d=\"M174.873,-9417.31C176.681,-9409.29 178.877,-9399.55 180.9,-9390.57\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"184.378,-9391.05 183.163,-9380.53 177.55,-9389.51 184.378,-9391.05\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367892144 -->\n", "<g class=\"node\" id=\"node44\"><title>140318367892144</title>\n", "<polygon fill=\"none\" points=\"114,-9271.5 114,-9307.5 268,-9307.5 268,-9271.5 114,-9271.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"191\" y=\"-9285.8\">activation_15: Activation</text>\n", "</g>\n", "<!-- 140318367891808->140318367892144 -->\n", "<g class=\"edge\" id=\"edge46\"><title>140318367891808->140318367892144</title>\n", "<path d=\"M187.968,-9344.31C188.42,-9336.29 188.969,-9326.55 189.475,-9317.57\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"192.973,-9317.71 190.041,-9307.53 185.984,-9317.32 192.973,-9317.71\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367892200 -->\n", "<g class=\"node\" id=\"node45\"><title>140318367892200</title>\n", "<polygon fill=\"none\" points=\"112.5,-9198.5 112.5,-9234.5 271.5,-9234.5 271.5,-9198.5 112.5,-9198.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"192\" y=\"-9212.8\">res3a_branch2c: Conv2D</text>\n", "</g>\n", "<!-- 140318367892144->140318367892200 -->\n", "<g class=\"edge\" id=\"edge47\"><title>140318367892144->140318367892200</title>\n", "<path d=\"M191.242,-9271.31C191.355,-9263.29 191.492,-9253.55 191.619,-9244.57\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"195.119,-9244.58 191.76,-9234.53 188.12,-9244.48 195.119,-9244.58\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367892928 -->\n", "<g class=\"node\" id=\"node47\"><title>140318367892928</title>\n", "<polygon fill=\"none\" points=\"84.5,-9125.5 84.5,-9161.5 303.5,-9161.5 303.5,-9125.5 84.5,-9125.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"194\" y=\"-9139.8\">bn3a_branch2c: BatchNormalization</text>\n", "</g>\n", "<!-- 140318367892200->140318367892928 -->\n", "<g class=\"edge\" id=\"edge49\"><title>140318367892200->140318367892928</title>\n", "<path d=\"M192.484,-9198.31C192.71,-9190.29 192.985,-9180.55 193.237,-9171.57\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"196.737,-9171.62 193.52,-9161.53 189.74,-9171.43 196.737,-9171.62\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367893264 -->\n", "<g class=\"node\" id=\"node48\"><title>140318367893264</title>\n", "<polygon fill=\"none\" points=\"235,-9490.5 235,-9526.5 447,-9526.5 447,-9490.5 235,-9490.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"341\" y=\"-9504.8\">bn3a_branch1: BatchNormalization</text>\n", "</g>\n", "<!-- 140318367892536->140318367893264 -->\n", "<g class=\"edge\" id=\"edge50\"><title>140318367892536->140318367893264</title>\n", "<path d=\"M341.758,-9563.31C341.645,-9555.29 341.508,-9545.55 341.381,-9536.57\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"344.88,-9536.48 341.24,-9526.53 337.881,-9536.58 344.88,-9536.48\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367893544 -->\n", "<g class=\"node\" id=\"node49\"><title>140318367893544</title>\n", "<polygon fill=\"none\" points=\"221.5,-9052.5 221.5,-9088.5 304.5,-9088.5 304.5,-9052.5 221.5,-9052.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"263\" y=\"-9066.8\">add_5: Add</text>\n", "</g>\n", "<!-- 140318367892928->140318367893544 -->\n", "<g class=\"edge\" id=\"edge51\"><title>140318367892928->140318367893544</title>\n", "<path d=\"M210.703,-9125.31C219.263,-9116.5 229.836,-9105.63 239.231,-9095.96\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"241.991,-9098.14 246.451,-9088.53 236.971,-9093.26 241.991,-9098.14\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367893264->140318367893544 -->\n", "<g class=\"edge\" id=\"edge52\"><title>140318367893264->140318367893544</title>\n", "<path d=\"M339.419,-9490.23C337.088,-9463.22 333,-9409.32 333,-9363.5 333,-9363.5 333,-9363.5 333,-9215.5 333,-9174.21 331.242,-9161.53 312,-9125 306.518,-9114.59 298.513,-9104.66 290.556,-9096.23\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"292.863,-9093.59 283.336,-9088.95 287.893,-9098.52 292.863,-9093.59\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367893600 -->\n", "<g class=\"node\" id=\"node50\"><title>140318367893600</title>\n", "<polygon fill=\"none\" points=\"186,-8979.5 186,-9015.5 340,-9015.5 340,-8979.5 186,-8979.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"263\" y=\"-8993.8\">activation_16: Activation</text>\n", "</g>\n", "<!-- 140318367893544->140318367893600 -->\n", "<g class=\"edge\" id=\"edge53\"><title>140318367893544->140318367893600</title>\n", "<path d=\"M263,-9052.31C263,-9044.29 263,-9034.55 263,-9025.57\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"266.5,-9025.53 263,-9015.53 259.5,-9025.53 266.5,-9025.53\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367893656 -->\n", "<g class=\"node\" id=\"node51\"><title>140318367893656</title>\n", "<polygon fill=\"none\" points=\"114,-8906.5 114,-8942.5 274,-8942.5 274,-8906.5 114,-8906.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"194\" y=\"-8920.8\">res3b_branch2a: Conv2D</text>\n", "</g>\n", "<!-- 140318367893600->140318367893656 -->\n", "<g class=\"edge\" id=\"edge54\"><title>140318367893600->140318367893656</title>\n", "<path d=\"M246.297,-8979.31C237.737,-8970.5 227.164,-8959.63 217.769,-8949.96\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"220.029,-8947.26 210.549,-8942.53 215.009,-8952.14 220.029,-8947.26\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367916328 -->\n", "<g class=\"node\" id=\"node59\"><title>140318367916328</title>\n", "<polygon fill=\"none\" points=\"205.5,-8322.5 205.5,-8358.5 288.5,-8358.5 288.5,-8322.5 205.5,-8322.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"247\" y=\"-8336.8\">add_6: Add</text>\n", "</g>\n", "<!-- 140318367893600->140318367916328 -->\n", "<g class=\"edge\" id=\"edge63\"><title>140318367893600->140318367916328</title>\n", "<path d=\"M274.189,-8979.11C290.006,-8952.8 317,-8900.83 317,-8852.5 317,-8852.5 317,-8852.5 317,-8485.5 317,-8444.31 316.188,-8431.45 297,-8395 291.366,-8384.3 283.015,-8374.16 274.744,-8365.65\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"277.157,-8363.11 267.566,-8358.61 272.257,-8368.11 277.157,-8363.11\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367893992 -->\n", "<g class=\"node\" id=\"node52\"><title>140318367893992</title>\n", "<polygon fill=\"none\" points=\"69,-8833.5 69,-8869.5 289,-8869.5 289,-8833.5 69,-8833.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"179\" y=\"-8847.8\">bn3b_branch2a: BatchNormalization</text>\n", "</g>\n", "<!-- 140318367893656->140318367893992 -->\n", "<g class=\"edge\" id=\"edge55\"><title>140318367893656->140318367893992</title>\n", "<path d=\"M190.369,-8906.31C188.674,-8898.29 186.616,-8888.55 184.719,-8879.57\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"188.089,-8878.59 182.598,-8869.53 181.24,-8880.04 188.089,-8878.59\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367894328 -->\n", "<g class=\"node\" id=\"node53\"><title>140318367894328</title>\n", "<polygon fill=\"none\" points=\"101,-8760.5 101,-8796.5 255,-8796.5 255,-8760.5 101,-8760.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"178\" y=\"-8774.8\">activation_17: Activation</text>\n", "</g>\n", "<!-- 140318367893992->140318367894328 -->\n", "<g class=\"edge\" id=\"edge56\"><title>140318367893992->140318367894328</title>\n", "<path d=\"M178.758,-8833.31C178.645,-8825.29 178.508,-8815.55 178.381,-8806.57\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"181.88,-8806.48 178.24,-8796.53 174.881,-8806.58 181.88,-8806.48\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367894384 -->\n", "<g class=\"node\" id=\"node54\"><title>140318367894384</title>\n", "<polygon fill=\"none\" points=\"97.5,-8687.5 97.5,-8723.5 258.5,-8723.5 258.5,-8687.5 97.5,-8687.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"178\" y=\"-8701.8\">res3b_branch2b: Conv2D</text>\n", "</g>\n", "<!-- 140318367894328->140318367894384 -->\n", "<g class=\"edge\" id=\"edge57\"><title>140318367894328->140318367894384</title>\n", "<path d=\"M178,-8760.31C178,-8752.29 178,-8742.55 178,-8733.57\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"181.5,-8733.53 178,-8723.53 174.5,-8733.53 181.5,-8733.53\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367894720 -->\n", "<g class=\"node\" id=\"node55\"><title>140318367894720</title>\n", "<polygon fill=\"none\" points=\"67.5,-8614.5 67.5,-8650.5 288.5,-8650.5 288.5,-8614.5 67.5,-8614.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"178\" y=\"-8628.8\">bn3b_branch2b: BatchNormalization</text>\n", "</g>\n", "<!-- 140318367894384->140318367894720 -->\n", "<g class=\"edge\" id=\"edge58\"><title>140318367894384->140318367894720</title>\n", "<path d=\"M178,-8687.31C178,-8679.29 178,-8669.55 178,-8660.57\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"181.5,-8660.53 178,-8650.53 174.5,-8660.53 181.5,-8660.53\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367895056 -->\n", "<g class=\"node\" id=\"node56\"><title>140318367895056</title>\n", "<polygon fill=\"none\" points=\"101,-8541.5 101,-8577.5 255,-8577.5 255,-8541.5 101,-8541.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"178\" y=\"-8555.8\">activation_18: Activation</text>\n", "</g>\n", "<!-- 140318367894720->140318367895056 -->\n", "<g class=\"edge\" id=\"edge59\"><title>140318367894720->140318367895056</title>\n", "<path d=\"M178,-8614.31C178,-8606.29 178,-8596.55 178,-8587.57\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"181.5,-8587.53 178,-8577.53 174.5,-8587.53 181.5,-8587.53\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367895112 -->\n", "<g class=\"node\" id=\"node57\"><title>140318367895112</title>\n", "<polygon fill=\"none\" points=\"97.5,-8468.5 97.5,-8504.5 258.5,-8504.5 258.5,-8468.5 97.5,-8468.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"178\" y=\"-8482.8\">res3b_branch2c: Conv2D</text>\n", "</g>\n", "<!-- 140318367895056->140318367895112 -->\n", "<g class=\"edge\" id=\"edge60\"><title>140318367895056->140318367895112</title>\n", "<path d=\"M178,-8541.31C178,-8533.29 178,-8523.55 178,-8514.57\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"181.5,-8514.53 178,-8504.53 174.5,-8514.53 181.5,-8514.53\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367862736 -->\n", "<g class=\"node\" id=\"node58\"><title>140318367862736</title>\n", "<polygon fill=\"none\" points=\"67.5,-8395.5 67.5,-8431.5 288.5,-8431.5 288.5,-8395.5 67.5,-8395.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"178\" y=\"-8409.8\">bn3b_branch2c: BatchNormalization</text>\n", "</g>\n", "<!-- 140318367895112->140318367862736 -->\n", "<g class=\"edge\" id=\"edge61\"><title>140318367895112->140318367862736</title>\n", "<path d=\"M178,-8468.31C178,-8460.29 178,-8450.55 178,-8441.57\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"181.5,-8441.53 178,-8431.53 174.5,-8441.53 181.5,-8441.53\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367862736->140318367916328 -->\n", "<g class=\"edge\" id=\"edge62\"><title>140318367862736->140318367916328</title>\n", "<path d=\"M194.703,-8395.31C203.263,-8386.5 213.836,-8375.63 223.231,-8365.96\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"225.991,-8368.14 230.451,-8358.53 220.971,-8363.26 225.991,-8368.14\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367916384 -->\n", "<g class=\"node\" id=\"node60\"><title>140318367916384</title>\n", "<polygon fill=\"none\" points=\"170,-8249.5 170,-8285.5 324,-8285.5 324,-8249.5 170,-8249.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"247\" y=\"-8263.8\">activation_19: Activation</text>\n", "</g>\n", "<!-- 140318367916328->140318367916384 -->\n", "<g class=\"edge\" id=\"edge64\"><title>140318367916328->140318367916384</title>\n", "<path d=\"M247,-8322.31C247,-8314.29 247,-8304.55 247,-8295.57\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"250.5,-8295.53 247,-8285.53 243.5,-8295.53 250.5,-8295.53\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367916440 -->\n", "<g class=\"node\" id=\"node61\"><title>140318367916440</title>\n", "<polygon fill=\"none\" points=\"98.5,-8176.5 98.5,-8212.5 257.5,-8212.5 257.5,-8176.5 98.5,-8176.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"178\" y=\"-8190.8\">res3c_branch2a: Conv2D</text>\n", "</g>\n", "<!-- 140318367916384->140318367916440 -->\n", "<g class=\"edge\" id=\"edge65\"><title>140318367916384->140318367916440</title>\n", "<path d=\"M230.297,-8249.31C221.737,-8240.5 211.164,-8229.63 201.769,-8219.96\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"204.029,-8217.26 194.549,-8212.53 199.009,-8222.14 204.029,-8217.26\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367918568 -->\n", "<g class=\"node\" id=\"node69\"><title>140318367918568</title>\n", "<polygon fill=\"none\" points=\"190.5,-7592.5 190.5,-7628.5 273.5,-7628.5 273.5,-7592.5 190.5,-7592.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"232\" y=\"-7606.8\">add_7: Add</text>\n", "</g>\n", "<!-- 140318367916384->140318367918568 -->\n", "<g class=\"edge\" id=\"edge74\"><title>140318367916384->140318367918568</title>\n", "<path d=\"M258.189,-8249.11C274.006,-8222.8 301,-8170.83 301,-8122.5 301,-8122.5 301,-8122.5 301,-7755.5 301,-7714.4 300.952,-7701.47 282,-7665 276.423,-7654.27 268.086,-7644.12 259.811,-7635.61\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"262.22,-7633.07 252.625,-7628.58 257.324,-7638.08 262.22,-7633.07\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367916776 -->\n", "<g class=\"node\" id=\"node62\"><title>140318367916776</title>\n", "<polygon fill=\"none\" points=\"53.5,-8103.5 53.5,-8139.5 272.5,-8139.5 272.5,-8103.5 53.5,-8103.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"163\" y=\"-8117.8\">bn3c_branch2a: BatchNormalization</text>\n", "</g>\n", "<!-- 140318367916440->140318367916776 -->\n", "<g class=\"edge\" id=\"edge66\"><title>140318367916440->140318367916776</title>\n", "<path d=\"M174.369,-8176.31C172.674,-8168.29 170.616,-8158.55 168.719,-8149.57\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"172.089,-8148.59 166.598,-8139.53 165.24,-8150.04 172.089,-8148.59\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367917112 -->\n", "<g class=\"node\" id=\"node63\"><title>140318367917112</title>\n", "<polygon fill=\"none\" points=\"85,-8030.5 85,-8066.5 239,-8066.5 239,-8030.5 85,-8030.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"162\" y=\"-8044.8\">activation_20: Activation</text>\n", "</g>\n", "<!-- 140318367916776->140318367917112 -->\n", "<g class=\"edge\" id=\"edge67\"><title>140318367916776->140318367917112</title>\n", "<path d=\"M162.758,-8103.31C162.645,-8095.29 162.508,-8085.55 162.381,-8076.57\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"165.88,-8076.48 162.24,-8066.53 158.881,-8076.58 165.88,-8076.48\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367917168 -->\n", "<g class=\"node\" id=\"node64\"><title>140318367917168</title>\n", "<polygon fill=\"none\" points=\"81.5,-7957.5 81.5,-7993.5 242.5,-7993.5 242.5,-7957.5 81.5,-7957.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"162\" y=\"-7971.8\">res3c_branch2b: Conv2D</text>\n", "</g>\n", "<!-- 140318367917112->140318367917168 -->\n", "<g class=\"edge\" id=\"edge68\"><title>140318367917112->140318367917168</title>\n", "<path d=\"M162,-8030.31C162,-8022.29 162,-8012.55 162,-8003.57\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"165.5,-8003.53 162,-7993.53 158.5,-8003.53 165.5,-8003.53\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367917504 -->\n", "<g class=\"node\" id=\"node65\"><title>140318367917504</title>\n", "<polygon fill=\"none\" points=\"51.5,-7884.5 51.5,-7920.5 272.5,-7920.5 272.5,-7884.5 51.5,-7884.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"162\" y=\"-7898.8\">bn3c_branch2b: BatchNormalization</text>\n", "</g>\n", "<!-- 140318367917168->140318367917504 -->\n", "<g class=\"edge\" id=\"edge69\"><title>140318367917168->140318367917504</title>\n", "<path d=\"M162,-7957.31C162,-7949.29 162,-7939.55 162,-7930.57\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"165.5,-7930.53 162,-7920.53 158.5,-7930.53 165.5,-7930.53\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367917840 -->\n", "<g class=\"node\" id=\"node66\"><title>140318367917840</title>\n", "<polygon fill=\"none\" points=\"86,-7811.5 86,-7847.5 240,-7847.5 240,-7811.5 86,-7811.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"163\" y=\"-7825.8\">activation_21: Activation</text>\n", "</g>\n", "<!-- 140318367917504->140318367917840 -->\n", "<g class=\"edge\" id=\"edge70\"><title>140318367917504->140318367917840</title>\n", "<path d=\"M162.242,-7884.31C162.355,-7876.29 162.492,-7866.55 162.619,-7857.57\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"166.119,-7857.58 162.76,-7847.53 159.12,-7857.48 166.119,-7857.58\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367917896 -->\n", "<g class=\"node\" id=\"node67\"><title>140318367917896</title>\n", "<polygon fill=\"none\" points=\"83,-7738.5 83,-7774.5 243,-7774.5 243,-7738.5 83,-7738.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"163\" y=\"-7752.8\">res3c_branch2c: Conv2D</text>\n", "</g>\n", "<!-- 140318367917840->140318367917896 -->\n", "<g class=\"edge\" id=\"edge71\"><title>140318367917840->140318367917896</title>\n", "<path d=\"M163,-7811.31C163,-7803.29 163,-7793.55 163,-7784.57\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"166.5,-7784.53 163,-7774.53 159.5,-7784.53 166.5,-7784.53\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367918232 -->\n", "<g class=\"node\" id=\"node68\"><title>140318367918232</title>\n", "<polygon fill=\"none\" points=\"53,-7665.5 53,-7701.5 273,-7701.5 273,-7665.5 53,-7665.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"163\" y=\"-7679.8\">bn3c_branch2c: BatchNormalization</text>\n", "</g>\n", "<!-- 140318367917896->140318367918232 -->\n", "<g class=\"edge\" id=\"edge72\"><title>140318367917896->140318367918232</title>\n", "<path d=\"M163,-7738.31C163,-7730.29 163,-7720.55 163,-7711.57\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"166.5,-7711.53 163,-7701.53 159.5,-7711.53 166.5,-7711.53\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367918232->140318367918568 -->\n", "<g class=\"edge\" id=\"edge73\"><title>140318367918232->140318367918568</title>\n", "<path d=\"M179.703,-7665.31C188.263,-7656.5 198.836,-7645.63 208.231,-7635.96\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"210.991,-7638.14 215.451,-7628.53 205.971,-7633.26 210.991,-7638.14\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367918624 -->\n", "<g class=\"node\" id=\"node70\"><title>140318367918624</title>\n", "<polygon fill=\"none\" points=\"155,-7519.5 155,-7555.5 309,-7555.5 309,-7519.5 155,-7519.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"232\" y=\"-7533.8\">activation_22: Activation</text>\n", "</g>\n", "<!-- 140318367918568->140318367918624 -->\n", "<g class=\"edge\" id=\"edge75\"><title>140318367918568->140318367918624</title>\n", "<path d=\"M232,-7592.31C232,-7584.29 232,-7574.55 232,-7565.57\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"235.5,-7565.53 232,-7555.53 228.5,-7565.53 235.5,-7565.53\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367918680 -->\n", "<g class=\"node\" id=\"node71\"><title>140318367918680</title>\n", "<polygon fill=\"none\" points=\"83,-7446.5 83,-7482.5 243,-7482.5 243,-7446.5 83,-7446.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"163\" y=\"-7460.8\">res3d_branch2a: Conv2D</text>\n", "</g>\n", "<!-- 140318367918624->140318367918680 -->\n", "<g class=\"edge\" id=\"edge76\"><title>140318367918624->140318367918680</title>\n", "<path d=\"M215.297,-7519.31C206.737,-7510.5 196.164,-7499.63 186.769,-7489.96\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"189.029,-7487.26 179.549,-7482.53 184.009,-7492.14 189.029,-7487.26\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367941352 -->\n", "<g class=\"node\" id=\"node79\"><title>140318367941352</title>\n", "<polygon fill=\"none\" points=\"175.5,-6862.5 175.5,-6898.5 258.5,-6898.5 258.5,-6862.5 175.5,-6862.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"217\" y=\"-6876.8\">add_8: Add</text>\n", "</g>\n", "<!-- 140318367918624->140318367941352 -->\n", "<g class=\"edge\" id=\"edge85\"><title>140318367918624->140318367941352</title>\n", "<path d=\"M243.396,-7519.14C259.506,-7492.87 287,-7440.94 287,-7392.5 287,-7392.5 287,-7392.5 287,-7025.5 287,-6984.31 286.188,-6971.45 267,-6935 261.366,-6924.3 253.015,-6914.16 244.744,-6905.65\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"247.157,-6903.11 237.566,-6898.61 242.257,-6908.11 247.157,-6903.11\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367919016 -->\n", "<g class=\"node\" id=\"node72\"><title>140318367919016</title>\n", "<polygon fill=\"none\" points=\"38,-7373.5 38,-7409.5 258,-7409.5 258,-7373.5 38,-7373.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"148\" y=\"-7387.8\">bn3d_branch2a: BatchNormalization</text>\n", "</g>\n", "<!-- 140318367918680->140318367919016 -->\n", "<g class=\"edge\" id=\"edge77\"><title>140318367918680->140318367919016</title>\n", "<path d=\"M159.369,-7446.31C157.674,-7438.29 155.616,-7428.55 153.719,-7419.57\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"157.089,-7418.59 151.598,-7409.53 150.24,-7420.04 157.089,-7418.59\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367919352 -->\n", "<g class=\"node\" id=\"node73\"><title>140318367919352</title>\n", "<polygon fill=\"none\" points=\"71,-7300.5 71,-7336.5 225,-7336.5 225,-7300.5 71,-7300.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"148\" y=\"-7314.8\">activation_23: Activation</text>\n", "</g>\n", "<!-- 140318367919016->140318367919352 -->\n", "<g class=\"edge\" id=\"edge78\"><title>140318367919016->140318367919352</title>\n", "<path d=\"M148,-7373.31C148,-7365.29 148,-7355.55 148,-7346.57\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"151.5,-7346.53 148,-7336.53 144.5,-7346.53 151.5,-7346.53\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367919408 -->\n", "<g class=\"node\" id=\"node74\"><title>140318367919408</title>\n", "<polygon fill=\"none\" points=\"67.5,-7227.5 67.5,-7263.5 228.5,-7263.5 228.5,-7227.5 67.5,-7227.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"148\" y=\"-7241.8\">res3d_branch2b: Conv2D</text>\n", "</g>\n", "<!-- 140318367919352->140318367919408 -->\n", "<g class=\"edge\" id=\"edge79\"><title>140318367919352->140318367919408</title>\n", "<path d=\"M148,-7300.31C148,-7292.29 148,-7282.55 148,-7273.57\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"151.5,-7273.53 148,-7263.53 144.5,-7273.53 151.5,-7273.53\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367919744 -->\n", "<g class=\"node\" id=\"node75\"><title>140318367919744</title>\n", "<polygon fill=\"none\" points=\"37.5,-7154.5 37.5,-7190.5 258.5,-7190.5 258.5,-7154.5 37.5,-7154.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"148\" y=\"-7168.8\">bn3d_branch2b: BatchNormalization</text>\n", "</g>\n", "<!-- 140318367919408->140318367919744 -->\n", "<g class=\"edge\" id=\"edge80\"><title>140318367919408->140318367919744</title>\n", "<path d=\"M148,-7227.31C148,-7219.29 148,-7209.55 148,-7200.57\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"151.5,-7200.53 148,-7190.53 144.5,-7200.53 151.5,-7200.53\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367895448 -->\n", "<g class=\"node\" id=\"node76\"><title>140318367895448</title>\n", "<polygon fill=\"none\" points=\"71,-7081.5 71,-7117.5 225,-7117.5 225,-7081.5 71,-7081.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"148\" y=\"-7095.8\">activation_24: Activation</text>\n", "</g>\n", "<!-- 140318367919744->140318367895448 -->\n", "<g class=\"edge\" id=\"edge81\"><title>140318367919744->140318367895448</title>\n", "<path d=\"M148,-7154.31C148,-7146.29 148,-7136.55 148,-7127.57\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"151.5,-7127.53 148,-7117.53 144.5,-7127.53 151.5,-7127.53\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367940680 -->\n", "<g class=\"node\" id=\"node77\"><title>140318367940680</title>\n", "<polygon fill=\"none\" points=\"67.5,-7008.5 67.5,-7044.5 228.5,-7044.5 228.5,-7008.5 67.5,-7008.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"148\" y=\"-7022.8\">res3d_branch2c: Conv2D</text>\n", "</g>\n", "<!-- 140318367895448->140318367940680 -->\n", "<g class=\"edge\" id=\"edge82\"><title>140318367895448->140318367940680</title>\n", "<path d=\"M148,-7081.31C148,-7073.29 148,-7063.55 148,-7054.57\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"151.5,-7054.53 148,-7044.53 144.5,-7054.53 151.5,-7054.53\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367941016 -->\n", "<g class=\"node\" id=\"node78\"><title>140318367941016</title>\n", "<polygon fill=\"none\" points=\"37.5,-6935.5 37.5,-6971.5 258.5,-6971.5 258.5,-6935.5 37.5,-6935.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"148\" y=\"-6949.8\">bn3d_branch2c: BatchNormalization</text>\n", "</g>\n", "<!-- 140318367940680->140318367941016 -->\n", "<g class=\"edge\" id=\"edge83\"><title>140318367940680->140318367941016</title>\n", "<path d=\"M148,-7008.31C148,-7000.29 148,-6990.55 148,-6981.57\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"151.5,-6981.53 148,-6971.53 144.5,-6981.53 151.5,-6981.53\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367941016->140318367941352 -->\n", "<g class=\"edge\" id=\"edge84\"><title>140318367941016->140318367941352</title>\n", "<path d=\"M164.703,-6935.31C173.263,-6926.5 183.836,-6915.63 193.231,-6905.96\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"195.991,-6908.14 200.451,-6898.53 190.971,-6903.26 195.991,-6908.14\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367941408 -->\n", "<g class=\"node\" id=\"node80\"><title>140318367941408</title>\n", "<polygon fill=\"none\" points=\"140,-6789.5 140,-6825.5 294,-6825.5 294,-6789.5 140,-6789.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"217\" y=\"-6803.8\">activation_25: Activation</text>\n", "</g>\n", "<!-- 140318367941352->140318367941408 -->\n", "<g class=\"edge\" id=\"edge86\"><title>140318367941352->140318367941408</title>\n", "<path d=\"M217,-6862.31C217,-6854.29 217,-6844.55 217,-6835.57\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"220.5,-6835.53 217,-6825.53 213.5,-6835.53 220.5,-6835.53\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367941464 -->\n", "<g class=\"node\" id=\"node81\"><title>140318367941464</title>\n", "<polygon fill=\"none\" points=\"85,-6716.5 85,-6752.5 243,-6752.5 243,-6716.5 85,-6716.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"164\" y=\"-6730.8\">res4a_branch2a: Conv2D</text>\n", "</g>\n", "<!-- 140318367941408->140318367941464 -->\n", "<g class=\"edge\" id=\"edge87\"><title>140318367941408->140318367941464</title>\n", "<path d=\"M204.17,-6789.31C197.79,-6780.77 189.955,-6770.27 182.903,-6760.82\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"185.498,-6758.45 176.712,-6752.53 179.889,-6762.64 185.498,-6758.45\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367943256 -->\n", "<g class=\"node\" id=\"node88\"><title>140318367943256</title>\n", "<polygon fill=\"none\" points=\"267,-6643.5 267,-6679.5 419,-6679.5 419,-6643.5 267,-6643.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"343\" y=\"-6657.8\">res4a_branch1: Conv2D</text>\n", "</g>\n", "<!-- 140318367941408->140318367943256 -->\n", "<g class=\"edge\" id=\"edge94\"><title>140318367941408->140318367943256</title>\n", "<path d=\"M231.949,-6789.42C254.114,-6764.08 295.819,-6716.42 321.333,-6687.26\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"324.12,-6689.39 328.071,-6679.56 318.852,-6684.78 324.12,-6689.39\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367941800 -->\n", "<g class=\"node\" id=\"node82\"><title>140318367941800</title>\n", "<polygon fill=\"none\" points=\"31,-6643.5 31,-6679.5 249,-6679.5 249,-6643.5 31,-6643.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"140\" y=\"-6657.8\">bn4a_branch2a: BatchNormalization</text>\n", "</g>\n", "<!-- 140318367941464->140318367941800 -->\n", "<g class=\"edge\" id=\"edge88\"><title>140318367941464->140318367941800</title>\n", "<path d=\"M158.19,-6716.31C155.449,-6708.2 152.113,-6698.34 149.051,-6689.28\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"152.274,-6687.88 145.756,-6679.53 145.643,-6690.12 152.274,-6687.88\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367942136 -->\n", "<g class=\"node\" id=\"node83\"><title>140318367942136</title>\n", "<polygon fill=\"none\" points=\"64,-6570.5 64,-6606.5 218,-6606.5 218,-6570.5 64,-6570.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"141\" y=\"-6584.8\">activation_26: Activation</text>\n", "</g>\n", "<!-- 140318367941800->140318367942136 -->\n", "<g class=\"edge\" id=\"edge89\"><title>140318367941800->140318367942136</title>\n", "<path d=\"M140.242,-6643.31C140.355,-6635.29 140.492,-6625.55 140.619,-6616.57\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"144.119,-6616.58 140.76,-6606.53 137.12,-6616.48 144.119,-6616.58\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367942192 -->\n", "<g class=\"node\" id=\"node84\"><title>140318367942192</title>\n", "<polygon fill=\"none\" points=\"92,-6497.5 92,-6533.5 252,-6533.5 252,-6497.5 92,-6497.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"172\" y=\"-6511.8\">res4a_branch2b: Conv2D</text>\n", "</g>\n", "<!-- 140318367942136->140318367942192 -->\n", "<g class=\"edge\" id=\"edge90\"><title>140318367942136->140318367942192</title>\n", "<path d=\"M148.504,-6570.31C152.084,-6562.12 156.446,-6552.12 160.436,-6542.98\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"163.771,-6544.09 164.565,-6533.53 157.356,-6541.29 163.771,-6544.09\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367942528 -->\n", "<g class=\"node\" id=\"node85\"><title>140318367942528</title>\n", "<polygon fill=\"none\" points=\"78,-6424.5 78,-6460.5 298,-6460.5 298,-6424.5 78,-6424.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"188\" y=\"-6438.8\">bn4a_branch2b: BatchNormalization</text>\n", "</g>\n", "<!-- 140318367942192->140318367942528 -->\n", "<g class=\"edge\" id=\"edge91\"><title>140318367942192->140318367942528</title>\n", "<path d=\"M175.873,-6497.31C177.681,-6489.29 179.877,-6479.55 181.9,-6470.57\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"185.378,-6471.05 184.163,-6460.53 178.55,-6469.51 185.378,-6471.05\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367942864 -->\n", "<g class=\"node\" id=\"node86\"><title>140318367942864</title>\n", "<polygon fill=\"none\" points=\"115,-6351.5 115,-6387.5 269,-6387.5 269,-6351.5 115,-6351.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"192\" y=\"-6365.8\">activation_27: Activation</text>\n", "</g>\n", "<!-- 140318367942528->140318367942864 -->\n", "<g class=\"edge\" id=\"edge92\"><title>140318367942528->140318367942864</title>\n", "<path d=\"M188.968,-6424.31C189.42,-6416.29 189.969,-6406.55 190.475,-6397.57\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"193.973,-6397.71 191.041,-6387.53 186.984,-6397.32 193.973,-6397.71\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367942920 -->\n", "<g class=\"node\" id=\"node87\"><title>140318367942920</title>\n", "<polygon fill=\"none\" points=\"114.5,-6278.5 114.5,-6314.5 273.5,-6314.5 273.5,-6278.5 114.5,-6278.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"194\" y=\"-6292.8\">res4a_branch2c: Conv2D</text>\n", "</g>\n", "<!-- 140318367942864->140318367942920 -->\n", "<g class=\"edge\" id=\"edge93\"><title>140318367942864->140318367942920</title>\n", "<path d=\"M192.484,-6351.31C192.71,-6343.29 192.985,-6333.55 193.237,-6324.57\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"196.737,-6324.62 193.52,-6314.53 189.74,-6324.43 196.737,-6324.62\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367943648 -->\n", "<g class=\"node\" id=\"node89\"><title>140318367943648</title>\n", "<polygon fill=\"none\" points=\"85.5,-6205.5 85.5,-6241.5 304.5,-6241.5 304.5,-6205.5 85.5,-6205.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"195\" y=\"-6219.8\">bn4a_branch2c: BatchNormalization</text>\n", "</g>\n", "<!-- 140318367942920->140318367943648 -->\n", "<g class=\"edge\" id=\"edge95\"><title>140318367942920->140318367943648</title>\n", "<path d=\"M194.242,-6278.31C194.355,-6270.29 194.492,-6260.55 194.619,-6251.57\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"198.119,-6251.58 194.76,-6241.53 191.12,-6251.48 198.119,-6251.58\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367943984 -->\n", "<g class=\"node\" id=\"node90\"><title>140318367943984</title>\n", "<polygon fill=\"none\" points=\"236,-6570.5 236,-6606.5 448,-6606.5 448,-6570.5 236,-6570.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"342\" y=\"-6584.8\">bn4a_branch1: BatchNormalization</text>\n", "</g>\n", "<!-- 140318367943256->140318367943984 -->\n", "<g class=\"edge\" id=\"edge96\"><title>140318367943256->140318367943984</title>\n", "<path d=\"M342.758,-6643.31C342.645,-6635.29 342.508,-6625.55 342.381,-6616.57\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"345.88,-6616.48 342.24,-6606.53 338.881,-6616.58 345.88,-6616.48\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367944264 -->\n", "<g class=\"node\" id=\"node91\"><title>140318367944264</title>\n", "<polygon fill=\"none\" points=\"222.5,-6132.5 222.5,-6168.5 305.5,-6168.5 305.5,-6132.5 222.5,-6132.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"264\" y=\"-6146.8\">add_9: Add</text>\n", "</g>\n", "<!-- 140318367943648->140318367944264 -->\n", "<g class=\"edge\" id=\"edge97\"><title>140318367943648->140318367944264</title>\n", "<path d=\"M211.703,-6205.31C220.263,-6196.5 230.836,-6185.63 240.231,-6175.96\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"242.991,-6178.14 247.451,-6168.53 237.971,-6173.26 242.991,-6178.14\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367943984->140318367944264 -->\n", "<g class=\"edge\" id=\"edge98\"><title>140318367943984->140318367944264</title>\n", "<path d=\"M340.419,-6570.23C338.088,-6543.22 334,-6489.32 334,-6443.5 334,-6443.5 334,-6443.5 334,-6295.5 334,-6254.21 332.242,-6241.53 313,-6205 307.518,-6194.59 299.513,-6184.66 291.556,-6176.23\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"293.863,-6173.59 284.336,-6168.95 288.893,-6178.52 293.863,-6173.59\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367944320 -->\n", "<g class=\"node\" id=\"node92\"><title>140318367944320</title>\n", "<polygon fill=\"none\" points=\"187,-6059.5 187,-6095.5 341,-6095.5 341,-6059.5 187,-6059.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"264\" y=\"-6073.8\">activation_28: Activation</text>\n", "</g>\n", "<!-- 140318367944264->140318367944320 -->\n", "<g class=\"edge\" id=\"edge99\"><title>140318367944264->140318367944320</title>\n", "<path d=\"M264,-6132.31C264,-6124.29 264,-6114.55 264,-6105.57\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"267.5,-6105.53 264,-6095.53 260.5,-6105.53 267.5,-6105.53\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367944376 -->\n", "<g class=\"node\" id=\"node93\"><title>140318367944376</title>\n", "<polygon fill=\"none\" points=\"115,-5986.5 115,-6022.5 275,-6022.5 275,-5986.5 115,-5986.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"195\" y=\"-6000.8\">res4b_branch2a: Conv2D</text>\n", "</g>\n", "<!-- 140318367944320->140318367944376 -->\n", "<g class=\"edge\" id=\"edge100\"><title>140318367944320->140318367944376</title>\n", "<path d=\"M247.297,-6059.31C238.737,-6050.5 228.164,-6039.63 218.769,-6029.96\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"221.029,-6027.26 211.549,-6022.53 216.009,-6032.14 221.029,-6027.26\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367975240 -->\n", "<g class=\"node\" id=\"node101\"><title>140318367975240</title>\n", "<polygon fill=\"none\" points=\"203.5,-5402.5 203.5,-5438.5 292.5,-5438.5 292.5,-5402.5 203.5,-5402.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"248\" y=\"-5416.8\">add_10: Add</text>\n", "</g>\n", "<!-- 140318367944320->140318367975240 -->\n", "<g class=\"edge\" id=\"edge109\"><title>140318367944320->140318367975240</title>\n", "<path d=\"M275.189,-6059.11C291.006,-6032.8 318,-5980.83 318,-5932.5 318,-5932.5 318,-5932.5 318,-5565.5 318,-5524.31 317.188,-5511.45 298,-5475 292.366,-5464.3 284.015,-5454.16 275.744,-5445.65\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"278.157,-5443.11 268.566,-5438.61 273.257,-5448.11 278.157,-5443.11\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367920080 -->\n", "<g class=\"node\" id=\"node94\"><title>140318367920080</title>\n", "<polygon fill=\"none\" points=\"70,-5913.5 70,-5949.5 290,-5949.5 290,-5913.5 70,-5913.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"180\" y=\"-5927.8\">bn4b_branch2a: BatchNormalization</text>\n", "</g>\n", "<!-- 140318367944376->140318367920080 -->\n", "<g class=\"edge\" id=\"edge101\"><title>140318367944376->140318367920080</title>\n", "<path d=\"M191.369,-5986.31C189.674,-5978.29 187.616,-5968.55 185.719,-5959.57\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"189.089,-5958.59 183.598,-5949.53 182.24,-5960.04 189.089,-5958.59\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367973784 -->\n", "<g class=\"node\" id=\"node95\"><title>140318367973784</title>\n", "<polygon fill=\"none\" points=\"103,-5840.5 103,-5876.5 257,-5876.5 257,-5840.5 103,-5840.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"180\" y=\"-5854.8\">activation_29: Activation</text>\n", "</g>\n", "<!-- 140318367920080->140318367973784 -->\n", "<g class=\"edge\" id=\"edge102\"><title>140318367920080->140318367973784</title>\n", "<path d=\"M180,-5913.31C180,-5905.29 180,-5895.55 180,-5886.57\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"183.5,-5886.53 180,-5876.53 176.5,-5886.53 183.5,-5886.53\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367973840 -->\n", "<g class=\"node\" id=\"node96\"><title>140318367973840</title>\n", "<polygon fill=\"none\" points=\"99.5,-5767.5 99.5,-5803.5 260.5,-5803.5 260.5,-5767.5 99.5,-5767.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"180\" y=\"-5781.8\">res4b_branch2b: Conv2D</text>\n", "</g>\n", "<!-- 140318367973784->140318367973840 -->\n", "<g class=\"edge\" id=\"edge103\"><title>140318367973784->140318367973840</title>\n", "<path d=\"M180,-5840.31C180,-5832.29 180,-5822.55 180,-5813.57\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"183.5,-5813.53 180,-5803.53 176.5,-5813.53 183.5,-5813.53\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367974176 -->\n", "<g class=\"node\" id=\"node97\"><title>140318367974176</title>\n", "<polygon fill=\"none\" points=\"68.5,-5694.5 68.5,-5730.5 289.5,-5730.5 289.5,-5694.5 68.5,-5694.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"179\" y=\"-5708.8\">bn4b_branch2b: BatchNormalization</text>\n", "</g>\n", "<!-- 140318367973840->140318367974176 -->\n", "<g class=\"edge\" id=\"edge104\"><title>140318367973840->140318367974176</title>\n", "<path d=\"M179.758,-5767.31C179.645,-5759.29 179.508,-5749.55 179.381,-5740.57\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"182.88,-5740.48 179.24,-5730.53 175.881,-5740.58 182.88,-5740.48\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367974512 -->\n", "<g class=\"node\" id=\"node98\"><title>140318367974512</title>\n", "<polygon fill=\"none\" points=\"102,-5621.5 102,-5657.5 256,-5657.5 256,-5621.5 102,-5621.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"179\" y=\"-5635.8\">activation_30: Activation</text>\n", "</g>\n", "<!-- 140318367974176->140318367974512 -->\n", "<g class=\"edge\" id=\"edge105\"><title>140318367974176->140318367974512</title>\n", "<path d=\"M179,-5694.31C179,-5686.29 179,-5676.55 179,-5667.57\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"182.5,-5667.53 179,-5657.53 175.5,-5667.53 182.5,-5667.53\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367974568 -->\n", "<g class=\"node\" id=\"node99\"><title>140318367974568</title>\n", "<polygon fill=\"none\" points=\"98.5,-5548.5 98.5,-5584.5 259.5,-5584.5 259.5,-5548.5 98.5,-5548.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"179\" y=\"-5562.8\">res4b_branch2c: Conv2D</text>\n", "</g>\n", "<!-- 140318367974512->140318367974568 -->\n", "<g class=\"edge\" id=\"edge106\"><title>140318367974512->140318367974568</title>\n", "<path d=\"M179,-5621.31C179,-5613.29 179,-5603.55 179,-5594.57\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"182.5,-5594.53 179,-5584.53 175.5,-5594.53 182.5,-5594.53\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367974904 -->\n", "<g class=\"node\" id=\"node100\"><title>140318367974904</title>\n", "<polygon fill=\"none\" points=\"68.5,-5475.5 68.5,-5511.5 289.5,-5511.5 289.5,-5475.5 68.5,-5475.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"179\" y=\"-5489.8\">bn4b_branch2c: BatchNormalization</text>\n", "</g>\n", "<!-- 140318367974568->140318367974904 -->\n", "<g class=\"edge\" id=\"edge107\"><title>140318367974568->140318367974904</title>\n", "<path d=\"M179,-5548.31C179,-5540.29 179,-5530.55 179,-5521.57\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"182.5,-5521.53 179,-5511.53 175.5,-5521.53 182.5,-5521.53\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367974904->140318367975240 -->\n", "<g class=\"edge\" id=\"edge108\"><title>140318367974904->140318367975240</title>\n", "<path d=\"M195.703,-5475.31C204.263,-5466.5 214.836,-5455.63 224.231,-5445.96\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"226.991,-5448.14 231.451,-5438.53 221.971,-5443.26 226.991,-5448.14\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367975296 -->\n", "<g class=\"node\" id=\"node102\"><title>140318367975296</title>\n", "<polygon fill=\"none\" points=\"171,-5329.5 171,-5365.5 325,-5365.5 325,-5329.5 171,-5329.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"248\" y=\"-5343.8\">activation_31: Activation</text>\n", "</g>\n", "<!-- 140318367975240->140318367975296 -->\n", "<g class=\"edge\" id=\"edge110\"><title>140318367975240->140318367975296</title>\n", "<path d=\"M248,-5402.31C248,-5394.29 248,-5384.55 248,-5375.57\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"251.5,-5375.53 248,-5365.53 244.5,-5375.53 251.5,-5375.53\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367975352 -->\n", "<g class=\"node\" id=\"node103\"><title>140318367975352</title>\n", "<polygon fill=\"none\" points=\"115.5,-5256.5 115.5,-5292.5 274.5,-5292.5 274.5,-5256.5 115.5,-5256.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"195\" y=\"-5270.8\">res4c_branch2a: Conv2D</text>\n", "</g>\n", "<!-- 140318367975296->140318367975352 -->\n", "<g class=\"edge\" id=\"edge111\"><title>140318367975296->140318367975352</title>\n", "<path d=\"M235.17,-5329.31C228.79,-5320.77 220.955,-5310.27 213.903,-5300.82\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"216.498,-5298.45 207.712,-5292.53 210.889,-5302.64 216.498,-5298.45\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367944544 -->\n", "<g class=\"node\" id=\"node111\"><title>140318367944544</title>\n", "<polygon fill=\"none\" points=\"203.5,-4672.5 203.5,-4708.5 292.5,-4708.5 292.5,-4672.5 203.5,-4672.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"248\" y=\"-4686.8\">add_11: Add</text>\n", "</g>\n", "<!-- 140318367975296->140318367944544 -->\n", "<g class=\"edge\" id=\"edge120\"><title>140318367975296->140318367944544</title>\n", "<path d=\"M262.633,-5329.15C282.887,-5303.32 317,-5252.4 317,-5202.5 317,-5202.5 317,-5202.5 317,-4835.5 317,-4794.4 316.952,-4781.47 298,-4745 292.423,-4734.27 284.086,-4724.12 275.811,-4715.61\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"278.22,-4713.07 268.625,-4708.58 273.324,-4718.08 278.22,-4713.07\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367975688 -->\n", "<g class=\"node\" id=\"node104\"><title>140318367975688</title>\n", "<polygon fill=\"none\" points=\"69.5,-5183.5 69.5,-5219.5 288.5,-5219.5 288.5,-5183.5 69.5,-5183.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"179\" y=\"-5197.8\">bn4c_branch2a: BatchNormalization</text>\n", "</g>\n", "<!-- 140318367975352->140318367975688 -->\n", "<g class=\"edge\" id=\"edge112\"><title>140318367975352->140318367975688</title>\n", "<path d=\"M191.127,-5256.31C189.319,-5248.29 187.123,-5238.55 185.1,-5229.57\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"188.45,-5228.51 182.837,-5219.53 181.622,-5230.05 188.45,-5228.51\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367976024 -->\n", "<g class=\"node\" id=\"node105\"><title>140318367976024</title>\n", "<polygon fill=\"none\" points=\"102,-5110.5 102,-5146.5 256,-5146.5 256,-5110.5 102,-5110.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"179\" y=\"-5124.8\">activation_32: Activation</text>\n", "</g>\n", "<!-- 140318367975688->140318367976024 -->\n", "<g class=\"edge\" id=\"edge113\"><title>140318367975688->140318367976024</title>\n", "<path d=\"M179,-5183.31C179,-5175.29 179,-5165.55 179,-5156.57\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"182.5,-5156.53 179,-5146.53 175.5,-5156.53 182.5,-5156.53\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367976080 -->\n", "<g class=\"node\" id=\"node106\"><title>140318367976080</title>\n", "<polygon fill=\"none\" points=\"98.5,-5037.5 98.5,-5073.5 259.5,-5073.5 259.5,-5037.5 98.5,-5037.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"179\" y=\"-5051.8\">res4c_branch2b: Conv2D</text>\n", "</g>\n", "<!-- 140318367976024->140318367976080 -->\n", "<g class=\"edge\" id=\"edge114\"><title>140318367976024->140318367976080</title>\n", "<path d=\"M179,-5110.31C179,-5102.29 179,-5092.55 179,-5083.57\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"182.5,-5083.53 179,-5073.53 175.5,-5083.53 182.5,-5083.53\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367976416 -->\n", "<g class=\"node\" id=\"node107\"><title>140318367976416</title>\n", "<polygon fill=\"none\" points=\"67.5,-4964.5 67.5,-5000.5 288.5,-5000.5 288.5,-4964.5 67.5,-4964.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"178\" y=\"-4978.8\">bn4c_branch2b: BatchNormalization</text>\n", "</g>\n", "<!-- 140318367976080->140318367976416 -->\n", "<g class=\"edge\" id=\"edge115\"><title>140318367976080->140318367976416</title>\n", "<path d=\"M178.758,-5037.31C178.645,-5029.29 178.508,-5019.55 178.381,-5010.57\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"181.88,-5010.48 178.24,-5000.53 174.881,-5010.58 181.88,-5010.48\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367976752 -->\n", "<g class=\"node\" id=\"node108\"><title>140318367976752</title>\n", "<polygon fill=\"none\" points=\"101,-4891.5 101,-4927.5 255,-4927.5 255,-4891.5 101,-4891.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"178\" y=\"-4905.8\">activation_33: Activation</text>\n", "</g>\n", "<!-- 140318367976416->140318367976752 -->\n", "<g class=\"edge\" id=\"edge116\"><title>140318367976416->140318367976752</title>\n", "<path d=\"M178,-4964.31C178,-4956.29 178,-4946.55 178,-4937.57\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"181.5,-4937.53 178,-4927.53 174.5,-4937.53 181.5,-4937.53\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367976808 -->\n", "<g class=\"node\" id=\"node109\"><title>140318367976808</title>\n", "<polygon fill=\"none\" points=\"98,-4818.5 98,-4854.5 258,-4854.5 258,-4818.5 98,-4818.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"178\" y=\"-4832.8\">res4c_branch2c: Conv2D</text>\n", "</g>\n", "<!-- 140318367976752->140318367976808 -->\n", "<g class=\"edge\" id=\"edge117\"><title>140318367976752->140318367976808</title>\n", "<path d=\"M178,-4891.31C178,-4883.29 178,-4873.55 178,-4864.57\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"181.5,-4864.53 178,-4854.53 174.5,-4864.53 181.5,-4864.53\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367977144 -->\n", "<g class=\"node\" id=\"node110\"><title>140318367977144</title>\n", "<polygon fill=\"none\" points=\"69,-4745.5 69,-4781.5 289,-4781.5 289,-4745.5 69,-4745.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"179\" y=\"-4759.8\">bn4c_branch2c: BatchNormalization</text>\n", "</g>\n", "<!-- 140318367976808->140318367977144 -->\n", "<g class=\"edge\" id=\"edge118\"><title>140318367976808->140318367977144</title>\n", "<path d=\"M178.242,-4818.31C178.355,-4810.29 178.492,-4800.55 178.619,-4791.57\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"182.119,-4791.58 178.76,-4781.53 175.12,-4791.48 182.119,-4791.58\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367977144->140318367944544 -->\n", "<g class=\"edge\" id=\"edge119\"><title>140318367977144->140318367944544</title>\n", "<path d=\"M195.703,-4745.31C204.263,-4736.5 214.836,-4725.63 224.231,-4715.96\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"226.991,-4718.14 231.451,-4708.53 221.971,-4713.26 226.991,-4718.14\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367477888 -->\n", "<g class=\"node\" id=\"node112\"><title>140318367477888</title>\n", "<polygon fill=\"none\" points=\"171,-4599.5 171,-4635.5 325,-4635.5 325,-4599.5 171,-4599.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"248\" y=\"-4613.8\">activation_34: Activation</text>\n", "</g>\n", "<!-- 140318367944544->140318367477888 -->\n", "<g class=\"edge\" id=\"edge121\"><title>140318367944544->140318367477888</title>\n", "<path d=\"M248,-4672.31C248,-4664.29 248,-4654.55 248,-4645.57\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"251.5,-4645.53 248,-4635.53 244.5,-4645.53 251.5,-4645.53\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367477944 -->\n", "<g class=\"node\" id=\"node113\"><title>140318367477944</title>\n", "<polygon fill=\"none\" points=\"99,-4526.5 99,-4562.5 259,-4562.5 259,-4526.5 99,-4526.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"179\" y=\"-4540.8\">res4d_branch2a: Conv2D</text>\n", "</g>\n", "<!-- 140318367477888->140318367477944 -->\n", "<g class=\"edge\" id=\"edge122\"><title>140318367477888->140318367477944</title>\n", "<path d=\"M231.297,-4599.31C222.737,-4590.5 212.164,-4579.63 202.769,-4569.96\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"205.029,-4567.26 195.549,-4562.53 200.009,-4572.14 205.029,-4567.26\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367480072 -->\n", "<g class=\"node\" id=\"node121\"><title>140318367480072</title>\n", "<polygon fill=\"none\" points=\"187.5,-3942.5 187.5,-3978.5 276.5,-3978.5 276.5,-3942.5 187.5,-3942.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"232\" y=\"-3956.8\">add_12: Add</text>\n", "</g>\n", "<!-- 140318367477888->140318367480072 -->\n", "<g class=\"edge\" id=\"edge131\"><title>140318367477888->140318367480072</title>\n", "<path d=\"M259.189,-4599.11C275.006,-4572.8 302,-4520.83 302,-4472.5 302,-4472.5 302,-4472.5 302,-4105.5 302,-4064.31 301.188,-4051.45 282,-4015 276.366,-4004.3 268.015,-3994.16 259.744,-3985.65\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"262.157,-3983.11 252.566,-3978.61 257.257,-3988.11 262.157,-3983.11\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367478280 -->\n", "<g class=\"node\" id=\"node114\"><title>140318367478280</title>\n", "<polygon fill=\"none\" points=\"54,-4453.5 54,-4489.5 274,-4489.5 274,-4453.5 54,-4453.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"164\" y=\"-4467.8\">bn4d_branch2a: BatchNormalization</text>\n", "</g>\n", "<!-- 140318367477944->140318367478280 -->\n", "<g class=\"edge\" id=\"edge123\"><title>140318367477944->140318367478280</title>\n", "<path d=\"M175.369,-4526.31C173.674,-4518.29 171.616,-4508.55 169.719,-4499.57\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"173.089,-4498.59 167.598,-4489.53 166.24,-4500.04 173.089,-4498.59\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367478616 -->\n", "<g class=\"node\" id=\"node115\"><title>140318367478616</title>\n", "<polygon fill=\"none\" points=\"87,-4380.5 87,-4416.5 241,-4416.5 241,-4380.5 87,-4380.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"164\" y=\"-4394.8\">activation_35: Activation</text>\n", "</g>\n", "<!-- 140318367478280->140318367478616 -->\n", "<g class=\"edge\" id=\"edge124\"><title>140318367478280->140318367478616</title>\n", "<path d=\"M164,-4453.31C164,-4445.29 164,-4435.55 164,-4426.57\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"167.5,-4426.53 164,-4416.53 160.5,-4426.53 167.5,-4426.53\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367478672 -->\n", "<g class=\"node\" id=\"node116\"><title>140318367478672</title>\n", "<polygon fill=\"none\" points=\"83.5,-4307.5 83.5,-4343.5 244.5,-4343.5 244.5,-4307.5 83.5,-4307.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"164\" y=\"-4321.8\">res4d_branch2b: Conv2D</text>\n", "</g>\n", "<!-- 140318367478616->140318367478672 -->\n", "<g class=\"edge\" id=\"edge125\"><title>140318367478616->140318367478672</title>\n", "<path d=\"M164,-4380.31C164,-4372.29 164,-4362.55 164,-4353.57\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"167.5,-4353.53 164,-4343.53 160.5,-4353.53 167.5,-4353.53\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367479008 -->\n", "<g class=\"node\" id=\"node117\"><title>140318367479008</title>\n", "<polygon fill=\"none\" points=\"52.5,-4234.5 52.5,-4270.5 273.5,-4270.5 273.5,-4234.5 52.5,-4234.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"163\" y=\"-4248.8\">bn4d_branch2b: BatchNormalization</text>\n", "</g>\n", "<!-- 140318367478672->140318367479008 -->\n", "<g class=\"edge\" id=\"edge126\"><title>140318367478672->140318367479008</title>\n", "<path d=\"M163.758,-4307.31C163.645,-4299.29 163.508,-4289.55 163.381,-4280.57\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"166.88,-4280.48 163.24,-4270.53 159.881,-4280.58 166.88,-4280.48\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367479344 -->\n", "<g class=\"node\" id=\"node118\"><title>140318367479344</title>\n", "<polygon fill=\"none\" points=\"86,-4161.5 86,-4197.5 240,-4197.5 240,-4161.5 86,-4161.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"163\" y=\"-4175.8\">activation_36: Activation</text>\n", "</g>\n", "<!-- 140318367479008->140318367479344 -->\n", "<g class=\"edge\" id=\"edge127\"><title>140318367479008->140318367479344</title>\n", "<path d=\"M163,-4234.31C163,-4226.29 163,-4216.55 163,-4207.57\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"166.5,-4207.53 163,-4197.53 159.5,-4207.53 166.5,-4207.53\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367479400 -->\n", "<g class=\"node\" id=\"node119\"><title>140318367479400</title>\n", "<polygon fill=\"none\" points=\"82.5,-4088.5 82.5,-4124.5 243.5,-4124.5 243.5,-4088.5 82.5,-4088.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"163\" y=\"-4102.8\">res4d_branch2c: Conv2D</text>\n", "</g>\n", "<!-- 140318367479344->140318367479400 -->\n", "<g class=\"edge\" id=\"edge128\"><title>140318367479344->140318367479400</title>\n", "<path d=\"M163,-4161.31C163,-4153.29 163,-4143.55 163,-4134.57\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"166.5,-4134.53 163,-4124.53 159.5,-4134.53 166.5,-4134.53\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367479736 -->\n", "<g class=\"node\" id=\"node120\"><title>140318367479736</title>\n", "<polygon fill=\"none\" points=\"52.5,-4015.5 52.5,-4051.5 273.5,-4051.5 273.5,-4015.5 52.5,-4015.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"163\" y=\"-4029.8\">bn4d_branch2c: BatchNormalization</text>\n", "</g>\n", "<!-- 140318367479400->140318367479736 -->\n", "<g class=\"edge\" id=\"edge129\"><title>140318367479400->140318367479736</title>\n", "<path d=\"M163,-4088.31C163,-4080.29 163,-4070.55 163,-4061.57\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"166.5,-4061.53 163,-4051.53 159.5,-4061.53 166.5,-4061.53\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367479736->140318367480072 -->\n", "<g class=\"edge\" id=\"edge130\"><title>140318367479736->140318367480072</title>\n", "<path d=\"M179.703,-4015.31C188.263,-4006.5 198.836,-3995.63 208.231,-3985.96\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"210.991,-3988.14 215.451,-3978.53 205.971,-3983.26 210.991,-3988.14\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367480128 -->\n", "<g class=\"node\" id=\"node122\"><title>140318367480128</title>\n", "<polygon fill=\"none\" points=\"155,-3869.5 155,-3905.5 309,-3905.5 309,-3869.5 155,-3869.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"232\" y=\"-3883.8\">activation_37: Activation</text>\n", "</g>\n", "<!-- 140318367480072->140318367480128 -->\n", "<g class=\"edge\" id=\"edge132\"><title>140318367480072->140318367480128</title>\n", "<path d=\"M232,-3942.31C232,-3934.29 232,-3924.55 232,-3915.57\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"235.5,-3915.53 232,-3905.53 228.5,-3915.53 235.5,-3915.53\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367480184 -->\n", "<g class=\"node\" id=\"node123\"><title>140318367480184</title>\n", "<polygon fill=\"none\" points=\"84,-3796.5 84,-3832.5 242,-3832.5 242,-3796.5 84,-3796.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"163\" y=\"-3810.8\">res4e_branch2a: Conv2D</text>\n", "</g>\n", "<!-- 140318367480128->140318367480184 -->\n", "<g class=\"edge\" id=\"edge133\"><title>140318367480128->140318367480184</title>\n", "<path d=\"M215.297,-3869.31C206.737,-3860.5 196.164,-3849.63 186.769,-3839.96\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"189.029,-3837.26 179.549,-3832.53 184.009,-3842.14 189.029,-3837.26\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367515144 -->\n", "<g class=\"node\" id=\"node131\"><title>140318367515144</title>\n", "<polygon fill=\"none\" points=\"172.5,-3212.5 172.5,-3248.5 261.5,-3248.5 261.5,-3212.5 172.5,-3212.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"217\" y=\"-3226.8\">add_13: Add</text>\n", "</g>\n", "<!-- 140318367480128->140318367515144 -->\n", "<g class=\"edge\" id=\"edge142\"><title>140318367480128->140318367515144</title>\n", "<path d=\"M243.189,-3869.11C259.006,-3842.8 286,-3790.83 286,-3742.5 286,-3742.5 286,-3742.5 286,-3375.5 286,-3334.31 285.004,-3321.55 266,-3285 260.572,-3274.56 252.582,-3264.62 244.622,-3256.2\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"246.925,-3253.55 237.394,-3248.92 241.959,-3258.48 246.925,-3253.55\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367480520 -->\n", "<g class=\"node\" id=\"node124\"><title>140318367480520</title>\n", "<polygon fill=\"none\" points=\"39,-3723.5 39,-3759.5 257,-3759.5 257,-3723.5 39,-3723.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"148\" y=\"-3737.8\">bn4e_branch2a: BatchNormalization</text>\n", "</g>\n", "<!-- 140318367480184->140318367480520 -->\n", "<g class=\"edge\" id=\"edge134\"><title>140318367480184->140318367480520</title>\n", "<path d=\"M159.369,-3796.31C157.674,-3788.29 155.616,-3778.55 153.719,-3769.57\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"157.089,-3768.59 151.598,-3759.53 150.24,-3770.04 157.089,-3768.59\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367480856 -->\n", "<g class=\"node\" id=\"node125\"><title>140318367480856</title>\n", "<polygon fill=\"none\" points=\"71,-3650.5 71,-3686.5 225,-3686.5 225,-3650.5 71,-3650.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"148\" y=\"-3664.8\">activation_38: Activation</text>\n", "</g>\n", "<!-- 140318367480520->140318367480856 -->\n", "<g class=\"edge\" id=\"edge135\"><title>140318367480520->140318367480856</title>\n", "<path d=\"M148,-3723.31C148,-3715.29 148,-3705.55 148,-3696.57\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"151.5,-3696.53 148,-3686.53 144.5,-3696.53 151.5,-3696.53\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367480912 -->\n", "<g class=\"node\" id=\"node126\"><title>140318367480912</title>\n", "<polygon fill=\"none\" points=\"68,-3577.5 68,-3613.5 228,-3613.5 228,-3577.5 68,-3577.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"148\" y=\"-3591.8\">res4e_branch2b: Conv2D</text>\n", "</g>\n", "<!-- 140318367480856->140318367480912 -->\n", "<g class=\"edge\" id=\"edge136\"><title>140318367480856->140318367480912</title>\n", "<path d=\"M148,-3650.31C148,-3642.29 148,-3632.55 148,-3623.57\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"151.5,-3623.53 148,-3613.53 144.5,-3623.53 151.5,-3623.53\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367481248 -->\n", "<g class=\"node\" id=\"node127\"><title>140318367481248</title>\n", "<polygon fill=\"none\" points=\"38,-3504.5 38,-3540.5 258,-3540.5 258,-3504.5 38,-3504.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"148\" y=\"-3518.8\">bn4e_branch2b: BatchNormalization</text>\n", "</g>\n", "<!-- 140318367480912->140318367481248 -->\n", "<g class=\"edge\" id=\"edge137\"><title>140318367480912->140318367481248</title>\n", "<path d=\"M148,-3577.31C148,-3569.29 148,-3559.55 148,-3550.57\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"151.5,-3550.53 148,-3540.53 144.5,-3550.53 151.5,-3550.53\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367481584 -->\n", "<g class=\"node\" id=\"node128\"><title>140318367481584</title>\n", "<polygon fill=\"none\" points=\"71,-3431.5 71,-3467.5 225,-3467.5 225,-3431.5 71,-3431.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"148\" y=\"-3445.8\">activation_39: Activation</text>\n", "</g>\n", "<!-- 140318367481248->140318367481584 -->\n", "<g class=\"edge\" id=\"edge138\"><title>140318367481248->140318367481584</title>\n", "<path d=\"M148,-3504.31C148,-3496.29 148,-3486.55 148,-3477.57\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"151.5,-3477.53 148,-3467.53 144.5,-3477.53 151.5,-3477.53\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367481640 -->\n", "<g class=\"node\" id=\"node129\"><title>140318367481640</title>\n", "<polygon fill=\"none\" points=\"68.5,-3358.5 68.5,-3394.5 227.5,-3394.5 227.5,-3358.5 68.5,-3358.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"148\" y=\"-3372.8\">res4e_branch2c: Conv2D</text>\n", "</g>\n", "<!-- 140318367481584->140318367481640 -->\n", "<g class=\"edge\" id=\"edge139\"><title>140318367481584->140318367481640</title>\n", "<path d=\"M148,-3431.31C148,-3423.29 148,-3413.55 148,-3404.57\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"151.5,-3404.53 148,-3394.53 144.5,-3404.53 151.5,-3404.53\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367977424 -->\n", "<g class=\"node\" id=\"node130\"><title>140318367977424</title>\n", "<polygon fill=\"none\" points=\"38.5,-3285.5 38.5,-3321.5 257.5,-3321.5 257.5,-3285.5 38.5,-3285.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"148\" y=\"-3299.8\">bn4e_branch2c: BatchNormalization</text>\n", "</g>\n", "<!-- 140318367481640->140318367977424 -->\n", "<g class=\"edge\" id=\"edge140\"><title>140318367481640->140318367977424</title>\n", "<path d=\"M148,-3358.31C148,-3350.29 148,-3340.55 148,-3331.57\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"151.5,-3331.53 148,-3321.53 144.5,-3331.53 151.5,-3331.53\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367977424->140318367515144 -->\n", "<g class=\"edge\" id=\"edge141\"><title>140318367977424->140318367515144</title>\n", "<path d=\"M164.703,-3285.31C173.263,-3276.5 183.836,-3265.63 193.231,-3255.96\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"195.991,-3258.14 200.451,-3248.53 190.971,-3253.26 195.991,-3258.14\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367515200 -->\n", "<g class=\"node\" id=\"node132\"><title>140318367515200</title>\n", "<polygon fill=\"none\" points=\"140,-3139.5 140,-3175.5 294,-3175.5 294,-3139.5 140,-3139.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"217\" y=\"-3153.8\">activation_40: Activation</text>\n", "</g>\n", "<!-- 140318367515144->140318367515200 -->\n", "<g class=\"edge\" id=\"edge143\"><title>140318367515144->140318367515200</title>\n", "<path d=\"M217,-3212.31C217,-3204.29 217,-3194.55 217,-3185.57\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"220.5,-3185.53 217,-3175.53 213.5,-3185.53 220.5,-3185.53\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367515256 -->\n", "<g class=\"node\" id=\"node133\"><title>140318367515256</title>\n", "<polygon fill=\"none\" points=\"70.5,-3066.5 70.5,-3102.5 227.5,-3102.5 227.5,-3066.5 70.5,-3066.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"149\" y=\"-3080.8\">res4f_branch2a: Conv2D</text>\n", "</g>\n", "<!-- 140318367515200->140318367515256 -->\n", "<g class=\"edge\" id=\"edge144\"><title>140318367515200->140318367515256</title>\n", "<path d=\"M200.539,-3139.31C192.103,-3130.5 181.683,-3119.63 172.425,-3109.96\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"174.754,-3107.33 165.309,-3102.53 169.698,-3112.17 174.754,-3107.33\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367517384 -->\n", "<g class=\"node\" id=\"node141\"><title>140318367517384</title>\n", "<polygon fill=\"none\" points=\"157.5,-2482.5 157.5,-2518.5 246.5,-2518.5 246.5,-2482.5 157.5,-2482.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"202\" y=\"-2496.8\">add_14: Add</text>\n", "</g>\n", "<!-- 140318367515200->140318367517384 -->\n", "<g class=\"edge\" id=\"edge153\"><title>140318367515200->140318367517384</title>\n", "<path d=\"M228.189,-3139.11C244.006,-3112.8 271,-3060.83 271,-3012.5 271,-3012.5 271,-3012.5 271,-2645.5 271,-2604.4 270.952,-2591.47 252,-2555 246.423,-2544.27 238.086,-2534.12 229.811,-2525.61\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"232.22,-2523.07 222.625,-2518.58 227.324,-2528.08 232.22,-2523.07\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367515592 -->\n", "<g class=\"node\" id=\"node134\"><title>140318367515592</title>\n", "<polygon fill=\"none\" points=\"25.5,-2993.5 25.5,-3029.5 242.5,-3029.5 242.5,-2993.5 25.5,-2993.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"134\" y=\"-3007.8\">bn4f_branch2a: BatchNormalization</text>\n", "</g>\n", "<!-- 140318367515256->140318367515592 -->\n", "<g class=\"edge\" id=\"edge145\"><title>140318367515256->140318367515592</title>\n", "<path d=\"M145.369,-3066.31C143.674,-3058.29 141.616,-3048.55 139.719,-3039.57\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"143.089,-3038.59 137.598,-3029.53 136.24,-3040.04 143.089,-3038.59\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367515928 -->\n", "<g class=\"node\" id=\"node135\"><title>140318367515928</title>\n", "<polygon fill=\"none\" points=\"57,-2920.5 57,-2956.5 211,-2956.5 211,-2920.5 57,-2920.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"134\" y=\"-2934.8\">activation_41: Activation</text>\n", "</g>\n", "<!-- 140318367515592->140318367515928 -->\n", "<g class=\"edge\" id=\"edge146\"><title>140318367515592->140318367515928</title>\n", "<path d=\"M134,-2993.31C134,-2985.29 134,-2975.55 134,-2966.57\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"137.5,-2966.53 134,-2956.53 130.5,-2966.53 137.5,-2966.53\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367515984 -->\n", "<g class=\"node\" id=\"node136\"><title>140318367515984</title>\n", "<polygon fill=\"none\" points=\"55,-2847.5 55,-2883.5 213,-2883.5 213,-2847.5 55,-2847.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"134\" y=\"-2861.8\">res4f_branch2b: Conv2D</text>\n", "</g>\n", "<!-- 140318367515928->140318367515984 -->\n", "<g class=\"edge\" id=\"edge147\"><title>140318367515928->140318367515984</title>\n", "<path d=\"M134,-2920.31C134,-2912.29 134,-2902.55 134,-2893.57\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"137.5,-2893.53 134,-2883.53 130.5,-2893.53 137.5,-2893.53\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367516320 -->\n", "<g class=\"node\" id=\"node137\"><title>140318367516320</title>\n", "<polygon fill=\"none\" points=\"25,-2774.5 25,-2810.5 243,-2810.5 243,-2774.5 25,-2774.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"134\" y=\"-2788.8\">bn4f_branch2b: BatchNormalization</text>\n", "</g>\n", "<!-- 140318367515984->140318367516320 -->\n", "<g class=\"edge\" id=\"edge148\"><title>140318367515984->140318367516320</title>\n", "<path d=\"M134,-2847.31C134,-2839.29 134,-2829.55 134,-2820.57\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"137.5,-2820.53 134,-2810.53 130.5,-2820.53 137.5,-2820.53\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367516656 -->\n", "<g class=\"node\" id=\"node138\"><title>140318367516656</title>\n", "<polygon fill=\"none\" points=\"57,-2701.5 57,-2737.5 211,-2737.5 211,-2701.5 57,-2701.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"134\" y=\"-2715.8\">activation_42: Activation</text>\n", "</g>\n", "<!-- 140318367516320->140318367516656 -->\n", "<g class=\"edge\" id=\"edge149\"><title>140318367516320->140318367516656</title>\n", "<path d=\"M134,-2774.31C134,-2766.29 134,-2756.55 134,-2747.57\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"137.5,-2747.53 134,-2737.53 130.5,-2747.53 137.5,-2747.53\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367516712 -->\n", "<g class=\"node\" id=\"node139\"><title>140318367516712</title>\n", "<polygon fill=\"none\" points=\"55,-2628.5 55,-2664.5 213,-2664.5 213,-2628.5 55,-2628.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"134\" y=\"-2642.8\">res4f_branch2c: Conv2D</text>\n", "</g>\n", "<!-- 140318367516656->140318367516712 -->\n", "<g class=\"edge\" id=\"edge150\"><title>140318367516656->140318367516712</title>\n", "<path d=\"M134,-2701.31C134,-2693.29 134,-2683.55 134,-2674.57\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"137.5,-2674.53 134,-2664.53 130.5,-2674.53 137.5,-2674.53\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367517048 -->\n", "<g class=\"node\" id=\"node140\"><title>140318367517048</title>\n", "<polygon fill=\"none\" points=\"25,-2555.5 25,-2591.5 243,-2591.5 243,-2555.5 25,-2555.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"134\" y=\"-2569.8\">bn4f_branch2c: BatchNormalization</text>\n", "</g>\n", "<!-- 140318367516712->140318367517048 -->\n", "<g class=\"edge\" id=\"edge151\"><title>140318367516712->140318367517048</title>\n", "<path d=\"M134,-2628.31C134,-2620.29 134,-2610.55 134,-2601.57\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"137.5,-2601.53 134,-2591.53 130.5,-2601.53 137.5,-2601.53\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367517048->140318367517384 -->\n", "<g class=\"edge\" id=\"edge152\"><title>140318367517048->140318367517384</title>\n", "<path d=\"M150.461,-2555.31C158.897,-2546.5 169.317,-2535.63 178.575,-2525.96\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"181.302,-2528.17 185.691,-2518.53 176.246,-2523.33 181.302,-2528.17\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367517440 -->\n", "<g class=\"node\" id=\"node142\"><title>140318367517440</title>\n", "<polygon fill=\"none\" points=\"125,-2409.5 125,-2445.5 279,-2445.5 279,-2409.5 125,-2409.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"202\" y=\"-2423.8\">activation_43: Activation</text>\n", "</g>\n", "<!-- 140318367517384->140318367517440 -->\n", "<g class=\"edge\" id=\"edge154\"><title>140318367517384->140318367517440</title>\n", "<path d=\"M202,-2482.31C202,-2474.29 202,-2464.55 202,-2455.57\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"205.5,-2455.53 202,-2445.53 198.5,-2455.53 205.5,-2455.53\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367517496 -->\n", "<g class=\"node\" id=\"node143\"><title>140318367517496</title>\n", "<polygon fill=\"none\" points=\"70,-2336.5 70,-2372.5 228,-2372.5 228,-2336.5 70,-2336.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"149\" y=\"-2350.8\">res5a_branch2a: Conv2D</text>\n", "</g>\n", "<!-- 140318367517440->140318367517496 -->\n", "<g class=\"edge\" id=\"edge155\"><title>140318367517440->140318367517496</title>\n", "<path d=\"M189.17,-2409.31C182.79,-2400.77 174.955,-2390.27 167.903,-2380.82\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"170.498,-2378.45 161.712,-2372.53 164.889,-2382.64 170.498,-2378.45\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367548024 -->\n", "<g class=\"node\" id=\"node150\"><title>140318367548024</title>\n", "<polygon fill=\"none\" points=\"252,-2263.5 252,-2299.5 404,-2299.5 404,-2263.5 252,-2263.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"328\" y=\"-2277.8\">res5a_branch1: Conv2D</text>\n", "</g>\n", "<!-- 140318367517440->140318367548024 -->\n", "<g class=\"edge\" id=\"edge162\"><title>140318367517440->140318367548024</title>\n", "<path d=\"M216.949,-2409.42C239.114,-2384.08 280.819,-2336.42 306.333,-2307.26\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"309.12,-2309.39 313.071,-2299.56 303.852,-2304.78 309.12,-2309.39\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367517832 -->\n", "<g class=\"node\" id=\"node144\"><title>140318367517832</title>\n", "<polygon fill=\"none\" points=\"16,-2263.5 16,-2299.5 234,-2299.5 234,-2263.5 16,-2263.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"125\" y=\"-2277.8\">bn5a_branch2a: BatchNormalization</text>\n", "</g>\n", "<!-- 140318367517496->140318367517832 -->\n", "<g class=\"edge\" id=\"edge156\"><title>140318367517496->140318367517832</title>\n", "<path d=\"M143.19,-2336.31C140.449,-2328.2 137.113,-2318.34 134.051,-2309.28\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"137.274,-2307.88 130.756,-2299.53 130.643,-2310.12 137.274,-2307.88\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367518168 -->\n", "<g class=\"node\" id=\"node145\"><title>140318367518168</title>\n", "<polygon fill=\"none\" points=\"49,-2190.5 49,-2226.5 203,-2226.5 203,-2190.5 49,-2190.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"126\" y=\"-2204.8\">activation_44: Activation</text>\n", "</g>\n", "<!-- 140318367517832->140318367518168 -->\n", "<g class=\"edge\" id=\"edge157\"><title>140318367517832->140318367518168</title>\n", "<path d=\"M125.242,-2263.31C125.355,-2255.29 125.492,-2245.55 125.619,-2236.57\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"129.119,-2236.58 125.76,-2226.53 122.12,-2236.48 129.119,-2236.58\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367518224 -->\n", "<g class=\"node\" id=\"node146\"><title>140318367518224</title>\n", "<polygon fill=\"none\" points=\"77,-2117.5 77,-2153.5 237,-2153.5 237,-2117.5 77,-2117.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"157\" y=\"-2131.8\">res5a_branch2b: Conv2D</text>\n", "</g>\n", "<!-- 140318367518168->140318367518224 -->\n", "<g class=\"edge\" id=\"edge158\"><title>140318367518168->140318367518224</title>\n", "<path d=\"M133.504,-2190.31C137.084,-2182.12 141.446,-2172.12 145.436,-2162.98\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"148.771,-2164.09 149.565,-2153.53 142.356,-2161.29 148.771,-2164.09\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367518560 -->\n", "<g class=\"node\" id=\"node147\"><title>140318367518560</title>\n", "<polygon fill=\"none\" points=\"63,-2044.5 63,-2080.5 283,-2080.5 283,-2044.5 63,-2044.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"173\" y=\"-2058.8\">bn5a_branch2b: BatchNormalization</text>\n", "</g>\n", "<!-- 140318367518224->140318367518560 -->\n", "<g class=\"edge\" id=\"edge159\"><title>140318367518224->140318367518560</title>\n", "<path d=\"M160.873,-2117.31C162.681,-2109.29 164.877,-2099.55 166.9,-2090.57\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"170.378,-2091.05 169.163,-2080.53 163.55,-2089.51 170.378,-2091.05\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367481808 -->\n", "<g class=\"node\" id=\"node148\"><title>140318367481808</title>\n", "<polygon fill=\"none\" points=\"100,-1971.5 100,-2007.5 254,-2007.5 254,-1971.5 100,-1971.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"177\" y=\"-1985.8\">activation_45: Activation</text>\n", "</g>\n", "<!-- 140318367518560->140318367481808 -->\n", "<g class=\"edge\" id=\"edge160\"><title>140318367518560->140318367481808</title>\n", "<path d=\"M173.968,-2044.31C174.42,-2036.29 174.969,-2026.55 175.475,-2017.57\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"178.973,-2017.71 176.041,-2007.53 171.984,-2017.32 178.973,-2017.71\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367547688 -->\n", "<g class=\"node\" id=\"node149\"><title>140318367547688</title>\n", "<polygon fill=\"none\" points=\"98.5,-1898.5 98.5,-1934.5 257.5,-1934.5 257.5,-1898.5 98.5,-1898.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"178\" y=\"-1912.8\">res5a_branch2c: Conv2D</text>\n", "</g>\n", "<!-- 140318367481808->140318367547688 -->\n", "<g class=\"edge\" id=\"edge161\"><title>140318367481808->140318367547688</title>\n", "<path d=\"M177.242,-1971.31C177.355,-1963.29 177.492,-1953.55 177.619,-1944.57\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"181.119,-1944.58 177.76,-1934.53 174.12,-1944.48 181.119,-1944.58\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367548416 -->\n", "<g class=\"node\" id=\"node151\"><title>140318367548416</title>\n", "<polygon fill=\"none\" points=\"70.5,-1825.5 70.5,-1861.5 289.5,-1861.5 289.5,-1825.5 70.5,-1825.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"180\" y=\"-1839.8\">bn5a_branch2c: BatchNormalization</text>\n", "</g>\n", "<!-- 140318367547688->140318367548416 -->\n", "<g class=\"edge\" id=\"edge163\"><title>140318367547688->140318367548416</title>\n", "<path d=\"M178.484,-1898.31C178.71,-1890.29 178.985,-1880.55 179.237,-1871.57\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"182.737,-1871.62 179.52,-1861.53 175.74,-1871.43 182.737,-1871.62\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367548752 -->\n", "<g class=\"node\" id=\"node152\"><title>140318367548752</title>\n", "<polygon fill=\"none\" points=\"221,-2190.5 221,-2226.5 433,-2226.5 433,-2190.5 221,-2190.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"327\" y=\"-2204.8\">bn5a_branch1: BatchNormalization</text>\n", "</g>\n", "<!-- 140318367548024->140318367548752 -->\n", "<g class=\"edge\" id=\"edge164\"><title>140318367548024->140318367548752</title>\n", "<path d=\"M327.758,-2263.31C327.645,-2255.29 327.508,-2245.55 327.381,-2236.57\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"330.88,-2236.48 327.24,-2226.53 323.881,-2236.58 330.88,-2236.48\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367549032 -->\n", "<g class=\"node\" id=\"node153\"><title>140318367549032</title>\n", "<polygon fill=\"none\" points=\"204.5,-1752.5 204.5,-1788.5 293.5,-1788.5 293.5,-1752.5 204.5,-1752.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"249\" y=\"-1766.8\">add_15: Add</text>\n", "</g>\n", "<!-- 140318367548416->140318367549032 -->\n", "<g class=\"edge\" id=\"edge165\"><title>140318367548416->140318367549032</title>\n", "<path d=\"M196.703,-1825.31C205.263,-1816.5 215.836,-1805.63 225.231,-1795.96\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"227.991,-1798.14 232.451,-1788.53 222.971,-1793.26 227.991,-1798.14\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367548752->140318367549032 -->\n", "<g class=\"edge\" id=\"edge166\"><title>140318367548752->140318367549032</title>\n", "<path d=\"M325.419,-2190.23C323.088,-2163.22 319,-2109.32 319,-2063.5 319,-2063.5 319,-2063.5 319,-1915.5 319,-1874.21 317.242,-1861.53 298,-1825 292.518,-1814.59 284.513,-1804.66 276.556,-1796.23\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"278.863,-1793.59 269.336,-1788.95 273.893,-1798.52 278.863,-1793.59\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367549088 -->\n", "<g class=\"node\" id=\"node154\"><title>140318367549088</title>\n", "<polygon fill=\"none\" points=\"172,-1679.5 172,-1715.5 326,-1715.5 326,-1679.5 172,-1679.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"249\" y=\"-1693.8\">activation_46: Activation</text>\n", "</g>\n", "<!-- 140318367549032->140318367549088 -->\n", "<g class=\"edge\" id=\"edge167\"><title>140318367549032->140318367549088</title>\n", "<path d=\"M249,-1752.31C249,-1744.29 249,-1734.55 249,-1725.57\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"252.5,-1725.53 249,-1715.53 245.5,-1725.53 252.5,-1725.53\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367549144 -->\n", "<g class=\"node\" id=\"node155\"><title>140318367549144</title>\n", "<polygon fill=\"none\" points=\"100,-1606.5 100,-1642.5 260,-1642.5 260,-1606.5 100,-1606.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"180\" y=\"-1620.8\">res5b_branch2a: Conv2D</text>\n", "</g>\n", "<!-- 140318367549088->140318367549144 -->\n", "<g class=\"edge\" id=\"edge168\"><title>140318367549088->140318367549144</title>\n", "<path d=\"M232.297,-1679.31C223.737,-1670.5 213.164,-1659.63 203.769,-1649.96\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"206.029,-1647.26 196.549,-1642.53 201.009,-1652.14 206.029,-1647.26\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367551272 -->\n", "<g class=\"node\" id=\"node163\"><title>140318367551272</title>\n", "<polygon fill=\"none\" points=\"188.5,-1022.5 188.5,-1058.5 277.5,-1058.5 277.5,-1022.5 188.5,-1022.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"233\" y=\"-1036.8\">add_16: Add</text>\n", "</g>\n", "<!-- 140318367549088->140318367551272 -->\n", "<g class=\"edge\" id=\"edge177\"><title>140318367549088->140318367551272</title>\n", "<path d=\"M260.189,-1679.11C276.006,-1652.8 303,-1600.83 303,-1552.5 303,-1552.5 303,-1552.5 303,-1185.5 303,-1144.31 302.188,-1131.45 283,-1095 277.366,-1084.3 269.015,-1074.16 260.744,-1065.65\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"263.157,-1063.11 253.566,-1058.61 258.257,-1068.11 263.157,-1063.11\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367549480 -->\n", "<g class=\"node\" id=\"node156\"><title>140318367549480</title>\n", "<polygon fill=\"none\" points=\"55,-1533.5 55,-1569.5 275,-1569.5 275,-1533.5 55,-1533.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"165\" y=\"-1547.8\">bn5b_branch2a: BatchNormalization</text>\n", "</g>\n", "<!-- 140318367549144->140318367549480 -->\n", "<g class=\"edge\" id=\"edge169\"><title>140318367549144->140318367549480</title>\n", "<path d=\"M176.369,-1606.31C174.674,-1598.29 172.616,-1588.55 170.719,-1579.57\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"174.089,-1578.59 168.598,-1569.53 167.24,-1580.04 174.089,-1578.59\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367549816 -->\n", "<g class=\"node\" id=\"node157\"><title>140318367549816</title>\n", "<polygon fill=\"none\" points=\"88,-1460.5 88,-1496.5 242,-1496.5 242,-1460.5 88,-1460.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"165\" y=\"-1474.8\">activation_47: Activation</text>\n", "</g>\n", "<!-- 140318367549480->140318367549816 -->\n", "<g class=\"edge\" id=\"edge170\"><title>140318367549480->140318367549816</title>\n", "<path d=\"M165,-1533.31C165,-1525.29 165,-1515.55 165,-1506.57\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"168.5,-1506.53 165,-1496.53 161.5,-1506.53 168.5,-1506.53\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367549872 -->\n", "<g class=\"node\" id=\"node158\"><title>140318367549872</title>\n", "<polygon fill=\"none\" points=\"83.5,-1387.5 83.5,-1423.5 244.5,-1423.5 244.5,-1387.5 83.5,-1387.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"164\" y=\"-1401.8\">res5b_branch2b: Conv2D</text>\n", "</g>\n", "<!-- 140318367549816->140318367549872 -->\n", "<g class=\"edge\" id=\"edge171\"><title>140318367549816->140318367549872</title>\n", "<path d=\"M164.758,-1460.31C164.645,-1452.29 164.508,-1442.55 164.381,-1433.57\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"167.88,-1433.48 164.24,-1423.53 160.881,-1433.58 167.88,-1433.48\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367550208 -->\n", "<g class=\"node\" id=\"node159\"><title>140318367550208</title>\n", "<polygon fill=\"none\" points=\"53.5,-1314.5 53.5,-1350.5 274.5,-1350.5 274.5,-1314.5 53.5,-1314.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"164\" y=\"-1328.8\">bn5b_branch2b: BatchNormalization</text>\n", "</g>\n", "<!-- 140318367549872->140318367550208 -->\n", "<g class=\"edge\" id=\"edge172\"><title>140318367549872->140318367550208</title>\n", "<path d=\"M164,-1387.31C164,-1379.29 164,-1369.55 164,-1360.57\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"167.5,-1360.53 164,-1350.53 160.5,-1360.53 167.5,-1360.53\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367550544 -->\n", "<g class=\"node\" id=\"node160\"><title>140318367550544</title>\n", "<polygon fill=\"none\" points=\"87,-1241.5 87,-1277.5 241,-1277.5 241,-1241.5 87,-1241.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"164\" y=\"-1255.8\">activation_48: Activation</text>\n", "</g>\n", "<!-- 140318367550208->140318367550544 -->\n", "<g class=\"edge\" id=\"edge173\"><title>140318367550208->140318367550544</title>\n", "<path d=\"M164,-1314.31C164,-1306.29 164,-1296.55 164,-1287.57\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"167.5,-1287.53 164,-1277.53 160.5,-1287.53 167.5,-1287.53\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367550600 -->\n", "<g class=\"node\" id=\"node161\"><title>140318367550600</title>\n", "<polygon fill=\"none\" points=\"83.5,-1168.5 83.5,-1204.5 244.5,-1204.5 244.5,-1168.5 83.5,-1168.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"164\" y=\"-1182.8\">res5b_branch2c: Conv2D</text>\n", "</g>\n", "<!-- 140318367550544->140318367550600 -->\n", "<g class=\"edge\" id=\"edge174\"><title>140318367550544->140318367550600</title>\n", "<path d=\"M164,-1241.31C164,-1233.29 164,-1223.55 164,-1214.57\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"167.5,-1214.53 164,-1204.53 160.5,-1214.53 167.5,-1214.53\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367550936 -->\n", "<g class=\"node\" id=\"node162\"><title>140318367550936</title>\n", "<polygon fill=\"none\" points=\"53.5,-1095.5 53.5,-1131.5 274.5,-1131.5 274.5,-1095.5 53.5,-1095.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"164\" y=\"-1109.8\">bn5b_branch2c: BatchNormalization</text>\n", "</g>\n", "<!-- 140318367550600->140318367550936 -->\n", "<g class=\"edge\" id=\"edge175\"><title>140318367550600->140318367550936</title>\n", "<path d=\"M164,-1168.31C164,-1160.29 164,-1150.55 164,-1141.57\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"167.5,-1141.53 164,-1131.53 160.5,-1141.53 167.5,-1141.53\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367550936->140318367551272 -->\n", "<g class=\"edge\" id=\"edge176\"><title>140318367550936->140318367551272</title>\n", "<path d=\"M180.703,-1095.31C189.263,-1086.5 199.836,-1075.63 209.231,-1065.96\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"211.991,-1068.14 216.451,-1058.53 206.971,-1063.26 211.991,-1068.14\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367551328 -->\n", "<g class=\"node\" id=\"node164\"><title>140318367551328</title>\n", "<polygon fill=\"none\" points=\"156,-949.5 156,-985.5 310,-985.5 310,-949.5 156,-949.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"233\" y=\"-963.8\">activation_49: Activation</text>\n", "</g>\n", "<!-- 140318367551272->140318367551328 -->\n", "<g class=\"edge\" id=\"edge178\"><title>140318367551272->140318367551328</title>\n", "<path d=\"M233,-1022.31C233,-1014.29 233,-1004.55 233,-995.569\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"236.5,-995.529 233,-985.529 229.5,-995.529 236.5,-995.529\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367551384 -->\n", "<g class=\"node\" id=\"node165\"><title>140318367551384</title>\n", "<polygon fill=\"none\" points=\"84.5,-876.5 84.5,-912.5 243.5,-912.5 243.5,-876.5 84.5,-876.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"164\" y=\"-890.8\">res5c_branch2a: Conv2D</text>\n", "</g>\n", "<!-- 140318367551328->140318367551384 -->\n", "<g class=\"edge\" id=\"edge179\"><title>140318367551328->140318367551384</title>\n", "<path d=\"M216.297,-949.313C207.737,-940.505 197.164,-929.625 187.769,-919.958\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"190.029,-917.261 180.549,-912.529 185.009,-922.14 190.029,-917.261\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367582248 -->\n", "<g class=\"node\" id=\"node173\"><title>140318367582248</title>\n", "<polygon fill=\"none\" points=\"172.5,-292.5 172.5,-328.5 261.5,-328.5 261.5,-292.5 172.5,-292.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"217\" y=\"-306.8\">add_17: Add</text>\n", "</g>\n", "<!-- 140318367551328->140318367582248 -->\n", "<g class=\"edge\" id=\"edge188\"><title>140318367551328->140318367582248</title>\n", "<path d=\"M244.189,-949.107C260.006,-922.801 287,-870.827 287,-822.5 287,-822.5 287,-822.5 287,-455.5 287,-414.307 286.188,-401.451 267,-365 261.366,-354.298 253.015,-344.162 244.744,-335.649\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"247.157,-333.113 237.566,-328.612 242.257,-338.112 247.157,-333.113\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367580456 -->\n", "<g class=\"node\" id=\"node166\"><title>140318367580456</title>\n", "<polygon fill=\"none\" points=\"39.5,-803.5 39.5,-839.5 258.5,-839.5 258.5,-803.5 39.5,-803.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"149\" y=\"-817.8\">bn5c_branch2a: BatchNormalization</text>\n", "</g>\n", "<!-- 140318367551384->140318367580456 -->\n", "<g class=\"edge\" id=\"edge180\"><title>140318367551384->140318367580456</title>\n", "<path d=\"M160.369,-876.313C158.674,-868.289 156.616,-858.547 154.719,-849.569\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"158.089,-848.589 152.598,-839.529 151.24,-850.036 158.089,-848.589\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367580792 -->\n", "<g class=\"node\" id=\"node167\"><title>140318367580792</title>\n", "<polygon fill=\"none\" points=\"72,-730.5 72,-766.5 226,-766.5 226,-730.5 72,-730.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"149\" y=\"-744.8\">activation_50: Activation</text>\n", "</g>\n", "<!-- 140318367580456->140318367580792 -->\n", "<g class=\"edge\" id=\"edge181\"><title>140318367580456->140318367580792</title>\n", "<path d=\"M149,-803.313C149,-795.289 149,-785.547 149,-776.569\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"152.5,-776.529 149,-766.529 145.5,-776.529 152.5,-776.529\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367580848 -->\n", "<g class=\"node\" id=\"node168\"><title>140318367580848</title>\n", "<polygon fill=\"none\" points=\"67.5,-657.5 67.5,-693.5 228.5,-693.5 228.5,-657.5 67.5,-657.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"148\" y=\"-671.8\">res5c_branch2b: Conv2D</text>\n", "</g>\n", "<!-- 140318367580792->140318367580848 -->\n", "<g class=\"edge\" id=\"edge182\"><title>140318367580792->140318367580848</title>\n", "<path d=\"M148.758,-730.313C148.645,-722.289 148.508,-712.547 148.381,-703.569\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"151.88,-703.479 148.24,-693.529 144.881,-703.577 151.88,-703.479\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367581184 -->\n", "<g class=\"node\" id=\"node169\"><title>140318367581184</title>\n", "<polygon fill=\"none\" points=\"37.5,-584.5 37.5,-620.5 258.5,-620.5 258.5,-584.5 37.5,-584.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"148\" y=\"-598.8\">bn5c_branch2b: BatchNormalization</text>\n", "</g>\n", "<!-- 140318367580848->140318367581184 -->\n", "<g class=\"edge\" id=\"edge183\"><title>140318367580848->140318367581184</title>\n", "<path d=\"M148,-657.313C148,-649.289 148,-639.547 148,-630.569\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"151.5,-630.529 148,-620.529 144.5,-630.529 151.5,-630.529\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367581520 -->\n", "<g class=\"node\" id=\"node170\"><title>140318367581520</title>\n", "<polygon fill=\"none\" points=\"71,-511.5 71,-547.5 225,-547.5 225,-511.5 71,-511.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"148\" y=\"-525.8\">activation_51: Activation</text>\n", "</g>\n", "<!-- 140318367581184->140318367581520 -->\n", "<g class=\"edge\" id=\"edge184\"><title>140318367581184->140318367581520</title>\n", "<path d=\"M148,-584.313C148,-576.289 148,-566.547 148,-557.569\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"151.5,-557.529 148,-547.529 144.5,-557.529 151.5,-557.529\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367581576 -->\n", "<g class=\"node\" id=\"node171\"><title>140318367581576</title>\n", "<polygon fill=\"none\" points=\"68,-438.5 68,-474.5 228,-474.5 228,-438.5 68,-438.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"148\" y=\"-452.8\">res5c_branch2c: Conv2D</text>\n", "</g>\n", "<!-- 140318367581520->140318367581576 -->\n", "<g class=\"edge\" id=\"edge185\"><title>140318367581520->140318367581576</title>\n", "<path d=\"M148,-511.313C148,-503.289 148,-493.547 148,-484.569\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"151.5,-484.529 148,-474.529 144.5,-484.529 151.5,-484.529\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367581912 -->\n", "<g class=\"node\" id=\"node172\"><title>140318367581912</title>\n", "<polygon fill=\"none\" points=\"38,-365.5 38,-401.5 258,-401.5 258,-365.5 38,-365.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"148\" y=\"-379.8\">bn5c_branch2c: BatchNormalization</text>\n", "</g>\n", "<!-- 140318367581576->140318367581912 -->\n", "<g class=\"edge\" id=\"edge186\"><title>140318367581576->140318367581912</title>\n", "<path d=\"M148,-438.313C148,-430.289 148,-420.547 148,-411.569\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"151.5,-411.529 148,-401.529 144.5,-411.529 151.5,-411.529\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367581912->140318367582248 -->\n", "<g class=\"edge\" id=\"edge187\"><title>140318367581912->140318367582248</title>\n", "<path d=\"M164.703,-365.313C173.263,-356.505 183.836,-345.625 193.231,-335.958\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"195.991,-338.14 200.451,-328.529 190.971,-333.261 195.991,-338.14\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367582304 -->\n", "<g class=\"node\" id=\"node174\"><title>140318367582304</title>\n", "<polygon fill=\"none\" points=\"140,-219.5 140,-255.5 294,-255.5 294,-219.5 140,-219.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"217\" y=\"-233.8\">activation_52: Activation</text>\n", "</g>\n", "<!-- 140318367582248->140318367582304 -->\n", "<g class=\"edge\" id=\"edge189\"><title>140318367582248->140318367582304</title>\n", "<path d=\"M217,-292.313C217,-284.289 217,-274.547 217,-265.569\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"220.5,-265.529 217,-255.529 213.5,-265.529 220.5,-265.529\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367582360 -->\n", "<g class=\"node\" id=\"node175\"><title>140318367582360</title>\n", "<polygon fill=\"none\" points=\"127.5,-146.5 127.5,-182.5 306.5,-182.5 306.5,-146.5 127.5,-146.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"217\" y=\"-160.8\">avg_pool: AveragePooling2D</text>\n", "</g>\n", "<!-- 140318367582304->140318367582360 -->\n", "<g class=\"edge\" id=\"edge190\"><title>140318367582304->140318367582360</title>\n", "<path d=\"M217,-219.313C217,-211.289 217,-201.547 217,-192.569\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"220.5,-192.529 217,-182.529 213.5,-192.529 220.5,-192.529\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367582528 -->\n", "<g class=\"node\" id=\"node176\"><title>140318367582528</title>\n", "<polygon fill=\"none\" points=\"162.5,-73.5 162.5,-109.5 271.5,-109.5 271.5,-73.5 162.5,-73.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"217\" y=\"-87.8\">flatten_1: Flatten</text>\n", "</g>\n", "<!-- 140318367582360->140318367582528 -->\n", "<g class=\"edge\" id=\"edge191\"><title>140318367582360->140318367582528</title>\n", "<path d=\"M217,-146.313C217,-138.289 217,-128.547 217,-119.569\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"220.5,-119.529 217,-109.529 213.5,-119.529 220.5,-119.529\" stroke=\"black\"/>\n", "</g>\n", "<!-- 140318367582640 -->\n", "<g class=\"node\" id=\"node177\"><title>140318367582640</title>\n", "<polygon fill=\"none\" points=\"179,-0.5 179,-36.5 255,-36.5 255,-0.5 179,-0.5\" stroke=\"black\"/>\n", "<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"217\" y=\"-14.8\">fc6: Dense</text>\n", "</g>\n", "<!-- 140318367582528->140318367582640 -->\n", "<g class=\"edge\" id=\"edge192\"><title>140318367582528->140318367582640</title>\n", "<path d=\"M217,-73.3129C217,-65.2895 217,-55.5475 217,-46.5691\" fill=\"none\" stroke=\"black\"/>\n", "<polygon fill=\"black\" points=\"220.5,-46.5288 217,-36.5288 213.5,-46.5289 220.5,-46.5288\" stroke=\"black\"/>\n", "</g>\n", "</g>\n", "</svg>" ], "text/plain": [ "<IPython.core.display.SVG object>" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "plot_model(model, to_file='model.png')\n", "SVG(model_to_dot(model).create(prog='dot', format='svg'))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "<font color='blue'>\n", "**What you should remember:**\n", "- Very deep \"plain\" networks don't work in practice because they are hard to train due to vanishing gradients. \n", "- The skip-connections help to address the Vanishing Gradient problem. They also make it easy for a ResNet block to learn an identity function. \n", "- There are two main type of blocks: The identity block and the convolutional block. \n", "- Very deep Residual Networks are built by stacking these blocks together." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### References \n", "\n", "This notebook presents the ResNet algorithm due to He et al. (2015). The implementation here also took significant inspiration and follows the structure given in the github repository of Francois Chollet: \n", "\n", "- Kaiming He, Xiangyu Zhang, Shaoqing Ren, Jian Sun - [Deep Residual Learning for Image Recognition (2015)](https://arxiv.org/abs/1512.03385)\n", "- Francois Chollet's github repository: https://github.com/fchollet/deep-learning-models/blob/master/resnet50.py\n" ] } ], "metadata": { "coursera": { "course_slug": "convolutional-neural-networks", "graded_item_id": "OEpi5", "launcher_item_id": "jK9EQ" }, "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.6.0" } }, "nbformat": 4, "nbformat_minor": 2 }