{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# <font color='blue'>Data Science Academy - Python Fundamentos - Capítulo 12</font>\n",
    "\n",
    "## Download: http://github.com/dsacademybr"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Detecção de Emoções em Imagens com Inteligência Artificial"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Teste"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "from scipy import misc\n",
    "import numpy as np\n",
    "import matplotlib.cm as cm\n",
    "import tensorflow as tf\n",
    "import os, sys, inspect\n",
    "from datetime import datetime\n",
    "from matplotlib import pyplot as plt\n",
    "import matplotlib.image as mpimg\n",
    "from modulos import utils\n",
    "from modulos.utils import testResult\n",
    "\n",
    "from tensorflow.python.framework import ops\n",
    "from sklearn.metrics.classification import accuracy_score\n",
    "from sklearn.metrics import precision_recall_fscore_support\n",
    "import warnings\n",
    "%matplotlib inline"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "warnings.filterwarnings(\"ignore\")\n",
    "os.environ['TF_CPP_MIN_LOG_LEVEL'] = '3'\n",
    "ops.reset_default_graph()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "emotion = {0:'anger', \n",
    "           1:'disgust',\n",
    "           2:'fear',\n",
    "           3:'happy',\n",
    "           4:'sad',\n",
    "           5:'surprise',\n",
    "           6:'neutral'}"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "def rgb2gray(rgb):\n",
    "    return np.dot(rgb[...,:3], [0.299, 0.587, 0.114])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "sess = tf.InteractiveSession()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "INFO:tensorflow:Restoring parameters from modelo/model.ckpt-900\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "node {\n",
       "  name: \"save/RestoreV2/shape_and_slices\"\n",
       "  op: \"Const\"\n",
       "  device: \"/device:CPU:0\"\n",
       "  attr {\n",
       "    key: \"dtype\"\n",
       "    value {\n",
       "      type: DT_STRING\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"value\"\n",
       "    value {\n",
       "      tensor {\n",
       "        dtype: DT_STRING\n",
       "        tensor_shape {\n",
       "          dim {\n",
       "            size: 27\n",
       "          }\n",
       "        }\n",
       "        string_val: \"\"\n",
       "        string_val: \"\"\n",
       "        string_val: \"\"\n",
       "        string_val: \"\"\n",
       "        string_val: \"\"\n",
       "        string_val: \"\"\n",
       "        string_val: \"\"\n",
       "        string_val: \"\"\n",
       "        string_val: \"\"\n",
       "        string_val: \"\"\n",
       "        string_val: \"\"\n",
       "        string_val: \"\"\n",
       "        string_val: \"\"\n",
       "        string_val: \"\"\n",
       "        string_val: \"\"\n",
       "        string_val: \"\"\n",
       "        string_val: \"\"\n",
       "        string_val: \"\"\n",
       "        string_val: \"\"\n",
       "        string_val: \"\"\n",
       "        string_val: \"\"\n",
       "        string_val: \"\"\n",
       "        string_val: \"\"\n",
       "        string_val: \"\"\n",
       "        string_val: \"\"\n",
       "        string_val: \"\"\n",
       "        string_val: \"\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"save/RestoreV2/tensor_names\"\n",
       "  op: \"Const\"\n",
       "  device: \"/device:CPU:0\"\n",
       "  attr {\n",
       "    key: \"dtype\"\n",
       "    value {\n",
       "      type: DT_STRING\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"value\"\n",
       "    value {\n",
       "      tensor {\n",
       "        dtype: DT_STRING\n",
       "        tensor_shape {\n",
       "          dim {\n",
       "            size: 27\n",
       "          }\n",
       "        }\n",
       "        string_val: \"Variable\"\n",
       "        string_val: \"W_conv1\"\n",
       "        string_val: \"W_conv1/Adam\"\n",
       "        string_val: \"W_conv1/Adam_1\"\n",
       "        string_val: \"W_conv2\"\n",
       "        string_val: \"W_conv2/Adam\"\n",
       "        string_val: \"W_conv2/Adam_1\"\n",
       "        string_val: \"W_fc1\"\n",
       "        string_val: \"W_fc1/Adam\"\n",
       "        string_val: \"W_fc1/Adam_1\"\n",
       "        string_val: \"W_fc2\"\n",
       "        string_val: \"W_fc2/Adam\"\n",
       "        string_val: \"W_fc2/Adam_1\"\n",
       "        string_val: \"b_conv1\"\n",
       "        string_val: \"b_conv1/Adam\"\n",
       "        string_val: \"b_conv1/Adam_1\"\n",
       "        string_val: \"b_conv2\"\n",
       "        string_val: \"b_conv2/Adam\"\n",
       "        string_val: \"b_conv2/Adam_1\"\n",
       "        string_val: \"b_fc1\"\n",
       "        string_val: \"b_fc1/Adam\"\n",
       "        string_val: \"b_fc1/Adam_1\"\n",
       "        string_val: \"b_fc2\"\n",
       "        string_val: \"b_fc2/Adam\"\n",
       "        string_val: \"b_fc2/Adam_1\"\n",
       "        string_val: \"beta1_power\"\n",
       "        string_val: \"beta2_power\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"save/SaveV2/shape_and_slices\"\n",
       "  op: \"Const\"\n",
       "  attr {\n",
       "    key: \"dtype\"\n",
       "    value {\n",
       "      type: DT_STRING\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"value\"\n",
       "    value {\n",
       "      tensor {\n",
       "        dtype: DT_STRING\n",
       "        tensor_shape {\n",
       "          dim {\n",
       "            size: 27\n",
       "          }\n",
       "        }\n",
       "        string_val: \"\"\n",
       "        string_val: \"\"\n",
       "        string_val: \"\"\n",
       "        string_val: \"\"\n",
       "        string_val: \"\"\n",
       "        string_val: \"\"\n",
       "        string_val: \"\"\n",
       "        string_val: \"\"\n",
       "        string_val: \"\"\n",
       "        string_val: \"\"\n",
       "        string_val: \"\"\n",
       "        string_val: \"\"\n",
       "        string_val: \"\"\n",
       "        string_val: \"\"\n",
       "        string_val: \"\"\n",
       "        string_val: \"\"\n",
       "        string_val: \"\"\n",
       "        string_val: \"\"\n",
       "        string_val: \"\"\n",
       "        string_val: \"\"\n",
       "        string_val: \"\"\n",
       "        string_val: \"\"\n",
       "        string_val: \"\"\n",
       "        string_val: \"\"\n",
       "        string_val: \"\"\n",
       "        string_val: \"\"\n",
       "        string_val: \"\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"save/SaveV2/tensor_names\"\n",
       "  op: \"Const\"\n",
       "  attr {\n",
       "    key: \"dtype\"\n",
       "    value {\n",
       "      type: DT_STRING\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"value\"\n",
       "    value {\n",
       "      tensor {\n",
       "        dtype: DT_STRING\n",
       "        tensor_shape {\n",
       "          dim {\n",
       "            size: 27\n",
       "          }\n",
       "        }\n",
       "        string_val: \"Variable\"\n",
       "        string_val: \"W_conv1\"\n",
       "        string_val: \"W_conv1/Adam\"\n",
       "        string_val: \"W_conv1/Adam_1\"\n",
       "        string_val: \"W_conv2\"\n",
       "        string_val: \"W_conv2/Adam\"\n",
       "        string_val: \"W_conv2/Adam_1\"\n",
       "        string_val: \"W_fc1\"\n",
       "        string_val: \"W_fc1/Adam\"\n",
       "        string_val: \"W_fc1/Adam_1\"\n",
       "        string_val: \"W_fc2\"\n",
       "        string_val: \"W_fc2/Adam\"\n",
       "        string_val: \"W_fc2/Adam_1\"\n",
       "        string_val: \"b_conv1\"\n",
       "        string_val: \"b_conv1/Adam\"\n",
       "        string_val: \"b_conv1/Adam_1\"\n",
       "        string_val: \"b_conv2\"\n",
       "        string_val: \"b_conv2/Adam\"\n",
       "        string_val: \"b_conv2/Adam_1\"\n",
       "        string_val: \"b_fc1\"\n",
       "        string_val: \"b_fc1/Adam\"\n",
       "        string_val: \"b_fc1/Adam_1\"\n",
       "        string_val: \"b_fc2\"\n",
       "        string_val: \"b_fc2/Adam\"\n",
       "        string_val: \"b_fc2/Adam_1\"\n",
       "        string_val: \"beta1_power\"\n",
       "        string_val: \"beta2_power\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"save/Const\"\n",
       "  op: \"Const\"\n",
       "  attr {\n",
       "    key: \"dtype\"\n",
       "    value {\n",
       "      type: DT_STRING\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"value\"\n",
       "    value {\n",
       "      tensor {\n",
       "        dtype: DT_STRING\n",
       "        tensor_shape {\n",
       "        }\n",
       "        string_val: \"model\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"save/RestoreV2\"\n",
       "  op: \"RestoreV2\"\n",
       "  input: \"save/Const\"\n",
       "  input: \"save/RestoreV2/tensor_names\"\n",
       "  input: \"save/RestoreV2/shape_and_slices\"\n",
       "  device: \"/device:CPU:0\"\n",
       "  attr {\n",
       "    key: \"dtypes\"\n",
       "    value {\n",
       "      list {\n",
       "        type: DT_INT32\n",
       "        type: DT_FLOAT\n",
       "        type: DT_FLOAT\n",
       "        type: DT_FLOAT\n",
       "        type: DT_FLOAT\n",
       "        type: DT_FLOAT\n",
       "        type: DT_FLOAT\n",
       "        type: DT_FLOAT\n",
       "        type: DT_FLOAT\n",
       "        type: DT_FLOAT\n",
       "        type: DT_FLOAT\n",
       "        type: DT_FLOAT\n",
       "        type: DT_FLOAT\n",
       "        type: DT_FLOAT\n",
       "        type: DT_FLOAT\n",
       "        type: DT_FLOAT\n",
       "        type: DT_FLOAT\n",
       "        type: DT_FLOAT\n",
       "        type: DT_FLOAT\n",
       "        type: DT_FLOAT\n",
       "        type: DT_FLOAT\n",
       "        type: DT_FLOAT\n",
       "        type: DT_FLOAT\n",
       "        type: DT_FLOAT\n",
       "        type: DT_FLOAT\n",
       "        type: DT_FLOAT\n",
       "        type: DT_FLOAT\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"Adam/epsilon\"\n",
       "  op: \"Const\"\n",
       "  attr {\n",
       "    key: \"dtype\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"value\"\n",
       "    value {\n",
       "      tensor {\n",
       "        dtype: DT_FLOAT\n",
       "        tensor_shape {\n",
       "        }\n",
       "        float_val: 9.99999993922529e-09\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"Adam/beta2\"\n",
       "  op: \"Const\"\n",
       "  attr {\n",
       "    key: \"dtype\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"value\"\n",
       "    value {\n",
       "      tensor {\n",
       "        dtype: DT_FLOAT\n",
       "        tensor_shape {\n",
       "        }\n",
       "        float_val: 0.9990000128746033\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"Adam/beta1\"\n",
       "  op: \"Const\"\n",
       "  attr {\n",
       "    key: \"dtype\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"value\"\n",
       "    value {\n",
       "      tensor {\n",
       "        dtype: DT_FLOAT\n",
       "        tensor_shape {\n",
       "        }\n",
       "        float_val: 0.8999999761581421\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"Adam/learning_rate\"\n",
       "  op: \"Const\"\n",
       "  attr {\n",
       "    key: \"dtype\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"value\"\n",
       "    value {\n",
       "      tensor {\n",
       "        dtype: DT_FLOAT\n",
       "        tensor_shape {\n",
       "        }\n",
       "        float_val: 0.0010000000474974513\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"b_fc2/Adam_1\"\n",
       "  op: \"VariableV2\"\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@b_fc2\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"container\"\n",
       "    value {\n",
       "      s: \"\"\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"dtype\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"shape\"\n",
       "    value {\n",
       "      shape {\n",
       "        dim {\n",
       "          size: 7\n",
       "        }\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"shared_name\"\n",
       "    value {\n",
       "      s: \"\"\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"save/Assign_24\"\n",
       "  op: \"Assign\"\n",
       "  input: \"b_fc2/Adam_1\"\n",
       "  input: \"save/RestoreV2:24\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@b_fc2\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"use_locking\"\n",
       "    value {\n",
       "      b: true\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"validate_shape\"\n",
       "    value {\n",
       "      b: true\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"b_fc2/Adam_1/read\"\n",
       "  op: \"Identity\"\n",
       "  input: \"b_fc2/Adam_1\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@b_fc2\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"b_fc2/Adam_1/Initializer/zeros\"\n",
       "  op: \"Const\"\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@b_fc2\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"dtype\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"value\"\n",
       "    value {\n",
       "      tensor {\n",
       "        dtype: DT_FLOAT\n",
       "        tensor_shape {\n",
       "          dim {\n",
       "            size: 7\n",
       "          }\n",
       "        }\n",
       "        float_val: 0.0\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"b_fc2/Adam_1/Assign\"\n",
       "  op: \"Assign\"\n",
       "  input: \"b_fc2/Adam_1\"\n",
       "  input: \"b_fc2/Adam_1/Initializer/zeros\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@b_fc2\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"use_locking\"\n",
       "    value {\n",
       "      b: true\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"validate_shape\"\n",
       "    value {\n",
       "      b: true\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"b_fc2/Adam\"\n",
       "  op: \"VariableV2\"\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@b_fc2\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"container\"\n",
       "    value {\n",
       "      s: \"\"\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"dtype\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"shape\"\n",
       "    value {\n",
       "      shape {\n",
       "        dim {\n",
       "          size: 7\n",
       "        }\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"shared_name\"\n",
       "    value {\n",
       "      s: \"\"\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"save/Assign_23\"\n",
       "  op: \"Assign\"\n",
       "  input: \"b_fc2/Adam\"\n",
       "  input: \"save/RestoreV2:23\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@b_fc2\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"use_locking\"\n",
       "    value {\n",
       "      b: true\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"validate_shape\"\n",
       "    value {\n",
       "      b: true\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"b_fc2/Adam/read\"\n",
       "  op: \"Identity\"\n",
       "  input: \"b_fc2/Adam\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@b_fc2\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"b_fc2/Adam/Initializer/zeros\"\n",
       "  op: \"Const\"\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@b_fc2\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"dtype\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"value\"\n",
       "    value {\n",
       "      tensor {\n",
       "        dtype: DT_FLOAT\n",
       "        tensor_shape {\n",
       "          dim {\n",
       "            size: 7\n",
       "          }\n",
       "        }\n",
       "        float_val: 0.0\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"b_fc2/Adam/Assign\"\n",
       "  op: \"Assign\"\n",
       "  input: \"b_fc2/Adam\"\n",
       "  input: \"b_fc2/Adam/Initializer/zeros\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@b_fc2\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"use_locking\"\n",
       "    value {\n",
       "      b: true\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"validate_shape\"\n",
       "    value {\n",
       "      b: true\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"b_fc1/Adam_1\"\n",
       "  op: \"VariableV2\"\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@b_fc1\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"container\"\n",
       "    value {\n",
       "      s: \"\"\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"dtype\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"shape\"\n",
       "    value {\n",
       "      shape {\n",
       "        dim {\n",
       "          size: 256\n",
       "        }\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"shared_name\"\n",
       "    value {\n",
       "      s: \"\"\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"save/Assign_21\"\n",
       "  op: \"Assign\"\n",
       "  input: \"b_fc1/Adam_1\"\n",
       "  input: \"save/RestoreV2:21\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@b_fc1\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"use_locking\"\n",
       "    value {\n",
       "      b: true\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"validate_shape\"\n",
       "    value {\n",
       "      b: true\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"b_fc1/Adam_1/read\"\n",
       "  op: \"Identity\"\n",
       "  input: \"b_fc1/Adam_1\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@b_fc1\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"b_fc1/Adam_1/Initializer/zeros\"\n",
       "  op: \"Const\"\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@b_fc1\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"dtype\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"value\"\n",
       "    value {\n",
       "      tensor {\n",
       "        dtype: DT_FLOAT\n",
       "        tensor_shape {\n",
       "          dim {\n",
       "            size: 256\n",
       "          }\n",
       "        }\n",
       "        float_val: 0.0\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"b_fc1/Adam_1/Assign\"\n",
       "  op: \"Assign\"\n",
       "  input: \"b_fc1/Adam_1\"\n",
       "  input: \"b_fc1/Adam_1/Initializer/zeros\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@b_fc1\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"use_locking\"\n",
       "    value {\n",
       "      b: true\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"validate_shape\"\n",
       "    value {\n",
       "      b: true\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"b_fc1/Adam\"\n",
       "  op: \"VariableV2\"\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@b_fc1\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"container\"\n",
       "    value {\n",
       "      s: \"\"\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"dtype\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"shape\"\n",
       "    value {\n",
       "      shape {\n",
       "        dim {\n",
       "          size: 256\n",
       "        }\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"shared_name\"\n",
       "    value {\n",
       "      s: \"\"\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"save/Assign_20\"\n",
       "  op: \"Assign\"\n",
       "  input: \"b_fc1/Adam\"\n",
       "  input: \"save/RestoreV2:20\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@b_fc1\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"use_locking\"\n",
       "    value {\n",
       "      b: true\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"validate_shape\"\n",
       "    value {\n",
       "      b: true\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"b_fc1/Adam/read\"\n",
       "  op: \"Identity\"\n",
       "  input: \"b_fc1/Adam\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@b_fc1\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"b_fc1/Adam/Initializer/zeros\"\n",
       "  op: \"Const\"\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@b_fc1\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"dtype\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"value\"\n",
       "    value {\n",
       "      tensor {\n",
       "        dtype: DT_FLOAT\n",
       "        tensor_shape {\n",
       "          dim {\n",
       "            size: 256\n",
       "          }\n",
       "        }\n",
       "        float_val: 0.0\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"b_fc1/Adam/Assign\"\n",
       "  op: \"Assign\"\n",
       "  input: \"b_fc1/Adam\"\n",
       "  input: \"b_fc1/Adam/Initializer/zeros\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@b_fc1\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"use_locking\"\n",
       "    value {\n",
       "      b: true\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"validate_shape\"\n",
       "    value {\n",
       "      b: true\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"b_conv2/Adam_1\"\n",
       "  op: \"VariableV2\"\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@b_conv2\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"container\"\n",
       "    value {\n",
       "      s: \"\"\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"dtype\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"shape\"\n",
       "    value {\n",
       "      shape {\n",
       "        dim {\n",
       "          size: 64\n",
       "        }\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"shared_name\"\n",
       "    value {\n",
       "      s: \"\"\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"save/Assign_18\"\n",
       "  op: \"Assign\"\n",
       "  input: \"b_conv2/Adam_1\"\n",
       "  input: \"save/RestoreV2:18\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@b_conv2\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"use_locking\"\n",
       "    value {\n",
       "      b: true\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"validate_shape\"\n",
       "    value {\n",
       "      b: true\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"b_conv2/Adam_1/read\"\n",
       "  op: \"Identity\"\n",
       "  input: \"b_conv2/Adam_1\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@b_conv2\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"b_conv2/Adam_1/Initializer/zeros\"\n",
       "  op: \"Const\"\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@b_conv2\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"dtype\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"value\"\n",
       "    value {\n",
       "      tensor {\n",
       "        dtype: DT_FLOAT\n",
       "        tensor_shape {\n",
       "          dim {\n",
       "            size: 64\n",
       "          }\n",
       "        }\n",
       "        float_val: 0.0\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"b_conv2/Adam_1/Assign\"\n",
       "  op: \"Assign\"\n",
       "  input: \"b_conv2/Adam_1\"\n",
       "  input: \"b_conv2/Adam_1/Initializer/zeros\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@b_conv2\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"use_locking\"\n",
       "    value {\n",
       "      b: true\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"validate_shape\"\n",
       "    value {\n",
       "      b: true\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"b_conv2/Adam\"\n",
       "  op: \"VariableV2\"\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@b_conv2\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"container\"\n",
       "    value {\n",
       "      s: \"\"\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"dtype\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"shape\"\n",
       "    value {\n",
       "      shape {\n",
       "        dim {\n",
       "          size: 64\n",
       "        }\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"shared_name\"\n",
       "    value {\n",
       "      s: \"\"\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"save/Assign_17\"\n",
       "  op: \"Assign\"\n",
       "  input: \"b_conv2/Adam\"\n",
       "  input: \"save/RestoreV2:17\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@b_conv2\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"use_locking\"\n",
       "    value {\n",
       "      b: true\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"validate_shape\"\n",
       "    value {\n",
       "      b: true\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"b_conv2/Adam/read\"\n",
       "  op: \"Identity\"\n",
       "  input: \"b_conv2/Adam\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@b_conv2\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"b_conv2/Adam/Initializer/zeros\"\n",
       "  op: \"Const\"\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@b_conv2\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"dtype\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"value\"\n",
       "    value {\n",
       "      tensor {\n",
       "        dtype: DT_FLOAT\n",
       "        tensor_shape {\n",
       "          dim {\n",
       "            size: 64\n",
       "          }\n",
       "        }\n",
       "        float_val: 0.0\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"b_conv2/Adam/Assign\"\n",
       "  op: \"Assign\"\n",
       "  input: \"b_conv2/Adam\"\n",
       "  input: \"b_conv2/Adam/Initializer/zeros\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@b_conv2\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"use_locking\"\n",
       "    value {\n",
       "      b: true\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"validate_shape\"\n",
       "    value {\n",
       "      b: true\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"b_conv1/Adam_1\"\n",
       "  op: \"VariableV2\"\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@b_conv1\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"container\"\n",
       "    value {\n",
       "      s: \"\"\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"dtype\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"shape\"\n",
       "    value {\n",
       "      shape {\n",
       "        dim {\n",
       "          size: 32\n",
       "        }\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"shared_name\"\n",
       "    value {\n",
       "      s: \"\"\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"save/Assign_15\"\n",
       "  op: \"Assign\"\n",
       "  input: \"b_conv1/Adam_1\"\n",
       "  input: \"save/RestoreV2:15\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@b_conv1\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"use_locking\"\n",
       "    value {\n",
       "      b: true\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"validate_shape\"\n",
       "    value {\n",
       "      b: true\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"b_conv1/Adam_1/read\"\n",
       "  op: \"Identity\"\n",
       "  input: \"b_conv1/Adam_1\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@b_conv1\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"b_conv1/Adam_1/Initializer/zeros\"\n",
       "  op: \"Const\"\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@b_conv1\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"dtype\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"value\"\n",
       "    value {\n",
       "      tensor {\n",
       "        dtype: DT_FLOAT\n",
       "        tensor_shape {\n",
       "          dim {\n",
       "            size: 32\n",
       "          }\n",
       "        }\n",
       "        float_val: 0.0\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"b_conv1/Adam_1/Assign\"\n",
       "  op: \"Assign\"\n",
       "  input: \"b_conv1/Adam_1\"\n",
       "  input: \"b_conv1/Adam_1/Initializer/zeros\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@b_conv1\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"use_locking\"\n",
       "    value {\n",
       "      b: true\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"validate_shape\"\n",
       "    value {\n",
       "      b: true\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"b_conv1/Adam\"\n",
       "  op: \"VariableV2\"\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@b_conv1\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"container\"\n",
       "    value {\n",
       "      s: \"\"\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"dtype\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"shape\"\n",
       "    value {\n",
       "      shape {\n",
       "        dim {\n",
       "          size: 32\n",
       "        }\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"shared_name\"\n",
       "    value {\n",
       "      s: \"\"\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"save/Assign_14\"\n",
       "  op: \"Assign\"\n",
       "  input: \"b_conv1/Adam\"\n",
       "  input: \"save/RestoreV2:14\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@b_conv1\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"use_locking\"\n",
       "    value {\n",
       "      b: true\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"validate_shape\"\n",
       "    value {\n",
       "      b: true\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"b_conv1/Adam/read\"\n",
       "  op: \"Identity\"\n",
       "  input: \"b_conv1/Adam\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@b_conv1\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"b_conv1/Adam/Initializer/zeros\"\n",
       "  op: \"Const\"\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@b_conv1\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"dtype\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"value\"\n",
       "    value {\n",
       "      tensor {\n",
       "        dtype: DT_FLOAT\n",
       "        tensor_shape {\n",
       "          dim {\n",
       "            size: 32\n",
       "          }\n",
       "        }\n",
       "        float_val: 0.0\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"b_conv1/Adam/Assign\"\n",
       "  op: \"Assign\"\n",
       "  input: \"b_conv1/Adam\"\n",
       "  input: \"b_conv1/Adam/Initializer/zeros\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@b_conv1\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"use_locking\"\n",
       "    value {\n",
       "      b: true\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"validate_shape\"\n",
       "    value {\n",
       "      b: true\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"W_fc2/Adam_1\"\n",
       "  op: \"VariableV2\"\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@W_fc2\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"container\"\n",
       "    value {\n",
       "      s: \"\"\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"dtype\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"shape\"\n",
       "    value {\n",
       "      shape {\n",
       "        dim {\n",
       "          size: 256\n",
       "        }\n",
       "        dim {\n",
       "          size: 7\n",
       "        }\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"shared_name\"\n",
       "    value {\n",
       "      s: \"\"\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"save/Assign_12\"\n",
       "  op: \"Assign\"\n",
       "  input: \"W_fc2/Adam_1\"\n",
       "  input: \"save/RestoreV2:12\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@W_fc2\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"use_locking\"\n",
       "    value {\n",
       "      b: true\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"validate_shape\"\n",
       "    value {\n",
       "      b: true\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"W_fc2/Adam_1/read\"\n",
       "  op: \"Identity\"\n",
       "  input: \"W_fc2/Adam_1\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@W_fc2\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"W_fc2/Adam_1/Initializer/zeros/Const\"\n",
       "  op: \"Const\"\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@W_fc2\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"dtype\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"value\"\n",
       "    value {\n",
       "      tensor {\n",
       "        dtype: DT_FLOAT\n",
       "        tensor_shape {\n",
       "        }\n",
       "        float_val: 0.0\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"W_fc2/Adam_1/Initializer/zeros/shape_as_tensor\"\n",
       "  op: \"Const\"\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@W_fc2\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"dtype\"\n",
       "    value {\n",
       "      type: DT_INT32\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"value\"\n",
       "    value {\n",
       "      tensor {\n",
       "        dtype: DT_INT32\n",
       "        tensor_shape {\n",
       "          dim {\n",
       "            size: 2\n",
       "          }\n",
       "        }\n",
       "        tensor_content: \"\\000\\001\\000\\000\\007\\000\\000\\000\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"W_fc2/Adam_1/Initializer/zeros\"\n",
       "  op: \"Fill\"\n",
       "  input: \"W_fc2/Adam_1/Initializer/zeros/shape_as_tensor\"\n",
       "  input: \"W_fc2/Adam_1/Initializer/zeros/Const\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@W_fc2\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"index_type\"\n",
       "    value {\n",
       "      type: DT_INT32\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"W_fc2/Adam_1/Assign\"\n",
       "  op: \"Assign\"\n",
       "  input: \"W_fc2/Adam_1\"\n",
       "  input: \"W_fc2/Adam_1/Initializer/zeros\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@W_fc2\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"use_locking\"\n",
       "    value {\n",
       "      b: true\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"validate_shape\"\n",
       "    value {\n",
       "      b: true\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"W_fc2/Adam\"\n",
       "  op: \"VariableV2\"\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@W_fc2\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"container\"\n",
       "    value {\n",
       "      s: \"\"\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"dtype\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"shape\"\n",
       "    value {\n",
       "      shape {\n",
       "        dim {\n",
       "          size: 256\n",
       "        }\n",
       "        dim {\n",
       "          size: 7\n",
       "        }\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"shared_name\"\n",
       "    value {\n",
       "      s: \"\"\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"save/Assign_11\"\n",
       "  op: \"Assign\"\n",
       "  input: \"W_fc2/Adam\"\n",
       "  input: \"save/RestoreV2:11\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@W_fc2\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"use_locking\"\n",
       "    value {\n",
       "      b: true\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"validate_shape\"\n",
       "    value {\n",
       "      b: true\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"W_fc2/Adam/read\"\n",
       "  op: \"Identity\"\n",
       "  input: \"W_fc2/Adam\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@W_fc2\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"W_fc2/Adam/Initializer/zeros/Const\"\n",
       "  op: \"Const\"\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@W_fc2\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"dtype\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"value\"\n",
       "    value {\n",
       "      tensor {\n",
       "        dtype: DT_FLOAT\n",
       "        tensor_shape {\n",
       "        }\n",
       "        float_val: 0.0\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"W_fc2/Adam/Initializer/zeros/shape_as_tensor\"\n",
       "  op: \"Const\"\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@W_fc2\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"dtype\"\n",
       "    value {\n",
       "      type: DT_INT32\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"value\"\n",
       "    value {\n",
       "      tensor {\n",
       "        dtype: DT_INT32\n",
       "        tensor_shape {\n",
       "          dim {\n",
       "            size: 2\n",
       "          }\n",
       "        }\n",
       "        tensor_content: \"\\000\\001\\000\\000\\007\\000\\000\\000\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"W_fc2/Adam/Initializer/zeros\"\n",
       "  op: \"Fill\"\n",
       "  input: \"W_fc2/Adam/Initializer/zeros/shape_as_tensor\"\n",
       "  input: \"W_fc2/Adam/Initializer/zeros/Const\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@W_fc2\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"index_type\"\n",
       "    value {\n",
       "      type: DT_INT32\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"W_fc2/Adam/Assign\"\n",
       "  op: \"Assign\"\n",
       "  input: \"W_fc2/Adam\"\n",
       "  input: \"W_fc2/Adam/Initializer/zeros\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@W_fc2\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"use_locking\"\n",
       "    value {\n",
       "      b: true\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"validate_shape\"\n",
       "    value {\n",
       "      b: true\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"W_fc1/Adam_1\"\n",
       "  op: \"VariableV2\"\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@W_fc1\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"container\"\n",
       "    value {\n",
       "      s: \"\"\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"dtype\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"shape\"\n",
       "    value {\n",
       "      shape {\n",
       "        dim {\n",
       "          size: 9216\n",
       "        }\n",
       "        dim {\n",
       "          size: 256\n",
       "        }\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"shared_name\"\n",
       "    value {\n",
       "      s: \"\"\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"save/Assign_9\"\n",
       "  op: \"Assign\"\n",
       "  input: \"W_fc1/Adam_1\"\n",
       "  input: \"save/RestoreV2:9\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@W_fc1\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"use_locking\"\n",
       "    value {\n",
       "      b: true\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"validate_shape\"\n",
       "    value {\n",
       "      b: true\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"W_fc1/Adam_1/read\"\n",
       "  op: \"Identity\"\n",
       "  input: \"W_fc1/Adam_1\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@W_fc1\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"W_fc1/Adam_1/Initializer/zeros/Const\"\n",
       "  op: \"Const\"\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@W_fc1\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"dtype\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"value\"\n",
       "    value {\n",
       "      tensor {\n",
       "        dtype: DT_FLOAT\n",
       "        tensor_shape {\n",
       "        }\n",
       "        float_val: 0.0\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"W_fc1/Adam_1/Initializer/zeros/shape_as_tensor\"\n",
       "  op: \"Const\"\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@W_fc1\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"dtype\"\n",
       "    value {\n",
       "      type: DT_INT32\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"value\"\n",
       "    value {\n",
       "      tensor {\n",
       "        dtype: DT_INT32\n",
       "        tensor_shape {\n",
       "          dim {\n",
       "            size: 2\n",
       "          }\n",
       "        }\n",
       "        tensor_content: \"\\000$\\000\\000\\000\\001\\000\\000\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"W_fc1/Adam_1/Initializer/zeros\"\n",
       "  op: \"Fill\"\n",
       "  input: \"W_fc1/Adam_1/Initializer/zeros/shape_as_tensor\"\n",
       "  input: \"W_fc1/Adam_1/Initializer/zeros/Const\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@W_fc1\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"index_type\"\n",
       "    value {\n",
       "      type: DT_INT32\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"W_fc1/Adam_1/Assign\"\n",
       "  op: \"Assign\"\n",
       "  input: \"W_fc1/Adam_1\"\n",
       "  input: \"W_fc1/Adam_1/Initializer/zeros\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@W_fc1\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"use_locking\"\n",
       "    value {\n",
       "      b: true\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"validate_shape\"\n",
       "    value {\n",
       "      b: true\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"W_fc1/Adam\"\n",
       "  op: \"VariableV2\"\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@W_fc1\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"container\"\n",
       "    value {\n",
       "      s: \"\"\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"dtype\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"shape\"\n",
       "    value {\n",
       "      shape {\n",
       "        dim {\n",
       "          size: 9216\n",
       "        }\n",
       "        dim {\n",
       "          size: 256\n",
       "        }\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"shared_name\"\n",
       "    value {\n",
       "      s: \"\"\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"save/Assign_8\"\n",
       "  op: \"Assign\"\n",
       "  input: \"W_fc1/Adam\"\n",
       "  input: \"save/RestoreV2:8\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@W_fc1\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"use_locking\"\n",
       "    value {\n",
       "      b: true\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"validate_shape\"\n",
       "    value {\n",
       "      b: true\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"W_fc1/Adam/read\"\n",
       "  op: \"Identity\"\n",
       "  input: \"W_fc1/Adam\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@W_fc1\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"W_fc1/Adam/Initializer/zeros/Const\"\n",
       "  op: \"Const\"\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@W_fc1\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"dtype\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"value\"\n",
       "    value {\n",
       "      tensor {\n",
       "        dtype: DT_FLOAT\n",
       "        tensor_shape {\n",
       "        }\n",
       "        float_val: 0.0\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"W_fc1/Adam/Initializer/zeros/shape_as_tensor\"\n",
       "  op: \"Const\"\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@W_fc1\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"dtype\"\n",
       "    value {\n",
       "      type: DT_INT32\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"value\"\n",
       "    value {\n",
       "      tensor {\n",
       "        dtype: DT_INT32\n",
       "        tensor_shape {\n",
       "          dim {\n",
       "            size: 2\n",
       "          }\n",
       "        }\n",
       "        tensor_content: \"\\000$\\000\\000\\000\\001\\000\\000\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"W_fc1/Adam/Initializer/zeros\"\n",
       "  op: \"Fill\"\n",
       "  input: \"W_fc1/Adam/Initializer/zeros/shape_as_tensor\"\n",
       "  input: \"W_fc1/Adam/Initializer/zeros/Const\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@W_fc1\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"index_type\"\n",
       "    value {\n",
       "      type: DT_INT32\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"W_fc1/Adam/Assign\"\n",
       "  op: \"Assign\"\n",
       "  input: \"W_fc1/Adam\"\n",
       "  input: \"W_fc1/Adam/Initializer/zeros\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@W_fc1\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"use_locking\"\n",
       "    value {\n",
       "      b: true\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"validate_shape\"\n",
       "    value {\n",
       "      b: true\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"W_conv2/Adam_1\"\n",
       "  op: \"VariableV2\"\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@W_conv2\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"container\"\n",
       "    value {\n",
       "      s: \"\"\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"dtype\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"shape\"\n",
       "    value {\n",
       "      shape {\n",
       "        dim {\n",
       "          size: 3\n",
       "        }\n",
       "        dim {\n",
       "          size: 3\n",
       "        }\n",
       "        dim {\n",
       "          size: 32\n",
       "        }\n",
       "        dim {\n",
       "          size: 64\n",
       "        }\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"shared_name\"\n",
       "    value {\n",
       "      s: \"\"\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"save/Assign_6\"\n",
       "  op: \"Assign\"\n",
       "  input: \"W_conv2/Adam_1\"\n",
       "  input: \"save/RestoreV2:6\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@W_conv2\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"use_locking\"\n",
       "    value {\n",
       "      b: true\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"validate_shape\"\n",
       "    value {\n",
       "      b: true\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"W_conv2/Adam_1/read\"\n",
       "  op: \"Identity\"\n",
       "  input: \"W_conv2/Adam_1\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@W_conv2\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"W_conv2/Adam_1/Initializer/zeros/Const\"\n",
       "  op: \"Const\"\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@W_conv2\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"dtype\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"value\"\n",
       "    value {\n",
       "      tensor {\n",
       "        dtype: DT_FLOAT\n",
       "        tensor_shape {\n",
       "        }\n",
       "        float_val: 0.0\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"W_conv2/Adam_1/Initializer/zeros/shape_as_tensor\"\n",
       "  op: \"Const\"\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@W_conv2\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"dtype\"\n",
       "    value {\n",
       "      type: DT_INT32\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"value\"\n",
       "    value {\n",
       "      tensor {\n",
       "        dtype: DT_INT32\n",
       "        tensor_shape {\n",
       "          dim {\n",
       "            size: 4\n",
       "          }\n",
       "        }\n",
       "        tensor_content: \"\\003\\000\\000\\000\\003\\000\\000\\000 \\000\\000\\000@\\000\\000\\000\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"W_conv2/Adam_1/Initializer/zeros\"\n",
       "  op: \"Fill\"\n",
       "  input: \"W_conv2/Adam_1/Initializer/zeros/shape_as_tensor\"\n",
       "  input: \"W_conv2/Adam_1/Initializer/zeros/Const\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@W_conv2\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"index_type\"\n",
       "    value {\n",
       "      type: DT_INT32\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"W_conv2/Adam_1/Assign\"\n",
       "  op: \"Assign\"\n",
       "  input: \"W_conv2/Adam_1\"\n",
       "  input: \"W_conv2/Adam_1/Initializer/zeros\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@W_conv2\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"use_locking\"\n",
       "    value {\n",
       "      b: true\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"validate_shape\"\n",
       "    value {\n",
       "      b: true\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"W_conv2/Adam\"\n",
       "  op: \"VariableV2\"\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@W_conv2\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"container\"\n",
       "    value {\n",
       "      s: \"\"\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"dtype\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"shape\"\n",
       "    value {\n",
       "      shape {\n",
       "        dim {\n",
       "          size: 3\n",
       "        }\n",
       "        dim {\n",
       "          size: 3\n",
       "        }\n",
       "        dim {\n",
       "          size: 32\n",
       "        }\n",
       "        dim {\n",
       "          size: 64\n",
       "        }\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"shared_name\"\n",
       "    value {\n",
       "      s: \"\"\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"save/Assign_5\"\n",
       "  op: \"Assign\"\n",
       "  input: \"W_conv2/Adam\"\n",
       "  input: \"save/RestoreV2:5\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@W_conv2\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"use_locking\"\n",
       "    value {\n",
       "      b: true\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"validate_shape\"\n",
       "    value {\n",
       "      b: true\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"W_conv2/Adam/read\"\n",
       "  op: \"Identity\"\n",
       "  input: \"W_conv2/Adam\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@W_conv2\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"W_conv2/Adam/Initializer/zeros/Const\"\n",
       "  op: \"Const\"\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@W_conv2\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"dtype\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"value\"\n",
       "    value {\n",
       "      tensor {\n",
       "        dtype: DT_FLOAT\n",
       "        tensor_shape {\n",
       "        }\n",
       "        float_val: 0.0\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"W_conv2/Adam/Initializer/zeros/shape_as_tensor\"\n",
       "  op: \"Const\"\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@W_conv2\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"dtype\"\n",
       "    value {\n",
       "      type: DT_INT32\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"value\"\n",
       "    value {\n",
       "      tensor {\n",
       "        dtype: DT_INT32\n",
       "        tensor_shape {\n",
       "          dim {\n",
       "            size: 4\n",
       "          }\n",
       "        }\n",
       "        tensor_content: \"\\003\\000\\000\\000\\003\\000\\000\\000 \\000\\000\\000@\\000\\000\\000\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"W_conv2/Adam/Initializer/zeros\"\n",
       "  op: \"Fill\"\n",
       "  input: \"W_conv2/Adam/Initializer/zeros/shape_as_tensor\"\n",
       "  input: \"W_conv2/Adam/Initializer/zeros/Const\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@W_conv2\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"index_type\"\n",
       "    value {\n",
       "      type: DT_INT32\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"W_conv2/Adam/Assign\"\n",
       "  op: \"Assign\"\n",
       "  input: \"W_conv2/Adam\"\n",
       "  input: \"W_conv2/Adam/Initializer/zeros\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@W_conv2\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"use_locking\"\n",
       "    value {\n",
       "      b: true\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"validate_shape\"\n",
       "    value {\n",
       "      b: true\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"W_conv1/Adam_1\"\n",
       "  op: \"VariableV2\"\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@W_conv1\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"container\"\n",
       "    value {\n",
       "      s: \"\"\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"dtype\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"shape\"\n",
       "    value {\n",
       "      shape {\n",
       "        dim {\n",
       "          size: 5\n",
       "        }\n",
       "        dim {\n",
       "          size: 5\n",
       "        }\n",
       "        dim {\n",
       "          size: 1\n",
       "        }\n",
       "        dim {\n",
       "          size: 32\n",
       "        }\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"shared_name\"\n",
       "    value {\n",
       "      s: \"\"\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"save/Assign_3\"\n",
       "  op: \"Assign\"\n",
       "  input: \"W_conv1/Adam_1\"\n",
       "  input: \"save/RestoreV2:3\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@W_conv1\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"use_locking\"\n",
       "    value {\n",
       "      b: true\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"validate_shape\"\n",
       "    value {\n",
       "      b: true\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"W_conv1/Adam_1/read\"\n",
       "  op: \"Identity\"\n",
       "  input: \"W_conv1/Adam_1\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@W_conv1\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"W_conv1/Adam_1/Initializer/zeros\"\n",
       "  op: \"Const\"\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@W_conv1\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"dtype\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"value\"\n",
       "    value {\n",
       "      tensor {\n",
       "        dtype: DT_FLOAT\n",
       "        tensor_shape {\n",
       "          dim {\n",
       "            size: 5\n",
       "          }\n",
       "          dim {\n",
       "            size: 5\n",
       "          }\n",
       "          dim {\n",
       "            size: 1\n",
       "          }\n",
       "          dim {\n",
       "            size: 32\n",
       "          }\n",
       "        }\n",
       "        float_val: 0.0\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"W_conv1/Adam_1/Assign\"\n",
       "  op: \"Assign\"\n",
       "  input: \"W_conv1/Adam_1\"\n",
       "  input: \"W_conv1/Adam_1/Initializer/zeros\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@W_conv1\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"use_locking\"\n",
       "    value {\n",
       "      b: true\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"validate_shape\"\n",
       "    value {\n",
       "      b: true\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"W_conv1/Adam\"\n",
       "  op: \"VariableV2\"\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@W_conv1\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"container\"\n",
       "    value {\n",
       "      s: \"\"\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"dtype\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"shape\"\n",
       "    value {\n",
       "      shape {\n",
       "        dim {\n",
       "          size: 5\n",
       "        }\n",
       "        dim {\n",
       "          size: 5\n",
       "        }\n",
       "        dim {\n",
       "          size: 1\n",
       "        }\n",
       "        dim {\n",
       "          size: 32\n",
       "        }\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"shared_name\"\n",
       "    value {\n",
       "      s: \"\"\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"save/Assign_2\"\n",
       "  op: \"Assign\"\n",
       "  input: \"W_conv1/Adam\"\n",
       "  input: \"save/RestoreV2:2\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@W_conv1\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"use_locking\"\n",
       "    value {\n",
       "      b: true\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"validate_shape\"\n",
       "    value {\n",
       "      b: true\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"W_conv1/Adam/read\"\n",
       "  op: \"Identity\"\n",
       "  input: \"W_conv1/Adam\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@W_conv1\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"W_conv1/Adam/Initializer/zeros\"\n",
       "  op: \"Const\"\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@W_conv1\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"dtype\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"value\"\n",
       "    value {\n",
       "      tensor {\n",
       "        dtype: DT_FLOAT\n",
       "        tensor_shape {\n",
       "          dim {\n",
       "            size: 5\n",
       "          }\n",
       "          dim {\n",
       "            size: 5\n",
       "          }\n",
       "          dim {\n",
       "            size: 1\n",
       "          }\n",
       "          dim {\n",
       "            size: 32\n",
       "          }\n",
       "        }\n",
       "        float_val: 0.0\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"W_conv1/Adam/Assign\"\n",
       "  op: \"Assign\"\n",
       "  input: \"W_conv1/Adam\"\n",
       "  input: \"W_conv1/Adam/Initializer/zeros\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@W_conv1\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"use_locking\"\n",
       "    value {\n",
       "      b: true\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"validate_shape\"\n",
       "    value {\n",
       "      b: true\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"beta2_power\"\n",
       "  op: \"VariableV2\"\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@W_conv1\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"container\"\n",
       "    value {\n",
       "      s: \"\"\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"dtype\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"shape\"\n",
       "    value {\n",
       "      shape {\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"shared_name\"\n",
       "    value {\n",
       "      s: \"\"\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"save/Assign_26\"\n",
       "  op: \"Assign\"\n",
       "  input: \"beta2_power\"\n",
       "  input: \"save/RestoreV2:26\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@W_conv1\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"use_locking\"\n",
       "    value {\n",
       "      b: true\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"validate_shape\"\n",
       "    value {\n",
       "      b: true\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"beta2_power/read\"\n",
       "  op: \"Identity\"\n",
       "  input: \"beta2_power\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@W_conv1\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"beta2_power/initial_value\"\n",
       "  op: \"Const\"\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@W_conv1\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"dtype\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"value\"\n",
       "    value {\n",
       "      tensor {\n",
       "        dtype: DT_FLOAT\n",
       "        tensor_shape {\n",
       "        }\n",
       "        float_val: 0.9990000128746033\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"beta2_power/Assign\"\n",
       "  op: \"Assign\"\n",
       "  input: \"beta2_power\"\n",
       "  input: \"beta2_power/initial_value\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@W_conv1\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"use_locking\"\n",
       "    value {\n",
       "      b: true\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"validate_shape\"\n",
       "    value {\n",
       "      b: true\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"beta1_power\"\n",
       "  op: \"VariableV2\"\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@W_conv1\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"container\"\n",
       "    value {\n",
       "      s: \"\"\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"dtype\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"shape\"\n",
       "    value {\n",
       "      shape {\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"shared_name\"\n",
       "    value {\n",
       "      s: \"\"\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"save/Assign_25\"\n",
       "  op: \"Assign\"\n",
       "  input: \"beta1_power\"\n",
       "  input: \"save/RestoreV2:25\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@W_conv1\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"use_locking\"\n",
       "    value {\n",
       "      b: true\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"validate_shape\"\n",
       "    value {\n",
       "      b: true\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"beta1_power/read\"\n",
       "  op: \"Identity\"\n",
       "  input: \"beta1_power\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@W_conv1\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"beta1_power/initial_value\"\n",
       "  op: \"Const\"\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@W_conv1\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"dtype\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"value\"\n",
       "    value {\n",
       "      tensor {\n",
       "        dtype: DT_FLOAT\n",
       "        tensor_shape {\n",
       "        }\n",
       "        float_val: 0.8999999761581421\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"beta1_power/Assign\"\n",
       "  op: \"Assign\"\n",
       "  input: \"beta1_power\"\n",
       "  input: \"beta1_power/initial_value\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@W_conv1\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"use_locking\"\n",
       "    value {\n",
       "      b: true\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"validate_shape\"\n",
       "    value {\n",
       "      b: true\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"gradients/conv1/Conv2D_grad/Const\"\n",
       "  op: \"Const\"\n",
       "  attr {\n",
       "    key: \"dtype\"\n",
       "    value {\n",
       "      type: DT_INT32\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"value\"\n",
       "    value {\n",
       "      tensor {\n",
       "        dtype: DT_INT32\n",
       "        tensor_shape {\n",
       "          dim {\n",
       "            size: 4\n",
       "          }\n",
       "        }\n",
       "        tensor_content: \"\\005\\000\\000\\000\\005\\000\\000\\000\\001\\000\\000\\000 \\000\\000\\000\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"gradients/conv2/Conv2D_grad/Const\"\n",
       "  op: \"Const\"\n",
       "  attr {\n",
       "    key: \"dtype\"\n",
       "    value {\n",
       "      type: DT_INT32\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"value\"\n",
       "    value {\n",
       "      tensor {\n",
       "        dtype: DT_INT32\n",
       "        tensor_shape {\n",
       "          dim {\n",
       "            size: 4\n",
       "          }\n",
       "        }\n",
       "        tensor_content: \"\\003\\000\\000\\000\\003\\000\\000\\000 \\000\\000\\000@\\000\\000\\000\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"gradients/fc_1/add_grad/Shape_1\"\n",
       "  op: \"Const\"\n",
       "  attr {\n",
       "    key: \"dtype\"\n",
       "    value {\n",
       "      type: DT_INT32\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"value\"\n",
       "    value {\n",
       "      tensor {\n",
       "        dtype: DT_INT32\n",
       "        tensor_shape {\n",
       "          dim {\n",
       "            size: 1\n",
       "          }\n",
       "        }\n",
       "        int_val: 256\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"gradients/fc_1/dropout/div_grad/Shape_1\"\n",
       "  op: \"Const\"\n",
       "  attr {\n",
       "    key: \"dtype\"\n",
       "    value {\n",
       "      type: DT_INT32\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"value\"\n",
       "    value {\n",
       "      tensor {\n",
       "        dtype: DT_INT32\n",
       "        tensor_shape {\n",
       "          dim {\n",
       "          }\n",
       "        }\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"gradients/fc_2/add_grad/Shape_1\"\n",
       "  op: \"Const\"\n",
       "  attr {\n",
       "    key: \"dtype\"\n",
       "    value {\n",
       "      type: DT_INT32\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"value\"\n",
       "    value {\n",
       "      tensor {\n",
       "        dtype: DT_INT32\n",
       "        tensor_shape {\n",
       "          dim {\n",
       "            size: 1\n",
       "          }\n",
       "        }\n",
       "        int_val: 7\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"gradients/softmax_cross_entropy_with_logits_sg_grad/ExpandDims_1/dim\"\n",
       "  op: \"Const\"\n",
       "  attr {\n",
       "    key: \"dtype\"\n",
       "    value {\n",
       "      type: DT_INT32\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"value\"\n",
       "    value {\n",
       "      tensor {\n",
       "        dtype: DT_INT32\n",
       "        tensor_shape {\n",
       "        }\n",
       "        int_val: -1\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"gradients/softmax_cross_entropy_with_logits_sg_grad/ExpandDims/dim\"\n",
       "  op: \"Const\"\n",
       "  attr {\n",
       "    key: \"dtype\"\n",
       "    value {\n",
       "      type: DT_INT32\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"value\"\n",
       "    value {\n",
       "      tensor {\n",
       "        dtype: DT_INT32\n",
       "        tensor_shape {\n",
       "        }\n",
       "        int_val: -1\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"gradients/Mean_grad/Maximum/y\"\n",
       "  op: \"Const\"\n",
       "  attr {\n",
       "    key: \"dtype\"\n",
       "    value {\n",
       "      type: DT_INT32\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"value\"\n",
       "    value {\n",
       "      tensor {\n",
       "        dtype: DT_INT32\n",
       "        tensor_shape {\n",
       "        }\n",
       "        int_val: 1\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"gradients/Mean_grad/Const_1\"\n",
       "  op: \"Const\"\n",
       "  attr {\n",
       "    key: \"dtype\"\n",
       "    value {\n",
       "      type: DT_INT32\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"value\"\n",
       "    value {\n",
       "      tensor {\n",
       "        dtype: DT_INT32\n",
       "        tensor_shape {\n",
       "          dim {\n",
       "            size: 1\n",
       "          }\n",
       "        }\n",
       "        int_val: 0\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"gradients/Mean_grad/Const\"\n",
       "  op: \"Const\"\n",
       "  attr {\n",
       "    key: \"dtype\"\n",
       "    value {\n",
       "      type: DT_INT32\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"value\"\n",
       "    value {\n",
       "      tensor {\n",
       "        dtype: DT_INT32\n",
       "        tensor_shape {\n",
       "          dim {\n",
       "            size: 1\n",
       "          }\n",
       "        }\n",
       "        int_val: 0\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"gradients/Mean_grad/Shape_2\"\n",
       "  op: \"Const\"\n",
       "  attr {\n",
       "    key: \"dtype\"\n",
       "    value {\n",
       "      type: DT_INT32\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"value\"\n",
       "    value {\n",
       "      tensor {\n",
       "        dtype: DT_INT32\n",
       "        tensor_shape {\n",
       "          dim {\n",
       "          }\n",
       "        }\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"gradients/Mean_grad/Prod_1\"\n",
       "  op: \"Prod\"\n",
       "  input: \"gradients/Mean_grad/Shape_2\"\n",
       "  input: \"gradients/Mean_grad/Const_1\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_INT32\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"Tidx\"\n",
       "    value {\n",
       "      type: DT_INT32\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"keep_dims\"\n",
       "    value {\n",
       "      b: false\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"gradients/Mean_grad/Maximum\"\n",
       "  op: \"Maximum\"\n",
       "  input: \"gradients/Mean_grad/Prod_1\"\n",
       "  input: \"gradients/Mean_grad/Maximum/y\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_INT32\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"gradients/Mean_grad/Reshape/shape\"\n",
       "  op: \"Const\"\n",
       "  attr {\n",
       "    key: \"dtype\"\n",
       "    value {\n",
       "      type: DT_INT32\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"value\"\n",
       "    value {\n",
       "      tensor {\n",
       "        dtype: DT_INT32\n",
       "        tensor_shape {\n",
       "          dim {\n",
       "            size: 1\n",
       "          }\n",
       "        }\n",
       "        int_val: 1\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"gradients/grad_ys_0\"\n",
       "  op: \"Const\"\n",
       "  attr {\n",
       "    key: \"dtype\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"value\"\n",
       "    value {\n",
       "      tensor {\n",
       "        dtype: DT_FLOAT\n",
       "        tensor_shape {\n",
       "        }\n",
       "        float_val: 1.0\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"gradients/Shape\"\n",
       "  op: \"Const\"\n",
       "  attr {\n",
       "    key: \"dtype\"\n",
       "    value {\n",
       "      type: DT_INT32\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"value\"\n",
       "    value {\n",
       "      tensor {\n",
       "        dtype: DT_INT32\n",
       "        tensor_shape {\n",
       "          dim {\n",
       "          }\n",
       "        }\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"gradients/Fill\"\n",
       "  op: \"Fill\"\n",
       "  input: \"gradients/Shape\"\n",
       "  input: \"gradients/grad_ys_0\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"index_type\"\n",
       "    value {\n",
       "      type: DT_INT32\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"gradients/add_grad/tuple/group_deps\"\n",
       "  op: \"NoOp\"\n",
       "  input: \"^gradients/Fill\"\n",
       "}\n",
       "node {\n",
       "  name: \"gradients/add_grad/tuple/control_dependency_1\"\n",
       "  op: \"Identity\"\n",
       "  input: \"gradients/Fill\"\n",
       "  input: \"^gradients/add_grad/tuple/group_deps\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@gradients/Fill\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"gradients/add_grad/tuple/control_dependency\"\n",
       "  op: \"Identity\"\n",
       "  input: \"gradients/Fill\"\n",
       "  input: \"^gradients/add_grad/tuple/group_deps\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@gradients/Fill\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"gradients/Mean_grad/Reshape\"\n",
       "  op: \"Reshape\"\n",
       "  input: \"gradients/add_grad/tuple/control_dependency\"\n",
       "  input: \"gradients/Mean_grad/Reshape/shape\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"Tshape\"\n",
       "    value {\n",
       "      type: DT_INT32\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"mul/x\"\n",
       "  op: \"Const\"\n",
       "  attr {\n",
       "    key: \"dtype\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"value\"\n",
       "    value {\n",
       "      tensor {\n",
       "        dtype: DT_FLOAT\n",
       "        tensor_shape {\n",
       "        }\n",
       "        float_val: 0.0010000000474974513\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"gradients/mul_grad/Mul_1\"\n",
       "  op: \"Mul\"\n",
       "  input: \"gradients/add_grad/tuple/control_dependency_1\"\n",
       "  input: \"mul/x\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"Reg_loss/tags\"\n",
       "  op: \"Const\"\n",
       "  attr {\n",
       "    key: \"dtype\"\n",
       "    value {\n",
       "      type: DT_STRING\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"value\"\n",
       "    value {\n",
       "      tensor {\n",
       "        dtype: DT_STRING\n",
       "        tensor_shape {\n",
       "        }\n",
       "        string_val: \"Reg_loss\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"Entropy/tags\"\n",
       "  op: \"Const\"\n",
       "  attr {\n",
       "    key: \"dtype\"\n",
       "    value {\n",
       "      type: DT_STRING\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"value\"\n",
       "    value {\n",
       "      tensor {\n",
       "        dtype: DT_STRING\n",
       "        tensor_shape {\n",
       "        }\n",
       "        string_val: \"Entropy\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"Const_4\"\n",
       "  op: \"Const\"\n",
       "  attr {\n",
       "    key: \"dtype\"\n",
       "    value {\n",
       "      type: DT_INT32\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"value\"\n",
       "    value {\n",
       "      tensor {\n",
       "        dtype: DT_INT32\n",
       "        tensor_shape {\n",
       "          dim {\n",
       "            size: 1\n",
       "          }\n",
       "        }\n",
       "        int_val: 0\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"softmax_cross_entropy_with_logits_sg/Slice_2/begin\"\n",
       "  op: \"Const\"\n",
       "  attr {\n",
       "    key: \"dtype\"\n",
       "    value {\n",
       "      type: DT_INT32\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"value\"\n",
       "    value {\n",
       "      tensor {\n",
       "        dtype: DT_INT32\n",
       "        tensor_shape {\n",
       "          dim {\n",
       "            size: 1\n",
       "          }\n",
       "        }\n",
       "        int_val: 0\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"softmax_cross_entropy_with_logits_sg/Sub_2/y\"\n",
       "  op: \"Const\"\n",
       "  attr {\n",
       "    key: \"dtype\"\n",
       "    value {\n",
       "      type: DT_INT32\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"value\"\n",
       "    value {\n",
       "      tensor {\n",
       "        dtype: DT_INT32\n",
       "        tensor_shape {\n",
       "        }\n",
       "        int_val: 1\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"softmax_cross_entropy_with_logits_sg/concat_1/axis\"\n",
       "  op: \"Const\"\n",
       "  attr {\n",
       "    key: \"dtype\"\n",
       "    value {\n",
       "      type: DT_INT32\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"value\"\n",
       "    value {\n",
       "      tensor {\n",
       "        dtype: DT_INT32\n",
       "        tensor_shape {\n",
       "        }\n",
       "        int_val: 0\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"softmax_cross_entropy_with_logits_sg/concat_1/values_0\"\n",
       "  op: \"Const\"\n",
       "  attr {\n",
       "    key: \"dtype\"\n",
       "    value {\n",
       "      type: DT_INT32\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"value\"\n",
       "    value {\n",
       "      tensor {\n",
       "        dtype: DT_INT32\n",
       "        tensor_shape {\n",
       "          dim {\n",
       "            size: 1\n",
       "          }\n",
       "        }\n",
       "        int_val: -1\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"softmax_cross_entropy_with_logits_sg/Slice_1/size\"\n",
       "  op: \"Const\"\n",
       "  attr {\n",
       "    key: \"dtype\"\n",
       "    value {\n",
       "      type: DT_INT32\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"value\"\n",
       "    value {\n",
       "      tensor {\n",
       "        dtype: DT_INT32\n",
       "        tensor_shape {\n",
       "          dim {\n",
       "            size: 1\n",
       "          }\n",
       "        }\n",
       "        int_val: 1\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"softmax_cross_entropy_with_logits_sg/Sub_1/y\"\n",
       "  op: \"Const\"\n",
       "  attr {\n",
       "    key: \"dtype\"\n",
       "    value {\n",
       "      type: DT_INT32\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"value\"\n",
       "    value {\n",
       "      tensor {\n",
       "        dtype: DT_INT32\n",
       "        tensor_shape {\n",
       "        }\n",
       "        int_val: 1\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"softmax_cross_entropy_with_logits_sg/Rank_2\"\n",
       "  op: \"Const\"\n",
       "  attr {\n",
       "    key: \"dtype\"\n",
       "    value {\n",
       "      type: DT_INT32\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"value\"\n",
       "    value {\n",
       "      tensor {\n",
       "        dtype: DT_INT32\n",
       "        tensor_shape {\n",
       "        }\n",
       "        int_val: 2\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"softmax_cross_entropy_with_logits_sg/Sub_1\"\n",
       "  op: \"Sub\"\n",
       "  input: \"softmax_cross_entropy_with_logits_sg/Rank_2\"\n",
       "  input: \"softmax_cross_entropy_with_logits_sg/Sub_1/y\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_INT32\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"softmax_cross_entropy_with_logits_sg/Slice_1/begin\"\n",
       "  op: \"Pack\"\n",
       "  input: \"softmax_cross_entropy_with_logits_sg/Sub_1\"\n",
       "  attr {\n",
       "    key: \"N\"\n",
       "    value {\n",
       "      i: 1\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_INT32\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"axis\"\n",
       "    value {\n",
       "      i: 0\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"softmax_cross_entropy_with_logits_sg/concat/axis\"\n",
       "  op: \"Const\"\n",
       "  attr {\n",
       "    key: \"dtype\"\n",
       "    value {\n",
       "      type: DT_INT32\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"value\"\n",
       "    value {\n",
       "      tensor {\n",
       "        dtype: DT_INT32\n",
       "        tensor_shape {\n",
       "        }\n",
       "        int_val: 0\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"softmax_cross_entropy_with_logits_sg/concat/values_0\"\n",
       "  op: \"Const\"\n",
       "  attr {\n",
       "    key: \"dtype\"\n",
       "    value {\n",
       "      type: DT_INT32\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"value\"\n",
       "    value {\n",
       "      tensor {\n",
       "        dtype: DT_INT32\n",
       "        tensor_shape {\n",
       "          dim {\n",
       "            size: 1\n",
       "          }\n",
       "        }\n",
       "        int_val: -1\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"softmax_cross_entropy_with_logits_sg/Slice/size\"\n",
       "  op: \"Const\"\n",
       "  attr {\n",
       "    key: \"dtype\"\n",
       "    value {\n",
       "      type: DT_INT32\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"value\"\n",
       "    value {\n",
       "      tensor {\n",
       "        dtype: DT_INT32\n",
       "        tensor_shape {\n",
       "          dim {\n",
       "            size: 1\n",
       "          }\n",
       "        }\n",
       "        int_val: 1\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"softmax_cross_entropy_with_logits_sg/Sub/y\"\n",
       "  op: \"Const\"\n",
       "  attr {\n",
       "    key: \"dtype\"\n",
       "    value {\n",
       "      type: DT_INT32\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"value\"\n",
       "    value {\n",
       "      tensor {\n",
       "        dtype: DT_INT32\n",
       "        tensor_shape {\n",
       "        }\n",
       "        int_val: 1\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"softmax_cross_entropy_with_logits_sg/Rank_1\"\n",
       "  op: \"Const\"\n",
       "  attr {\n",
       "    key: \"dtype\"\n",
       "    value {\n",
       "      type: DT_INT32\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"value\"\n",
       "    value {\n",
       "      tensor {\n",
       "        dtype: DT_INT32\n",
       "        tensor_shape {\n",
       "        }\n",
       "        int_val: 2\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"softmax_cross_entropy_with_logits_sg/Sub\"\n",
       "  op: \"Sub\"\n",
       "  input: \"softmax_cross_entropy_with_logits_sg/Rank_1\"\n",
       "  input: \"softmax_cross_entropy_with_logits_sg/Sub/y\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_INT32\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"softmax_cross_entropy_with_logits_sg/Slice/begin\"\n",
       "  op: \"Pack\"\n",
       "  input: \"softmax_cross_entropy_with_logits_sg/Sub\"\n",
       "  attr {\n",
       "    key: \"N\"\n",
       "    value {\n",
       "      i: 1\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_INT32\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"axis\"\n",
       "    value {\n",
       "      i: 0\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"softmax_cross_entropy_with_logits_sg/Rank\"\n",
       "  op: \"Const\"\n",
       "  attr {\n",
       "    key: \"dtype\"\n",
       "    value {\n",
       "      type: DT_INT32\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"value\"\n",
       "    value {\n",
       "      tensor {\n",
       "        dtype: DT_INT32\n",
       "        tensor_shape {\n",
       "        }\n",
       "        int_val: 2\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"softmax_cross_entropy_with_logits_sg/Sub_2\"\n",
       "  op: \"Sub\"\n",
       "  input: \"softmax_cross_entropy_with_logits_sg/Rank\"\n",
       "  input: \"softmax_cross_entropy_with_logits_sg/Sub_2/y\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_INT32\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"softmax_cross_entropy_with_logits_sg/Slice_2/size\"\n",
       "  op: \"Pack\"\n",
       "  input: \"softmax_cross_entropy_with_logits_sg/Sub_2\"\n",
       "  attr {\n",
       "    key: \"N\"\n",
       "    value {\n",
       "      i: 1\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_INT32\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"axis\"\n",
       "    value {\n",
       "      i: 0\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"fc_2/b_fc2/tag\"\n",
       "  op: \"Const\"\n",
       "  attr {\n",
       "    key: \"dtype\"\n",
       "    value {\n",
       "      type: DT_STRING\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"value\"\n",
       "    value {\n",
       "      tensor {\n",
       "        dtype: DT_STRING\n",
       "        tensor_shape {\n",
       "        }\n",
       "        string_val: \"fc_2/b_fc2\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"fc_2/W_fc2/tag\"\n",
       "  op: \"Const\"\n",
       "  attr {\n",
       "    key: \"dtype\"\n",
       "    value {\n",
       "      type: DT_STRING\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"value\"\n",
       "    value {\n",
       "      tensor {\n",
       "        dtype: DT_STRING\n",
       "        tensor_shape {\n",
       "        }\n",
       "        string_val: \"fc_2/W_fc2\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"fc_1/dropout/random_uniform/max\"\n",
       "  op: \"Const\"\n",
       "  attr {\n",
       "    key: \"dtype\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"value\"\n",
       "    value {\n",
       "      tensor {\n",
       "        dtype: DT_FLOAT\n",
       "        tensor_shape {\n",
       "        }\n",
       "        float_val: 1.0\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"fc_1/dropout/random_uniform/min\"\n",
       "  op: \"Const\"\n",
       "  attr {\n",
       "    key: \"dtype\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"value\"\n",
       "    value {\n",
       "      tensor {\n",
       "        dtype: DT_FLOAT\n",
       "        tensor_shape {\n",
       "        }\n",
       "        float_val: 0.0\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"fc_1/dropout/random_uniform/sub\"\n",
       "  op: \"Sub\"\n",
       "  input: \"fc_1/dropout/random_uniform/max\"\n",
       "  input: \"fc_1/dropout/random_uniform/min\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"fc_1/dropout/keep_prob\"\n",
       "  op: \"Const\"\n",
       "  attr {\n",
       "    key: \"dtype\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"value\"\n",
       "    value {\n",
       "      tensor {\n",
       "        dtype: DT_FLOAT\n",
       "        tensor_shape {\n",
       "        }\n",
       "        float_val: 0.5\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"fc_1/b_fc1/tag\"\n",
       "  op: \"Const\"\n",
       "  attr {\n",
       "    key: \"dtype\"\n",
       "    value {\n",
       "      type: DT_STRING\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"value\"\n",
       "    value {\n",
       "      tensor {\n",
       "        dtype: DT_STRING\n",
       "        tensor_shape {\n",
       "        }\n",
       "        string_val: \"fc_1/b_fc1\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"fc_1/W_fc1/tag\"\n",
       "  op: \"Const\"\n",
       "  attr {\n",
       "    key: \"dtype\"\n",
       "    value {\n",
       "      type: DT_STRING\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"value\"\n",
       "    value {\n",
       "      tensor {\n",
       "        dtype: DT_STRING\n",
       "        tensor_shape {\n",
       "        }\n",
       "        string_val: \"fc_1/W_fc1\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"fc_1/Reshape/shape\"\n",
       "  op: \"Const\"\n",
       "  attr {\n",
       "    key: \"dtype\"\n",
       "    value {\n",
       "      type: DT_INT32\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"value\"\n",
       "    value {\n",
       "      tensor {\n",
       "        dtype: DT_INT32\n",
       "        tensor_shape {\n",
       "          dim {\n",
       "            size: 2\n",
       "          }\n",
       "        }\n",
       "        tensor_content: \"\\377\\377\\377\\377\\000$\\000\\000\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"conv2/b_conv2/tag\"\n",
       "  op: \"Const\"\n",
       "  attr {\n",
       "    key: \"dtype\"\n",
       "    value {\n",
       "      type: DT_STRING\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"value\"\n",
       "    value {\n",
       "      tensor {\n",
       "        dtype: DT_STRING\n",
       "        tensor_shape {\n",
       "        }\n",
       "        string_val: \"conv2/b_conv2\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"conv2/W_conv2/tag\"\n",
       "  op: \"Const\"\n",
       "  attr {\n",
       "    key: \"dtype\"\n",
       "    value {\n",
       "      type: DT_STRING\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"value\"\n",
       "    value {\n",
       "      tensor {\n",
       "        dtype: DT_STRING\n",
       "        tensor_shape {\n",
       "        }\n",
       "        string_val: \"conv2/W_conv2\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"conv1/b_conv1/tag\"\n",
       "  op: \"Const\"\n",
       "  attr {\n",
       "    key: \"dtype\"\n",
       "    value {\n",
       "      type: DT_STRING\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"value\"\n",
       "    value {\n",
       "      tensor {\n",
       "        dtype: DT_STRING\n",
       "        tensor_shape {\n",
       "        }\n",
       "        string_val: \"conv1/b_conv1\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"conv1/W_conv1/tag\"\n",
       "  op: \"Const\"\n",
       "  attr {\n",
       "    key: \"dtype\"\n",
       "    value {\n",
       "      type: DT_STRING\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"value\"\n",
       "    value {\n",
       "      tensor {\n",
       "        dtype: DT_STRING\n",
       "        tensor_shape {\n",
       "        }\n",
       "        string_val: \"conv1/W_conv1\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"Placeholder_1\"\n",
       "  op: \"Placeholder\"\n",
       "  attr {\n",
       "    key: \"dtype\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"shape\"\n",
       "    value {\n",
       "      shape {\n",
       "        dim {\n",
       "          size: -1\n",
       "        }\n",
       "        dim {\n",
       "          size: 7\n",
       "        }\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"softmax_cross_entropy_with_logits_sg/labels_stop_gradient\"\n",
       "  op: \"StopGradient\"\n",
       "  input: \"Placeholder_1\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"softmax_cross_entropy_with_logits_sg/Shape_2\"\n",
       "  op: \"Shape\"\n",
       "  input: \"softmax_cross_entropy_with_logits_sg/labels_stop_gradient\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"out_type\"\n",
       "    value {\n",
       "      type: DT_INT32\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"softmax_cross_entropy_with_logits_sg/Slice_1\"\n",
       "  op: \"Slice\"\n",
       "  input: \"softmax_cross_entropy_with_logits_sg/Shape_2\"\n",
       "  input: \"softmax_cross_entropy_with_logits_sg/Slice_1/begin\"\n",
       "  input: \"softmax_cross_entropy_with_logits_sg/Slice_1/size\"\n",
       "  attr {\n",
       "    key: \"Index\"\n",
       "    value {\n",
       "      type: DT_INT32\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_INT32\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"softmax_cross_entropy_with_logits_sg/concat_1\"\n",
       "  op: \"ConcatV2\"\n",
       "  input: \"softmax_cross_entropy_with_logits_sg/concat_1/values_0\"\n",
       "  input: \"softmax_cross_entropy_with_logits_sg/Slice_1\"\n",
       "  input: \"softmax_cross_entropy_with_logits_sg/concat_1/axis\"\n",
       "  attr {\n",
       "    key: \"N\"\n",
       "    value {\n",
       "      i: 2\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_INT32\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"Tidx\"\n",
       "    value {\n",
       "      type: DT_INT32\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"softmax_cross_entropy_with_logits_sg/Reshape_1\"\n",
       "  op: \"Reshape\"\n",
       "  input: \"softmax_cross_entropy_with_logits_sg/labels_stop_gradient\"\n",
       "  input: \"softmax_cross_entropy_with_logits_sg/concat_1\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"Tshape\"\n",
       "    value {\n",
       "      type: DT_INT32\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"input\"\n",
       "  op: \"Placeholder\"\n",
       "  attr {\n",
       "    key: \"dtype\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"shape\"\n",
       "    value {\n",
       "      shape {\n",
       "        dim {\n",
       "          size: -1\n",
       "        }\n",
       "        dim {\n",
       "          size: 48\n",
       "        }\n",
       "        dim {\n",
       "          size: 48\n",
       "        }\n",
       "        dim {\n",
       "          size: 1\n",
       "        }\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"Placeholder\"\n",
       "  op: \"Placeholder\"\n",
       "  attr {\n",
       "    key: \"dtype\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"shape\"\n",
       "    value {\n",
       "      shape {\n",
       "        unknown_rank: true\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"Variable\"\n",
       "  op: \"VariableV2\"\n",
       "  attr {\n",
       "    key: \"container\"\n",
       "    value {\n",
       "      s: \"\"\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"dtype\"\n",
       "    value {\n",
       "      type: DT_INT32\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"shape\"\n",
       "    value {\n",
       "      shape {\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"shared_name\"\n",
       "    value {\n",
       "      s: \"\"\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"save/Assign\"\n",
       "  op: \"Assign\"\n",
       "  input: \"Variable\"\n",
       "  input: \"save/RestoreV2\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_INT32\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@Variable\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"use_locking\"\n",
       "    value {\n",
       "      b: true\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"validate_shape\"\n",
       "    value {\n",
       "      b: true\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"Variable/read\"\n",
       "  op: \"Identity\"\n",
       "  input: \"Variable\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_INT32\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@Variable\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"Variable/initial_value\"\n",
       "  op: \"Const\"\n",
       "  attr {\n",
       "    key: \"dtype\"\n",
       "    value {\n",
       "      type: DT_INT32\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"value\"\n",
       "    value {\n",
       "      tensor {\n",
       "        dtype: DT_INT32\n",
       "        tensor_shape {\n",
       "        }\n",
       "        int_val: 0\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"Variable/Assign\"\n",
       "  op: \"Assign\"\n",
       "  input: \"Variable\"\n",
       "  input: \"Variable/initial_value\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_INT32\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@Variable\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"use_locking\"\n",
       "    value {\n",
       "      b: true\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"validate_shape\"\n",
       "    value {\n",
       "      b: true\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"b_fc2\"\n",
       "  op: \"VariableV2\"\n",
       "  attr {\n",
       "    key: \"container\"\n",
       "    value {\n",
       "      s: \"\"\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"dtype\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"shape\"\n",
       "    value {\n",
       "      shape {\n",
       "        dim {\n",
       "          size: 7\n",
       "        }\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"shared_name\"\n",
       "    value {\n",
       "      s: \"\"\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"save/Assign_22\"\n",
       "  op: \"Assign\"\n",
       "  input: \"b_fc2\"\n",
       "  input: \"save/RestoreV2:22\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@b_fc2\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"use_locking\"\n",
       "    value {\n",
       "      b: true\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"validate_shape\"\n",
       "    value {\n",
       "      b: true\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"b_fc2/read\"\n",
       "  op: \"Identity\"\n",
       "  input: \"b_fc2\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@b_fc2\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"fc_2/b_fc2\"\n",
       "  op: \"HistogramSummary\"\n",
       "  input: \"fc_2/b_fc2/tag\"\n",
       "  input: \"b_fc2/read\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"Const_3\"\n",
       "  op: \"Const\"\n",
       "  attr {\n",
       "    key: \"dtype\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"value\"\n",
       "    value {\n",
       "      tensor {\n",
       "        dtype: DT_FLOAT\n",
       "        tensor_shape {\n",
       "          dim {\n",
       "            size: 7\n",
       "          }\n",
       "        }\n",
       "        float_val: 0.0\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"b_fc2/Assign\"\n",
       "  op: \"Assign\"\n",
       "  input: \"b_fc2\"\n",
       "  input: \"Const_3\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@b_fc2\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"use_locking\"\n",
       "    value {\n",
       "      b: true\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"validate_shape\"\n",
       "    value {\n",
       "      b: true\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"b_fc1\"\n",
       "  op: \"VariableV2\"\n",
       "  attr {\n",
       "    key: \"container\"\n",
       "    value {\n",
       "      s: \"\"\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"dtype\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"shape\"\n",
       "    value {\n",
       "      shape {\n",
       "        dim {\n",
       "          size: 256\n",
       "        }\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"shared_name\"\n",
       "    value {\n",
       "      s: \"\"\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"save/Assign_19\"\n",
       "  op: \"Assign\"\n",
       "  input: \"b_fc1\"\n",
       "  input: \"save/RestoreV2:19\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@b_fc1\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"use_locking\"\n",
       "    value {\n",
       "      b: true\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"validate_shape\"\n",
       "    value {\n",
       "      b: true\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"b_fc1/read\"\n",
       "  op: \"Identity\"\n",
       "  input: \"b_fc1\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@b_fc1\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"fc_1/b_fc1\"\n",
       "  op: \"HistogramSummary\"\n",
       "  input: \"fc_1/b_fc1/tag\"\n",
       "  input: \"b_fc1/read\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"Const_2\"\n",
       "  op: \"Const\"\n",
       "  attr {\n",
       "    key: \"dtype\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"value\"\n",
       "    value {\n",
       "      tensor {\n",
       "        dtype: DT_FLOAT\n",
       "        tensor_shape {\n",
       "          dim {\n",
       "            size: 256\n",
       "          }\n",
       "        }\n",
       "        float_val: 0.0\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"b_fc1/Assign\"\n",
       "  op: \"Assign\"\n",
       "  input: \"b_fc1\"\n",
       "  input: \"Const_2\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@b_fc1\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"use_locking\"\n",
       "    value {\n",
       "      b: true\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"validate_shape\"\n",
       "    value {\n",
       "      b: true\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"b_conv2\"\n",
       "  op: \"VariableV2\"\n",
       "  attr {\n",
       "    key: \"container\"\n",
       "    value {\n",
       "      s: \"\"\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"dtype\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"shape\"\n",
       "    value {\n",
       "      shape {\n",
       "        dim {\n",
       "          size: 64\n",
       "        }\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"shared_name\"\n",
       "    value {\n",
       "      s: \"\"\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"save/Assign_16\"\n",
       "  op: \"Assign\"\n",
       "  input: \"b_conv2\"\n",
       "  input: \"save/RestoreV2:16\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@b_conv2\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"use_locking\"\n",
       "    value {\n",
       "      b: true\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"validate_shape\"\n",
       "    value {\n",
       "      b: true\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"b_conv2/read\"\n",
       "  op: \"Identity\"\n",
       "  input: \"b_conv2\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@b_conv2\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"conv2/L2Loss_1\"\n",
       "  op: \"L2Loss\"\n",
       "  input: \"b_conv2/read\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"conv2/b_conv2\"\n",
       "  op: \"HistogramSummary\"\n",
       "  input: \"conv2/b_conv2/tag\"\n",
       "  input: \"b_conv2/read\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"Const_1\"\n",
       "  op: \"Const\"\n",
       "  attr {\n",
       "    key: \"dtype\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"value\"\n",
       "    value {\n",
       "      tensor {\n",
       "        dtype: DT_FLOAT\n",
       "        tensor_shape {\n",
       "          dim {\n",
       "            size: 64\n",
       "          }\n",
       "        }\n",
       "        float_val: 0.0\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"b_conv2/Assign\"\n",
       "  op: \"Assign\"\n",
       "  input: \"b_conv2\"\n",
       "  input: \"Const_1\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@b_conv2\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"use_locking\"\n",
       "    value {\n",
       "      b: true\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"validate_shape\"\n",
       "    value {\n",
       "      b: true\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"b_conv1\"\n",
       "  op: \"VariableV2\"\n",
       "  attr {\n",
       "    key: \"container\"\n",
       "    value {\n",
       "      s: \"\"\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"dtype\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"shape\"\n",
       "    value {\n",
       "      shape {\n",
       "        dim {\n",
       "          size: 32\n",
       "        }\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"shared_name\"\n",
       "    value {\n",
       "      s: \"\"\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"save/Assign_13\"\n",
       "  op: \"Assign\"\n",
       "  input: \"b_conv1\"\n",
       "  input: \"save/RestoreV2:13\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@b_conv1\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"use_locking\"\n",
       "    value {\n",
       "      b: true\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"validate_shape\"\n",
       "    value {\n",
       "      b: true\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"b_conv1/read\"\n",
       "  op: \"Identity\"\n",
       "  input: \"b_conv1\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@b_conv1\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"conv1/L2Loss_1\"\n",
       "  op: \"L2Loss\"\n",
       "  input: \"b_conv1/read\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"conv1/b_conv1\"\n",
       "  op: \"HistogramSummary\"\n",
       "  input: \"conv1/b_conv1/tag\"\n",
       "  input: \"b_conv1/read\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"Const\"\n",
       "  op: \"Const\"\n",
       "  attr {\n",
       "    key: \"dtype\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"value\"\n",
       "    value {\n",
       "      tensor {\n",
       "        dtype: DT_FLOAT\n",
       "        tensor_shape {\n",
       "          dim {\n",
       "            size: 32\n",
       "          }\n",
       "        }\n",
       "        float_val: 0.0\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"b_conv1/Assign\"\n",
       "  op: \"Assign\"\n",
       "  input: \"b_conv1\"\n",
       "  input: \"Const\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@b_conv1\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"use_locking\"\n",
       "    value {\n",
       "      b: true\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"validate_shape\"\n",
       "    value {\n",
       "      b: true\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"W_fc2\"\n",
       "  op: \"VariableV2\"\n",
       "  attr {\n",
       "    key: \"container\"\n",
       "    value {\n",
       "      s: \"\"\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"dtype\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"shape\"\n",
       "    value {\n",
       "      shape {\n",
       "        dim {\n",
       "          size: 256\n",
       "        }\n",
       "        dim {\n",
       "          size: 7\n",
       "        }\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"shared_name\"\n",
       "    value {\n",
       "      s: \"\"\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"save/Assign_10\"\n",
       "  op: \"Assign\"\n",
       "  input: \"W_fc2\"\n",
       "  input: \"save/RestoreV2:10\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@W_fc2\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"use_locking\"\n",
       "    value {\n",
       "      b: true\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"validate_shape\"\n",
       "    value {\n",
       "      b: true\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"W_fc2/read\"\n",
       "  op: \"Identity\"\n",
       "  input: \"W_fc2\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@W_fc2\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"fc_2/W_fc2\"\n",
       "  op: \"HistogramSummary\"\n",
       "  input: \"fc_2/W_fc2/tag\"\n",
       "  input: \"W_fc2/read\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"truncated_normal_3/stddev\"\n",
       "  op: \"Const\"\n",
       "  attr {\n",
       "    key: \"dtype\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"value\"\n",
       "    value {\n",
       "      tensor {\n",
       "        dtype: DT_FLOAT\n",
       "        tensor_shape {\n",
       "        }\n",
       "        float_val: 0.019999999552965164\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"truncated_normal_3/mean\"\n",
       "  op: \"Const\"\n",
       "  attr {\n",
       "    key: \"dtype\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"value\"\n",
       "    value {\n",
       "      tensor {\n",
       "        dtype: DT_FLOAT\n",
       "        tensor_shape {\n",
       "        }\n",
       "        float_val: 0.0\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"truncated_normal_3/shape\"\n",
       "  op: \"Const\"\n",
       "  attr {\n",
       "    key: \"dtype\"\n",
       "    value {\n",
       "      type: DT_INT32\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"value\"\n",
       "    value {\n",
       "      tensor {\n",
       "        dtype: DT_INT32\n",
       "        tensor_shape {\n",
       "          dim {\n",
       "            size: 2\n",
       "          }\n",
       "        }\n",
       "        tensor_content: \"\\000\\001\\000\\000\\007\\000\\000\\000\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"truncated_normal_3/TruncatedNormal\"\n",
       "  op: \"TruncatedNormal\"\n",
       "  input: \"truncated_normal_3/shape\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_INT32\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"dtype\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"seed\"\n",
       "    value {\n",
       "      i: 0\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"seed2\"\n",
       "    value {\n",
       "      i: 0\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"truncated_normal_3/mul\"\n",
       "  op: \"Mul\"\n",
       "  input: \"truncated_normal_3/TruncatedNormal\"\n",
       "  input: \"truncated_normal_3/stddev\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"truncated_normal_3\"\n",
       "  op: \"Add\"\n",
       "  input: \"truncated_normal_3/mul\"\n",
       "  input: \"truncated_normal_3/mean\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"W_fc2/Assign\"\n",
       "  op: \"Assign\"\n",
       "  input: \"W_fc2\"\n",
       "  input: \"truncated_normal_3\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@W_fc2\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"use_locking\"\n",
       "    value {\n",
       "      b: true\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"validate_shape\"\n",
       "    value {\n",
       "      b: true\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"W_fc1\"\n",
       "  op: \"VariableV2\"\n",
       "  attr {\n",
       "    key: \"container\"\n",
       "    value {\n",
       "      s: \"\"\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"dtype\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"shape\"\n",
       "    value {\n",
       "      shape {\n",
       "        dim {\n",
       "          size: 9216\n",
       "        }\n",
       "        dim {\n",
       "          size: 256\n",
       "        }\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"shared_name\"\n",
       "    value {\n",
       "      s: \"\"\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"save/Assign_7\"\n",
       "  op: \"Assign\"\n",
       "  input: \"W_fc1\"\n",
       "  input: \"save/RestoreV2:7\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@W_fc1\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"use_locking\"\n",
       "    value {\n",
       "      b: true\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"validate_shape\"\n",
       "    value {\n",
       "      b: true\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"W_fc1/read\"\n",
       "  op: \"Identity\"\n",
       "  input: \"W_fc1\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@W_fc1\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"fc_1/W_fc1\"\n",
       "  op: \"HistogramSummary\"\n",
       "  input: \"fc_1/W_fc1/tag\"\n",
       "  input: \"W_fc1/read\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"truncated_normal_2/stddev\"\n",
       "  op: \"Const\"\n",
       "  attr {\n",
       "    key: \"dtype\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"value\"\n",
       "    value {\n",
       "      tensor {\n",
       "        dtype: DT_FLOAT\n",
       "        tensor_shape {\n",
       "        }\n",
       "        float_val: 0.019999999552965164\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"truncated_normal_2/mean\"\n",
       "  op: \"Const\"\n",
       "  attr {\n",
       "    key: \"dtype\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"value\"\n",
       "    value {\n",
       "      tensor {\n",
       "        dtype: DT_FLOAT\n",
       "        tensor_shape {\n",
       "        }\n",
       "        float_val: 0.0\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"truncated_normal_2/shape\"\n",
       "  op: \"Const\"\n",
       "  attr {\n",
       "    key: \"dtype\"\n",
       "    value {\n",
       "      type: DT_INT32\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"value\"\n",
       "    value {\n",
       "      tensor {\n",
       "        dtype: DT_INT32\n",
       "        tensor_shape {\n",
       "          dim {\n",
       "            size: 2\n",
       "          }\n",
       "        }\n",
       "        tensor_content: \"\\000$\\000\\000\\000\\001\\000\\000\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"truncated_normal_2/TruncatedNormal\"\n",
       "  op: \"TruncatedNormal\"\n",
       "  input: \"truncated_normal_2/shape\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_INT32\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"dtype\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"seed\"\n",
       "    value {\n",
       "      i: 0\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"seed2\"\n",
       "    value {\n",
       "      i: 0\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"truncated_normal_2/mul\"\n",
       "  op: \"Mul\"\n",
       "  input: \"truncated_normal_2/TruncatedNormal\"\n",
       "  input: \"truncated_normal_2/stddev\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"truncated_normal_2\"\n",
       "  op: \"Add\"\n",
       "  input: \"truncated_normal_2/mul\"\n",
       "  input: \"truncated_normal_2/mean\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"W_fc1/Assign\"\n",
       "  op: \"Assign\"\n",
       "  input: \"W_fc1\"\n",
       "  input: \"truncated_normal_2\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@W_fc1\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"use_locking\"\n",
       "    value {\n",
       "      b: true\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"validate_shape\"\n",
       "    value {\n",
       "      b: true\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"W_conv2\"\n",
       "  op: \"VariableV2\"\n",
       "  attr {\n",
       "    key: \"container\"\n",
       "    value {\n",
       "      s: \"\"\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"dtype\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"shape\"\n",
       "    value {\n",
       "      shape {\n",
       "        dim {\n",
       "          size: 3\n",
       "        }\n",
       "        dim {\n",
       "          size: 3\n",
       "        }\n",
       "        dim {\n",
       "          size: 32\n",
       "        }\n",
       "        dim {\n",
       "          size: 64\n",
       "        }\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"shared_name\"\n",
       "    value {\n",
       "      s: \"\"\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"save/Assign_4\"\n",
       "  op: \"Assign\"\n",
       "  input: \"W_conv2\"\n",
       "  input: \"save/RestoreV2:4\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@W_conv2\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"use_locking\"\n",
       "    value {\n",
       "      b: true\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"validate_shape\"\n",
       "    value {\n",
       "      b: true\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"W_conv2/read\"\n",
       "  op: \"Identity\"\n",
       "  input: \"W_conv2\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@W_conv2\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"conv2/L2Loss\"\n",
       "  op: \"L2Loss\"\n",
       "  input: \"W_conv2/read\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"conv2/W_conv2\"\n",
       "  op: \"HistogramSummary\"\n",
       "  input: \"conv2/W_conv2/tag\"\n",
       "  input: \"W_conv2/read\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"truncated_normal_1/stddev\"\n",
       "  op: \"Const\"\n",
       "  attr {\n",
       "    key: \"dtype\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"value\"\n",
       "    value {\n",
       "      tensor {\n",
       "        dtype: DT_FLOAT\n",
       "        tensor_shape {\n",
       "        }\n",
       "        float_val: 0.019999999552965164\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"truncated_normal_1/mean\"\n",
       "  op: \"Const\"\n",
       "  attr {\n",
       "    key: \"dtype\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"value\"\n",
       "    value {\n",
       "      tensor {\n",
       "        dtype: DT_FLOAT\n",
       "        tensor_shape {\n",
       "        }\n",
       "        float_val: 0.0\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"truncated_normal_1/shape\"\n",
       "  op: \"Const\"\n",
       "  attr {\n",
       "    key: \"dtype\"\n",
       "    value {\n",
       "      type: DT_INT32\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"value\"\n",
       "    value {\n",
       "      tensor {\n",
       "        dtype: DT_INT32\n",
       "        tensor_shape {\n",
       "          dim {\n",
       "            size: 4\n",
       "          }\n",
       "        }\n",
       "        tensor_content: \"\\003\\000\\000\\000\\003\\000\\000\\000 \\000\\000\\000@\\000\\000\\000\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"truncated_normal_1/TruncatedNormal\"\n",
       "  op: \"TruncatedNormal\"\n",
       "  input: \"truncated_normal_1/shape\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_INT32\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"dtype\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"seed\"\n",
       "    value {\n",
       "      i: 0\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"seed2\"\n",
       "    value {\n",
       "      i: 0\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"truncated_normal_1/mul\"\n",
       "  op: \"Mul\"\n",
       "  input: \"truncated_normal_1/TruncatedNormal\"\n",
       "  input: \"truncated_normal_1/stddev\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"truncated_normal_1\"\n",
       "  op: \"Add\"\n",
       "  input: \"truncated_normal_1/mul\"\n",
       "  input: \"truncated_normal_1/mean\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"W_conv2/Assign\"\n",
       "  op: \"Assign\"\n",
       "  input: \"W_conv2\"\n",
       "  input: \"truncated_normal_1\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@W_conv2\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"use_locking\"\n",
       "    value {\n",
       "      b: true\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"validate_shape\"\n",
       "    value {\n",
       "      b: true\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"W_conv1\"\n",
       "  op: \"VariableV2\"\n",
       "  attr {\n",
       "    key: \"container\"\n",
       "    value {\n",
       "      s: \"\"\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"dtype\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"shape\"\n",
       "    value {\n",
       "      shape {\n",
       "        dim {\n",
       "          size: 5\n",
       "        }\n",
       "        dim {\n",
       "          size: 5\n",
       "        }\n",
       "        dim {\n",
       "          size: 1\n",
       "        }\n",
       "        dim {\n",
       "          size: 32\n",
       "        }\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"shared_name\"\n",
       "    value {\n",
       "      s: \"\"\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"save/Assign_1\"\n",
       "  op: \"Assign\"\n",
       "  input: \"W_conv1\"\n",
       "  input: \"save/RestoreV2:1\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@W_conv1\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"use_locking\"\n",
       "    value {\n",
       "      b: true\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"validate_shape\"\n",
       "    value {\n",
       "      b: true\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"save/restore_all\"\n",
       "  op: \"NoOp\"\n",
       "  input: \"^save/Assign\"\n",
       "  input: \"^save/Assign_1\"\n",
       "  input: \"^save/Assign_10\"\n",
       "  input: \"^save/Assign_11\"\n",
       "  input: \"^save/Assign_12\"\n",
       "  input: \"^save/Assign_13\"\n",
       "  input: \"^save/Assign_14\"\n",
       "  input: \"^save/Assign_15\"\n",
       "  input: \"^save/Assign_16\"\n",
       "  input: \"^save/Assign_17\"\n",
       "  input: \"^save/Assign_18\"\n",
       "  input: \"^save/Assign_19\"\n",
       "  input: \"^save/Assign_2\"\n",
       "  input: \"^save/Assign_20\"\n",
       "  input: \"^save/Assign_21\"\n",
       "  input: \"^save/Assign_22\"\n",
       "  input: \"^save/Assign_23\"\n",
       "  input: \"^save/Assign_24\"\n",
       "  input: \"^save/Assign_25\"\n",
       "  input: \"^save/Assign_26\"\n",
       "  input: \"^save/Assign_3\"\n",
       "  input: \"^save/Assign_4\"\n",
       "  input: \"^save/Assign_5\"\n",
       "  input: \"^save/Assign_6\"\n",
       "  input: \"^save/Assign_7\"\n",
       "  input: \"^save/Assign_8\"\n",
       "  input: \"^save/Assign_9\"\n",
       "}\n",
       "node {\n",
       "  name: \"save/SaveV2\"\n",
       "  op: \"SaveV2\"\n",
       "  input: \"save/Const\"\n",
       "  input: \"save/SaveV2/tensor_names\"\n",
       "  input: \"save/SaveV2/shape_and_slices\"\n",
       "  input: \"Variable\"\n",
       "  input: \"W_conv1\"\n",
       "  input: \"W_conv1/Adam\"\n",
       "  input: \"W_conv1/Adam_1\"\n",
       "  input: \"W_conv2\"\n",
       "  input: \"W_conv2/Adam\"\n",
       "  input: \"W_conv2/Adam_1\"\n",
       "  input: \"W_fc1\"\n",
       "  input: \"W_fc1/Adam\"\n",
       "  input: \"W_fc1/Adam_1\"\n",
       "  input: \"W_fc2\"\n",
       "  input: \"W_fc2/Adam\"\n",
       "  input: \"W_fc2/Adam_1\"\n",
       "  input: \"b_conv1\"\n",
       "  input: \"b_conv1/Adam\"\n",
       "  input: \"b_conv1/Adam_1\"\n",
       "  input: \"b_conv2\"\n",
       "  input: \"b_conv2/Adam\"\n",
       "  input: \"b_conv2/Adam_1\"\n",
       "  input: \"b_fc1\"\n",
       "  input: \"b_fc1/Adam\"\n",
       "  input: \"b_fc1/Adam_1\"\n",
       "  input: \"b_fc2\"\n",
       "  input: \"b_fc2/Adam\"\n",
       "  input: \"b_fc2/Adam_1\"\n",
       "  input: \"beta1_power\"\n",
       "  input: \"beta2_power\"\n",
       "  attr {\n",
       "    key: \"dtypes\"\n",
       "    value {\n",
       "      list {\n",
       "        type: DT_INT32\n",
       "        type: DT_FLOAT\n",
       "        type: DT_FLOAT\n",
       "        type: DT_FLOAT\n",
       "        type: DT_FLOAT\n",
       "        type: DT_FLOAT\n",
       "        type: DT_FLOAT\n",
       "        type: DT_FLOAT\n",
       "        type: DT_FLOAT\n",
       "        type: DT_FLOAT\n",
       "        type: DT_FLOAT\n",
       "        type: DT_FLOAT\n",
       "        type: DT_FLOAT\n",
       "        type: DT_FLOAT\n",
       "        type: DT_FLOAT\n",
       "        type: DT_FLOAT\n",
       "        type: DT_FLOAT\n",
       "        type: DT_FLOAT\n",
       "        type: DT_FLOAT\n",
       "        type: DT_FLOAT\n",
       "        type: DT_FLOAT\n",
       "        type: DT_FLOAT\n",
       "        type: DT_FLOAT\n",
       "        type: DT_FLOAT\n",
       "        type: DT_FLOAT\n",
       "        type: DT_FLOAT\n",
       "        type: DT_FLOAT\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"save/control_dependency\"\n",
       "  op: \"Identity\"\n",
       "  input: \"save/Const\"\n",
       "  input: \"^save/SaveV2\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_STRING\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@save/Const\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"W_conv1/read\"\n",
       "  op: \"Identity\"\n",
       "  input: \"W_conv1\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@W_conv1\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"gradients/conv1/Conv2D_grad/ShapeN\"\n",
       "  op: \"ShapeN\"\n",
       "  input: \"input\"\n",
       "  input: \"W_conv1/read\"\n",
       "  attr {\n",
       "    key: \"N\"\n",
       "    value {\n",
       "      i: 2\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"out_type\"\n",
       "    value {\n",
       "      type: DT_INT32\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"conv1/L2Loss\"\n",
       "  op: \"L2Loss\"\n",
       "  input: \"W_conv1/read\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"AddN\"\n",
       "  op: \"AddN\"\n",
       "  input: \"conv1/L2Loss\"\n",
       "  input: \"conv1/L2Loss_1\"\n",
       "  input: \"conv2/L2Loss\"\n",
       "  input: \"conv2/L2Loss_1\"\n",
       "  attr {\n",
       "    key: \"N\"\n",
       "    value {\n",
       "      i: 4\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"gradients/mul_grad/Mul\"\n",
       "  op: \"Mul\"\n",
       "  input: \"gradients/add_grad/tuple/control_dependency_1\"\n",
       "  input: \"AddN\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"gradients/mul_grad/tuple/group_deps\"\n",
       "  op: \"NoOp\"\n",
       "  input: \"^gradients/mul_grad/Mul\"\n",
       "  input: \"^gradients/mul_grad/Mul_1\"\n",
       "}\n",
       "node {\n",
       "  name: \"gradients/mul_grad/tuple/control_dependency_1\"\n",
       "  op: \"Identity\"\n",
       "  input: \"gradients/mul_grad/Mul_1\"\n",
       "  input: \"^gradients/mul_grad/tuple/group_deps\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@gradients/mul_grad/Mul_1\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"gradients/AddN_grad/tuple/group_deps\"\n",
       "  op: \"NoOp\"\n",
       "  input: \"^gradients/mul_grad/tuple/control_dependency_1\"\n",
       "}\n",
       "node {\n",
       "  name: \"gradients/AddN_grad/tuple/control_dependency_3\"\n",
       "  op: \"Identity\"\n",
       "  input: \"gradients/mul_grad/tuple/control_dependency_1\"\n",
       "  input: \"^gradients/AddN_grad/tuple/group_deps\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@gradients/mul_grad/Mul_1\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"gradients/conv2/L2Loss_1_grad/mul\"\n",
       "  op: \"Mul\"\n",
       "  input: \"b_conv2/read\"\n",
       "  input: \"gradients/AddN_grad/tuple/control_dependency_3\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"gradients/AddN_grad/tuple/control_dependency_2\"\n",
       "  op: \"Identity\"\n",
       "  input: \"gradients/mul_grad/tuple/control_dependency_1\"\n",
       "  input: \"^gradients/AddN_grad/tuple/group_deps\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@gradients/mul_grad/Mul_1\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"gradients/conv2/L2Loss_grad/mul\"\n",
       "  op: \"Mul\"\n",
       "  input: \"W_conv2/read\"\n",
       "  input: \"gradients/AddN_grad/tuple/control_dependency_2\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"gradients/AddN_grad/tuple/control_dependency_1\"\n",
       "  op: \"Identity\"\n",
       "  input: \"gradients/mul_grad/tuple/control_dependency_1\"\n",
       "  input: \"^gradients/AddN_grad/tuple/group_deps\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@gradients/mul_grad/Mul_1\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"gradients/conv1/L2Loss_1_grad/mul\"\n",
       "  op: \"Mul\"\n",
       "  input: \"b_conv1/read\"\n",
       "  input: \"gradients/AddN_grad/tuple/control_dependency_1\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"gradients/AddN_grad/tuple/control_dependency\"\n",
       "  op: \"Identity\"\n",
       "  input: \"gradients/mul_grad/tuple/control_dependency_1\"\n",
       "  input: \"^gradients/AddN_grad/tuple/group_deps\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@gradients/mul_grad/Mul_1\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"gradients/conv1/L2Loss_grad/mul\"\n",
       "  op: \"Mul\"\n",
       "  input: \"W_conv1/read\"\n",
       "  input: \"gradients/AddN_grad/tuple/control_dependency\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"gradients/mul_grad/tuple/control_dependency\"\n",
       "  op: \"Identity\"\n",
       "  input: \"gradients/mul_grad/Mul\"\n",
       "  input: \"^gradients/mul_grad/tuple/group_deps\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@gradients/mul_grad/Mul\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"mul\"\n",
       "  op: \"Mul\"\n",
       "  input: \"mul/x\"\n",
       "  input: \"AddN\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"Reg_loss\"\n",
       "  op: \"ScalarSummary\"\n",
       "  input: \"Reg_loss/tags\"\n",
       "  input: \"AddN\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"conv1/Conv2D\"\n",
       "  op: \"Conv2D\"\n",
       "  input: \"input\"\n",
       "  input: \"W_conv1/read\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"data_format\"\n",
       "    value {\n",
       "      s: \"NHWC\"\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"dilations\"\n",
       "    value {\n",
       "      list {\n",
       "        i: 1\n",
       "        i: 1\n",
       "        i: 1\n",
       "        i: 1\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"padding\"\n",
       "    value {\n",
       "      s: \"SAME\"\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"strides\"\n",
       "    value {\n",
       "      list {\n",
       "        i: 1\n",
       "        i: 1\n",
       "        i: 1\n",
       "        i: 1\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"use_cudnn_on_gpu\"\n",
       "    value {\n",
       "      b: true\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"conv1/BiasAdd\"\n",
       "  op: \"BiasAdd\"\n",
       "  input: \"conv1/Conv2D\"\n",
       "  input: \"b_conv1/read\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"data_format\"\n",
       "    value {\n",
       "      s: \"NHWC\"\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"conv1/Relu\"\n",
       "  op: \"Relu\"\n",
       "  input: \"conv1/BiasAdd\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"conv1/MaxPool\"\n",
       "  op: \"MaxPool\"\n",
       "  input: \"conv1/Relu\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"data_format\"\n",
       "    value {\n",
       "      s: \"NHWC\"\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"ksize\"\n",
       "    value {\n",
       "      list {\n",
       "        i: 1\n",
       "        i: 2\n",
       "        i: 2\n",
       "        i: 1\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"padding\"\n",
       "    value {\n",
       "      s: \"SAME\"\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"strides\"\n",
       "    value {\n",
       "      list {\n",
       "        i: 1\n",
       "        i: 2\n",
       "        i: 2\n",
       "        i: 1\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"gradients/conv2/Conv2D_grad/ShapeN\"\n",
       "  op: \"ShapeN\"\n",
       "  input: \"conv1/MaxPool\"\n",
       "  input: \"W_conv2/read\"\n",
       "  attr {\n",
       "    key: \"N\"\n",
       "    value {\n",
       "      i: 2\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"out_type\"\n",
       "    value {\n",
       "      type: DT_INT32\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"conv2/Conv2D\"\n",
       "  op: \"Conv2D\"\n",
       "  input: \"conv1/MaxPool\"\n",
       "  input: \"W_conv2/read\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"data_format\"\n",
       "    value {\n",
       "      s: \"NHWC\"\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"dilations\"\n",
       "    value {\n",
       "      list {\n",
       "        i: 1\n",
       "        i: 1\n",
       "        i: 1\n",
       "        i: 1\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"padding\"\n",
       "    value {\n",
       "      s: \"SAME\"\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"strides\"\n",
       "    value {\n",
       "      list {\n",
       "        i: 1\n",
       "        i: 1\n",
       "        i: 1\n",
       "        i: 1\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"use_cudnn_on_gpu\"\n",
       "    value {\n",
       "      b: true\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"conv2/BiasAdd\"\n",
       "  op: \"BiasAdd\"\n",
       "  input: \"conv2/Conv2D\"\n",
       "  input: \"b_conv2/read\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"data_format\"\n",
       "    value {\n",
       "      s: \"NHWC\"\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"conv2/Relu\"\n",
       "  op: \"Relu\"\n",
       "  input: \"conv2/BiasAdd\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"conv2/MaxPool\"\n",
       "  op: \"MaxPool\"\n",
       "  input: \"conv2/Relu\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"data_format\"\n",
       "    value {\n",
       "      s: \"NHWC\"\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"ksize\"\n",
       "    value {\n",
       "      list {\n",
       "        i: 1\n",
       "        i: 2\n",
       "        i: 2\n",
       "        i: 1\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"padding\"\n",
       "    value {\n",
       "      s: \"SAME\"\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"strides\"\n",
       "    value {\n",
       "      list {\n",
       "        i: 1\n",
       "        i: 2\n",
       "        i: 2\n",
       "        i: 1\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"gradients/fc_1/Reshape_grad/Shape\"\n",
       "  op: \"Shape\"\n",
       "  input: \"conv2/MaxPool\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"out_type\"\n",
       "    value {\n",
       "      type: DT_INT32\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"fc_1/Reshape\"\n",
       "  op: \"Reshape\"\n",
       "  input: \"conv2/MaxPool\"\n",
       "  input: \"fc_1/Reshape/shape\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"Tshape\"\n",
       "    value {\n",
       "      type: DT_INT32\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"fc_1/MatMul\"\n",
       "  op: \"MatMul\"\n",
       "  input: \"fc_1/Reshape\"\n",
       "  input: \"W_fc1/read\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"transpose_a\"\n",
       "    value {\n",
       "      b: false\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"transpose_b\"\n",
       "    value {\n",
       "      b: false\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"gradients/fc_1/add_grad/Shape\"\n",
       "  op: \"Shape\"\n",
       "  input: \"fc_1/MatMul\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"out_type\"\n",
       "    value {\n",
       "      type: DT_INT32\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"gradients/fc_1/add_grad/BroadcastGradientArgs\"\n",
       "  op: \"BroadcastGradientArgs\"\n",
       "  input: \"gradients/fc_1/add_grad/Shape\"\n",
       "  input: \"gradients/fc_1/add_grad/Shape_1\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_INT32\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"fc_1/add\"\n",
       "  op: \"Add\"\n",
       "  input: \"fc_1/MatMul\"\n",
       "  input: \"b_fc1/read\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"fc_1/Relu\"\n",
       "  op: \"Relu\"\n",
       "  input: \"fc_1/add\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"gradients/fc_1/dropout/div_grad/Neg\"\n",
       "  op: \"Neg\"\n",
       "  input: \"fc_1/Relu\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"gradients/fc_1/dropout/div_grad/RealDiv_1\"\n",
       "  op: \"RealDiv\"\n",
       "  input: \"gradients/fc_1/dropout/div_grad/Neg\"\n",
       "  input: \"fc_1/dropout/keep_prob\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"gradients/fc_1/dropout/div_grad/RealDiv_2\"\n",
       "  op: \"RealDiv\"\n",
       "  input: \"gradients/fc_1/dropout/div_grad/RealDiv_1\"\n",
       "  input: \"fc_1/dropout/keep_prob\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"gradients/fc_1/dropout/div_grad/Shape\"\n",
       "  op: \"Shape\"\n",
       "  input: \"fc_1/Relu\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"out_type\"\n",
       "    value {\n",
       "      type: DT_INT32\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"gradients/fc_1/dropout/div_grad/BroadcastGradientArgs\"\n",
       "  op: \"BroadcastGradientArgs\"\n",
       "  input: \"gradients/fc_1/dropout/div_grad/Shape\"\n",
       "  input: \"gradients/fc_1/dropout/div_grad/Shape_1\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_INT32\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"fc_1/dropout/div\"\n",
       "  op: \"RealDiv\"\n",
       "  input: \"fc_1/Relu\"\n",
       "  input: \"fc_1/dropout/keep_prob\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"gradients/fc_1/dropout/mul_grad/Shape\"\n",
       "  op: \"Shape\"\n",
       "  input: \"fc_1/dropout/div\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"out_type\"\n",
       "    value {\n",
       "      type: DT_INT32\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"fc_1/dropout/Shape\"\n",
       "  op: \"Shape\"\n",
       "  input: \"fc_1/Relu\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"out_type\"\n",
       "    value {\n",
       "      type: DT_INT32\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"fc_1/dropout/random_uniform/RandomUniform\"\n",
       "  op: \"RandomUniform\"\n",
       "  input: \"fc_1/dropout/Shape\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_INT32\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"dtype\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"seed\"\n",
       "    value {\n",
       "      i: 0\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"seed2\"\n",
       "    value {\n",
       "      i: 0\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"fc_1/dropout/random_uniform/mul\"\n",
       "  op: \"Mul\"\n",
       "  input: \"fc_1/dropout/random_uniform/RandomUniform\"\n",
       "  input: \"fc_1/dropout/random_uniform/sub\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"fc_1/dropout/random_uniform\"\n",
       "  op: \"Add\"\n",
       "  input: \"fc_1/dropout/random_uniform/mul\"\n",
       "  input: \"fc_1/dropout/random_uniform/min\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"fc_1/dropout/add\"\n",
       "  op: \"Add\"\n",
       "  input: \"fc_1/dropout/keep_prob\"\n",
       "  input: \"fc_1/dropout/random_uniform\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"fc_1/dropout/Floor\"\n",
       "  op: \"Floor\"\n",
       "  input: \"fc_1/dropout/add\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"gradients/fc_1/dropout/mul_grad/Shape_1\"\n",
       "  op: \"Shape\"\n",
       "  input: \"fc_1/dropout/Floor\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"out_type\"\n",
       "    value {\n",
       "      type: DT_INT32\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"gradients/fc_1/dropout/mul_grad/BroadcastGradientArgs\"\n",
       "  op: \"BroadcastGradientArgs\"\n",
       "  input: \"gradients/fc_1/dropout/mul_grad/Shape\"\n",
       "  input: \"gradients/fc_1/dropout/mul_grad/Shape_1\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_INT32\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"fc_1/dropout/mul\"\n",
       "  op: \"Mul\"\n",
       "  input: \"fc_1/dropout/div\"\n",
       "  input: \"fc_1/dropout/Floor\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"fc_2/MatMul\"\n",
       "  op: \"MatMul\"\n",
       "  input: \"fc_1/dropout/mul\"\n",
       "  input: \"W_fc2/read\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"transpose_a\"\n",
       "    value {\n",
       "      b: false\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"transpose_b\"\n",
       "    value {\n",
       "      b: false\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"gradients/fc_2/add_grad/Shape\"\n",
       "  op: \"Shape\"\n",
       "  input: \"fc_2/MatMul\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"out_type\"\n",
       "    value {\n",
       "      type: DT_INT32\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"gradients/fc_2/add_grad/BroadcastGradientArgs\"\n",
       "  op: \"BroadcastGradientArgs\"\n",
       "  input: \"gradients/fc_2/add_grad/Shape\"\n",
       "  input: \"gradients/fc_2/add_grad/Shape_1\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_INT32\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"fc_2/add\"\n",
       "  op: \"Add\"\n",
       "  input: \"fc_2/MatMul\"\n",
       "  input: \"b_fc2/read\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"gradients/softmax_cross_entropy_with_logits_sg/Reshape_grad/Shape\"\n",
       "  op: \"Shape\"\n",
       "  input: \"fc_2/add\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"out_type\"\n",
       "    value {\n",
       "      type: DT_INT32\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"softmax_cross_entropy_with_logits_sg/Shape_1\"\n",
       "  op: \"Shape\"\n",
       "  input: \"fc_2/add\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"out_type\"\n",
       "    value {\n",
       "      type: DT_INT32\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"softmax_cross_entropy_with_logits_sg/Slice\"\n",
       "  op: \"Slice\"\n",
       "  input: \"softmax_cross_entropy_with_logits_sg/Shape_1\"\n",
       "  input: \"softmax_cross_entropy_with_logits_sg/Slice/begin\"\n",
       "  input: \"softmax_cross_entropy_with_logits_sg/Slice/size\"\n",
       "  attr {\n",
       "    key: \"Index\"\n",
       "    value {\n",
       "      type: DT_INT32\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_INT32\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"softmax_cross_entropy_with_logits_sg/concat\"\n",
       "  op: \"ConcatV2\"\n",
       "  input: \"softmax_cross_entropy_with_logits_sg/concat/values_0\"\n",
       "  input: \"softmax_cross_entropy_with_logits_sg/Slice\"\n",
       "  input: \"softmax_cross_entropy_with_logits_sg/concat/axis\"\n",
       "  attr {\n",
       "    key: \"N\"\n",
       "    value {\n",
       "      i: 2\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_INT32\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"Tidx\"\n",
       "    value {\n",
       "      type: DT_INT32\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"softmax_cross_entropy_with_logits_sg/Reshape\"\n",
       "  op: \"Reshape\"\n",
       "  input: \"fc_2/add\"\n",
       "  input: \"softmax_cross_entropy_with_logits_sg/concat\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"Tshape\"\n",
       "    value {\n",
       "      type: DT_INT32\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"gradients/softmax_cross_entropy_with_logits_sg_grad/LogSoftmax\"\n",
       "  op: \"LogSoftmax\"\n",
       "  input: \"softmax_cross_entropy_with_logits_sg/Reshape\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"gradients/softmax_cross_entropy_with_logits_sg_grad/Neg\"\n",
       "  op: \"Neg\"\n",
       "  input: \"gradients/softmax_cross_entropy_with_logits_sg_grad/LogSoftmax\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"softmax_cross_entropy_with_logits_sg\"\n",
       "  op: \"SoftmaxCrossEntropyWithLogits\"\n",
       "  input: \"softmax_cross_entropy_with_logits_sg/Reshape\"\n",
       "  input: \"softmax_cross_entropy_with_logits_sg/Reshape_1\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"gradients/zeros_like\"\n",
       "  op: \"ZerosLike\"\n",
       "  input: \"softmax_cross_entropy_with_logits_sg:1\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"gradients/softmax_cross_entropy_with_logits_sg/Reshape_2_grad/Shape\"\n",
       "  op: \"Shape\"\n",
       "  input: \"softmax_cross_entropy_with_logits_sg\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"out_type\"\n",
       "    value {\n",
       "      type: DT_INT32\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"softmax_cross_entropy_with_logits_sg/Shape\"\n",
       "  op: \"Shape\"\n",
       "  input: \"fc_2/add\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"out_type\"\n",
       "    value {\n",
       "      type: DT_INT32\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"softmax_cross_entropy_with_logits_sg/Slice_2\"\n",
       "  op: \"Slice\"\n",
       "  input: \"softmax_cross_entropy_with_logits_sg/Shape\"\n",
       "  input: \"softmax_cross_entropy_with_logits_sg/Slice_2/begin\"\n",
       "  input: \"softmax_cross_entropy_with_logits_sg/Slice_2/size\"\n",
       "  attr {\n",
       "    key: \"Index\"\n",
       "    value {\n",
       "      type: DT_INT32\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_INT32\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"softmax_cross_entropy_with_logits_sg/Reshape_2\"\n",
       "  op: \"Reshape\"\n",
       "  input: \"softmax_cross_entropy_with_logits_sg\"\n",
       "  input: \"softmax_cross_entropy_with_logits_sg/Slice_2\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"Tshape\"\n",
       "    value {\n",
       "      type: DT_INT32\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"gradients/Mean_grad/Shape_1\"\n",
       "  op: \"Shape\"\n",
       "  input: \"softmax_cross_entropy_with_logits_sg/Reshape_2\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"out_type\"\n",
       "    value {\n",
       "      type: DT_INT32\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"gradients/Mean_grad/Prod\"\n",
       "  op: \"Prod\"\n",
       "  input: \"gradients/Mean_grad/Shape_1\"\n",
       "  input: \"gradients/Mean_grad/Const\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_INT32\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"Tidx\"\n",
       "    value {\n",
       "      type: DT_INT32\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"keep_dims\"\n",
       "    value {\n",
       "      b: false\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"gradients/Mean_grad/floordiv\"\n",
       "  op: \"FloorDiv\"\n",
       "  input: \"gradients/Mean_grad/Prod\"\n",
       "  input: \"gradients/Mean_grad/Maximum\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_INT32\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"gradients/Mean_grad/Cast\"\n",
       "  op: \"Cast\"\n",
       "  input: \"gradients/Mean_grad/floordiv\"\n",
       "  attr {\n",
       "    key: \"DstT\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"SrcT\"\n",
       "    value {\n",
       "      type: DT_INT32\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"gradients/Mean_grad/Shape\"\n",
       "  op: \"Shape\"\n",
       "  input: \"softmax_cross_entropy_with_logits_sg/Reshape_2\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"out_type\"\n",
       "    value {\n",
       "      type: DT_INT32\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"gradients/Mean_grad/Tile\"\n",
       "  op: \"Tile\"\n",
       "  input: \"gradients/Mean_grad/Reshape\"\n",
       "  input: \"gradients/Mean_grad/Shape\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"Tmultiples\"\n",
       "    value {\n",
       "      type: DT_INT32\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"gradients/Mean_grad/truediv\"\n",
       "  op: \"RealDiv\"\n",
       "  input: \"gradients/Mean_grad/Tile\"\n",
       "  input: \"gradients/Mean_grad/Cast\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"gradients/softmax_cross_entropy_with_logits_sg/Reshape_2_grad/Reshape\"\n",
       "  op: \"Reshape\"\n",
       "  input: \"gradients/Mean_grad/truediv\"\n",
       "  input: \"gradients/softmax_cross_entropy_with_logits_sg/Reshape_2_grad/Shape\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"Tshape\"\n",
       "    value {\n",
       "      type: DT_INT32\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"gradients/softmax_cross_entropy_with_logits_sg_grad/ExpandDims_1\"\n",
       "  op: \"ExpandDims\"\n",
       "  input: \"gradients/softmax_cross_entropy_with_logits_sg/Reshape_2_grad/Reshape\"\n",
       "  input: \"gradients/softmax_cross_entropy_with_logits_sg_grad/ExpandDims_1/dim\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"Tdim\"\n",
       "    value {\n",
       "      type: DT_INT32\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"gradients/softmax_cross_entropy_with_logits_sg_grad/mul_1\"\n",
       "  op: \"Mul\"\n",
       "  input: \"gradients/softmax_cross_entropy_with_logits_sg_grad/ExpandDims_1\"\n",
       "  input: \"gradients/softmax_cross_entropy_with_logits_sg_grad/Neg\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"gradients/softmax_cross_entropy_with_logits_sg_grad/ExpandDims\"\n",
       "  op: \"ExpandDims\"\n",
       "  input: \"gradients/softmax_cross_entropy_with_logits_sg/Reshape_2_grad/Reshape\"\n",
       "  input: \"gradients/softmax_cross_entropy_with_logits_sg_grad/ExpandDims/dim\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"Tdim\"\n",
       "    value {\n",
       "      type: DT_INT32\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"gradients/softmax_cross_entropy_with_logits_sg_grad/mul\"\n",
       "  op: \"Mul\"\n",
       "  input: \"gradients/softmax_cross_entropy_with_logits_sg_grad/ExpandDims\"\n",
       "  input: \"softmax_cross_entropy_with_logits_sg:1\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"gradients/softmax_cross_entropy_with_logits_sg_grad/tuple/group_deps\"\n",
       "  op: \"NoOp\"\n",
       "  input: \"^gradients/softmax_cross_entropy_with_logits_sg_grad/mul\"\n",
       "  input: \"^gradients/softmax_cross_entropy_with_logits_sg_grad/mul_1\"\n",
       "}\n",
       "node {\n",
       "  name: \"gradients/softmax_cross_entropy_with_logits_sg_grad/tuple/control_dependency_1\"\n",
       "  op: \"Identity\"\n",
       "  input: \"gradients/softmax_cross_entropy_with_logits_sg_grad/mul_1\"\n",
       "  input: \"^gradients/softmax_cross_entropy_with_logits_sg_grad/tuple/group_deps\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@gradients/softmax_cross_entropy_with_logits_sg_grad/mul_1\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"gradients/softmax_cross_entropy_with_logits_sg_grad/tuple/control_dependency\"\n",
       "  op: \"Identity\"\n",
       "  input: \"gradients/softmax_cross_entropy_with_logits_sg_grad/mul\"\n",
       "  input: \"^gradients/softmax_cross_entropy_with_logits_sg_grad/tuple/group_deps\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@gradients/softmax_cross_entropy_with_logits_sg_grad/mul\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"gradients/softmax_cross_entropy_with_logits_sg/Reshape_grad/Reshape\"\n",
       "  op: \"Reshape\"\n",
       "  input: \"gradients/softmax_cross_entropy_with_logits_sg_grad/tuple/control_dependency\"\n",
       "  input: \"gradients/softmax_cross_entropy_with_logits_sg/Reshape_grad/Shape\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"Tshape\"\n",
       "    value {\n",
       "      type: DT_INT32\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"gradients/fc_2/add_grad/Sum_1\"\n",
       "  op: \"Sum\"\n",
       "  input: \"gradients/softmax_cross_entropy_with_logits_sg/Reshape_grad/Reshape\"\n",
       "  input: \"gradients/fc_2/add_grad/BroadcastGradientArgs:1\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"Tidx\"\n",
       "    value {\n",
       "      type: DT_INT32\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"keep_dims\"\n",
       "    value {\n",
       "      b: false\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"gradients/fc_2/add_grad/Reshape_1\"\n",
       "  op: \"Reshape\"\n",
       "  input: \"gradients/fc_2/add_grad/Sum_1\"\n",
       "  input: \"gradients/fc_2/add_grad/Shape_1\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"Tshape\"\n",
       "    value {\n",
       "      type: DT_INT32\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"gradients/fc_2/add_grad/Sum\"\n",
       "  op: \"Sum\"\n",
       "  input: \"gradients/softmax_cross_entropy_with_logits_sg/Reshape_grad/Reshape\"\n",
       "  input: \"gradients/fc_2/add_grad/BroadcastGradientArgs\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"Tidx\"\n",
       "    value {\n",
       "      type: DT_INT32\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"keep_dims\"\n",
       "    value {\n",
       "      b: false\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"gradients/fc_2/add_grad/Reshape\"\n",
       "  op: \"Reshape\"\n",
       "  input: \"gradients/fc_2/add_grad/Sum\"\n",
       "  input: \"gradients/fc_2/add_grad/Shape\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"Tshape\"\n",
       "    value {\n",
       "      type: DT_INT32\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"gradients/fc_2/add_grad/tuple/group_deps\"\n",
       "  op: \"NoOp\"\n",
       "  input: \"^gradients/fc_2/add_grad/Reshape\"\n",
       "  input: \"^gradients/fc_2/add_grad/Reshape_1\"\n",
       "}\n",
       "node {\n",
       "  name: \"gradients/fc_2/add_grad/tuple/control_dependency_1\"\n",
       "  op: \"Identity\"\n",
       "  input: \"gradients/fc_2/add_grad/Reshape_1\"\n",
       "  input: \"^gradients/fc_2/add_grad/tuple/group_deps\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@gradients/fc_2/add_grad/Reshape_1\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"Adam/update_b_fc2/ApplyAdam\"\n",
       "  op: \"ApplyAdam\"\n",
       "  input: \"b_fc2\"\n",
       "  input: \"b_fc2/Adam\"\n",
       "  input: \"b_fc2/Adam_1\"\n",
       "  input: \"beta1_power/read\"\n",
       "  input: \"beta2_power/read\"\n",
       "  input: \"Adam/learning_rate\"\n",
       "  input: \"Adam/beta1\"\n",
       "  input: \"Adam/beta2\"\n",
       "  input: \"Adam/epsilon\"\n",
       "  input: \"gradients/fc_2/add_grad/tuple/control_dependency_1\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@b_fc2\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"use_locking\"\n",
       "    value {\n",
       "      b: false\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"use_nesterov\"\n",
       "    value {\n",
       "      b: false\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"gradients/fc_2/add_grad/tuple/control_dependency\"\n",
       "  op: \"Identity\"\n",
       "  input: \"gradients/fc_2/add_grad/Reshape\"\n",
       "  input: \"^gradients/fc_2/add_grad/tuple/group_deps\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@gradients/fc_2/add_grad/Reshape\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"gradients/fc_2/MatMul_grad/MatMul_1\"\n",
       "  op: \"MatMul\"\n",
       "  input: \"fc_1/dropout/mul\"\n",
       "  input: \"gradients/fc_2/add_grad/tuple/control_dependency\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"transpose_a\"\n",
       "    value {\n",
       "      b: true\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"transpose_b\"\n",
       "    value {\n",
       "      b: false\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"gradients/fc_2/MatMul_grad/MatMul\"\n",
       "  op: \"MatMul\"\n",
       "  input: \"gradients/fc_2/add_grad/tuple/control_dependency\"\n",
       "  input: \"W_fc2/read\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"transpose_a\"\n",
       "    value {\n",
       "      b: false\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"transpose_b\"\n",
       "    value {\n",
       "      b: true\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"gradients/fc_2/MatMul_grad/tuple/group_deps\"\n",
       "  op: \"NoOp\"\n",
       "  input: \"^gradients/fc_2/MatMul_grad/MatMul\"\n",
       "  input: \"^gradients/fc_2/MatMul_grad/MatMul_1\"\n",
       "}\n",
       "node {\n",
       "  name: \"gradients/fc_2/MatMul_grad/tuple/control_dependency_1\"\n",
       "  op: \"Identity\"\n",
       "  input: \"gradients/fc_2/MatMul_grad/MatMul_1\"\n",
       "  input: \"^gradients/fc_2/MatMul_grad/tuple/group_deps\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@gradients/fc_2/MatMul_grad/MatMul_1\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"Adam/update_W_fc2/ApplyAdam\"\n",
       "  op: \"ApplyAdam\"\n",
       "  input: \"W_fc2\"\n",
       "  input: \"W_fc2/Adam\"\n",
       "  input: \"W_fc2/Adam_1\"\n",
       "  input: \"beta1_power/read\"\n",
       "  input: \"beta2_power/read\"\n",
       "  input: \"Adam/learning_rate\"\n",
       "  input: \"Adam/beta1\"\n",
       "  input: \"Adam/beta2\"\n",
       "  input: \"Adam/epsilon\"\n",
       "  input: \"gradients/fc_2/MatMul_grad/tuple/control_dependency_1\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@W_fc2\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"use_locking\"\n",
       "    value {\n",
       "      b: false\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"use_nesterov\"\n",
       "    value {\n",
       "      b: false\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"gradients/fc_2/MatMul_grad/tuple/control_dependency\"\n",
       "  op: \"Identity\"\n",
       "  input: \"gradients/fc_2/MatMul_grad/MatMul\"\n",
       "  input: \"^gradients/fc_2/MatMul_grad/tuple/group_deps\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@gradients/fc_2/MatMul_grad/MatMul\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"gradients/fc_1/dropout/mul_grad/Mul_1\"\n",
       "  op: \"Mul\"\n",
       "  input: \"fc_1/dropout/div\"\n",
       "  input: \"gradients/fc_2/MatMul_grad/tuple/control_dependency\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"gradients/fc_1/dropout/mul_grad/Sum_1\"\n",
       "  op: \"Sum\"\n",
       "  input: \"gradients/fc_1/dropout/mul_grad/Mul_1\"\n",
       "  input: \"gradients/fc_1/dropout/mul_grad/BroadcastGradientArgs:1\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"Tidx\"\n",
       "    value {\n",
       "      type: DT_INT32\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"keep_dims\"\n",
       "    value {\n",
       "      b: false\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"gradients/fc_1/dropout/mul_grad/Reshape_1\"\n",
       "  op: \"Reshape\"\n",
       "  input: \"gradients/fc_1/dropout/mul_grad/Sum_1\"\n",
       "  input: \"gradients/fc_1/dropout/mul_grad/Shape_1\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"Tshape\"\n",
       "    value {\n",
       "      type: DT_INT32\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"gradients/fc_1/dropout/mul_grad/Mul\"\n",
       "  op: \"Mul\"\n",
       "  input: \"gradients/fc_2/MatMul_grad/tuple/control_dependency\"\n",
       "  input: \"fc_1/dropout/Floor\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"gradients/fc_1/dropout/mul_grad/Sum\"\n",
       "  op: \"Sum\"\n",
       "  input: \"gradients/fc_1/dropout/mul_grad/Mul\"\n",
       "  input: \"gradients/fc_1/dropout/mul_grad/BroadcastGradientArgs\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"Tidx\"\n",
       "    value {\n",
       "      type: DT_INT32\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"keep_dims\"\n",
       "    value {\n",
       "      b: false\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"gradients/fc_1/dropout/mul_grad/Reshape\"\n",
       "  op: \"Reshape\"\n",
       "  input: \"gradients/fc_1/dropout/mul_grad/Sum\"\n",
       "  input: \"gradients/fc_1/dropout/mul_grad/Shape\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"Tshape\"\n",
       "    value {\n",
       "      type: DT_INT32\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"gradients/fc_1/dropout/mul_grad/tuple/group_deps\"\n",
       "  op: \"NoOp\"\n",
       "  input: \"^gradients/fc_1/dropout/mul_grad/Reshape\"\n",
       "  input: \"^gradients/fc_1/dropout/mul_grad/Reshape_1\"\n",
       "}\n",
       "node {\n",
       "  name: \"gradients/fc_1/dropout/mul_grad/tuple/control_dependency_1\"\n",
       "  op: \"Identity\"\n",
       "  input: \"gradients/fc_1/dropout/mul_grad/Reshape_1\"\n",
       "  input: \"^gradients/fc_1/dropout/mul_grad/tuple/group_deps\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@gradients/fc_1/dropout/mul_grad/Reshape_1\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"gradients/fc_1/dropout/mul_grad/tuple/control_dependency\"\n",
       "  op: \"Identity\"\n",
       "  input: \"gradients/fc_1/dropout/mul_grad/Reshape\"\n",
       "  input: \"^gradients/fc_1/dropout/mul_grad/tuple/group_deps\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@gradients/fc_1/dropout/mul_grad/Reshape\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"gradients/fc_1/dropout/div_grad/mul\"\n",
       "  op: \"Mul\"\n",
       "  input: \"gradients/fc_1/dropout/mul_grad/tuple/control_dependency\"\n",
       "  input: \"gradients/fc_1/dropout/div_grad/RealDiv_2\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"gradients/fc_1/dropout/div_grad/Sum_1\"\n",
       "  op: \"Sum\"\n",
       "  input: \"gradients/fc_1/dropout/div_grad/mul\"\n",
       "  input: \"gradients/fc_1/dropout/div_grad/BroadcastGradientArgs:1\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"Tidx\"\n",
       "    value {\n",
       "      type: DT_INT32\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"keep_dims\"\n",
       "    value {\n",
       "      b: false\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"gradients/fc_1/dropout/div_grad/Reshape_1\"\n",
       "  op: \"Reshape\"\n",
       "  input: \"gradients/fc_1/dropout/div_grad/Sum_1\"\n",
       "  input: \"gradients/fc_1/dropout/div_grad/Shape_1\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"Tshape\"\n",
       "    value {\n",
       "      type: DT_INT32\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"gradients/fc_1/dropout/div_grad/RealDiv\"\n",
       "  op: \"RealDiv\"\n",
       "  input: \"gradients/fc_1/dropout/mul_grad/tuple/control_dependency\"\n",
       "  input: \"fc_1/dropout/keep_prob\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"gradients/fc_1/dropout/div_grad/Sum\"\n",
       "  op: \"Sum\"\n",
       "  input: \"gradients/fc_1/dropout/div_grad/RealDiv\"\n",
       "  input: \"gradients/fc_1/dropout/div_grad/BroadcastGradientArgs\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"Tidx\"\n",
       "    value {\n",
       "      type: DT_INT32\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"keep_dims\"\n",
       "    value {\n",
       "      b: false\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"gradients/fc_1/dropout/div_grad/Reshape\"\n",
       "  op: \"Reshape\"\n",
       "  input: \"gradients/fc_1/dropout/div_grad/Sum\"\n",
       "  input: \"gradients/fc_1/dropout/div_grad/Shape\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"Tshape\"\n",
       "    value {\n",
       "      type: DT_INT32\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"gradients/fc_1/dropout/div_grad/tuple/group_deps\"\n",
       "  op: \"NoOp\"\n",
       "  input: \"^gradients/fc_1/dropout/div_grad/Reshape\"\n",
       "  input: \"^gradients/fc_1/dropout/div_grad/Reshape_1\"\n",
       "}\n",
       "node {\n",
       "  name: \"gradients/fc_1/dropout/div_grad/tuple/control_dependency_1\"\n",
       "  op: \"Identity\"\n",
       "  input: \"gradients/fc_1/dropout/div_grad/Reshape_1\"\n",
       "  input: \"^gradients/fc_1/dropout/div_grad/tuple/group_deps\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@gradients/fc_1/dropout/div_grad/Reshape_1\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"gradients/fc_1/dropout/div_grad/tuple/control_dependency\"\n",
       "  op: \"Identity\"\n",
       "  input: \"gradients/fc_1/dropout/div_grad/Reshape\"\n",
       "  input: \"^gradients/fc_1/dropout/div_grad/tuple/group_deps\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@gradients/fc_1/dropout/div_grad/Reshape\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"gradients/fc_1/Relu_grad/ReluGrad\"\n",
       "  op: \"ReluGrad\"\n",
       "  input: \"gradients/fc_1/dropout/div_grad/tuple/control_dependency\"\n",
       "  input: \"fc_1/Relu\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"gradients/fc_1/add_grad/Sum_1\"\n",
       "  op: \"Sum\"\n",
       "  input: \"gradients/fc_1/Relu_grad/ReluGrad\"\n",
       "  input: \"gradients/fc_1/add_grad/BroadcastGradientArgs:1\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"Tidx\"\n",
       "    value {\n",
       "      type: DT_INT32\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"keep_dims\"\n",
       "    value {\n",
       "      b: false\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"gradients/fc_1/add_grad/Reshape_1\"\n",
       "  op: \"Reshape\"\n",
       "  input: \"gradients/fc_1/add_grad/Sum_1\"\n",
       "  input: \"gradients/fc_1/add_grad/Shape_1\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"Tshape\"\n",
       "    value {\n",
       "      type: DT_INT32\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"gradients/fc_1/add_grad/Sum\"\n",
       "  op: \"Sum\"\n",
       "  input: \"gradients/fc_1/Relu_grad/ReluGrad\"\n",
       "  input: \"gradients/fc_1/add_grad/BroadcastGradientArgs\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"Tidx\"\n",
       "    value {\n",
       "      type: DT_INT32\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"keep_dims\"\n",
       "    value {\n",
       "      b: false\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"gradients/fc_1/add_grad/Reshape\"\n",
       "  op: \"Reshape\"\n",
       "  input: \"gradients/fc_1/add_grad/Sum\"\n",
       "  input: \"gradients/fc_1/add_grad/Shape\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"Tshape\"\n",
       "    value {\n",
       "      type: DT_INT32\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"gradients/fc_1/add_grad/tuple/group_deps\"\n",
       "  op: \"NoOp\"\n",
       "  input: \"^gradients/fc_1/add_grad/Reshape\"\n",
       "  input: \"^gradients/fc_1/add_grad/Reshape_1\"\n",
       "}\n",
       "node {\n",
       "  name: \"gradients/fc_1/add_grad/tuple/control_dependency_1\"\n",
       "  op: \"Identity\"\n",
       "  input: \"gradients/fc_1/add_grad/Reshape_1\"\n",
       "  input: \"^gradients/fc_1/add_grad/tuple/group_deps\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@gradients/fc_1/add_grad/Reshape_1\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"Adam/update_b_fc1/ApplyAdam\"\n",
       "  op: \"ApplyAdam\"\n",
       "  input: \"b_fc1\"\n",
       "  input: \"b_fc1/Adam\"\n",
       "  input: \"b_fc1/Adam_1\"\n",
       "  input: \"beta1_power/read\"\n",
       "  input: \"beta2_power/read\"\n",
       "  input: \"Adam/learning_rate\"\n",
       "  input: \"Adam/beta1\"\n",
       "  input: \"Adam/beta2\"\n",
       "  input: \"Adam/epsilon\"\n",
       "  input: \"gradients/fc_1/add_grad/tuple/control_dependency_1\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@b_fc1\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"use_locking\"\n",
       "    value {\n",
       "      b: false\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"use_nesterov\"\n",
       "    value {\n",
       "      b: false\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"gradients/fc_1/add_grad/tuple/control_dependency\"\n",
       "  op: \"Identity\"\n",
       "  input: \"gradients/fc_1/add_grad/Reshape\"\n",
       "  input: \"^gradients/fc_1/add_grad/tuple/group_deps\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@gradients/fc_1/add_grad/Reshape\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"gradients/fc_1/MatMul_grad/MatMul_1\"\n",
       "  op: \"MatMul\"\n",
       "  input: \"fc_1/Reshape\"\n",
       "  input: \"gradients/fc_1/add_grad/tuple/control_dependency\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"transpose_a\"\n",
       "    value {\n",
       "      b: true\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"transpose_b\"\n",
       "    value {\n",
       "      b: false\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"gradients/fc_1/MatMul_grad/MatMul\"\n",
       "  op: \"MatMul\"\n",
       "  input: \"gradients/fc_1/add_grad/tuple/control_dependency\"\n",
       "  input: \"W_fc1/read\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"transpose_a\"\n",
       "    value {\n",
       "      b: false\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"transpose_b\"\n",
       "    value {\n",
       "      b: true\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"gradients/fc_1/MatMul_grad/tuple/group_deps\"\n",
       "  op: \"NoOp\"\n",
       "  input: \"^gradients/fc_1/MatMul_grad/MatMul\"\n",
       "  input: \"^gradients/fc_1/MatMul_grad/MatMul_1\"\n",
       "}\n",
       "node {\n",
       "  name: \"gradients/fc_1/MatMul_grad/tuple/control_dependency_1\"\n",
       "  op: \"Identity\"\n",
       "  input: \"gradients/fc_1/MatMul_grad/MatMul_1\"\n",
       "  input: \"^gradients/fc_1/MatMul_grad/tuple/group_deps\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@gradients/fc_1/MatMul_grad/MatMul_1\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"Adam/update_W_fc1/ApplyAdam\"\n",
       "  op: \"ApplyAdam\"\n",
       "  input: \"W_fc1\"\n",
       "  input: \"W_fc1/Adam\"\n",
       "  input: \"W_fc1/Adam_1\"\n",
       "  input: \"beta1_power/read\"\n",
       "  input: \"beta2_power/read\"\n",
       "  input: \"Adam/learning_rate\"\n",
       "  input: \"Adam/beta1\"\n",
       "  input: \"Adam/beta2\"\n",
       "  input: \"Adam/epsilon\"\n",
       "  input: \"gradients/fc_1/MatMul_grad/tuple/control_dependency_1\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@W_fc1\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"use_locking\"\n",
       "    value {\n",
       "      b: false\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"use_nesterov\"\n",
       "    value {\n",
       "      b: false\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"gradients/fc_1/MatMul_grad/tuple/control_dependency\"\n",
       "  op: \"Identity\"\n",
       "  input: \"gradients/fc_1/MatMul_grad/MatMul\"\n",
       "  input: \"^gradients/fc_1/MatMul_grad/tuple/group_deps\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@gradients/fc_1/MatMul_grad/MatMul\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"gradients/fc_1/Reshape_grad/Reshape\"\n",
       "  op: \"Reshape\"\n",
       "  input: \"gradients/fc_1/MatMul_grad/tuple/control_dependency\"\n",
       "  input: \"gradients/fc_1/Reshape_grad/Shape\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"Tshape\"\n",
       "    value {\n",
       "      type: DT_INT32\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"gradients/conv2/MaxPool_grad/MaxPoolGrad\"\n",
       "  op: \"MaxPoolGrad\"\n",
       "  input: \"conv2/Relu\"\n",
       "  input: \"conv2/MaxPool\"\n",
       "  input: \"gradients/fc_1/Reshape_grad/Reshape\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"data_format\"\n",
       "    value {\n",
       "      s: \"NHWC\"\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"ksize\"\n",
       "    value {\n",
       "      list {\n",
       "        i: 1\n",
       "        i: 2\n",
       "        i: 2\n",
       "        i: 1\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"padding\"\n",
       "    value {\n",
       "      s: \"SAME\"\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"strides\"\n",
       "    value {\n",
       "      list {\n",
       "        i: 1\n",
       "        i: 2\n",
       "        i: 2\n",
       "        i: 1\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"gradients/conv2/Relu_grad/ReluGrad\"\n",
       "  op: \"ReluGrad\"\n",
       "  input: \"gradients/conv2/MaxPool_grad/MaxPoolGrad\"\n",
       "  input: \"conv2/Relu\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"gradients/conv2/BiasAdd_grad/BiasAddGrad\"\n",
       "  op: \"BiasAddGrad\"\n",
       "  input: \"gradients/conv2/Relu_grad/ReluGrad\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"data_format\"\n",
       "    value {\n",
       "      s: \"NHWC\"\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"gradients/conv2/BiasAdd_grad/tuple/group_deps\"\n",
       "  op: \"NoOp\"\n",
       "  input: \"^gradients/conv2/BiasAdd_grad/BiasAddGrad\"\n",
       "  input: \"^gradients/conv2/Relu_grad/ReluGrad\"\n",
       "}\n",
       "node {\n",
       "  name: \"gradients/conv2/BiasAdd_grad/tuple/control_dependency_1\"\n",
       "  op: \"Identity\"\n",
       "  input: \"gradients/conv2/BiasAdd_grad/BiasAddGrad\"\n",
       "  input: \"^gradients/conv2/BiasAdd_grad/tuple/group_deps\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@gradients/conv2/BiasAdd_grad/BiasAddGrad\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"gradients/AddN\"\n",
       "  op: \"AddN\"\n",
       "  input: \"gradients/conv2/L2Loss_1_grad/mul\"\n",
       "  input: \"gradients/conv2/BiasAdd_grad/tuple/control_dependency_1\"\n",
       "  attr {\n",
       "    key: \"N\"\n",
       "    value {\n",
       "      i: 2\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@gradients/conv2/L2Loss_1_grad/mul\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"Adam/update_b_conv2/ApplyAdam\"\n",
       "  op: \"ApplyAdam\"\n",
       "  input: \"b_conv2\"\n",
       "  input: \"b_conv2/Adam\"\n",
       "  input: \"b_conv2/Adam_1\"\n",
       "  input: \"beta1_power/read\"\n",
       "  input: \"beta2_power/read\"\n",
       "  input: \"Adam/learning_rate\"\n",
       "  input: \"Adam/beta1\"\n",
       "  input: \"Adam/beta2\"\n",
       "  input: \"Adam/epsilon\"\n",
       "  input: \"gradients/AddN\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@b_conv2\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"use_locking\"\n",
       "    value {\n",
       "      b: false\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"use_nesterov\"\n",
       "    value {\n",
       "      b: false\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"gradients/conv2/BiasAdd_grad/tuple/control_dependency\"\n",
       "  op: \"Identity\"\n",
       "  input: \"gradients/conv2/Relu_grad/ReluGrad\"\n",
       "  input: \"^gradients/conv2/BiasAdd_grad/tuple/group_deps\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@gradients/conv2/Relu_grad/ReluGrad\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"gradients/conv2/Conv2D_grad/Conv2DBackpropFilter\"\n",
       "  op: \"Conv2DBackpropFilter\"\n",
       "  input: \"conv1/MaxPool\"\n",
       "  input: \"gradients/conv2/Conv2D_grad/Const\"\n",
       "  input: \"gradients/conv2/BiasAdd_grad/tuple/control_dependency\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"data_format\"\n",
       "    value {\n",
       "      s: \"NHWC\"\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"dilations\"\n",
       "    value {\n",
       "      list {\n",
       "        i: 1\n",
       "        i: 1\n",
       "        i: 1\n",
       "        i: 1\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"padding\"\n",
       "    value {\n",
       "      s: \"SAME\"\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"strides\"\n",
       "    value {\n",
       "      list {\n",
       "        i: 1\n",
       "        i: 1\n",
       "        i: 1\n",
       "        i: 1\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"use_cudnn_on_gpu\"\n",
       "    value {\n",
       "      b: true\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"gradients/conv2/Conv2D_grad/Conv2DBackpropInput\"\n",
       "  op: \"Conv2DBackpropInput\"\n",
       "  input: \"gradients/conv2/Conv2D_grad/ShapeN\"\n",
       "  input: \"W_conv2/read\"\n",
       "  input: \"gradients/conv2/BiasAdd_grad/tuple/control_dependency\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"data_format\"\n",
       "    value {\n",
       "      s: \"NHWC\"\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"dilations\"\n",
       "    value {\n",
       "      list {\n",
       "        i: 1\n",
       "        i: 1\n",
       "        i: 1\n",
       "        i: 1\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"padding\"\n",
       "    value {\n",
       "      s: \"SAME\"\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"strides\"\n",
       "    value {\n",
       "      list {\n",
       "        i: 1\n",
       "        i: 1\n",
       "        i: 1\n",
       "        i: 1\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"use_cudnn_on_gpu\"\n",
       "    value {\n",
       "      b: true\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"gradients/conv2/Conv2D_grad/tuple/group_deps\"\n",
       "  op: \"NoOp\"\n",
       "  input: \"^gradients/conv2/Conv2D_grad/Conv2DBackpropFilter\"\n",
       "  input: \"^gradients/conv2/Conv2D_grad/Conv2DBackpropInput\"\n",
       "}\n",
       "node {\n",
       "  name: \"gradients/conv2/Conv2D_grad/tuple/control_dependency_1\"\n",
       "  op: \"Identity\"\n",
       "  input: \"gradients/conv2/Conv2D_grad/Conv2DBackpropFilter\"\n",
       "  input: \"^gradients/conv2/Conv2D_grad/tuple/group_deps\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@gradients/conv2/Conv2D_grad/Conv2DBackpropFilter\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"gradients/AddN_1\"\n",
       "  op: \"AddN\"\n",
       "  input: \"gradients/conv2/L2Loss_grad/mul\"\n",
       "  input: \"gradients/conv2/Conv2D_grad/tuple/control_dependency_1\"\n",
       "  attr {\n",
       "    key: \"N\"\n",
       "    value {\n",
       "      i: 2\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@gradients/conv2/L2Loss_grad/mul\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"Adam/update_W_conv2/ApplyAdam\"\n",
       "  op: \"ApplyAdam\"\n",
       "  input: \"W_conv2\"\n",
       "  input: \"W_conv2/Adam\"\n",
       "  input: \"W_conv2/Adam_1\"\n",
       "  input: \"beta1_power/read\"\n",
       "  input: \"beta2_power/read\"\n",
       "  input: \"Adam/learning_rate\"\n",
       "  input: \"Adam/beta1\"\n",
       "  input: \"Adam/beta2\"\n",
       "  input: \"Adam/epsilon\"\n",
       "  input: \"gradients/AddN_1\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@W_conv2\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"use_locking\"\n",
       "    value {\n",
       "      b: false\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"use_nesterov\"\n",
       "    value {\n",
       "      b: false\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"gradients/conv2/Conv2D_grad/tuple/control_dependency\"\n",
       "  op: \"Identity\"\n",
       "  input: \"gradients/conv2/Conv2D_grad/Conv2DBackpropInput\"\n",
       "  input: \"^gradients/conv2/Conv2D_grad/tuple/group_deps\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@gradients/conv2/Conv2D_grad/Conv2DBackpropInput\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"gradients/conv1/MaxPool_grad/MaxPoolGrad\"\n",
       "  op: \"MaxPoolGrad\"\n",
       "  input: \"conv1/Relu\"\n",
       "  input: \"conv1/MaxPool\"\n",
       "  input: \"gradients/conv2/Conv2D_grad/tuple/control_dependency\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"data_format\"\n",
       "    value {\n",
       "      s: \"NHWC\"\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"ksize\"\n",
       "    value {\n",
       "      list {\n",
       "        i: 1\n",
       "        i: 2\n",
       "        i: 2\n",
       "        i: 1\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"padding\"\n",
       "    value {\n",
       "      s: \"SAME\"\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"strides\"\n",
       "    value {\n",
       "      list {\n",
       "        i: 1\n",
       "        i: 2\n",
       "        i: 2\n",
       "        i: 1\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"gradients/conv1/Relu_grad/ReluGrad\"\n",
       "  op: \"ReluGrad\"\n",
       "  input: \"gradients/conv1/MaxPool_grad/MaxPoolGrad\"\n",
       "  input: \"conv1/Relu\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"gradients/conv1/BiasAdd_grad/BiasAddGrad\"\n",
       "  op: \"BiasAddGrad\"\n",
       "  input: \"gradients/conv1/Relu_grad/ReluGrad\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"data_format\"\n",
       "    value {\n",
       "      s: \"NHWC\"\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"gradients/conv1/BiasAdd_grad/tuple/group_deps\"\n",
       "  op: \"NoOp\"\n",
       "  input: \"^gradients/conv1/BiasAdd_grad/BiasAddGrad\"\n",
       "  input: \"^gradients/conv1/Relu_grad/ReluGrad\"\n",
       "}\n",
       "node {\n",
       "  name: \"gradients/conv1/BiasAdd_grad/tuple/control_dependency_1\"\n",
       "  op: \"Identity\"\n",
       "  input: \"gradients/conv1/BiasAdd_grad/BiasAddGrad\"\n",
       "  input: \"^gradients/conv1/BiasAdd_grad/tuple/group_deps\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@gradients/conv1/BiasAdd_grad/BiasAddGrad\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"gradients/AddN_2\"\n",
       "  op: \"AddN\"\n",
       "  input: \"gradients/conv1/L2Loss_1_grad/mul\"\n",
       "  input: \"gradients/conv1/BiasAdd_grad/tuple/control_dependency_1\"\n",
       "  attr {\n",
       "    key: \"N\"\n",
       "    value {\n",
       "      i: 2\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@gradients/conv1/L2Loss_1_grad/mul\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"Adam/update_b_conv1/ApplyAdam\"\n",
       "  op: \"ApplyAdam\"\n",
       "  input: \"b_conv1\"\n",
       "  input: \"b_conv1/Adam\"\n",
       "  input: \"b_conv1/Adam_1\"\n",
       "  input: \"beta1_power/read\"\n",
       "  input: \"beta2_power/read\"\n",
       "  input: \"Adam/learning_rate\"\n",
       "  input: \"Adam/beta1\"\n",
       "  input: \"Adam/beta2\"\n",
       "  input: \"Adam/epsilon\"\n",
       "  input: \"gradients/AddN_2\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@b_conv1\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"use_locking\"\n",
       "    value {\n",
       "      b: false\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"use_nesterov\"\n",
       "    value {\n",
       "      b: false\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"gradients/conv1/BiasAdd_grad/tuple/control_dependency\"\n",
       "  op: \"Identity\"\n",
       "  input: \"gradients/conv1/Relu_grad/ReluGrad\"\n",
       "  input: \"^gradients/conv1/BiasAdd_grad/tuple/group_deps\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@gradients/conv1/Relu_grad/ReluGrad\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"gradients/conv1/Conv2D_grad/Conv2DBackpropFilter\"\n",
       "  op: \"Conv2DBackpropFilter\"\n",
       "  input: \"input\"\n",
       "  input: \"gradients/conv1/Conv2D_grad/Const\"\n",
       "  input: \"gradients/conv1/BiasAdd_grad/tuple/control_dependency\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"data_format\"\n",
       "    value {\n",
       "      s: \"NHWC\"\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"dilations\"\n",
       "    value {\n",
       "      list {\n",
       "        i: 1\n",
       "        i: 1\n",
       "        i: 1\n",
       "        i: 1\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"padding\"\n",
       "    value {\n",
       "      s: \"SAME\"\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"strides\"\n",
       "    value {\n",
       "      list {\n",
       "        i: 1\n",
       "        i: 1\n",
       "        i: 1\n",
       "        i: 1\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"use_cudnn_on_gpu\"\n",
       "    value {\n",
       "      b: true\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"gradients/conv1/Conv2D_grad/Conv2DBackpropInput\"\n",
       "  op: \"Conv2DBackpropInput\"\n",
       "  input: \"gradients/conv1/Conv2D_grad/ShapeN\"\n",
       "  input: \"W_conv1/read\"\n",
       "  input: \"gradients/conv1/BiasAdd_grad/tuple/control_dependency\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"data_format\"\n",
       "    value {\n",
       "      s: \"NHWC\"\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"dilations\"\n",
       "    value {\n",
       "      list {\n",
       "        i: 1\n",
       "        i: 1\n",
       "        i: 1\n",
       "        i: 1\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"padding\"\n",
       "    value {\n",
       "      s: \"SAME\"\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"strides\"\n",
       "    value {\n",
       "      list {\n",
       "        i: 1\n",
       "        i: 1\n",
       "        i: 1\n",
       "        i: 1\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"use_cudnn_on_gpu\"\n",
       "    value {\n",
       "      b: true\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"gradients/conv1/Conv2D_grad/tuple/group_deps\"\n",
       "  op: \"NoOp\"\n",
       "  input: \"^gradients/conv1/Conv2D_grad/Conv2DBackpropFilter\"\n",
       "  input: \"^gradients/conv1/Conv2D_grad/Conv2DBackpropInput\"\n",
       "}\n",
       "node {\n",
       "  name: \"gradients/conv1/Conv2D_grad/tuple/control_dependency_1\"\n",
       "  op: \"Identity\"\n",
       "  input: \"gradients/conv1/Conv2D_grad/Conv2DBackpropFilter\"\n",
       "  input: \"^gradients/conv1/Conv2D_grad/tuple/group_deps\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@gradients/conv1/Conv2D_grad/Conv2DBackpropFilter\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"gradients/AddN_3\"\n",
       "  op: \"AddN\"\n",
       "  input: \"gradients/conv1/L2Loss_grad/mul\"\n",
       "  input: \"gradients/conv1/Conv2D_grad/tuple/control_dependency_1\"\n",
       "  attr {\n",
       "    key: \"N\"\n",
       "    value {\n",
       "      i: 2\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@gradients/conv1/L2Loss_grad/mul\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"Adam/update_W_conv1/ApplyAdam\"\n",
       "  op: \"ApplyAdam\"\n",
       "  input: \"W_conv1\"\n",
       "  input: \"W_conv1/Adam\"\n",
       "  input: \"W_conv1/Adam_1\"\n",
       "  input: \"beta1_power/read\"\n",
       "  input: \"beta2_power/read\"\n",
       "  input: \"Adam/learning_rate\"\n",
       "  input: \"Adam/beta1\"\n",
       "  input: \"Adam/beta2\"\n",
       "  input: \"Adam/epsilon\"\n",
       "  input: \"gradients/AddN_3\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@W_conv1\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"use_locking\"\n",
       "    value {\n",
       "      b: false\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"use_nesterov\"\n",
       "    value {\n",
       "      b: false\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"Adam/mul_1\"\n",
       "  op: \"Mul\"\n",
       "  input: \"beta2_power/read\"\n",
       "  input: \"Adam/beta2\"\n",
       "  input: \"^Adam/update_W_conv1/ApplyAdam\"\n",
       "  input: \"^Adam/update_W_conv2/ApplyAdam\"\n",
       "  input: \"^Adam/update_W_fc1/ApplyAdam\"\n",
       "  input: \"^Adam/update_W_fc2/ApplyAdam\"\n",
       "  input: \"^Adam/update_b_conv1/ApplyAdam\"\n",
       "  input: \"^Adam/update_b_conv2/ApplyAdam\"\n",
       "  input: \"^Adam/update_b_fc1/ApplyAdam\"\n",
       "  input: \"^Adam/update_b_fc2/ApplyAdam\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@W_conv1\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"Adam/Assign_1\"\n",
       "  op: \"Assign\"\n",
       "  input: \"beta2_power\"\n",
       "  input: \"Adam/mul_1\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@W_conv1\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"use_locking\"\n",
       "    value {\n",
       "      b: false\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"validate_shape\"\n",
       "    value {\n",
       "      b: true\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"Adam/mul\"\n",
       "  op: \"Mul\"\n",
       "  input: \"beta1_power/read\"\n",
       "  input: \"Adam/beta1\"\n",
       "  input: \"^Adam/update_W_conv1/ApplyAdam\"\n",
       "  input: \"^Adam/update_W_conv2/ApplyAdam\"\n",
       "  input: \"^Adam/update_W_fc1/ApplyAdam\"\n",
       "  input: \"^Adam/update_W_fc2/ApplyAdam\"\n",
       "  input: \"^Adam/update_b_conv1/ApplyAdam\"\n",
       "  input: \"^Adam/update_b_conv2/ApplyAdam\"\n",
       "  input: \"^Adam/update_b_fc1/ApplyAdam\"\n",
       "  input: \"^Adam/update_b_fc2/ApplyAdam\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@W_conv1\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"Adam/Assign\"\n",
       "  op: \"Assign\"\n",
       "  input: \"beta1_power\"\n",
       "  input: \"Adam/mul\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@W_conv1\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"use_locking\"\n",
       "    value {\n",
       "      b: false\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"validate_shape\"\n",
       "    value {\n",
       "      b: true\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"Adam/update\"\n",
       "  op: \"NoOp\"\n",
       "  input: \"^Adam/Assign\"\n",
       "  input: \"^Adam/Assign_1\"\n",
       "  input: \"^Adam/update_W_conv1/ApplyAdam\"\n",
       "  input: \"^Adam/update_W_conv2/ApplyAdam\"\n",
       "  input: \"^Adam/update_W_fc1/ApplyAdam\"\n",
       "  input: \"^Adam/update_W_fc2/ApplyAdam\"\n",
       "  input: \"^Adam/update_b_conv1/ApplyAdam\"\n",
       "  input: \"^Adam/update_b_conv2/ApplyAdam\"\n",
       "  input: \"^Adam/update_b_fc1/ApplyAdam\"\n",
       "  input: \"^Adam/update_b_fc2/ApplyAdam\"\n",
       "}\n",
       "node {\n",
       "  name: \"Adam/value\"\n",
       "  op: \"Const\"\n",
       "  input: \"^Adam/update\"\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@Variable\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"dtype\"\n",
       "    value {\n",
       "      type: DT_INT32\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"value\"\n",
       "    value {\n",
       "      tensor {\n",
       "        dtype: DT_INT32\n",
       "        tensor_shape {\n",
       "        }\n",
       "        int_val: 1\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"Adam\"\n",
       "  op: \"AssignAdd\"\n",
       "  input: \"Variable\"\n",
       "  input: \"Adam/value\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_INT32\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@Variable\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"use_locking\"\n",
       "    value {\n",
       "      b: false\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"gradients/conv1/Conv2D_grad/tuple/control_dependency\"\n",
       "  op: \"Identity\"\n",
       "  input: \"gradients/conv1/Conv2D_grad/Conv2DBackpropInput\"\n",
       "  input: \"^gradients/conv1/Conv2D_grad/tuple/group_deps\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@gradients/conv1/Conv2D_grad/Conv2DBackpropInput\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"Mean\"\n",
       "  op: \"Mean\"\n",
       "  input: \"softmax_cross_entropy_with_logits_sg/Reshape_2\"\n",
       "  input: \"Const_4\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"Tidx\"\n",
       "    value {\n",
       "      type: DT_INT32\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"keep_dims\"\n",
       "    value {\n",
       "      b: false\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"add\"\n",
       "  op: \"Add\"\n",
       "  input: \"Mean\"\n",
       "  input: \"mul\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"Entropy\"\n",
       "  op: \"ScalarSummary\"\n",
       "  input: \"Entropy/tags\"\n",
       "  input: \"Mean\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"output\"\n",
       "  op: \"Softmax\"\n",
       "  input: \"fc_2/add\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"conv1/W_conv1\"\n",
       "  op: \"HistogramSummary\"\n",
       "  input: \"conv1/W_conv1/tag\"\n",
       "  input: \"W_conv1/read\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"Merge/MergeSummary\"\n",
       "  op: \"MergeSummary\"\n",
       "  input: \"conv1/W_conv1\"\n",
       "  input: \"conv1/b_conv1\"\n",
       "  input: \"conv2/W_conv2\"\n",
       "  input: \"conv2/b_conv2\"\n",
       "  input: \"fc_1/W_fc1\"\n",
       "  input: \"fc_1/b_fc1\"\n",
       "  input: \"fc_2/W_fc2\"\n",
       "  input: \"fc_2/b_fc2\"\n",
       "  input: \"Entropy\"\n",
       "  input: \"Reg_loss\"\n",
       "  attr {\n",
       "    key: \"N\"\n",
       "    value {\n",
       "      i: 10\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"truncated_normal/stddev\"\n",
       "  op: \"Const\"\n",
       "  attr {\n",
       "    key: \"dtype\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"value\"\n",
       "    value {\n",
       "      tensor {\n",
       "        dtype: DT_FLOAT\n",
       "        tensor_shape {\n",
       "        }\n",
       "        float_val: 0.019999999552965164\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"truncated_normal/mean\"\n",
       "  op: \"Const\"\n",
       "  attr {\n",
       "    key: \"dtype\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"value\"\n",
       "    value {\n",
       "      tensor {\n",
       "        dtype: DT_FLOAT\n",
       "        tensor_shape {\n",
       "        }\n",
       "        float_val: 0.0\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"truncated_normal/shape\"\n",
       "  op: \"Const\"\n",
       "  attr {\n",
       "    key: \"dtype\"\n",
       "    value {\n",
       "      type: DT_INT32\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"value\"\n",
       "    value {\n",
       "      tensor {\n",
       "        dtype: DT_INT32\n",
       "        tensor_shape {\n",
       "          dim {\n",
       "            size: 4\n",
       "          }\n",
       "        }\n",
       "        tensor_content: \"\\005\\000\\000\\000\\005\\000\\000\\000\\001\\000\\000\\000 \\000\\000\\000\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"truncated_normal/TruncatedNormal\"\n",
       "  op: \"TruncatedNormal\"\n",
       "  input: \"truncated_normal/shape\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_INT32\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"dtype\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"seed\"\n",
       "    value {\n",
       "      i: 0\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"seed2\"\n",
       "    value {\n",
       "      i: 0\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"truncated_normal/mul\"\n",
       "  op: \"Mul\"\n",
       "  input: \"truncated_normal/TruncatedNormal\"\n",
       "  input: \"truncated_normal/stddev\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"truncated_normal\"\n",
       "  op: \"Add\"\n",
       "  input: \"truncated_normal/mul\"\n",
       "  input: \"truncated_normal/mean\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"W_conv1/Assign\"\n",
       "  op: \"Assign\"\n",
       "  input: \"W_conv1\"\n",
       "  input: \"truncated_normal\"\n",
       "  attr {\n",
       "    key: \"T\"\n",
       "    value {\n",
       "      type: DT_FLOAT\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"_class\"\n",
       "    value {\n",
       "      list {\n",
       "        s: \"loc:@W_conv1\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"use_locking\"\n",
       "    value {\n",
       "      b: true\n",
       "    }\n",
       "  }\n",
       "  attr {\n",
       "    key: \"validate_shape\"\n",
       "    value {\n",
       "      b: true\n",
       "    }\n",
       "  }\n",
       "}\n",
       "node {\n",
       "  name: \"init\"\n",
       "  op: \"NoOp\"\n",
       "  input: \"^Variable/Assign\"\n",
       "  input: \"^W_conv1/Adam/Assign\"\n",
       "  input: \"^W_conv1/Adam_1/Assign\"\n",
       "  input: \"^W_conv1/Assign\"\n",
       "  input: \"^W_conv2/Adam/Assign\"\n",
       "  input: \"^W_conv2/Adam_1/Assign\"\n",
       "  input: \"^W_conv2/Assign\"\n",
       "  input: \"^W_fc1/Adam/Assign\"\n",
       "  input: \"^W_fc1/Adam_1/Assign\"\n",
       "  input: \"^W_fc1/Assign\"\n",
       "  input: \"^W_fc2/Adam/Assign\"\n",
       "  input: \"^W_fc2/Adam_1/Assign\"\n",
       "  input: \"^W_fc2/Assign\"\n",
       "  input: \"^b_conv1/Adam/Assign\"\n",
       "  input: \"^b_conv1/Adam_1/Assign\"\n",
       "  input: \"^b_conv1/Assign\"\n",
       "  input: \"^b_conv2/Adam/Assign\"\n",
       "  input: \"^b_conv2/Adam_1/Assign\"\n",
       "  input: \"^b_conv2/Assign\"\n",
       "  input: \"^b_fc1/Adam/Assign\"\n",
       "  input: \"^b_fc1/Adam_1/Assign\"\n",
       "  input: \"^b_fc1/Assign\"\n",
       "  input: \"^b_fc2/Adam/Assign\"\n",
       "  input: \"^b_fc2/Adam_1/Assign\"\n",
       "  input: \"^b_fc2/Assign\"\n",
       "  input: \"^beta1_power/Assign\"\n",
       "  input: \"^beta2_power/Assign\"\n",
       "}\n",
       "versions {\n",
       "  producer: 26\n",
       "}"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "new_saver = tf.train.import_meta_graph('modelo/model.ckpt-900.meta')\n",
    "new_saver.restore(sess, 'modelo/model.ckpt-900')\n",
    "tf.get_default_graph().as_graph_def()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [],
   "source": [
    "x = sess.graph.get_tensor_by_name(\"input:0\")\n",
    "y_conv = sess.graph.get_tensor_by_name(\"output:0\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAPUAAAD8CAYAAACvvuKtAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvNQv5yAAAIABJREFUeJzsvVlsJWl2JvZF3H1fuSWZzK2yqrKys1pKCa1WC5Jm2pBbaliQDMjCjB5GsBtuP8zAL36w5BcbGIwwD14Ew8BAY1gYDxrt8UjAQA1D7dFYkKqhVkvq6qqsUlV2VmUmyeR6ybvv+w0/ML/Dc/+Me3nJZHYxUzwAQfLeiD8i/vjPf875zmY5joMLuqALenXI/qxv4IIu6ILOli6Y+oIu6BWjC6a+oAt6xeiCqS/ogl4xumDqC7qgV4wumPqCLugVoxfG1JZl/aJlWZ9YlvXIsqzfelHXuaALuqBxsl6En9qyLA+ATwH8AoBtAN8H8A8dx7l/5he7oAu6oDF6UZL6CwAeOY6z5jhOD8C/AfArL+haF3RBF6TI+4LGXQawpf7fBvBTkw4OhUJOLBZz/c6yrOe6kZOe/6O+3vPSrNcbjUZjx1qWheO0NH4/HA7RbrcxGAxOf6MvgD7LaMizvPa0sQaDAUaj0YkW1YtiarebGLtzy7K+DuDrABCNRvFrv/ZrAADbtsd+cyGaC9L8TBPP1cebx5r/m9ebRrZty3H6hUy6xrQx3b4z7580Go3kepZlTTxu0vX4+Wg0wnA4lOdwHGfseSzLwmg0Qq/XAwA0m03cu3cPhUJB5nIwGLhefzQaTXzW0xKvY47tdq0XcX03pnP77DTX5jmTGDuXy514zBfF1NsALqv/VwDs6gMcx/mXAP4lAMzPzzvHMbMbU5ukz9UL1Y3Z3BbkcQztdm+ayU7D1G407fm4CPTGctIxLcuC13v46h3HGZsLc7PS78V8xpNsSM9DvI7J3LZtP7MhzXr9kzCg23O6MeG0zXgS8Z2epYb3opj6+wBuWpZ1DcAOgH8A4DcmHUwmm7RoZlk8kzYBNwaeNoHTFoW+P3Oh6e80o88y5iyfmffntokcR+Z9aYYwr+/xeDAcDuVvv98/duxJN5XnoUlalZtJMSt5PJ6Zjx0Oh8985vZOJ0nbae9/NBqdeH0cRy+EqR3HGViW9U8A/HsAHgC/7zjOx9POOYmUm6QqTzvHlN6zjjlt/OPGnIVeBGNMUov1tQaDwcR5Mn8m3SeljNYgPmuadT5f5ezEFyWp4TjOHwP441mPn3UBzXI+j580lhsdt2O6jTVJ3dMS+jhJ7La4Znl+r9crtu0sRMlL6vV6ePfdd7G8vIzV1VV4PB7Yto1ut4tQKAQA8Pl8E7UNfT/6vk67SXEeJmEU5vfT3pe5Tma1iSfRpHes78W830nH6uu+qI3whTH1aek0dtok9WyW47R9dlZ03CJ4XjoN42iG9vl8CIfDWFpawvb2Nnw+HwaDAT73uc+h1+sJw/T7fdi2jWAweCb3PQtNUqfN+TvJ+5rVJv5R04vScM4NUx8naWcB0CZJZzf01A2YO84+c/vMzTabBNJN21Tc7tftc/P4WQE/r9c7tpB9Ph9u376Nt956C3/4h3+IQqGAUqmEn/qpn0K73ZZj+/2+IOWT1PrTLk59ntvc6Pd2EjBpElrudswsdJw2Ncv13M6npnfWjH1uYr/d7GNTjZ3G0JPGcSOTkc2xp9nd5o+bDTrt/sx7cKNJ4+l7MO/X7dhJ4w6HQ/T7ffR6PfR6PfzMz/wMgsEgnjx5gvv37yMcDsu1PB6PSGyOcZYgmdtmYf4/Sb0/bt7PSvtyHOeZH17HNAc8Ho/8TNoIzWc5a4/BuZHUpGmuLf3wbr7iSRJ6Vml/VpM8TVMw72FWFHYaqGXSJMnS7/fh9Xpl7ii9k8kkfv3Xfx2/+7u/i0KhgFu3biEQCMC2bbRaLQSDQddNQzP4aebM3Ky0je5mGs2iFcxqip1EOk57Ng0WnoRmvc/T0LmR1MA401HlYsAFJ467oduOrb/n4tXS1E3Ser3emXdWt/NP8kx6JydTmZKGx/N+TDXYsiz5DhhfnI7jyJj8jkBav9+Hx+PBaDSCz+eDx+NBt9tFu91GMBhEJBLBL//yL6Ner+Mv/uIv0O120e12xZ3FQBQuYt6L3+8fm5terwfbtuH3++Hz+eR4Pf96M9AbhbnBaSY3GX7S3GtJynmf9V1OMzGm/ejjhsOh/Ojv3TQKU/K7Xes0dG4k9SQpelI6K7XwrMbRYw2HQ3i9XnEnTXIrkZlpm+sNgYj0YDAY+55AGJmNC5QMlUgk0G63ReV2HAf1eh0ej0eAsFgshjfeeAP9fh+PHj1CNBpFIBBAo9GQ++F4fA5uUr1eD16vF+FwWNT3VquF0WgEv99/7ALVWtKkYzXD/ShdaJMY/SxIq/C81vOOfS6YepIdOkltJpmTPYtdbI77vMw7KzJvWZYwk+M4iMViaDabIunMc8ikPp8PjuMIE5NpJ0Wy2bY95ubicaVSCT6fDz6fT0JAY7EY+v0+7t27h3w+j/X1dXi9XuRyOTx8+BCJRALBYBBXr15FOBzG4uIiAoEAgMNF3Wq1UC6XMRgMEI1GAQDBYBD9fh/NZlPuodvtwufzPTMnbs+t54uSm9Fv3FDcmOA0YNUkOmugjTRLsMxZgGfngqmByRL6OIY+bpImXWdWZpx1PE2mja/Vy36/j2KxiHa7jfn5efT7/anjUzpSZedYjPBqt9vCAFwQZH7giCGCwSCazeaYSVMsFlEsFvH++++j0WigXq+L/ZxIJHD16lUEAgFEIhFUKpUxDYGMFI1GUS6XUa/XZQPq9/sYDAZiCtAU0sR7cMMzzPmjVnAcoDaJTrJx855eFDLtRuYmDTyfjX3umJrSc1bwS58/C4M/j5p/0kVk/o7H46jX6yiXy9jc3MTbb7+NeDz+zH3QhTQcDtFqtQCMZ0zp65C5aT/THUVGJxM3Gg2xi/P5PGq1Gvb391GpVAAAN27cwO3bt1GpVLC+vo75+Xns7++j2+2i3++PMWooFJL7jUajSCaT2N7exnA4FBMhHo/LZqRtcj2X1CjcADNKNar33Kh0EM1ZAZuangdoO24tuQGm0wJXTutLPzdMDRyvDk9St006jqGPO+4kdJKXQWk7Pz+PwWCAzc1NfO5zn5NzzLEIvABAOByWhU1pqK8zGAyE+SzLkr8rlQrq9ToODg5gWRZCoRC8Xu+YbRwKhcQWzuVyCIVCqFarKBaL8Pv9KJfLSCQS8Pv98Hq96Ha7GAwGCIfDqFQqWFhYQCaTQaVSQafTQb/fRzgcht/vF9Nh0lybz+3GRG7m1Cxg2Iuk09jZOknGNCPc6NS40nmIrFlcXHR+8zd/c6IUBo5P4Jj0mdtGcdwimkRu93WSiafkefToEZrNJmKxGNbX1/HlL38Z/X4foVAIjuOgVquh0+mgWq3iyZMnqNfrKBQKAMZ3+U6ngx/7sR9DNBpFJpOB3+9HrVaD4zj48MMPxd4FDm1zAmIejweBQGBMmnc6HTQaDQBArVbDaDSSY/x+P7rdLgCIf1uj+IFAAIuLi4IFUJVPJBKIxWJjqjnvXZsIpnuSWgdRdADyv+n6moW53UJpZ1GtTX/0cSGes+Sn8zyN9Jvhpvqzra0tdLvdE3H3uZHU0xjapGmq82kZdto4Z0V8aaFQCMViEW+99RY6nQ7K5TLi8ThKpRKGwyE++ugjAIeLMZ/PAwCuXLkii4sqd6vVwtbWlqi4ZNpKpYKdnR2MRiNEIhGR4rSHgUMmz2azgn5rICsajaJUKqHdbsPv96PRaGA4HAqDBYNBRKNRXLlyBb1eD+VyGaVSCdFoFOFwGIlEAo1GA61WC+FwWOx6N4TbbbOmak5Uncg/3XrcbHj8aQXTLD7vWZhZH38c0Xwwgc6zFK7ngqmnodXTADE3kIX/T8un1mPPqqoDsydfTCLHcdDpdLC0tATLsvBHf/RHuHXrFtrtNtbX10U1zmaz6HQ6YlsyHrter8vn8/PzmJubQzgcRrVaxcOHDzEYDDAYDOD3+xEIBEQa0H+sxwOAvb09kdp8FjIVNwPg0NVF29rn8yEWi8Hj8aDT6SAcDuO1115Dt9tFsVjExsaGqNv9fh+5XA6RSEQAOACyqPX88zfvsdPpIJFIADgCyprNpgTFdDodV8/BrO/SXDNugS48bhrarmlWtx0xAuDI/DipKTmNzgVTm+S2e09iVC5C/Zn5/aTxp02mG81iFriRtqU8Hg9isRhCoRC+973v4dGjR6KiXrp0SV54v99HPB5HOBxGu93GaDQSt1GtVsOjR4+wsbEBv98/hnRTgne7XZkvnQut5zAcDsu86kWsw0JHoxGazSYsy0K32xWwqt/v45NPPkEkEkEmk0E6ncZgMEAymRRArdlsotVqwev1SpAPVXTgSAU151Wry/TtEyuYlZFneUduSLcb8u0Gnp10LZihrnqj4H2cFdp+7ph6Gpg1SULzb/3/cXnOsyKVZ0n9fh+BQABbW1tiU3/66aeYm5tDOp1GMBjEzZs30el00Ov10O120Wq1kEwmAQCNRgMffvghACASiSCfz8Pr9UosN33QPp8P7XYbXq8X0WhUFqlWwcmkbupfu91Gp9NBLBYTpvJ4PMhms8LkVIM7nQ729/exv78PABJFtri4iOXlZezs7GBnZwdLS0tiItA21u9Iz3en0xEkv9frodPpwLZtJBIJQfqj0eix7sDjSAsKbe+bjM3NRwffnFRd/lG5x4BzxtRuElT/1s570z47DtnW389ij836Atw2B5/PJ2DSYDAQ9ZZ25sHBATY3N1EqlXD58mW0Wi34fD7U63Xk83lhqHg8jkQiIYEe3W4Xfr8flUoFrVZL3F76+VutltjdtJPNCDVz/nifdIeFQiFRrx3HQSAQwGg0EpuWmkU0GsXBwYGM7ff7BfHO5/OiLi8sLEjcOZ81EAjA5/ONuaeGwyGCwaBI/EajIXY1c7wJmNEzwPh1qvRE9DudjtjybmS+d1Mg6PfvVvlEr51J7leTpmEJOpSW/5+Wzg1Tn8R2Nnd3N4Z1G1vTcfb28xABpsePH+OTTz7BlStXsLi4iGQyiW63i7W1NWxtbSGZTCIUCmF9fR2DwQB37tzB+vo6UqkUqtUqyuUyWGV1Z2dHpKKWUFSXubApWQhQBYNB9Ho9lEqlsc1SMzhjlfm93+9HOBxGqVRCv99HNBqFbdtIJpNoNpvI5XJYXFxEp9PB3Nyc+MD9fr9oA/F4XGzrbDYrrrVQKCQ2/nA4FEDM7/fDtm3kcjl4vV40Gg1xnWUyGTEtNGAGQMJTtSpfKBQQDAYFODxpFVSTuSbZz6akf146q8CXc8PUwDijTZLIpFkjyqa5tKa9jOcByigpiE7v7OzgzTffxM///M8jl8thf39fVO1EIoGtrS1xA9VqNVGpC4UCNjc3AUAkmE6ScBxHADAAwtShUEjUXEpA7UrS0kInFeh5JzBGVbnVaiGbzSKRSODTTz8VsI6I96NHj8Q3rRNJ6OJKJpOIRCIoFovo9XqIRqPPFF/o9XrC5AT9AAiWwOemn10zq2VZY+fYtj0WXmrSNIZxU8lNMm3w4/CZSevMBOE4lpt2MCudCz/1pUuXnK997WuuTG3aOaRpk2hK7klMPc1udhvbba7cxggEAqhUKtjd3UWr1cLDhw+xvr6OSCSCXq+Hubk5rK6uigRsNpuo1WoYDoeSGdXtdlGr1ZBOpwFAIrYopQeDgTAxTROqo8lkUpi/2+2KKdDr9Z5xbXFetc+YEtfj8SAajaLRaCAWi+Hg4ACXL1+GZVl48uQJPB4P4vE4rl+/jsePH6NUKiGVSol0o296OBzC5/MJqEffeCqVgs/nEyCsXC6LCUA1Ph6PIxaLYTAYoNPpjM0754pMTts7HA6j0+kgGAxOTG2dtu7J8NPU6mlZVG6q9bRzuKnq83jtjY0NdDqdl9NP7aYOTwsJnUTHqeJux501Maoql8uh2WwinU7D6/Xi8ePHAA5tbmY+LS0tSdWRSqUiNi1wuAja7TaGw6G4sqgmPy3yLpsWJXc4HEYkEpHjmESiNwD+TJIGOhhCH9vv97G3t4e33noLg8EAuVwOlUoFjx8/Fnua5xFxtywLwWAQ5XIZzWYT8Xhc1P16vY5YLCYgXrPZRL/fRyQSEW0FwJi5QcagVKOLjr74WCwmwTNerxeBQODE6rcphY87bhJNUt1NOiv1Xe7rzEY6AzIZ223HnMT8/NHkBmRoe0kvcJ6vI6XMH30d/uh70jHL9Xod+/v7SKfT+OEPf4hGo4FIJCIL3uPxoNFoYGNjA/v7+7IRUJK2221Uq1Vsb28jl8uNXY/PRFVNq9NkCG4MwKHqzjRLLeE5ni4BrKUspV88HkcgEEAgEEAsFkOlUsHP/dzPSXYWmY92NBM4KG2penNjIObAkNNqtYqDgwNh3maziVKpJK4/LW25efE+PR4PKpWKuNu2trbg9XqRSCQEoHQL9nB7b/rHXJP6+m7HuR2j71e7Nd1oVnNvFjrXktr8btL/pxnzRZDeLK5fv45KpYL3338f7XYbu7u7yGQy8Pl8aDab2N3dRblcRigUkkQPgj6VSmVMnQYwVhBQk6kijkYjxGIxUWMJLFEVdXPPcEwdE85zAYiPOBAIoFqtol6v4zvf+Q5WV1exvb2NeDyOcrksTAQclSDWSHQmkxHTIp/PjyHvjGrr9/sSokpbWse1a588VewbN26g2WxiY2MDiUQC4XAYgUBANAJuMm6+Yv38nD+390rmPI1UdfPEzAKCnXbdnhumBvDMBPMz/VvTJPV81vOPu5fTHs9op8XFRYkO8/v94t8tlUrweDxIpVJYXl5GvV5HJBKR77X6x0WkkyLcFoT+Ts+j6Z4BjgAZXUGGNp32IXPxUvqy6qjP50OhUMDKysoYgu44jmweZAAyLTO7otEotra2xtxZukoI1e9gMPhMrAHvSSe5MOil0+nIRqCrv/B5+XuSFJ5FkmrGfh5yW+ckM+DlNNc6N0zNB51FKpvMPAtTn9RFMOtkuoEp2WwWjx8/xvvvv490Oo27d++i3+/jT/7kT3BwcIBMJgPLsrCysoJIJIJr167Btm2Uy2Xk83ns7u6KlAGOGNVkQi01yIhM16Tdze+okjNajbbuaDSS6DMyAxFs2v10MaXTaQyHQ3FHkYnb7bYAc4zL5mbGSivUFq5cuSLZY6VSSa5NzcJxHCwvL8Pr9aJarSIej4tU1nPi9/tlQ2SVlitXrsg86CAbM8WTcwkcVYrR8zqJ9BpyA+Cmgau8znH0mfupLcvaAFAHMAQwcBznJy3LSgP4vwFcBbAB4NcdxykfN9aLAK5mQbnP8jr8XavVsLm5iddffx3xeBzz8/Oo1+sSl03J5fP5sLOzg2g0Cr/fj1arNQYKUZpqFVIHWfAYfW26uQCIVHUcBz6fD6FQaAww43kMUuHi5nGdTkcSPlqtFnq9njA965vxvnjder0uz9But0Xl1yAYpXa5XEav1xOpTV+11hKAo/fHCLh4PC4+c8aI855NIoNzDO3P1vM7K53Wfzzrdc4CNDsLSf33HccpqP9/C8CfOo7zzy3L+q2n//+3xw2iEU29c5ImRYTxXPMct530pP2TzDH1hPM7HZfMxIN79+7h5s2byGazsCwL7777Lh48eIA33ngD9XodDx48wGAwwOPHj5FMJvHgwQOEQiHk83lZMJ1OBz6fT+zGbreLVCqFcrksi7HX60nihVYxmWhBBJmgGYNRKPEZBGLbtvjBdXz34uKiSFC61vx+P0KhEAaDASqVCgKBANrtNtLpNAqFAiKRCDqdjqSABgIBfP7zn8cnn3yCVquFSCQC4DC6joExvBduIIw110Ue6EVgaaS9vT3xKqRSKSnOAED86/QQaK+BXgf8X1dmoYoNPJsS6ab1aTB3EjNOikgj6fPOAgV/Eer3rwD4e0///j8B/DlmYGrS89grZ7HLTboPt//1JkRp0+/3kU6nxVWTy+WQz+fxpS99CU+ePEGpVMLc3ByAw8XRaDTg9XoFnQYgtjWZj2MTNabt6bb7U90k6MbNhmGl+p6JeDPWmm4pvcij0aig+Vq60ZdMcIuJG6lUCsViUa5bqVRwcHAgMezf+973XBvuAUd2PauxEFn3+/1IJBIolUpSmGF+fh6WZUnUGQFF3htRfjdMwW2NnUb6TvJnP88aPA+S2gHwJ5ZlOQB+zzlsT7vgOM4eADiOs2dZ1rzbiZbqT51IJMbsaTeQw5SY+vc0KW5cc+KDTDpPf27G7mppwJ06EAhI8sLa2hq2t7fxla98BeVyGZ9++ikKhYKkKm5ubuLmzZsSaKKZmRoAmYr/k5EoxTlvZBKdF00EmKmY1WpVxu71erKhzM3NCSpNlxsAsZWDwSDm5uYk0UOnDoZCIczNzeHJkycCoAGHMegMN93a2sL8/DzW19fxEz/xE6hUKojFYigUCuL6oq+5Wq0iGo1KSmgwGEQmk0E+n4ff70en08HNmzfFNUa8gG5AABLQQgCNUp/hpHxvwLPFCtzWnsm8eqPQn50E3NJraRpudBp6Xqb+Gcdxdp8y7n+wLOvBrCc6qj/18vKyc1qGNmkWRNyk48acNhZfMCUYUWJWC2Xc84cffojd3V0pC5TL5fD222/j0qVLeO+998bCP6ky04ZmdlO9XgeAMXBK+4QJfmmJDEAiupLJJNrttiSZ6AWtkWqq85ZliV1cr9cRj8fFD06wjJlgrExK4Is+6nQ6jWg0Kuj0w4cPpZcXr0EGHAwGiEQiaLVaiMViArbt7OygWq1KEUSv14uDgwPZgDh3wJGPmJuEzjLTZof5Ts10UE1uIaEmw09DtN2uR61kmifjtPRcTO04zu7T3weWZf07AF8AsG9Z1tJTKb0E4GCWsdxs6GnSc5pvcdLkHiepJ0l3fq6DGEiUcFxAHo8HuVwOH3/8MR48eID5+Xl8+9vfRjKZxOc//3ns7u5ibW0NS0tL0nmy2+0iFoshkUgImGTbNorFIiqVisSJx2IxFItFXLp0Cbu7u2ILA0d2IZmFYFW32xUpH4lE4PF4ZENgYAdVdh0zHgwGhTEBiA+61+shGAyKuks7/ebNm2g2mxJpxqIG9XpdmDadTmNrawvBYFAi36rVqiDVVP1TqRQAYH9/f2xDAQ5V8nv37okNzvOooutgFACyCbCBwaR4cGZ7uXkz6L/n9xpo1K7Dk6wtc227mVGnpVPLeMuyIpZlxfg3gP8YwEcAvgXgN58e9psA/uiU47v+fxyD68/Nn+e9liYd1QRAkGtmHn344Yeo1WrY3t7Gj//4jyOTyWBvb0+Yp1Kp4P79+8jlcvB4PDg4OJCsrGAwKGAT/7dtGysrK2I/ZrNZAEf5y1zk/K3jrf1+v8RwA4f+XYZpWpaFTCYj19GSHoAg1ZZlIZlMiu89Go1K0AjLG0WjUZGevH4mk5F493A4jMuXL0taJ6PWiMhTA2i1WpLcQsCNINze3p4EorCLCOPbO52OhNPSFDHnhs9iRiBqpnQDSHWUoVsE40nWl77mLNFmJ6XnkdQLAP7d0xv2Avim4zj/r2VZ3wfwby3L+hqATQD/2SyDTXPq65BIHRqpVUwT0TxOrTHRRz22W9ADcIjYWpYliDHdKLT/HMdBo9HA8vKy1PR+++238Qd/8Aey2wOQeG7LsiTJg4Ed9FHHYjF4vV6Rlr1eD+12G6+//jra7bbY7kSIAQgTA0A6nYbjOBKdRpWXhQMjkQhSqRT6/T5KpRJs25Zw0MXFRdEAhsMhksmkuJs0OpzJZLC0tCTodCQSQSwWw9LSEvb390XVDwaD2NzcRDQalbHptyZDp1Ipyd/mZkPzw7ZtxGIxSTul6TAajUT6MhmGmgPBMq1VmEE8XCdaCmuJrT0RJrlpiqYJQNItiyYJGMdxxHTRY54GNDs1UzuOswbg8y6fFwH8Rycd73ntiNNc66RIY6vVEkCGyQPLy8uyoVSrVfj9fuzu7kq4Y6VSGeuDpRMxgPFcXzIw1WjW/OairVQqwri0GUejw+KClEqst82xKFGJOFOahUIhRCIRKbxARmGzAfbX4m/gSEXkok2lUuKW0hlYlKJerxflclncZM1mU1IuK5UKqtUqbt++jUQigSdPnqBWq42ps9rOpYrOjY5zqUNA+XwkllGiy5Hj6mcxyWRgXsckE4/ge9Of6ZBWLdl5X1ria2bX4Fsul3O9z2l0biLKSKcButxoGvrtpl5P+460vLwsZYYY7vnOO+9gMBjg+vXrktDw7rvvIhQKod1u4wc/+IGomGRuHbDBzwkSMUqLKiuZo9vtSkoncJRfzcWeSCQkCotuH2oztI/D4TBWVlaQSCQkUMS2bbE3GWLJDQnAmB3Kxc3MLx7PMRjNRkQ9mUwiHA6j2+1ib29Por/YD4xpqX6/XwooaERfM6z2Cuj2RYwL57xFo1HZZFKpFIbDoWw+uhCjLpHMcbWazeMmSVbzOP3bJDMicNJGQYmupfyDBzNjz0Lniqk1Q09SUWal45Ds4367ESO0gMMAh2QyiZ/8yZ/Ezs4OfvjDHyISiWBhYQEAJD9ao8R8Ri2F6JLh8xGIGgwGAvyQCRjJRQak1O12u+JqYkgnF0gmk0E8HselS5ck0YHAVTgcloXOTYUou1YpKX35vwYx+U54j1oaUW0OBALSW6tYLMJxHLHrW62W2N/NZnNsHC2xGCJK/zzNGd7fYDBAq9VCqVQam7fV1VUkEgkBH4HxjUo/i4lG83gyoBkkMmmdElB1C0gx7WetZmt3pDY5T0rnhqlNCe226z1PNQg99iT1W0+g2/UZgRUMBvHRRx+hVqshHo9jb28PqVQK2WwWDx48kJJERIJZ1pbAEG0nRmNRasTjcbHVafuxlA+PW15eFpcT0WymSAKQjpPLy8vCULx3SgsGsLD4AKO6aNfRD65jrelG4+ZCP7m2XakVUBVlQAuLFhKFrtVqkorK6C9tBpC5qNlQmrKIIt18fHZ6HhgPztztcrksOdUMy+UP58Ncd9rE0L54TSbDuiHp5roBxjcHvamTdPEKNxR+Vjo3TA2MMxslg94NTYafhlpPU79JGhghIEPauTf5AAAgAElEQVSAhAuFOdDcNQkgXb9+XVw2b7zxBv76r/9aVFIyS7PZFHvYcRxRa7X6rYMiKD11LDTDQGlLsxNGs9kUBuac0BccCoWQSqXGSgBrKUCVldc1W82aQTX6+akKA0dN+ng8n0uPz6QRPjvDTLe3tzEaHZZeIuDFOdIos2Y2bjicUwKMBAcXFxcRiUSk6qht20ilUlJP3dQk3Iiai5nDba4jtzRO072lmd4Evvj+TfT7lWNqTZPUYpOhNVp9mgngAuWL4oundFhbWxtrRxMIBJBKpbC6uoqFhQXU63Wsra0hHo/jwYMHqFarcBwHzWZT/MXxeFzURrqbyOjJZBKO4whyrIGy4XAo3TvS6bQwOSXcwcGBMDnt11QqJQkilHhmnDLvw1xM/J4bnFYRtZakc7L1eZPcPQCeafkzGo1QKpVE0uvQV75LrSkwHJXtfwOBAMLh8BjSDUA20mAwiHQ6jYWFBTEreF9maqamWU080/ww8RlzHDOARR/n5nF5Hjq3TA3MxtD6t3nepPHMz/QLIuhCv+fOzo64UrLZLPb29pDP5yW++erVq1hcXEStVsPBwYG4tjgOEXMuWL0zU+pY1lF4p23byGQy4h7jAl1aWgIAPHnyBKPRCHNzc7h06ZJUG6V6SjuZ6jtVVC4aLf3MlEQtPcz5dvOlmjaj9t1TmhJ40/nYtKlZ+IHgI883fcLEB+gT5/d6w2J8AOeDz0db3rZtUdmnMc8sGh7H014MfdwkBjXPcWNotw3hpHRumVoz20mZedLEuE20ll48r9/v4/vf/z4ePXoktilwWASOQNKHH344tgGQmTV4QwSWmU68Hp+NC35+fh7hcFiqoCSTSdi2jcuXL48FisRiMdy8eVPOJ7PQbtSF/vhMmvF05RMyBO8DOGJyvcGQyehP5jNyrjgO3xHNJu2DZtQdAInPDoVCCIVCAv41Go1n3H28f0baMXyW6jW1IobeAocRdPyf0WgM+GHEmlbDTXoeMHYWSWsCZC+CzjVTA5MRcTd1+zimngR+acZmEsDt27fx2muv4c///M/HQJ1MJoNsNotf+qVfQi6XQ7FYlKCR9fV1BINBXL16FT6fD48fP4bX60U+n5cQTNqUvC5V60AggEuXLglSTCanFGc7GwDiq6VNraUgNxfgCIXVNrxWlbU7h3PBTcGUIrq2mQZ5tClB6clNjQzP7iGcW30sg0OIZuuQW93/i+pzq9USrSSdTku5YQCyebL4gt/vRzqdHnOV8XknMfUkCWsS4w7MeZr2W4+vA3nOWg0/N0w9SfpqMm0R81wTZDDH1UEIpsrJF0f769GjRwCAu3fvIpfLYXt7G+12G48ePUIul8NwOJQUShbp5+eBQABPnjyB1+uVkjuUiFycOmqMqDFVTS5wRoLRPaPTIvnyCVaRQQkeuQU2mHNL9xHHohSnuut2jrkQNbJLsEzbwlrlp+3v9/txcHAwZl9b1mENNL/fj/39fTiOI4E0DAUlrjAcDlGr1RCNRhGJRFCpVER6M7CGIGGn05EqrexJRhNFS2w+l2mC6Oc215a53vRv8zi3tanXspsgOq0afi6YWjOaXkTTAlFm2c0mqetuGwglDO+BrWWr1Sps28be3h4WFhYE8Hn48CEePnyIVColfaRY4eNv//ZvZZGyXK1O2I/H4xIoEYvFxgrb8/pkUu3H5jU0w1KddLOLta95kpbiRix7RB+79gzQWwCMb7ImGqxVfdrRWsIPBgPUajVkMhkMh0Pk83mJNJufnxffO8dmSSPiEO12G/F4HH6/H9VqFf1+H/V6HVevXpUihtFoFPF4XOaHvmzeN0s8uWmBJBNMdGPCScLE7X/92wTPTOF0Wol9LpgaePYBJtnRkz6bNJ6btNHfc8cm0MK6WqxKubKyIouQyRfBYFCkM900TEGktCUDc0HS3qUUtixLmJkqqJaYOjlDM7FWIWedx2k2JEkvQK296M81yGRKJc20msl5HIE7+usZNcdGA/SDM/CGG5ZW43VJYsuyUKlUcOfOHZRKJVHRu90u5ubmEIvFpKmB7pRJs4Vju60XN1V4FlDrOC3T7fxJ4NksY06ic8fUs4Bi5mfTQDFTxSJptdFxHFFFa7UaWq2W5BEDhwvh6tWriEajKBQKYuPyWAAoFApIpVJS1qfRaMjC1CVyWbggGo1ifn5e4rKBo7atlEbcLHS8M11VGvAiU/FZqaJr1ddtE+Ai0wypSade6tpp1Dq0a0uDaTpJgpsar8P7CAQCmJ+fx8bGBmz7MPKs1+uNJXYw3dJxDoNinjx5AuAQhEskEtjZ2UGlUsGXv/xllMtlKdRQLBZRLpdhWZZ0QtFuLAKLGujTiLrbPL1IYEtvuGdxnXPD1MCzyeTTJPJJ1G+365AoORlZxYWyvb0taLPX65W0P80Itn1YAZS7rfZR66R8tpchEySTSSl3pNVnHeRvJvRr1JbHm9LUHINSf5q2wgVLpnSbe7fr6A1Vq/ra/81jdHAJNxCqw5TMevOgZNUJEcvLyygUClKzjdFjjUZD4gQGgwHK5TLm5uYQCoWkOwc3bX1vOjfenBs3FdvNz2yeO80GnmY7u13neejcMLV+2XywaZFjpu09TbK7ARB6wQGQ6iJvvvkmBoMB5ufncXBwgGKxiFarJeAK0VVmz1BSh0IhJJNJVCoViUQrl8tIJBLi3mGMczqdlmAKrWbrRH6NTDOIhUzKsFI+u54DrVaaAA0lJlF0ag1ayjOSzbIssak5PxpAcxznmd5W/NwMsNH2OME/uuqYUkoGDAQCYr6wUyY1oy996Ut499135dlZECIWi+EHP/iBoOGO40iSDPPcFxcX5Rn0pmdiEm52Mje+SeCs3vgmjeFmX7vZ4iZDnwYsOzdMDeAZRp303Syfn+RYqnf9fh87OztotVqoVqtSFpegDX3BLJlLG5xgCyPP0um01NoKh8MSFMFjdRkiN4bWm5SpRut5IZPrv7W/3XxeLQ2AcSRbS3U3ia1dOByDSDS/d1vEbnPO56YZwoQRMj3dUIxJZ/eNu3fv4sqVKyKZ4/G4ZK/F43EB0uhCq1QqmJubQ7/fl7RYagGmVqifd5IkdpOyJyG3sc3xTEn90tvU0ySz+fc01fy462iiVCFTMf2RkqhSqUhfK4Z8EtiixGOmUSKRAAAcHBzAtm0kEgl0u11ks1nY9mGiBhcsr2nbtrhfCBhR2lHqElwyfcq6UIBOUuBzuqG1lE7aJtZMBkCqh3A8XZkEOLKheY5Gt03JT6yCJg61Ha11AEetcxuNhkSBsZJKrVZDuVzGo0ePxAPBpvecr9dffx3vvfeeuLt8Ph+2t7cRDodFK2CrXdO8OU6ATMJlTrvmSG4bL9/H86jg54apj2PoWW3taWQer+1ETiJdSxsbG2LDMa2RARREZ6kmdrtdQci5IFmSiPnQ9XodCwsLgoIDR+4pSkoynlYJtSTnAjSlqzmOXhBaYpqSlOdrpjcBMG0vmyq/jkrTY/E7UxLpjYhj0XyJRqOSi8055kZgWYcVYkqlEvx+v2g9BwcHyGazUnVFJ4U0Gg0EAgGUSiVY1mHHENYr08EnJkObzGvO32kZzs2mnrbxHuetmEbnhqknMeosTH1SlUhvIJRCRLILhYKo4R6PR2przc/Po9PpoNFooNPpYHd3V9wywWBQSvACkI4clmWJHzuRSCAej0sIJmOYI5HImC1qWZagzpTU2iVG5iGTa5cRGVsn4GvMgP/TFcfvuNApibmoqP4yQISk3UymvTiJtDuM0h2ASE8+V7fbRTKZRKvVkrLAwCHzj0Yj5PN5ZLNZhEIh7O3tjW0i8XgcjUYD/X5f0mKpTdDXblYcmSSBNTDmJgxOwthnYSKehM5VK9vPirQaxjDO5eVlJBIJ+Hw+aV4Xi8WkSB8lCAsPEPwxwTKiu/SNAuNJ+qZUNiWIaVPzMzIJk0Vo+2uG1UynJQGZij2u9Gahg0t4X1RZ9Xzp70lc6NqdZUaX6XOoEgcCgbH+XrxmOp2WckqMlqNngXNHm9q2bUnzZKVUxpvbto12uy2dPzQIO42eR1oeR5Ps+bOgcyGp3ezkSf7CWc43gybM8/TYzF2mC4QSioEmLCHk8XikWyNpMBjgxo0bGA6HWFtbky6QXAytVgu1Wk3CRAFI5RFKX1Nt1QyrbWbdx0oHTZj1r6gi6uobZGZ+xyIMOjSVVTv19bVrSY/P49zwCW4StLN1PIAmYgQcm96FTqcjtb8Z181+Wdwcdnd3ARyq7KwXx7pqbKjHeel2u6jX60gmkxiNRtL/i7a8GbugNya9ftzUY7dosFnJDf3WCPsrYVNPo+OAsuP8g7OMTduUpXfZInV7e1vqgkUiERwcHKDZbMqCCwQC2N7eltpZg8EAc3NzaDQaIkUoyXktSkNKRp3ppBnWdEdp9REYj/ziZzoAxFxsJrjG4zUDT9pQdZaW22ah75ekVXytDbi5LClhHccRtxS1Dh2wMhwOx5IzGIjCmnC0x+m+ckPn3cjNtj6Osab5rmcxSabZ2c8Dlp1bptZqmpu6p6WyWzSUuZgnESUFVTez8+TKygpu3bqF9fV1bG5uikp369Yt9Pt9vP/++xiNRlIDi7HMAKTiRiQSGYtq4iKmhNaBJXqhaxtXI89m8QBtT/MYPQ86EEXPjZaUzFCbtJDIcASiuJgnBaXwcx6rMQACYNqnTs2F6reuBUe7HoBsnABQLpdx+fJlSfYolUoS9ZdIJLC1tSVaVqFQQLfbFZcizSed1KLXynEquhto6HbMJOaeRbKfVv0/10xt/nZj6NOMqcmUjNrVQSnWaDTQaDTETmMyQrlcHpOwZBKi3iZz0T/Ne3dDh/Xi0kxN9VsDTvp8zVjmvFAacCPQ4JpWpZlhpU0Mkllfy0TPtfTVDME5BKZnOpEoXbX2QpyDUp7+cdrJy8vLqFarkqvNEsUs08RUVga7sNqoplmlq3m8lqwkUy13G9dNped8nFalJx3LFZZl/b5lWQeWZX2kPktblvUfLMt6+PR36unnlmVZ/6tlWY8sy/rQsqy7p7qro+s88/skDE3JZwI6mggucYGHQiFEo1FhQLZwYVndfD6Pfr+Pvb09qVxJQIgVUViwfjgcSjaW7mJB8I2SyvTvAoebDe1nc+PRP/QF6zBUxoqbPabILKZE1Neh5DJ/tOuMpNF5EwvQRf7optKAGWOvOe/EDZieGggE0Ol0UCqVUKlUxqLgCFZms1nJkCsWi+h2u/J7c3MTCwsLYqtznpvNpqRgategXnOm1jRtfU4TNrOaftPMy9PQLKLuXwH4ReMz9qC+CeBPn/4PAL8E4ObTn68D+Bcz34gLyqsXr/4fGFd39IIzXRXmOG7SU5e50VKiWq0imUwiEolge3sbOzs7UqmDrWzY5ZFocjKZRKlUAnAEilEq0N4zVU5973wW3ieZzESqybR8PkpaNrXXtbCJvLO2F5mRBfw5D7w250NviGZSBtVhbkaM1mJOtAYCKXF5X9xg+A4omWiSEOjiRshQ20QiAcdxcP36dYmdD4VCaLVaCAQCUpuNuAE3FJYepoRnx0zOkal1mNqTngcTlHRbUzyP/5vrctJmMU2InYSOVb8dx/mOZVlXjY8n9aD+FQD/2jl8yr+yLCtpPW2Wd+I7e0rPs2PNQtwcdGDHaDSSEkXFYhEbGxv4q7/6K5E4unY2F0S73ca1a9cQDofHxtTMwP+JOtMloyWGVpNpd5JpOI6WepSSJqJvqoS68ijHoXqqyx9R/dYAnvbz8oeSzixzpM0KXW6Jz8L71HHv+h6JWbBzaDAYRCgUkkSP0egwxXJlZQXb29totVrSo4znktHz+Ty8Xi8SiQQ2NzeRzWZlo2HXEZYo1mbNrHSciv1Z0Wlt6kk9qJcBbKnjtp9+dmKmdtu1XgRpAAg4kqalUgmNRgP37t3D3t7eGPo8HB62wCFoY1mWZAm1222JNNNBHfqHC5m5xBrIojoNQDYXrZZz59e+Yy1pTdVPh4JqVVprPLq6CjBe+1r/bUofXemEc6jR7dFoNIaq66otjMLTeez6XBL977ZtI5lMytz3+32srq5K/jRDdXO5nEh2xoA3m00Eg0E0Gg3J2WYsvy4IOYvKTXrRwuZ56KyBMrcndd3CLNV0nq1Lje+f+f0idkPu1FyktKEZwUR1UfsvyWxczMFgUHpRMypKM5q2dzXpBAxT1Zqmommm5o/+X7useI4+l9ci2q3HAI7KGfF5NfhmvgMT8NOmk5Z+2qNA0gUjgCNPhFZh9XMQLOT9MnuLngcCZUzPZNhpp9ORnmKdTkfUbu2i0894EjqP0vq0TD2pB/U2gMvquBUAu24DOKrp/OXLl6fOxovcFRmiyFQ9XYaWiQ2sykHi4gAOVcZ2uy2uknq9LouZ9iXtRPqrNapN2xQYb96mbUIdgQZAbEkNbPF8SkfT/60BMy5m7avm/WjbkQzHe9HMABy10eU43CRot/Jcai26cCE/o7TXHTl5DnEKAmitVgu2bUuiDV1ZrAVeqVSQyWSQz+fh8/nkeEb1MSSX1zBdcadlzPPE0MDpw0Qn9aD+FoB/9BQF/yKA6qz29CQwi9+dlLR0BcZfnCkZtQ1MhmX3Si4I+pmr1ao0yDNV7EqlgkajMcZUlMbxePwZAIaglka/tQqrn9+MWeY52s+sg1m0nazRbQ3K6SorlHwaNOS4eiPimCwdZM6zRrP1u+PYuhA/JS+Zgs+ppTG/I8Cou390u13UajUJDqpWq1I9hjXTteuKDM33x/nS6PikNeJGvGe9QbiRaRJprcAExbQmdVphdqyktizr/8IhKJa1LGsbwH8P4J/DvQf1HwP4KoBHAFoA/vOT3MzzPIgbzeJa0FIBgBSq+/TTT6UsEVV09pIi4ziOIzm8JLpjHOeo1Q0XYiwWG2tVA2BM/dYLmUxPhNoExjRqraUlpaMO8dRAnVbTiRITF+A5XKg8V0t8fs+4bW2b83POPZmKnzNIhmOy7LJu8aP7emlNxOs9LDbYarVEg0omk5KNNT8/j48++mhss2S7ImpEenNi43pqI8ep36atb64r07/M+X6ecM/T0izo9z+c8NUzPaifot7/+DQ3ctYqtmZorZ5OurbJZB6PR7Kt2MdZV/4wXxgXEMNFeZxGjyklNVClx9PXdvML87lMKabRc9NtolVrMpdmGv3MfB7TRuZYROKpHZBx9HV5jH4OjYyb3gYdV26+J86JWftMb6jclPb39+V5eIxlWRKqq92iWss5LnJMz8c0JjWxH33Oj5rOTUSZCYyd5XjHMbXpzhqNjtrabGxsCKPqOGQuZH5HFXw4POrRTNucTet0YQQdXaUXsWZYHTyibW89RxopByCIrx6fUpHPwPuu1+ui8ureW1RP9WZElVffAz/X90E7WM89rwEcuc3I/Po38YtOpzNmf5P5PR4PwuEw6vW6BJrY9mEnk83NTQCQckx89nK5LIE+WqPiO6IbbJr6PAnA1JvgNPpR29vnhqmB2RjwpOMdR9q3qs/RDKVdVzxHu8AYOcZEAzI3iYxLJtGLS0tpjYab0lhLODI8j9Xord6c+JvRWnoR6rnR19XzrtViMrGWuvr5dNw4v7Nt+5l2RBqZpztJz6OeN6rSXq9XNg8G3eie3AwqodSem5uTIgoAJGLQdJXp59Nz5UZuKLcGH4879kdJ54qpjyNTTTMnVTMn8Kyd46YKmYAOF3w4HBa1mxFilBb6XHbEYME8tqKlzUYVkQyvFy4ZkCGb/OH/BI20bUvpz82D92xGl/F+KQnr9fpYFBoRbcs6cm1FIpGxZ9SaSCQSkY2EtdiYNcVCEZxfn88n8dWs0cb7oSbRarXE9rVtW+KziT/wPphPzbkEgLm5OQQCAQHDdnd35RyaEdFoFNvb24JhsBsmcQ3btsWm1gzttkbcGNNt0+b71OdosFRvzlw/5vH679NuCC8VU/8oaTQ6TATgoiOZk8+NxM3WMiW0Roq1Xa7H0RKaP1RZzWN4DTKxBstMrYLXIuhHZtfj8Nm4mRAd1pqBDiDRdnOtVpMQWuCwpSzTT3nfRMYpdenPp0uLuAWlL3BU0YUbInBU+ZUqO80Fyzp0TTLGQN8fn1FrB89j6plS2LSpSX+nberzRrTn6Leu1+uymDWz0iWitQEmDABHSQ+ayTRophmQvmxti3JBM0SSjMlravvRdH1RYyAWwOJ+GhvQ/mcyPu13hmjqDYjhm51OR+zSUCiEYrGIer0uNc7D4TCazSZ2d3claYbSlPMai8VEA9BdKXUVF6/3sAkCALG1I5EIwuEwcrkcarUaarWa3AejAXXzAwYHdbtdiTeIx+Nj7r2T0iQ0XG+ynxX9nWfqSS+BzMIMK/ZgmpS7rdUtk6FNV5XpJtLItYk8m78pyVilxc0E4Tg67NKUksBRWSWNFvM8/qbbiuGqZH4Cg3yGUCgk7WiBQ6ah2lyv1yWslhFdHs9hm1kdZqqvrTdQMzadx7EwAk0cDbhpu5/agH535pyfho5j7M/CngYumBqAe2MzSoxbt24hlUrh+9//vuTp6o2A6iElEKURcMRgXGQsJK/tYkonHTWmY8C1fct71fY0mY3H695RZsAIGYqqPK9LYiy0Tsu0bRuVSgXValWKPmjku9VqYXNzE4PBANVqFR988AFGo5FgC2Qc/l2v16UON//PZrOSZcXPaUszUUOnqTI2IJvNSoUTVhDl/fEegaOw0dFoJM+g1fLTMLXGdab5r8319aOgC6aeQAyKWFhYADAeA82/tR2qf1NamWgwM420O0zbzto2JiNo8EmPqaPQgCPJQ8Y2/cI6eo0LXods0ubVKD83qVqtJqGYpNHoqM0Qo+xYNMJxHLGnuUmwEyWLFTSbTXFNdTodhMNhaUqoY9KZ4mpZhwEktJdpwnDj0yWFuZlpvIPPq/PF9bvhHJ6GpvmvPws6N0xtItskPfnT/MymqmqSlq76WuaYekH7/X60220Jb6SU0+CZltisEc6FCxwxI4vnaeZkLS3a0Vo662iq0eiwNO5oNBJ7nd8xnZCN1+m+IWNTQ2BFU7/fL7XJOS/s7dxsNjEajZDL5cTPTjArHA5jb28P5XIZmUwGoVAIV65cwV/+5V8in88jl8vJdWzbRrVaFYm9tXWYuMde3T6fD3Nzc4hEInJ/7XYbtm2jVqtJUky325UNAYCo3MQEiK5Ho1HZMHUvLqr5tLcjkYi0+DHdgBob4bzodWP+1nQahjaFA8ecdp1Z6dww9XkhU+LSXQXgGbUaGC+Lq0MdudFQEgJH9bVNkM1EtSmZ+v0+8vm8MCr7TfV6PWms3ul0xupt8f7ZVpdMw1RD4ChPm904uYD4DNyYeP+0Xfm/3oRKpRLK5TIc57BqDOeiVCqh3W5L5BcZqdvtitRncYPhcIhSqYRut4toNIrFxUUEAgE0m02x14na00fNgB9dXcXUpvjDRB2CiDoHnD8anHyR9KOQ6n/nmXqStKbflYkEyWQSuVxujPkc5yjUkoxF+5ZRTBq00T5qglBUibV9y9pbOzs7ePLkiTAsJRB/l8tlsc9rtZo0jItGo2NJJ+zl1Wg0ZJMiYEZ/OmPMAUh5Xt4LS+xms1kBvobDIe7fv49Lly5heXkZ77zzDvb391Gr1cbmkpKWc8Oa6LzPer0OAMhkMuKL/uijw8pZiURiDFOYn59HqVQS1H00Gom0bjQakpWlJTXxERZFoPTjczNSTofTnjWZY75oN9ffeaaeRLq6iC6VQ1vb3Aj0bs+wUA10aXcO0VgNjDENcTgcYn9/H41GQxZwKBQSDYAZSVtbW2g0GqJ+rq6uSn01XaWEY1JK0g1G0I9SL5PJSGSW1+tFuVyGx+ORfmDsy00AsVgsShJFuVyWap0sE0Qzg14D4HAzWlxcFEYLBAJIpVKIRqMIhUIoFAoIBoPY398XlH80GklcdywWE9S/0+kgFovB6/UiHo9Lw0IdOaZdWtQyyNw6O41ayvMg4dPIbcwXqRFcMPUEou1MBmATeZLpdiJRkmu1msdrW4kLiZ8R5R0MBuLzbbVaaLfbsrmwGRwDLtiHioEyRHer1SoikYgg61SBtQQbDocihWlTLiwswLZtyRE/ODiQoovRaBQ7OzuirpZKJdRqNWxtbaHZbEo6JdV6UjKZhMfjEZcWTYSlpSWkUimJcnMcB+FwGOVyGVeuXMFoNMLBwYFUCdUlhdmAQYNi+p2Yaaz8DDjCX3RyzfO6tk5KL1rNP7dMbaoo0yZBv4xJwNekF6aRUE2BQACRSAS1Wg2NRgM3b95EPp/HgwcPJMSQNjftTsZ1RyIRZDIZWTiUHgSz6FYhMvz48WO0Wi1UKhVUKhWUSqUxKeY4h4kJTDscDoeIxWJIpVIol8sYDAb44IMPEI/HcevWLbGndetWSjH6qhuNBvb39+XZKWFDoRDi8TiGwyHq9Tq2t7dRrVZh2zZarRbq9Tq2trZg2zauXbsmQSO0zyuVCrxeL27evAkA2N/fRygUwtLSEizLEncUpWy9XhdVnyaJLq/M/mOWZYmdznPNd04EX1dy1SAY3xuReO2e0yGiOhBHeyb0xqyvaYYauyV6mAAcz9Oho2fF6OeWqT9r4ovlbr+6ugoAePDgwRgyqQEynseCebqtjs7mIrrLQvOffPKJuIGGwyGy2axIDzJjr9eTapr1el3i0TXTcrH1ej0UCgVEIhEsLi5KIT4dzMGFRJWWEWt6M2DgyWAwQDKZlHvnNdPptMSBx2IxDIdD0SC2trYQi8Vw5coVQc9ZAZS+9Xa7DY/HIxsXzQluEtQ0eG/lcll84+z1bduHSSMEwswYeG1j63dBDYHMTObSEvu8uapmpQumnkJsiheNRlGpVKTflGZoLhTasY7jIB6Pi/uKYZ1cROFwGPv7+ygWi2i1Wjg4OBDpfvXqVfHLcrOgmpnJZNBut7G+vi4+WjIU7eRarYaNjQ3E43Fcv34dmUwG1c/JmA4AACAASURBVGoViUQCy8vLUletVCqh2WxKgT4ydiwWG9tciMKzOQERcarLLGjQbrelOCPDPlnA4Bvf+IZcDwCWlpaQyWSwvLyMS5cuSYhoOp0W8IuaDUscOY6DQCCAlZUVJBIJbGxsCFYwGh12uySzkyj9w+GwFL4AINF4fD+sDDvJnJrmSj2vdMHUE0jv8MChPctOEVygBKMY/EAGN4vwaxcK65gVi0UUCgVZvIw0o8tmMBgICq0TFlgvrVqtjjV+i8ViYtPSFCgUChgMBrh27Rq8Xq/Y3VSnybRc3D6fD41GYyxxg89HXzJ95MBRe1mCWgTqLMvC3/zN34wV4AcOVfz79+/DcRykUinEYjHE43HMzc3h85//vIB+nFtKYpo5AKSJvG6/o8NhTf8yI9v0e9VlnPicJDef9AVTvyKk45zJTPPz81hYWEAul3umpaquH007Ezjq5UwbsFqtYnt7W1wpwWAQi4uLEk3FBcRAFqqgRJeBQ5t8cXERfr8fCwsLCAaDSCaTGAwGWFlZQTKZlM6QVPV3d3dFfaZ9T6Zl0ka1WkUul8P+/j7a7TZKpRLq9bpoJDdv3kQymcT29jbK5bIg2F6vF3fu3EGlUsEnn3yCvb09fOUrX8Ht27fx27/924hEItLNkl1CeY0vfOELaLfb+L3f+z0kEgkkEgncvXtXtAjOhWZGnWTDd8R0SvrQGSuQSqWkQAQA8XVzLJ0WSdI4zMvG0MA5YWoTzNKT6QZ0HRd9ZkbkmKDbLNfRSCqJkVCFQkHQa42y0p7mGLquNEEcBmpQnWX71XA4jNXVVUGqw+EwDg4O0Gq1kMvl8NZbb6FYLOLg4AArKyvIZDJwHAetVgvValXcSIVCAf1+HwsLC6Juc/FWq1XpVsH8b2oO7XYbhUIBtm2jUCiIhsAQS7q8GDJKpvH7/YhEIlLLrVKp4MaNG/iFX/gF3Lt3D1evXkW9XsfOzg6+/OUv4/3338fKygo2NzcRCoWwsrKCubk5lEol3Lt3bwwkfP3115FMJkVT4TvQVVpp3lCTYRM8Bq+0220Jt6VWorPqzJx1zcSzgLMmAHbc8SbQ9iLoXDD1eSS3UL1YLIYvfvGLyGaz+Na3viXuLi4O+kSJ2HIc7U7x+XxYWVmRhASfz4dUKiXSh8c2m02EQiFcvXoVb775JhYWFpDP53Hv3j1sbm7iz/7sz3Dz5k1kMhkEAgFcvnxZ2snQxuWmwXvSTECblHZ/KBSSMagxNBoNVKtVkZT0nZdKJYTDYbz55psIh8OoVqt47733EAgE8Bu/8Rt4++230Wg0sLu7i2KxKGN8/PHH2NraQr1eRzQaFdfZpUuX8PWvfx3f/OY3sba2hk8//RRLS0uoVCpYXl7G3NycPAcDe4bDIWq1mmhBtm0LAzMIhRuXZkDa7Ga5Jr6rV4EumHoKuUltuquoypr1uAia0V5jTDgXEJFt7Q4DxtvneL1epNNpRCIRka7f+c53UCgU8OTJEzQaDZTLZRwcHEgjufv372N+fl4Q73w+L5Ja+42p9psFGyjBKPXYiJ7qN5MpGDsdjUaRTqexvb2Nx48fI5VK4fr167h+/bqMPzc3B+AwMmxnZwcPHz58JjKNDQZ7vR5isRjS6TS2trYkK4yhpkSmuTESeNTdQLWZQ9J10fU7nSXm4GWlC6Y+hrQfmzt/MplEOp1Gr9cTxNU0CTRoQ5CNDMykBsuyJEgEgIBR1WoVa2treOedd3BwcIBoNIpkMolOp4M7d+6IT7lWq4mq+8EHH+D+/ftotVrodru4e/cuut0utra2MBgMsLe3h0wmI7nhuVwOyWRS7FKWb2JqJKX5YDBAvV6XDciyLKyursLn8+Hjjz9Gv9/H1atX4fF4REPI5/NYXFzEnTt3sLy8jFwuh9u3b4/lW4fDYVy+fBnZbBZPnjzBw4cPsb6+Dr/fjy9+8YvSzZLzSNuXbira1sBRTD1b7TAjLRgMIp1OAziqnc7EDrrAjotjeBnpgqmnkPnCqarpCh06SUMXRNDhhwRzksmkuIPoqqILjKj0/v4+/vRP/xTb29tYWFjA8vIyUqmU1Bj7xV/8Rayvr+Pdd99Fr9fD7u4uhsMhvvrVr2JlZQXf/va3YVmWNCLQPbUZPcacZSLeDIEFxrOHmKVFm5tdQehqox3v9XqxtrYGr9crWVbstgkcZajNzc1hf39f4ukjkQg+/vhjyYO+ceOGbCA0EzjvOlmDWo3J6Ex4oUssmUyOvUtqJCZQRk3gVWHsc8vU5gRPS0Wb1QXhNqb5tw5amPSd1+vFrVu38MMf/lAQakZUacnLBUgwiQCOzoXudrt47733RIVm/PNP//RP41d/9VfxjW98A5VKRTaC3/md34HX68Xq6iquXbsmKDAA3L59G+l0GhsbG+LPDgaDyGazWFxcxMOHD0XaMhiENiYzpmgyAEe9rYAjG99xHOTzeUSjUSwtLUn02fLysjQIHI1GaDQaqNVquHXrFr761a+iUCggnU7j0aNHsinU63U0Gg2kUikBFdPpNLrdrtwbw05t2xYQkpFnLHzAIofspMIuKeyqwiKHZHxdNcaM+uJnbtFj5loy1x3JzOCbldwi106z0czSoeP3AfwnAA4cx/nc08/+BwD/JYD808P+O8dx/vjpd78N4GsAhgD+a8dx/v2J7+qcks/nE1uYjc/pa9a1wjRxg6DvV9vhjCorl8uo1+vY399Hv9/HjRs3cOfOHbz++utYXFwUqZhIJLC/vy82LgCpCbazsyPtW+v1upgKTLtk3DjvURdCpDbBz7S0ZrBGq9USULDdbovdrDco9quiL5uJLfQpM02UzMVcct09gxsK/dO2bSMej4tmRIbRfnTzM2Zd0bWl+5lNoldFSgOzSep/BeB/A/Cvjc//F8dx/kf9gWVZbwH4BwBuA7gE4P+zLOt1x3GeLez1EhJfPAsEdDodSWhYWFhAp9N5BpTRQRlcXMyQqlQqKBQKWFtbE1We0WQPHz6U7iCRSERUxJ/92Z8FAGkC1+128c4774wVI6Tkm5ubw/z8PGq1GvL5/BjoxGAUPo9WZanCEnFmOd7NzU14PB6k02l0Oh1sbGyMFQzUFVv4uU4L1VladJURmwAgiRsMLmk0GrAsS/zoZjAPbWpuSLFYTMJnY7EYFhcXJQGEMd9meSgSn92sQfdK+qkd96bzk+hXAPwbx3G6ANYty3oE4AsAvnfqOzxHxKgxSpNkMinSk7Y11TxKaG37AeONAHUjADJPKBRCIpGQbKtKpYJYLIbLly+j1Wrh0qVLkmiii9pzM4jH4/D7/YLQ1+t1KddLSat7SlHl06qmLifEjYLRcIwhp03KTYyMTbWYCDUbAxJzYEtZMjDvh3Hjeo50GSItkclonHOtUZBSqRQSiYTY2br/tcY+NJnejpeVnsem/ieWZf0jAO8C+G8cxynjsMH8X6lj2HT+lSANmPn9fly6dAlf+MIX8N3vflfsMUosy7KEwbnwzCg1+onp77UsC9FoFJlMRkrwLiwsIJVKodfrYWVlRWzHWCyGVquFVCo1lrPt9/sRi8VQq9UkbputXxkamk6nhZmAo+b2Zm8s2rLAIdOurq4in89jf38f6XRaYsXZ/UOXbqJUJChG25jtaqlaUyWnmcBnoYaj7UtqQtww9CZKXzuBQYaccjNhYIreQPU7edkZWdNpmfpfAPinOGwo/08B/E8A/gvg7JrOn0fSiRusMT03Nyex1qbv15QG2j0GHDJTJpMZc23RVUP0mYkW29vbohoyzPPSpUuS9UR/baFQkJJDHo9Hih2wHBJdOrTTgaMWQ/zNZ2A2FYEp4NCtpzcB2rFElSl1OXapVBJthJshkW3WG6OkpUtKew7MOeXnbpVKqFUwxZJalQa/zFx3jaybwOnLamefiqkdx9nn35Zl/e8A/p+n/56q6fzq6uozjD8tTNQkE8E87vhZiOPw5VOF0xlUTPC4du0a1tbWpKytXhBUven31SGKKysrIn0o2VkxhcwTiURg2zbu3LkzxnyMN9eZSR6PRwodNJtNYRx2GlldXZU65sy80gCVLh0MQBiQoahE8ePxuBTHj0Qicq+MQtOJEjo9knPI5BUA4uIjg+mmBdxE6frjbwJzdH1RewEgATGUvgcHB+j1ehLBxh/twtKx35q5zc8meVjOm9p+Kqa2LGvJOWom/58C+Ojp398C8E3Lsv5nHAJlNwH8zXPf5WdAWipQfQsEAnj33XeFkTwej7iLuJCazeYz0oM2JpFiuo4I3pBRWWqHJYy0eszC9zrwQieFMBCmXC5LJBnDWOv1uvisbduWmG6qrtxEuFj1IteVPnkswzbZdZKFFQiMDYdDAbmoMXB84Chc02zapyUtj6MLUaeiajBLmz3UJrzew17W29vbuHLlCuLx+FgRB2a38d0AGJPm09yiLwOdtun837Ms68dwqFpvAPivAMBxnI8ty/q3AO4DGAD4x68K8s12LgyOYOZPPp+XsFBdekj7QLUqzs/oH2bapQ5i0WWDSVQbAUgiB0M2h8OhJH9QCpJBWFmEdj2ZifeiUWUtIbWaSylOpiUizSL61ESY4KHPZXSabdtjUler1rwP5k7zf60icw70OW7uQx03YNs2VlZWpJAjk1UASBCRrq3+qtBpm87/H1OO/2cA/tnz3NR5IR3qyWivhYUFCd5gJtBweNiT+v79+2NtbbgwucAJ8lA66TxqLjIz3JRqJO1mlvqhBNUMQpcYACkoyDpr2gxoNBpjXUJ0tpm2Rzk2TQd2v6T66jjOmNbBOms0JTQ6rtMkuUGRyUm6f7ZmapIugayZmxukbn7n8Xhw+fJliR8YDoeIx+NYW1uT4o0s6KCDUV5mCU06txFl54H0C2aoZSwWEwZ0HEdUZlbS0IUV9DhkauAonZOF9rRPVwM6VHe1yqkTLlicAIAEaBD5ZbdJXZCfi1artUSmdRKKNiE4Bz6fT3KoGUUGHFVC1dKdbihKZdNO5aZG/zg/1xuU4zgiuXXq5CSsRG9KnDdqIdotR28Aa6Vp0E3Ty6yCnyum1i9+GtDFRWEiy26/9fEkLQ1NYE3bc4xq4t9EoRl6yWojrVZLCtDr6CZeW0sASnKtausi+Lwntq3hhkAfLv3DrCOm641TwjImm1IXOGS+ZrOJWq2GZDIpWgIXva4OQlcS5yUUCqFWq6HX66FUKgk6H41GRdpp15IGF/Vmpt8Hq5lq9ZfH6XLKunY5j9GagVn+mAE1LMnEflyRSAQej0eKNdDtxs3P3HiPIzdATWsRJvEzc6N4ERvHuWLq80TmxuLxHNadBiABFnTp0CWlwxxJkyQMP2MFEkZVAUdaAdFpPY6uJU4pRnALONo0eDzvUwd8cGOgVNXS1rZtUes5LoE4jkF/L8fRoJ6Oe9bPrf3ftK/14tdSVSdvWJYlrjUep+eWTM2Nwus9bCzPTDba5LTtX1bpexK6YOoJpAMSHMeR2Gn6bH0+n0R8sXCebdvSJM70rWriYmU8M91PDKig/5bIOMEt2qoaVW61WmPmgBk1pQv3M/GD6rbWIhjTzhJFLMxPZrYsC5lMBqVSCfv7+8hkMshms2I60HzgfVCKss2sdnvx2nQPAkcNCXnPwNFGoAsbkLRmpaU5N0NqH4VCAY1GA9lsFo8fPxbm15rJq0YXTH0MUfIQ2NGMR0YhaJVMJlEsFsckh5ZcboEoOtFAh146T0MxqU6TaeiCIYBFxifzawBMSzeqsrwHqpr8jsyhNyFt31Lqh8NhVCoVQdoZcKJBLUpcXSKIz0HG5DyaElsDjSQNuGnwkv8DR2oswUQChiy2yKIPL1tAyWk0iwumnkDmZNJXysgoSplarSbdFIlKU92jxNSSG8CYaqlVai09yBDMZuKxlHTaFqU9yzBQMgrtVgJr9GvzeQhUcVwNNuli99QMGOPuOI6EnTISTre7oUpO256uJgJ5tMEJyGnVm9lgfC6tlXBD4H3q/7VbjDnixA9isRju37+PnZ0d+P3+MVPnVaRzwdRu0TnmdzoowQRWJh2vj9HAhhvQZv6vJR3jmhngQIZNJpPY2tpCu90GAHEZmf7pZrMpgRG8Nx2VBkAWOkEfbghc2JTEGjACjhrQaQnHc1qtlkhy+rRHo5E0cec9MM+bNjOj2Kj6kukYDsuNjf20aNsDR32zaSroSDrtNtJINVV/LUl5n7wHrTXoHx2eS98059e2bel7vb+/L2YB4wK4MZqus+PWlF6vbp+dlkyTT7/nk9C5YOqTkrYFz1KdMlVkkyzLQr1eRzweR6PRkAKDVIOvXr2KZrMpSflUrQlCcWHryDASmdlUgbmB8Bxdwoef+/1+pFIp2LaNSqUi/nN2rmg0GnAcR6qXELGmtCYQxv7RDF2lFKZkSyaTIt273S7y+TwWFhYQjUZlA6IHgD5jqsFsPECNgVqPTtJgTTJmW3E+tBtMMw+ZUZswbPPLSisejwePHz+WOm3UPsx3ot1eLzu9lEwNPOsqMmlWZj+Ji8GyLJEedKEQzKGaTLVcq7Qcl8yqUWCOq+1e4GjxmQtPB1dQepLRGQvOxd7pdOQe6vW62ORaU9Gouk4fBY5a+pBByWwMN221WiiVSuj3+2Olg7gxaXSd51LaUmKaTErm1Bu2Lms06T1pbICJK8zlLhQKAiJyPvTz0gQ57v2/LPRSMbWpkrj5A0lc/LOOOekaJtm2LQxSqVSQTCbR6/UQj8eRTqcRCoWwtrY21iCeKiYXtsnUVK1531qS6wARvfj4WSaTAQDs7u7CcQ7rnVHCUTqVSiXs7Owgm81KNBilKJ+XGwPLGtFlpQEtbj6xWExU9idPnsDj8eC1115DIpGQ2HaGr9KU0L5v2tYEA2lW0EbvdDqiHeiabmRu2u/al81rkWFpQqyvr0vdNI/HI7XO2U6Jc3xSP/V5ppcy6PWz3E1ZKICx3pQofr8fiUQCi4uLY64gbeua6h0DNHRfKA2I0e7UmwAXJ5FoSj6qvrTpWZa4WCwin8+LFGQwCd1mJm7ArCsmoWhpzo2GIaBMLKErj505+fxUnUm6NZEeT/vaTQ+B3vzI/LxvbWMDGGNKXoPuQs2s3Kx4bUr5aULiZaJzI6knAQ5uoJib33eWcc3j3GzoaZJaA1ssFby1tSWtaSl5CNjoogGMGuPCZc1qSih9P2aXRgJO9O1aljXW8pUMTM2AUqzZbGJrawuO40hjd0pRagPsVgkc5rXzGRlI02q1pF+2BrWGwyHS6bQg66w4Gg6HUSqVUCwWkU6npS0Qz6PPmuAiJbWp2bh5DXhPDKDhM7PwAjUCNi7QBRk4h2xRxLBeXcBCmwPH2df6uEmbgfn5JMBtluuchM4NU79MxEXAyC8AY6omf5O4OIkCUwK5bWBuvmx+p1FkAGPVNQFILPhodFhumBoFzzclL8GzeDw+5h5jPTHdHlf70Ln5sMIombbT6aBarSKbzaJer6NarSKTyaDVask19HO7bbLaxaWj0EhkIt1lQ59Ps4SFF7XbC8CYHU2GftXogqknkNsOORwORf1lH2aixLouF4EpShQyDxmSUpeLl4tR5zRrQI2BHwCkzxYlLVVc3hdb47RaLQwGh32l6Z9mQT+tTmsJl0gkhPlGo5HkRLMWGhm7Wq0KKMVNLBqNIhAIoFgsIhwOY2lpCdVqFZ9++inm5ubE5067lvOp3V+8hg5YASDJK1rdpo1NxtWbJsHKZrMpEp0mSiKRkNh3bnL6ehdA2StMbi9Xq+bavg0EApKSWK/XcffuXayvr8viZSCGHker3Rr91pKQx1LFjUaj+OCDD7CwsIC7d+8KU7TbbUkA2djYQCKRQDQaFZVZA1e69NFoNJKSvt1uVxrK6UQJMg193d1uV8IwgaPkC53+yGdNJBLSgJ4JJJq4uXGToQrO56YZwWtqDUf7rqkxeb1ezM3N4dq1ayiXy5J+ys00GAwilUoJQKbH4thuGVsvG10w9SmJqlulUpF4Y/pgb9y4gUqlIt0htbtEL0itEmr3mGZo/lATSCaT0mVSd3Zk1RM2Wa/X66JZkEH5P6/D/8nw9CVrtVujyrRPydSNRkOqwOhgmHA4LEUE2eaHqDptVx1xx2d3Cy7RYCFwFB7LDVBLWqLaROEZ606NQnsUzPl9ldTwc8PU3C2Bk0fRTEqtNMlN+k4COdzGoEuKi50LrFQqIRQKoVKpYDQ6bPfyxhtv4Lvf/a6EbVIFZ0QWJRSvT+moi/8RHSfg1m63cePGDQGcGo2GoLs7Ozvo9/t47bXXJASTSD3DWdnTywSEiATraDUyNiVdq9WSjhqPHz9GrVbDtWvXcPnyZVQqFRSLRYRCIczPz4/lUdM8oa+YZXsZ3UZpTebVmw61CdryLHOskz84BrUixgssLCxgb29PnjEQCIyVL9aMzfmYJKXNeIMXRScB0KbRuWHql4F0UIl2t7RaLTQajTEmZ6yzm/+T4+jxNGnJZG5wWmJxsZEZaZN3Oh0kk0kpc8RsMEaW0c8ci8XQ7XbRaDQkokt3saDNzxa5tVoNe3t7qFQqWFxcFLSczMrINOBI+6B0JDoei8XG0lO1FqPND81IVOv5GaW7mdxBTwHxC0a3aXOJv19lumDqExClg0aQE4kEyuWylMjpdDpjqi8XKYAx6d7r9cYktg4sYYipJu1P1ggwAFQqFQSDQelqSXdRMBhELBaT1jOv/f/tvWuMZdd15/fft95V99a7mtXdbLLZJkNQpgmTpjwWHOeD4gCO9cGIkclIAcaTxAiCxEEyyJfYEyCZIBkgEyQOJsjAzgQaQBmMLDujoWUMNDBsR7Yx4FiyhqEoUqSplvlqdrNeXe+63V2Pkw/3/nb97+pzbt3qh7rYrAUU7q1zz9lnn332ev3X2ms/+aQGBgb00UcfaX19XR999JH6+/t15swZNRoNjY2NdcRssTBWVla0sLCgq1evam5uTp/73Ody3S8qiMzMzGh/f1+rq6sZCR8bG1Oj0ch53Xt7e7kkMuGpaClR5dRdFZZvoqXRqLg8tEFSS7PZ1NzcXF7/zm8snHmYTO0yOmXqY5BrDzQsk6UoiuxfTkxM5MQU6RC9ZVKh6T2f2f26sgUG/ruDSCw19F0mDw4Osqk/MTGRQ034sYSsWBG1traWGcdRdZhoaWlJV65c0YsvvqjJyUnt7Ozk6qVUQUGTgv47Ou3ZXB57xkz3Z3Ymj9rYhRntRJMZ96a/vz+/D3crjoo/Pwx0ytTHII8bS4d7HgM0wViYix5uIs5M+IZQEBrL27558+Zt1UR9LbR0WFTg6tWr2tzc1MWLF3MYB9QbM5SsL2Lrg4ODGh4e1sTERPaf2VzP74OfPTIyos997nMd6Zv4qTAhTA2ACCJNH6anp7W2tqatra2c8OLPzJhhKsPMDtQhZDzuz/35n/bW19c7aq3FVVkPM50y9TEoMjQMSqyZmmUkZbg/CvO7Joo+oR8ndl3mc7vmQtuCKPuCEzR4UbQ2lXez2t0IaodPTEyoKAptbGxkBh0dHc1xZvK32a4WgYCWJU4s3V7WCJARpgQU9GgAC0fiOHuYi/fgJZ34Tr67L0DBr/dyTafm9wmiOLm7vRw3V+MKnDtF2WGwuFpoeHhYa2trmclv3bqls2fP6s///M87yv6i5XyVFCupPC+a89nTGbPaw1CY3SR+sHgDP9dXW1GZhfgxSyU9e6ter6ter3f4qOPj41lAbG1taX19vSMrDNNbOlwK6kk2LCwBrR8eHtbCwoJGR0fz2mzMYY9385wwM1YOIUPG37GIg4ODvPsG1We2t7ezYK0KJ5YhzY5f3Ak9aPP+Y8XUD5qiUICYWFS59PxpGBZfM/rl0qFp7bHXGOLzxRH8j5CgeD2CgSyxslzmssQZ2kA4wEwAZ4THiHl7NprHtNGK0iFD0G80OnF1NpXnXABDTwCJiywiQ7qPzL0RRGy457hFlWX0sFEvO3RcUGtv6nlJB5L+QVEUfy+lNC3ptyVdVGuXjn+vKIrV1JqJf0/Sz0vakfQfFEXxyv3p/g+fIkN7Vtjo6GiePFtbW3niYwJ7dUsnzFHXwrVaq7KKF0WA+REcbMWD9cA90JocZ5EIWV34lqzsiuEsLAPM7Hq9nrX87u5uRqgBwvDvJeXFHjAZFoWkXARhcXFRs7Oz2UrA1EdosC0Q7bt5jtaNK7cYo3q9nnEFgDL30T8JjN0LYrCn1la1z0j6KUm/klqby/+qpD8qiuIpSX/U/l+S/m219tB6Sq1dLX/jnvf6BBHawhMharXWmmt8Oo/9orUcuY0obtSwbpb76iWPhdMHklVcyztIV1YYACb3nGxJeUWUdLi1LAs4EAZe3SXG193vxbJA83vsnnM9nMaY0AdfouoLUpxY4w4g5wtu/Lkedupl251rkq61v2+mlN5Ua8/pX1Brjy1J+pKkP5b0X7eP/99Fa8T/LKU0mTo31PvYUvTNITQsaZOkRj7++ON69dVXJR0uuQTMQQM6kkuyBPnWXnsMMxmmZs/pRqPREb4hIyuudwb1pigfmVeEoXwBREopl2RyTIDMNmfYg4OD3DdQdE/MQft64cO1tbVSqwXN7NiD55R7phq+sq/sKopCH374YQfj09/o+jzMdCyfOqV0UdLzkr4p6REYtSiKaymlM+3Tzkv6wC5j4/kOpk5hf+oyZLnk/h3/V/m48fd4XtSCZVQGkrgG9QnjcWo08cTEhHZ3dzU1NZUnLox9cHCQfT4YxSccKHJEwMleK4oia6PBwcGs9RwMAqDi3qOjo3mLIBBywjwIGsC28fHxjn2oOScix/v7+xnw8h1EHEvwCixknLG5IC4A/vb+/uHWP56fjgUE0u1gYlz15VqcsfaqKVUAWWR298Wr5lPZOd3a9Hfs+f0xfs47vFPqmalTSnVJX5X0N4ui2OiCHPe08Xxh+1NfuHDhYyE+y14AJW+phzU2NqaJiYkMlk1MTGhpaem27WIxSX3DPN//bTHI1AAAIABJREFUyk1QtLcnhvC/pJxBNjAwkP1hGJPJHfetYsEDGt21IJvZ8Yd2ZxtYZxSeB43JPRAaVB5FkHBvF0i+KsxXevkmfwgu+uub9nEvCiEgVDg/pZQLRJyUFNHIxPeSemLqlNKAWgz9j4ui+KftwwuY1Smls5IW28d73nj+40jxBSBxneHQLEyq/f39zGDeTlyVBLP6pnj85gUWpENtznUuZDHj0dJecN+TOmAe3ygOBnHw7ubNmzl27UCcm86YwDBZNHd9NRUWAH2OWWTO6P5d6qw95+NX5mNzzUksjHCUpXA31Av6ndTauvbNoih+3X76PUl/Q9L/1P78mh3/z1NKX5H0VyStPwz+NBQnD9phZGREKbUWU1y9elX7+63tbdfX17MGRrN6JpUXlnc/08Eh1zxo1Bs3bmQT2c1R2qCftLe9vZ39Y+4Ng3i6ptQqVEjiCX43/j1mtq82QxBInWYlQgrm4zw0LOd46mjU1l6iyVeTwbAICaICPDv3xHohMYg2HjQ9UKaW9NOS/rqk76aUXm0f+1tqMfPvpJR+WdL7kv5q+7evqxXOuqxWSOs/vGe9PQHkWoHJIx2CR5ibMJ6XwvVzy+LRtO9+Md89a4r7AnBFX9d9fw9teXvS4XY2MHu9Xs8VShFC+/v72byPiy18wzm3NjwVk+f0BS4IJ8aGaICnebol48k6jAHCwDPa4hj09/fnRSX1ev227YJPCv3Qze+iKP6Fyv1kSfo3S84vJP3KcTsSTaIyUMuPx0+nKpDBc36ZBMcxxfxcvntYCjNPUi5yR7EAqeX7wkSUCCJXHA1FZpRrXtomQ+rWrVsaGhrK27HyW6zK6ea7p5FiCThi7kJjcnJSQ0ND2tzc7KjGiWtAGmZRFLn/Hj93IeOrsaiH5iY1QsfHwJ+7KIq8ysw3kIehPeTGM5AeOzU1pfn5+VyM0EHJKopzxwW3Cxi3jsrmWxUIWyZQIk5zt3RiMsriwJQl3buGZKKWXVt1PQzIYHdL7i97IWWDXnYePirgGD4kE9oXPxAC8/ZYYUW5XulwpRGazbOtqEaSUspmstdRI8ZMIgzCBeTaSxallPLySQQUC08YQ+p7jY+P6+23384b+BVFkYsOSuoIQ+G7k/xCQg5hL3cBvO4YiDhWBYIJpnbm8aSX4eFhjY+Pa2JioiPhxudAFZrdC5Uh1FUmddm9+H4/LIYTw9RVmrrsWC/nljGrv4SjEvvvZrD9ZXoYy4EbiAQSNAKmtp+DNvNzXAO71gKkY2GDo8ZYDYB2tOMmelEUHX4z48Yz7e3t5T2vrly5ouvXr2fTnTLIUmf9MRdI/EVXhPtgWkfz2k1vTyihDR93gDy0t4NrDqz5Ncf1bSO4F79XMbH3wemH7VOfeOrVBI8mUTdJeTcIKZNqbGxMRVHkT8JQaCk3lT1Xm4nLvlA8D5qG+C6xXpiBrXVhJLTn9va21tfXlVLSwsJC1raTk5PZDHeNzZig8VkqiQ9P6aIf/dEfVaPR0NWrV3PBhTfeeEP1ej1v/E47Hm5z9NuReAfIABoJGeKHMzYOsgEkMkZUQPFEHO7bq3Y9LlW1cxRT+2eZe3cndGKYuiwfOlIv/nQ8t+o3X0Bwrwnwi5xqCsdvbm52+GiSSkMsztQwbtTcnpbpKZY3btzIu17evHlTq6ureeJTjaSvr0/b29taW1vL+dJURC2KIhcgvHjxos6ePaunn346M93Ozo7efPNNNRoNPfvss/l5Ll26pIGBAb300kvZvEejEo9nbOgPvzmz+RppNLbvqOljXGXeAs4hMN1U7qalj0O9aN1uGrzq2ntBJ4Kpq/wTXg4T19FRZwSf8E6ewOEv0z/JNCrz6Z2ZqgYfpnT/nnuxUgtz9/3339f777+vkZGRHJIiDEY6pceiOQfyfGtAOPcHKSPMcQTCpUuX9Nxzz+n111/XM888o8nJSdVqNb322msaHR3VZz7zmRybHhgY0OXLl7W4uKhLly5pfHw8b2Q/NDSkjz76SJI0Pz+vc+fO6erVq5qdndXMzIy2trb0/PPP65133tG1a9cyiHZw0FprzhiRohrz1skJ39vby7nbjK3n1rvbQZuONZBk4qvnPBrg7z9mhbnlE/MI4l+kbmBuPFaWh+6RkLtRNieCqT3OCXkYwyUv5/tAeajEBxumjserBIK/MF/U4P2JxMRzBJMQEW0DnE1OTmp5eTmbnp4/7cwcBQRCj4QTT+Rw4Scdxr2p3z0zM6PR0VH19fVpYmJCfX19mp2dVX9/v2ZnZztQb+6DWQ6yjmAhRXV6elr1el2rq6vZXMbU5zk82aYKtCSRhbFzbR0XfPh4ONP5WOBy+OozhFXUlI66lyWx+DGfG3yvcu+cumE/R1kJP5Q00ftJaDWnGJuM351ANp1J3MTylw6VMTkgEeahM0sVxWQLNKb7yZjDFy9e1P7+vi5fvpwL/PtWNjCGdLg4otFo5GMwgieR+P7VmNg3btzIm9SdO3cua8lHH31U0uEyzscffzz7rLVaLcehG41GvnetVtPGxkYH8ORJNBSH2N3d1erqqprNplZXV/PvaEnGgLFmSSZtuZ/MmmvGn7AY5ZRwBciUc5S8VqvlDf6w7lxoMt5o5BgL99JSMeRZpRgiRYb1RBnIsYsIujEOrlyOQyeGqXthnirpFdMky8wdpzKTi+Nejsf91ZgWCfmL4TwmsJ9Dnwhr+SRy85C2MMX9XCfvE0LIzU1PghkcHNTFixf19a9/XY8++mjewxpTF8HgLge7WEjKDAKijm9+69YtLSws6JVXXtHP/MzPaGdnR6+++qpWV1d19uzZLEjZkM+LLnpUwOPNLJd0xJzJDZBHv2P9bor5U0m00Wh0FHYom2ccjxlxjEW08qrmlB+PTO3lmPhz1yP+5groTszwE8HU0u37SUdzvNtAxMwiB8Dch3LAxU0sKIZOXII7w8d+R/Pby+dIh0BOs9nUI488opSSNjY2NDk5mf1Ddr3wbLCDg4O8lNHzl2F437WR89fX1/OSzFqtpt/6rd/KKPLy8rJ+8Rd/Ub/0S7+kRx55JGeH8bxYC7Xa4RY7aEL6srCwoD/90z/V3t6e/vAP/1Bvv/229vf39cUvfjFvGABoxla7c3NzGhkZ6QirET++ceNG1szb29vZr0bLSofmOKa+r9jCf67VapqdndX4+Ljm5+dzLN3fH23wPB5mJF8+JigxNlFzl5nNDvA5g0agD/Av+uwuvH0v8+PSiWDqMgnqK4r4jCBD9JdhEPe1pc7qJLTDi4qLEjgXk89TIcuYOsZRvZ8QfWLZIUsQKZ/LdQ78OKLNn4M49Amm5nnIpmIrHpZ47u3taWpqSt/61rf03nvv5WWY4+Pj+rmf+7mcqDEyMqK9vT195zvf6QhZ7e/v691339Urr7yil156KW8GMDQ0pOnpaQ0PD2dBdf78efX19eXtd8oELdlvmMcHBwd5VZa/Q8Ylmsk8e3wn7ELi68D9Hu47+zvFdC/LC/eccp4lxsoh5iDWhc8p+h/j5vF7GcB2HDoRTB0Bnyrz2Zkyghq0g8Zx1NgJ04+B9QUVVZrZ/RwH7fDRqp7JJ5PUkr7Ly8t66qmn9J3vfKdDE9ZqtWwWk2HmWV1sEk+MG2kPsw8NDWlmZqZjbfHW1pbeeecdPfvss7mqKbjB9evXtb/fWn755S9/Odf/xrf19dEQZv3P/uzP5l0+8Gs3Nzdz/XC2thkZGdHs7Kwee+wxbWxsdAgmLBP66wUF0ca8X5jdwTE0K2OdUupYsAFjwahe2NCjISxJJRLhVg9t4zY4AcAx1nGOSYcCI1qKHiGBsJL89zIF0QudCKaWVCrNjyL3hWM7UTBUDU4sU+svkBfqg+z3dCkcJbJ/h1FgQjY9X1tby75ijONyvS+NTOmwDC8amu1+QKrn5uYyE7CgAQHk6Z/kl/f392tyclIDAwN64okn1NfXl7fhhbExb8tWORFmgtHYDG9yclIpJU1OTuakFRdwDip6PW93W/ydMhYkwcAwHur0MsCOGXAtTOJAH+Y7OIi/5+ieRYvQ515VnyNjci2CIIbmOBbbOQ6dCKZmoKP5G8m1qL/8Mknp4JT72pEcmSwDKuLxeMy1d7wnz8DSQc6ZmZnRj/zIj+jP/uzP8gKLwcHBvIk8IBAle9hmllxy96/RPDDO6OiohoaG9O6776q/v1/z8/O5vC+rlebm5jpSSTc2NtRsNjU1NaX+/n499thj2Yeu1VoVOklY8YolZJrt7e1pcXFRRVFofn5eExMT2WdOKekHP/hBtpB4twgBGBVBxKdPfpBvtDslmkCyKZBArjzjjMDgPbsg9j5EX5o55u/UBb/PM/oYTed4TtnvtBktzrulE8PUrl2rNKsPfBmSWDZAPqBV93aK0hwt4PeLiGhVfznm/WZikwCCpvNwXGwTExTf2X06zkPTkYCSUitMNjs7mzebJ0uNsBigG/iB+6CSshZDAxP7xlRFQ0stRh0ZGVG9XtfY2FgGuxA6CCm0omtGnttrkfFsMKe3E98pbhDAocf8Hf3muJdE4i+CmmVUlozi76uKseMxtwSO0sTd5m4VnQimlg4nvr+QqnMYQEclHVCKCKWbwv7ZjTDDYW4mlTMbvjVEuzEe7kxNje5HHnlEY2NjHRrTtQoaycv27u3tZcYizOSAWlEUHej39va2arWa5ufn9cwzz+jmzZu6ceNG3pWT7XdgegQHm/3h412/fl27u7uanp7W+Ph4LkO0vb0tSTl+PD4+nkN2KbVyD65du3ab74vw6evry8g8wCFCx31bNiLwnO6dnZ0M6pGhxmo0xgzBwbj6vEI4+FJZZ7JoVrv7ELEXn5NOZbiQUxQmjCvtf6x9apei/B9/L5OEMJTvweRmcrQAXChIt5fm9XPc9OJe0d+On47acsw1w+7urjY3N7Pf2mg0tLy8nKtoUnqX52LCuqZ2ZFU63OmRyUDYiEnKrpOS8v7MrrmLosjgFkIDBuG+zWYzA0oHB62qo0VxuJwSUIz+e5oqmAGuBeY24BWujqd/8syeF841Xu0lzp/ol7pLB8PGVVsQYxQFclQUCFDmj1tvjBmMTp9iMQl+c3M7au04l45DJ4Kppdth/DKQq8rnAOxysMVjhWU+r9Q5cBEUiYIkgl/+SVtMIhcEbqo5wFOr1XT+/Plcltf3xCJ/uVaraX19PaPhTGzSIEGP/R7EvNH2VDNhYnLe0NBQXgGGz8wEJKsO0zTGwtF8AHjEzMnZRhvTD8YTwUa/YXj+YkquZ4RJymGqsuQh+hCZnWfgGk9L9TZcuLumpH33p/0ekbHLXDHmXtTutOVAmV/7sWfq+FCOUPJZxdRlvpmbSvhcfn6Zj+Na3k2jMnM9+lRcgxnlWt9BNV8y+dhjj+mjjz7K1TuJKaNJQbVdexACgnlgWKivr7XD5NLSUmbQvb29rGnRzrVaLRdJcE2ENoRR0Na+Da/777SxvLycfW3CaQ6ygQV4zH53dzf76ggA3jO4AQIEDU77np02PDycLQUWijAXuF/Voh+3evydOvhVNefiPImRmzItz+8uNOMaAJ9zH2vzm89uD9HNN/EXmNJhgT6pE1SLJo6bPdHE53//hOKgR7MfirFuGAufmUoh1L9mkYPX8HI/i4nCohAXhj7h0boeLnPTD/8UoAwEuVZrZXlxH0kZUcdUllrMv76+nnfC3NjYuC0LDKvCATN/V25aR4aOZqs/K++OZwZ447nLtF2ZW+RMG+dKPDdS1LZVFOdFFaAWeSBajsehE8HU0u1mt6PXfk6360kIcC0T0z3dHHe/5ihQo0y7+3eX7LTNBPOYavTvnnvuOb377ru5ZhlpkiD67JSBhkTLo019OSp9wWR2EA7GJXYNExMGwzceHBzU1tZWvp90mLKIib2xsaH+/n7dunVLKysrHemtOzs7HYxPsgxCFuHF83ksGZ8bvxn/GyHnAhQzGrCPhBcfY9qM78o1orfp887PdUzGBZsLoLJ78sw+5/iMGWl+Tlm/jkMnjqn57pIzMlSZORN9Z/xP2vIsIvcRoxYrk95lZr/f2/sQCe2M9cBEJLwEUMUOGpikIN+eIlqrHW7JQ3F66TA3uShaVVb29vZyWIu86dXV1RzfhSFJKYWZWKMtHYaC/PkPDg6rjCCApMM0TDbNI57saG7cVwzhBfLt0QVcDPpCTBpy6wf8gWqhPhcQfD53yt6lt4diiJhMWWIM79797ag8nDzxxsNsvFu3Lst87F7pRDG1f8ZkgLJzIqPH4wwsZhxhFLRSHLAqU8tfXlWf+O5tMOmY5I4X8DL7+vo0Nzen1dVVNRoNDQ4O5mWHbrXEKptke6FNYE72zBoaGsomMOY+ZjUahiSU1dVV3bp1S5ubmxnRdqTft8zF9HdNwzOy7JO8cEkZGacAoo/J1tZWXiLqAtejEjwfySIeVoTZ8aOrGKBMUHtVFgfGeId+TQxjdSO3xMoUElRmssc8DOljztRSJ2Mel6n9ejdBpcO1ujC3h0ik8lQ+2qti9KP6RjsOxPjyPkzRlJJmZma0vLycf4tagX5gkiKgOL/MYkF4uQUTNeF7772ngYEBTU9PSzo0rx2txUUhbOiZdvv7+x1x5pRSBqtc+7kZirkdEzncJYmZW44O0yfOpdJot/yGSN1MWu9TL+eXUS+JJQ7m8ekmvPfluHQ3+1P/bUn/saSl9ql/qyiKr7ev+TVJvyxpX9J/URTF7/dwn9vAEI7Hc6Tb11fH65icTGw0DFoCs5jJcBQghqCIFDPB3GT3dgCwOMcn8NNPP62rV6+q2WzmFVauqRxg8nXHBwcHGhsby1YH93NtDJpN7Ww0ITFpVl+xt9Xu7q4ajUauV5ZSyvtgE1rzsCFCZWxsLLdPVhhIf7PZzH3wnTl4fkfkMXU9y07qXDWHxifZhIUlVUzk7wIBEhM/+N2XzUbB6oKjytXifhHUixT7WhYpuW9MrcP9qV9JKTUk/auU0h+0f/vfiqL4X0JnPyXp85J+VNI5SX+YUvrXiqLoWsLhKBAsmjFx4DjPB4HzPfwhHfo0ZQxc5n91G9goZNxScLCv7D60Oz09rYmJCX300UcZ8Kl6TtdsDsz4AgHXjExE3BAyqZjUXqON61ZXV7Wzs5NDbZubm9mkxsyv1Wp5sYZPdgcqPSbv6LdrbF+RhQCmHRf00ed0wehFGLuRM0m0BPxdR2by+edzqFcq61fZnHIzP1orx6G72Z+6in5B0leKorgp6Z2U0mVJPynpX1Zd0I2RXFq7uezSjPgl13taIH5ajI/SnptybirGDDIHibyfTNSIupaZj5GxmeATExP69Kc/rd/93d/Nq6siWky8GhOa714GCo3pzOHP72mV9LfZbKrRaOjdd9/Na7BZANJsNrOm39/fz5lnsQgB90L7gl1gFbhQ4TzWevvGBrwPVp5B0Z+mP+SblyWd+NiXadyqhTzRp47Wo8/LeK1HOZy8vTh/YvJK1X2PQ8e6KqV0UYf7U0utjfBeSyn9w5TSVPtY1f7Ux6Zo6gDE8HJJeYwD5uEbzDlHm10AMHh8erYW58DQ3ahMC/hL8WQYv2ZwcFA7Ozvq7+/P5jCCxie2x41ZFkksm994RszvqNUYU/480aTRaGhqaiqnmUrSzMyMxsfHdebMmWzqj42NZbMeZovvi3FkzOgfCSu+KCVu1eMYhLfLccbRyxl5qaSyv7J3Rb/isV7N3Wi6H8WAVea2t+F9cGvyuHQ3+1P/hqT/QVLR/vxfJf1HUm/7UyfbdH5ubu62QYmmR/Rp48O6Cep1qyRlqR5TJZvNZgbUMCv5AzEml9kzg6TbfSBnIp/cpEZKyvFiB33wZWdnZ7PF4TF07ktWF/FslkWiqREEFEJwrMB9Sje/0Y4pJc3Pz2ch+cILL2ShgrZ+8sknsw+LwEMA3Lx5M8eWEUr7+4cbvZMGSygNoYRl0Nd3WN4IIeUaHgvKTXEsAV+K6vHn2yZgYOSoKSNwF4VgJB/TCHr1SmVCnz/G4E7ojvenLopiwX7/vyT9s/a/Pe1PXdim808++WRP4sh9VsI6TE40D+amo8NMfF4CWk7qrB4pqUMbegKEI8nxs/08t33nHDf37Plz/1xg+Wbyfg795xmbzWbHJPDJDDP5faPPz3dqiZEQcuHChZzsAsBFEglmNQktDryRyLK4uJgFl9eNcySdcfXqKtyzbDKXjV1fX19eoAJV5Qq4ZRbRZT7LvlcxtLfZ7Zyq61wR0C8XKHfKzNAd70+d2hvOt//9dyS93v7+e5K+nFL6dbWAsqckfauH+3T8HzV3URzGmX1XSI67eUrm1eLiotbW1nTt2rW8WKJer+uZZ57pKEjgEx6gisnFEkVfDsh93RePmiW+HLQJ1/LMIMRvvPFGzv2mb0xe12CDg4O5vHCz2cxb26CBpUMmgKlBor2KCvHjWq2WrZT9/X01Go2sTaleAiPTf6wGSR2uSrPZ1KuvvqrZ2VldunSpo+QQud3r6+va39/PRQaHhobyhgFbW1v53ghR/7t69aq2trY0OTmpRqOhixcvZneAsSqrHYYwKfOdqxjqKLPaBUi00HohdyUcI/I+HydM53Q3+1N/IaX042qZ1u9K+k8kqSiKN1JKvyPpe2oh579SHIF8S7cPSJnEZS8mqk9SGP/69eva2dnJBfa2t7d148YNra6uZj9cUjZvr1y5orNnz+rFF1/MSwAXFxc7VidhGu/u7urMmTM6f/58x6AzKVwgOFOXaXAmQvSrP/zwQ33ta1/T9evXNTEx0eFXM7F80qGtEWRRk7nmdm3An6PRkvKyT8xtrBN2yuR5b9y4oVqt1sFIaGI0b71e1+joaAYlmbwIVfrA/l1kxsVliy4c0fRbW1taXl7OWAKVWKrmSzfy87tpxqO0v7dVJQAilsLzRKFVhsXcF6Yuqven/nqXa/6OpL/TayccGcUMYxBANr/73e/qG9/4hprNptbW1vLLxl9u37dDasaXAfDw9ttv66233tKf/Mmf5JcWc6RHR0ezGT85Oamf/umf1uzsbIcvtbe3p/X1dUnSxsaGrly5ovX19Y6azZiu/f39+uCDDzomIZbBjRs3tLW1pdnZWd28eVMTExP5eo/hFkWRfel6va6DgwNtbm7mKqUwBi6Jg0eSsiUwMjKSmU5SRtYxpQGgnCHps++N7YKBdthfywVkUbTSV10gsTLrwoULqtfr2fIgDu1REHIMvHrLjRs39K1vfUtbW1v6whe+kPvm7x63yXO1PXoAcwHcIeAdPHWhSn98rpWZ7lHA+zz0XHf/zd3ICN4el05ERhmmEy/CQZ29vT1dvXpVL7/8ci5V62GZaFq5hoz+kw8gkh/QxQcSdBWmWllZ0csvv5z9WG+DtgGG3CcsS4gpisM60FJrCSUrtmAgnyRobfqGliLfeXNzMyfTMHaeMkkoyJFoam8zbpjYPBOmNgy7s7OTTWkQbGc+19gICLcIcB0YA1JDASIB3BwgAhCjz368KFrx9ZWVFb355ptaWFjQ1NRUXgwC1uJhwLIwk4ORUC+aMQJpZdeWWWT+HGVKxxk5rs0/Dp0Ipm42m1paWtLExISmp6dVFIWWl5f1xhtv6KWXXrqtUABZYUyemH7JeVJnXBCmYqBYCyx1Mpwvxse/psSPV66MDMpx99ORyh635X+AIl4ifqcDgLRHn27duqWtrS2Njo6q0WhobW0tb1U7NjaW8QaARJJDcE2i38aqq5s3b+bwIIwGyMg2Pm6+e1UR0GzG2QsHNpvNvNEfgpSxZCcN3hcCxQUFWpotetgXbH9/X/V6XVtbW/rSl76kn/iJn9Dzzz+vg4ODnPe+vb2dXQWEFC4B8X+eVzqs3Mq8KXMJXTH43OKYuzYwr4fhXJC6Vva/KJiPSyeCqTc2NvTVr35V586d04/92I9pb29Pr7/+uq5evZoZ2jUHA8rDQ84wEaVmgkiHEtWZnFVE7iNDvqQzSma2fcXcpV1enie3UObHfSomtSeWwIyecOETCIugVqvlggpUUEFTeeiMtj3RwyeTx7npG0s8cVncdIVJ8JMJ29EG4UCY3Z8BjKOvr1WVBbPZPx2tpv+4B/jrHE8p6YMPPsjCc2lpqWMV2pkzZzQzM5Oz4di2l+fw0sFVGlgq99njNfQ5WogOiDkzlzF02b2PSyeCqff29rSwsKAPP/xQL7/8cp6cLPD3ySZ1VpaQbi8nHJkXQjAA+HCuvxwmLPdx1Nmz0bge8M4nNC8STYvphbaiL+RIcw73hfnR0pjPPA/+5/7+vmZmZiS1JjMx20ajkX1P/OeDg4O83HF8fFyScg1vyhphgrOk0vsOIWz6+vq0urqa12YjANDwjDNjzda0ZJKdPXtW4+PjOYNtb28vA5qu3XxcvZCDC5Hh4WEtLCzoy1/+cg6twSQOAhIPHx8f14svvqiZmRk9/vjjWQiz9jv6z3EulQkBSbcxb9mxMp/Z5xztR1f0OHQimFo6LB6I+QPo4f5u1LgQL9w1KYPivjXnkWYode6fFVFKv48vN0SrwHRcW3Y/tLXnQbN+GKYBBKrX61nLAQJKh4k1PhkwpwcHBzUzM6PV1dXMZCR6pHS4GINEE0m56CF7X/EcQ0NDHSGqoiiy8IjvRWq5LxsbGx1xcYBOj0EjYHZ2dvI9cbPwdynM4FZMtC4k5fTUmzdv5mIN3J/14k4jIyPZ8pGklZUVXb9+XZcvX9bg4KCeeOIJnTt3Ti+88ILGx8c1MjKiwcHBjFN4/TtJOQGoLHTmmAMCJ+IDzqSO57g1xnuuSqQ5ik4MU0udoYUYSihLSPCBculZdr50mK8L8wGURJPI/V2ozPwq87viS6t6Ru5LrjQT2dHxiLQXRZEnpwuYgYHWbo9LS0vZl8O6QNg5OOPWBwIjmr4+XpjigGMIRZieFWBxHB39JYMMlBnznL6StYerw3tycxbhCErdCyEQPFRGW7du3dKbb76pDz74QEsRnfKSAAAe0ElEQVRLS2o0Gnruuec0OzuryclJSYfKBisPX71sW6fI6K59o1nvn3cKiFXRiWFqT9+LfqszrKOVbo5HM1G6vQyrmzOuUR0B9kUctO398BdXdk8HUriOtpnE0mFVS0C18fFxra2tdex26NqadFLaYnUT6Pf8/LxSSlpcXNT09HQWDkxoB6CiaQcwRr+3tra0v7+fXYvBwcGO3SgdvEL4oZ18bN1XX19f1/b2tkZHR3PIzlNG6Z90KMDKxpd89SqmLhPmWEeMBwR4eevWLb311luSpJdfflkDAwN66qmndP78eT399NM5hRaLhQQextMBN57XtW4ZI6OFy+Z6lQvQK50YpobcFJY6S81UJQnwm2tGvpclfEjloQg3oaN283artDb98D7Tvmsc7ye+NkAbeyr7ZHAwi/7x287Ojg4ODjQ9Pa2pqSldvXpV9Xo9a1cfB/f5XUAROwaEQ/j4xHULx4E3H38fA5/wvpUOVT8ZawSDWzDxfbn2ZjzjqrhuFM+JFgnmdUqHIbnXXntN77zzjpaWlvTZz35Wjz/+eB5HsgzLLMTjat04l6qE2XHoRDC1azcGpEoDdpNgEb30gXYJGHOivb24m0NZm1X3Lnse/2Syw8CAMwMDA3nv6kceeSQj2fhVtLe/v69ms9mxsAIgamVlRVNTUxobG9Pi4mIGlDDB2ZIWjcjeU/v7+7m4Ic/vMXrCWUx87zO+JxrXF3vAzBsbGxkc6+vr0/j4eMeOIF7SKLorjiEw0d3a6YWh6YvnIHgMnTa8kirRkN3dXb3xxhv69re/rWeffTaPNe/Gw45gNSMjI7p48WIOz/o6hCpEPc4d3I6quXYUnQimdk3Jg7hP5gwm3V71xAWBh2mi5vYQD8cgT85AU3vbCIIycwqif76iyNM1PSwHeRhramoqb8JOvTLuA6jmu1pwPwoVbm5u6tKlS/r2t7+d7wka7cLEtSeo+MDAgKampjKj+u8xvo4Fwx5bPtEBvNi6luWVUgu0ojCih7GY9K7dPQIBEX/GrweE8/kRx5g2oyXn5ziDc9zzrlNK+v73v9/h5jnDMTaEyubm5jQ/P69Pf/rTmpycvG31HbXeCAk6OMj9PNpzXDoRTA1104LxAZ2xo5lbZgJVSbwy5vXzo6nGfctAMCjevwwcc0LIgGrzvCC78aXDDB4eIU99fHxczz77rN544w3Nz8/ncJV0uKiCNEv22oJR3C/0d+FJFfi0e3t7uT7ZwMBArl4Ks5I5Rr/GxsZUr9ezEGDJ5sbGRtby0qGA8rEuwzFcY/tvPpa04QoiJiX5++H9x7nj1hzvJlZp4T0WRaH3339f7733nr75zW9mkx5Ac3h4WBMTExodHdXU1JQuXbqkmZkZXbhwIW+t5ILwTujEMHVkaB+wbgzk50eTuRdJx7luolWdR3+cXLiU3a9KmLh1gjmMJuY61/RRM0Th5RMCUxKmi8UKPPaNHw+YBhItHU5wNBiMjwmPcPAxo/9oYwA9Nq5DgOzu7mp7e7vj/XoYE2wipcN1Ac48MYe+bLyrEGdvq8zkd3LXqUyRRIsRTey/cS6A4MrKSrZsvv/972tubk5PP/20JiYmMiiHZfaxNb9dAvrAxfjxUQ/oA+0Tvupa96k4P1bziBQTXapCZ2UTjeeL4QwSQnZ2dvJzR+DGa2jz6c/GYgjAqMcee0wffPCBrly5ovn5+RyiwRxPKXXUIuM3N23BH2D28fHx7GOjbVn8sbW1lXPGSWUFxKPgfl9fX05swdf2FM39/f2cYVer1bLVgE8vHZYjBlyLGrfs3SGw/V3Ea7x93mF8v56H4PF62gUVj6Et75O7aP39/VpeXtbi4mJeejszM6OxsTGdO3dOk5OTd6SxTwRTS+UlUpHWEfCKL89fSJW2rdLaZZI5It7+Wzft3+13B2j8PLTW8PBwx/JEmNV9RGK0jmT7OOAfSy3/dXR0NIfJALdqtVoOQ5HEQeYeloEXOaCfAwMDeakjxyiUIHXiCJjmJOiwNQ9a260BhNre3l4uyM9KsBiSjJaKH++mjaPrEv1Xb5u2mEv+Dsr88G79ipEcxx6K4jBBhzkxODiotbU1ra6uanFxMS/YOS6dCKZ2PzP6uFHjcS5ahOMeSvJzvf3om3s2EhPSM7ekTkDFtbiDeJ68H+/vIIyj3lILcd3Y2MiTGTM3pZSZDE2IFud/DwnVarXst62trWWUem5uTn/5l3+pa9euqa+vT2fOnMnakAy2qampvP80Gh9/0WPSCAx/roGBgZx4wu4i77//fkdIC/R9Z2cnm+4bGxs6ODjIC2pu3rypRqOhyclJNZtNjY+Pq16va2VlJbshuBdSKyPO30v0kyPSXcbocWcWVwi8M8/ow4qDqkKtR7mKaPKqxCTutbe3p7W1tduSoHqhE8HUUvn6527xPj+/DAnvheILlzoRdOl27RvNtTKNXqXpqyhmHuHzMqFTSplpCA2h4aNlQn+bzWZeAEHONemjTEj2oMKcRGMSXkJDUWHFc+1B0VkVdv369WwSI1RYronmPTg4yGvhx8fHc1iLajYIFtaKuzCO763MpYpCtZd3wLs6ihnLojCx/dhGmdUWtTvHYtt3QyeGqaXbY8vdzqv6jMCJUzTZ0DL85iEVJCZJDjG1FCpzAxx59bbJInMgb3BwMJcv4n4UbPB7Mukxr2mv2Wx2rPDC193Z2dH29rYmJiZyxdIrV65ofHxcExMTHb4zOdP48AgAngFG98Uc5JxTYghzGzQckxurY2VlRdvb2+rr69PY2FjuNwssMEenpqY0OjqqpaWlbIpHBnBcgf/dZ3bz2gE36XCRigvroxSBm+KMSVlySDfXzJF3P7fM7YzXHZdOFFNL1QPc7eH8ml40dXyhZag7E7Jskvi5UYuX9cOZ3QWET0YXBJ6u6muzYUAAKcxfzH/uxSTGbx0dHc3xZzT48PCwJicnOzQh4BxFGzwW7KExtDgmNQLBixEitNDamO7s/HHjxo3M0AMDA9rY2NDU1JQajUYGxiLzMN6RoY5jnXF+WTisF2XQayTG+xV9bW+zDBi+WzoxTB1BBadetLe3UUU+eDERhfZjP9yHJKwDszvju7kXQRQ/158JEIZVREhztw58BZok1et1jY2N5VxsmJcwE5oS9Hhzc1M3btxQvV7PC1UIZ+3t7eUUUbbH4Z6YzeSXA+RQfRSLhVpjpE6ygglmJqxGeij9fOyxx9RoNDJQx7pnfh8dHc3rrhEa7jv7/07xHTrO4iBlGXrN9d3mTdVv3bR0vAefng7sgvlu6cQwdS9UxbRxMKp82oiaM3HdL41x5wjKSXdmElVNmjJTLoba0IwwG5VBt7e3c6iLDCUYlDASpjw7cUiHSRJra2sdmxdMTU11FHOgL1NTU9ra2srChb7wxyoxQlkIFcxxqWUtALqxV5ekjAvMzMxkM58wHhbJUaFJKKb/9hLxiIx2J1q/TLgcFSm5n3RimDoOQDcTOYINbuZAIMQer44L0eOxeG8PbwH2lJ0XTUL3yTmP+zAx/bqDg4PMDPjZcT8tkjZoB9N1a2sr3wdgCv90a2tL9Xo9m8orKytKKeWYNbW8YTxM76mpqewGuJvgVUx9lZGXMiKTjPGizDDFEc+fP5/99N3dXT366KPZtGcLX/xowEDeFYk0ETzj+cvSQ1knzrh4aNHJtTFIN+/HhX4Etap84uiWlVl+Vdbd3dKJYepI91PK+YTothA9osoxTHYn94uEAPAN4Lmf1AngxRBLSilrX+kwI4uQFBlfw8PDGW1GmwIYORiIpqNEU/T3aB9B5C4A96IoA3nkVA2dnZ3VzMxMXscstbT37Oys+vv7tbS0lBF17hvH2t2mXsc9vqdu84r7luVGlLUdTe8HpZkjnQimPio8Ufb/nVCMPUczLEpTv0bqzAg7yrzrtb++rhoG49MBJy8g4Bq7v79fExMT2tzc1ObmpoaGhjKyjGVx48YN3bp1S+fPn1dKSSsrK7p582YubwwwxyortCPP6n8IFxJM8OPJertwobU5C+j73NycJiYmMuPjX8/NzWlubk5ra2t55RnhOsafMUTwYilUxXkhjwS4NeUIdgS/vL24vDW+zwiQ+nv3793Cnr0KgDuZ9yeCqaWjc6TvBUVGdOZ0wMJ/9xfK5PBEmV5eTpX7IKmjfBFVNzFv+fNMJBgc8xwwanBwUHNzc5qentbm5qYWFhYy+l2v19VsNrWwsJC1KAg3myE0m02trq6qKIocu3bTUDpclukhutHRUU1PT+cdNZeXlzU8PKxHH320I6Hm4KC1ZPPcuXMZaGN3EQhBRfs+/lgSbjF0IwcYYXLGPa7gi4TgcqHmFDGPsnd8HNylmz9/X0JaKaVhSX8qaah9/j8piuK/Syk9IekrkqYlvSLprxdFcSulNKTWJvU/IWlF0l8riuLdY/cs0L2C+8vaLWPmsvs56lrmi8fznKqEE6CVo9H+kqO28hAbx1j7S7USkHRSDouilexBIsnKykqu5JlS0vT0tPb397W5uZmZlh03PG7vMXPAMSqCrK6u5lViExMTmpyczKa+1BIsk5OTueghAgf/2QtMVo3dncwBZ7Ze24kx7qPO5R5VAv6o+1WZ+HdKvWjqm5I+WxTFVmptlPcvUkr/XNJ/pdam819JKf2mpF+W9Bvtz9WiKJ5MKX1e0t+V9NfutIM8LNK22zn+uxf98+NoDqR+DGlxvtcAc5+TNkjPjGaeU5k5BhAGqORrgpnojUYjawvP9SY2zbW0C+pdFEVmopmZGU1MTGh4eDhvU8Syv+Hh4Q7N7MkkvuADUxiACnCLzehZbVSv1/XUU091mP5LS0uq1Wo6e/asRkZGNDU1ld/j7u5uRtixOOIaajfDd3Z2bst0w5TGCnAT2v1iNG7U0n5NdP+iUHerIYYnHfiMy3bLfO2qOXwvLdJett0pJG21/x1o/xWSPivp328f/5Kkv60WU/9C+7sk/RNJ/0dKKRX3UhTdI+rmF5VJVxcCjoiWnRf/R7vGa1z7AxRx3H27OIHpv2sSdydgxKmpqZx5Bg0ODuaQ1+7ubi7fu7CwoJRSXtSPT07eNfFdhMj58+c1NDSkRqOh0dHRvIfZ3l6rbG+j0dDMzExH1h4mPP3l2RgXBJyHpuLaaWco/o+YSByPKpyjyi36OFOvW9n2SfpXkp6U9Pcl/UDSWlEUqDnfWD5vOl8UxV5KaV3SjKTle9jv2L/8vVsSC8fKFsJXtclk8UlRxpxOZUzN5IQ50EY+sZmAZH356iy0GD44yySr7sm5knJceHFxUTs7O1pbW8uhK8rkOm6AlYMWY9GLF9Knrzs7O2o2m/rggw9yP8+cOaOLFy+qVqtl6wPGdK3oa4bRoP39/VmLDw0NZUHhtdqxLlw4xHbinODd+5JSf89lsWZv+17T/Yxj98TURWvXyh9PKU1KeknSM2WntT/LZvtto5Js0/lu/ulxiJfeqynTjTkjehnR0KMYO/4Wk148VMRk55PsLLKtqIFFu1UTjd98AQXafmBgQPPz89ra2tLCwkJOGUWzUiUzpZSLH+KbUyEFf59qJbu7u9rY2ND29rZSShodHdX8/LzGxsayO4EFEpNpcKdiaMhdpvX19Xwvp5gXwDtiPCO4WTZO0bz2xJUfBt1Pq+BY3FQUxVpK6Y8l/ZSkyZRSf1tb+8bybDp/JaXUL2lC0vWStvKm88PDw3ctCnthaDeBmVhHhdL8Wukwa8nDW5GiRi/LRvNQC5lZTHJ8ThDjlFJenkkpIffJuSdjMDIy0rF9LwxYFIUmJibUaDR0/fp1ra+v5+tYFCKpI5QGg5ANBlqOCX7z5k2Nj4/riSee6PBz19fX83N77Jl7+P7T0mHsm+SSZrOpt956K4N17id7RdQ4lm7B+BpoBEVcPolmd3zjQdAPNfkkpTQnabfN0COSflYt8Osbkv5dtRDwvyHpa+1Lfq/9/79s//7/9uJPx4wepwiERa3p5NIWgCte66V84kDGsIT7sJjRZXm6HuYh9dHjopI6gCC/hnv42lk2pltYWFCz2cxZXg4UeYlfnsWBPW8bs9MLErDdjeeAY9Z6FUyYZWVlJWtwNPzjjz+uer2e2/Wxdg3sRRQhAEkHAYui0OLioq5du6bNzc38TD4volb1uVP2Tj133i0GL+zgFlOcL2U+PELP7x2n+VGuIO1Uzfk7ZfJeNPVZSV9q+9U1Sb9TFMU/Syl9T9JXUkr/o6T/T9IX2+d/UdI/SildVktDf/6OenZMcubzY1K5FOxl0HzAu5lzR/Wj7Jzo8zFxue/BwUH2Jbe2tvKG9E8++WQODSEkWMRB4oij5GjHGNtNKens2bO5aMHW1lY2u2F+f2a0Oqh5vV7XuXPn8m4ZDlIBssEsbg24tbSxsZHN/qIotLq6qo8++kivvfaams2mRkdHOxgNDe2WkjOaVz31Y93Ckzxf2Xsti6rcLZUlQPXiIhyHekG/X5P0fMnxv5T0kyXHb0j6q3fUmyPIHz6GIPz3+DK6MWKVEVHmt1ad6xL5KADNtaf3MV7nwA6o8/Xr1/WDH/xAc3NzevLJJ3PVTayOlFJmZtc+tdrh7o4wBdTf3583hI9M4uEaSR3hstHR0cykAGSelMOfm8IIR0oUUyt7YGBAS0tLunz5spaWlpRSylvNxvEqc5n8nv6uu8WYo0V2J+Toei9a1d95L6DrnQqTE5NR1gvxcn0Ao5ZzX6tKCkqHkjJKw4juRpPP71c2abpNEMxbfD1v2/vkJZYwaenL4uKilpeX9eGHH2pkZETPPvuspqamOsxJb5N7UmQBze3xemLFIyMjHa4G14NEU/gA1Js11579RjiM94AwifecnJzU6uqq3nrrLV2/fl0LCwt532ofD0eqY+57fF9HCcr4nqLQ8mvcdSh7z9F87sbUZczs2XMQVtLd+tYfK6auQpCl28sMSdWZXdH08rb9N9d0fp+y9uKxKvLfYv/8mWjX85h958XV1dWc3vnII4/oU5/6lEZHRzs0pmtlF0Jof+4FBsDzYbJG5kQgUagQhuOebv5yHSYzpY8ODloljb773e9qa2tLS0tLuWqKg3ouAKvGk/Fz8MvfVS/m890yUFUkoupcqMxVjG3dN/P7QVAEwhyJ5aGd2ZiIUmeeMprHK2DSJuQAEv/HjCM/39FvSTk7zO/tZYvICosADplV+J48R9QKMB/PABLNNdevX9fGxobeeecdjYyMaH5+XhcuXND8/HyOK7MtDpoaIA2wC+1AaKper+fnOTg4yKErCgY2Gg0NDQ3lZZ08jxehR8AQlrt8+bI2NjZ09erVfI77+TC+az4yyDxiEd0Sxz3KhDiCpww8Y2yrwDEsMh/vaAWUmfs+R6XObX/8d6cyM/5+AmUPhMpQxzKNyMBHJo+DXiVRyySjm153Ii1jmzCNM7+bXwiubgtF3PVwt8L3zYZJ33vvPT3xxBOamZnRuXPncnlg+gFz+17SHJcOSxGnlHJ4bXl5OQtP/nz7W8abbXW2t7e1vb2ty5cva3NzMy/BpMZaHNcyrQojRCzlqHzs+A6q0OeIH9wpHcV8vc6hu7UaoBPH1DFEUCYRncnRPHz3SRD90W4IZ9TIZRYBx+O9iqLIoayiKPISQt9NMkr0/v7+XBAQDeVrnGOCSgyj8cz0mzgzbX3ve9/LbQ4NDenMmTO58ifmMmWF3RoAhaYvLMooiiJrXxiURR+kmu7u7mp9fV23bt3SxsaGarVaDmW5D8u78fHm2aLfzLP7O3Fhzv9+j17I59BR15SZ9LHfZb/5dTzPcYTHQ2V+S50+ctVARJPaJ05c1VQ1QPx2lN/Va3KAM7DXlvYQhQsMKmYiHKIZGQE7iInO/dwi8fNv3bqlnZ2dXFnFBQefEZgC7MJFoIwvboS37aWUGGva8Ng51oEDcVXj6c8OuUXQzTcto6r5E4GyXiwAp141a+zz/aYTw9Rlfk0ZM0Umj9LewaUyTeDkfkwsNxTJQytVUt6tCp8s0dpwZmKfYzSto7jO0C6kqiaJMxt+ve8uifDywgxl5DnZPuG9bJFjBh4iYz04e2z5lrrSofUU36+/f7e8fAw9XdaLQNKej7G/425KoZumjeNadY94vJdwZS/C6GPtU5cxUpnZXaW13BTz77TjkzSSx1Tdv43nRnOP3x1gg1jbHCt0wMBuYu7u7uYEDCqUwHQOAEUBAbn/D3m6Y1mcmPtXMbWnYTJ+Hh+OAtg1XEwDjSuyoOhi4JLE/Gv66wwcEW8XzFEpRKwlEsBnmTLwORjnBW4B88IXmFQxt1/r59wrXxo6EUzt1M3vKJPCVVTmB1e1WWbm3Q1VXV8mod0/x8SNE7vsOcuEW9m9/LmPAwzdLXjk7fgn/fAJHpkuCjGEIYzN9d2Y9U6p7JnLUOsqbV3VZpWWvx904pja/T2naC4ileO5HrLxNr0CZtk9y773SlUmni9SqNUOFw1EABDTuFZr1er2iiMu0WOcnnEBQ4gTJ5q1biHE9pyi7xsZs5swiRaCF5bgPfjzlOUAuIZ10x2qcj9Yllr2PL1SFVN3W5oZv1dp6Oh+3S86cUwtlQ9smWQsM5GlO0uvi/5VrxTBL5+kZYLE+112jfv3HmN3zeVay1d3OSp81LP04td5qLAMO6gSgHFSS4ex2vhX5df6OVXmflXKaBVVYTHHuT4+uwOg9Du2zzOUCd77QSeSqaXqAL10uJ6WQcZ/iyt3HC2t0tK0iVb0xJFeiJfnE8zBn7gCCqnvYFqMx7q/6BVEfSWUdFgF1CcK9ynzm6OfXjWxI1jnz+nHyiZmXBsfMYe4DNU1OBOf+zNe/o6c8P2jf343VBX2dKuwynXwsYruhn/ebxP8xDJ1FagRTe1uJmSsbtHNX/J7emz0KOomACK4FvsXQS6Y1MNUjvqimf1a9zMjWu7agfHoxYQ+qtomVHaOA3vOABHEcjOcZ/HacQifo0x0F8RVfY5MddTzl10fmbTq+rLjd2N+34k7eGKYuirk5BPBJ0i8Nmqoshj3URLSSwZFsxqmiWuGoyYE2MFX5pz4IsuqvaCtXHvDAOwrxQ6VZJJ5CmJZxMCtFUe03TIoIzeXnY5i9liV1dtzS4X2/T6sOuMZfBz8/s7YcbFHpGixlVlT3tcyKyRGU8pSeaEyARLHmX5QQbWKye/U9z4xTH23FM3vB01RsleVFY5mo0/YOIGLosigG3/Eib36Zhm45lriKOkf+xkZ6yik158/hpgiEhwFUrcJHp8j9quKIpjl6Hpk7MiAR2EP3RacPCh6KJg6aqFopj8ooh/+J3UyRfQxMbHjRBodHdWtW7e0vb2t4eHhbKaSv03GljNFZBgndw3KKDLMcZmaa6JQiZVpYumhGB2I13jb8bmOwgmwEqI7VvY88Z1FIi7tPv1JoXQSJn9KaUnStu5jxdGPCc3qdAxOx6BzDB4vimLuOBefCKaWpJTSt4uiePFB9+NB0ukYnI6BdPdjcHJshlM6pVO6J3TK1Kd0Sg8ZnSSm/gcPugMngE7H4HQMpLscgxPjU5/SKZ3SvaGTpKlP6ZRO6R7QA2fqlNLPpZT+IqV0OaX0qw+6P/eTUkr/MKW0mFJ63Y5Np5T+IKX0/fbnVPt4Sin97+1xeS2l9MKD6/m9oZTShZTSN1JKb6aU3kgp/Zft45+YMZCklNJwSulbKaXvtMfhv28ffyKl9M32OPx2SmmwfXyo/f/l9u8Xu94gJkf8MP8k9am1g+YlSYOSviPpUw+yT/f5ef8NSS9Iet2O/c+SfrX9/Vcl/d3295+X9M8lJbX2Lvvmg+7/PXj+s5JeaH9vSHpb0qc+SWPQfq4kqd7+PiDpm+3n+x1Jn28f/01J/2n7+38m6Tfb3z8v6be7tv+AH+4zkn7f/v81Sb/2oAf9Pj/zxcDUfyHpbPv7WUl/0f7+f0r6Qtl5D8ufWvuv/Vuf8DEYlfSKpL+iVsJJf/t45g1Jvy/pM+3v/e3zUlWbD9r8zntZt8n3uf6k0CNFUVyTpPbnmfbxh3ps2ibk82ppqU/cGKSU+lJKr0palPQHOsae75LY872UHjRTlyXqnsLxLXpoxyalVJf0VUl/syiKjW6nlhx7KMagKIr9oih+XK1toH9S92DPd+hBMzV7WUO+z/UnhRZSSmclqf252D7+UI5NSmlALYb+x0VR/NP24U/UGDgVRbEm6Y9le763fyrb812py57v0INm6j+X9FQb9RtUCwT4vQfcpx82sZ+3dPs+37/URoB/StI6JurHlVJredQXJb1ZFMWv20+fmDGQpJTSXEppsv2dPd/f1OGe71L5nu9SL3u+nwCg4OfVQkF/IOm/edD9uc/P+luSrknaVUv6/rJavtEfSfp++3O6fW6S9Pfb4/JdSS8+6P7fg+f/19UyG1+T9Gr77+c/SWPQfq7n1NrT/TVJr0v6b9vHL0n6lqTLkv4fSUPt48Pt/y+3f7/Urf3TjLJTOqWHjB60+X1Kp3RK95hOmfqUTukho1OmPqVTesjolKlP6ZQeMjpl6lM6pYeMTpn6lE7pIaNTpj6lU3rI6JSpT+mUHjL6/wFNCyiRae654QAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1a225969e8>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "img = mpimg.imread('images_teste/image05.jpg')     \n",
    "gray = rgb2gray(img)\n",
    "plt.imshow(gray, cmap = plt.get_cmap('gray'))\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [],
   "source": [
    "image_0 = np.resize(gray,(1,48,48,1))\n",
    "tResult = testResult()\n",
    "num_evaluations = 50"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "anger = 0.0%\n",
      "disgust = 0.0%\n",
      "fear = 94.0%\n",
      "happy = 6.0%\n",
      "sad = 0.0%\n",
      "surprise = 0.0%\n",
      "neutral = 0.0%\n"
     ]
    }
   ],
   "source": [
    "for i in range(0, num_evaluations):\n",
    "    result = sess.run(y_conv, feed_dict={x:image_0})\n",
    "    label = sess.run(tf.argmax(result, 1))\n",
    "    label = label[0]\n",
    "    label = int(label)\n",
    "    tResult.evaluate(label)\n",
    "tResult.display_result(num_evaluations)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Para adquirir conhecimento técnico sólido e especializado em Deep Learning, Visão Computacional, Processamento de Linguagem Natural e outros temas relacionados à Inteligência Artificial, confira nosso programa completo: <a href=\"https://www.datascienceacademy.com.br/pages/formacao-inteligencia-artificial\">Formação Inteligência Artificial</a>."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Fim"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Obrigado - Data Science Academy - <a href=\"http://facebook.com/dsacademybr\">facebook.com/dsacademybr</a>"
   ]
  }
 ],
 "metadata": {
  "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.5"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
