Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save NobuoTsukamoto/69ca4cb701af307a446a2a9c6201ab5f to your computer and use it in GitHub Desktop.
Save NobuoTsukamoto/69ca4cb701af307a446a2a9c6201ab5f to your computer and use it in GitHub Desktop.
Quantization-Aware Training TF1 Detection Model SpaghettiNet EdgeTPU L
{
"nbformat": 4,
"nbformat_minor": 0,
"metadata": {
"colab": {
"name": "Quantization-Aware Training TF1 Detection Model SpaghettiNet EdgeTPU L",
"provenance": [],
"collapsed_sections": [],
"machine_shape": "hm",
"include_colab_link": true
},
"kernelspec": {
"name": "python3",
"display_name": "Python 3"
},
"accelerator": "GPU"
},
"cells": [
{
"cell_type": "markdown",
"metadata": {
"id": "view-in-github",
"colab_type": "text"
},
"source": [
"<a href=\"https://colab.research.google.com/gist/NobuoTsukamoto/69ca4cb701af307a446a2a9c6201ab5f/quantization-aware-training-tf1-detection-model-spaghettinet-edgetpu-l.ipynb\" target=\"_parent\"><img src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open In Colab\"/></a>"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "SEv4Nu2G8OFa"
},
"source": [
"# Training with TensorFlow 1 Detection Model\n",
"\n",
"This notebook provides steps for fine-tuning with the TensorFlow 1 Object detection API. Since the release of the TensorFlow 2 Object detection API, training with the TF 1 Object detection API has been unclear. Also, fine-tuning is not working with the latest commits([24edb2add0f8865127a8c578b509fa2f8e68e649](https://github.com/tensorflow/models/commit/24edb2add0f8865127a8c578b509fa2f8e68e649)) as of 2022.05.24. \n",
"Work around the bug and use the Oxford-IIIT Pet Dataset to fine-tune the SpaghettiNet. Finally, export the model and TF-Lite model.\n",
"\n",
"Reference:\n",
"- [Object Detection API with TensorFlow 1](https://github.com/tensorflow/models/blob/master/research/object_detection/g3doc/tf1.md)\n",
"- [Training and Evaluation with TensorFlow 1](https://github.com/tensorflow/models/blob/master/research/object_detection/g3doc/tf1_training_and_evaluation.md)\n",
"- [Running on mobile with TensorFlow Lite](https://github.com/tensorflow/models/blob/master/research/object_detection/g3doc/running_on_mobile_tensorflowlite.md)\n",
"- [cant load pre-train models #8695](https://github.com/tensorflow/models/issues/8695)\n",
"- [Transfer Learning with the MobileDet checkpoints #9641](https://github.com/tensorflow/models/issues/9641)\n",
"- [Adding quantization rewrite rules for spaghettinet #55919](https://github.com/tensorflow/tensorflow/pull/55919)"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "9TBgUmdwF8zw"
},
"source": [
"MIT License\n",
"\n",
"Copyright (c) 2022 Nobuo Tsukamoto\n",
"\n",
"Permission is hereby granted, free of charge, to any person obtaining a copy\n",
"of this software and associated documentation files (the \"Software\"), to deal\n",
"in the Software without restriction, including without limitation the rights\n",
"to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n",
"copies of the Software, and to permit persons to whom the Software is\n",
"furnished to do so, subject to the following conditions:\n",
"\n",
"The above copyright notice and this permission notice shall be included in all\n",
"copies or substantial portions of the Software.\n",
"\n",
"THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n",
"IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n",
"FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n",
"AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n",
"LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n",
"OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n",
"SOFTWARE."
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "t67NpfjyBTnF"
},
"source": [
"# Install TensorFlow 1.x"
]
},
{
"cell_type": "code",
"metadata": {
"id": "45JZXAHmjdnf",
"colab": {
"base_uri": "https://localhost:8080/"
},
"outputId": "c4ce8242-f0cf-48c6-9ff1-87ca93e60c93"
},
"source": [
"%tensorflow_version 1.x"
],
"execution_count": 1,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"TensorFlow 1.x selected.\n"
]
}
]
},
{
"cell_type": "code",
"source": [
"%%bash\n",
"\n",
"cat <<EOF > /content/quantize.patch\n",
"--- quantize.py\t2022-05-20 22:57:09.000000000 +0000\n",
"+++ /content/quantize.py\t2022-05-23 20:55:31.236331656 +0000\n",
"@@ -225,6 +225,16 @@ def Quantize(graph,\n",
" vars_collection,\n",
" scope=scope)\n",
" \n",
"+ _QuantizeStandAloneActivations(\n",
"+ quantized_ops,\n",
"+ graph,\n",
"+ is_training,\n",
"+ activation_bits=activation_bits,\n",
"+ symmetric=symmetric,\n",
"+ ema_decay=ema_decay,\n",
"+ quant_delay=quant_delay,\n",
"+ vars_collection=vars_collection,\n",
"+ scope=scope)\n",
" \n",
" def _QuantizeActivationLayers(quantized_ops,\n",
" graph,\n",
"@@ -273,7 +283,62 @@ def _QuantizeActivationLayers(quantized_\n",
" vars_collection=vars_collection,\n",
" bits=activation_bits,\n",
" producer_scope=scope)\n",
"+ quantized_ops.add(op)\n",
"+\n",
" \n",
"+def _QuantizeStandAloneActivations(\n",
"+ quantized_ops,\n",
"+ graph,\n",
"+ is_training,\n",
"+ activation_bits=8,\n",
"+ symmetric=False,\n",
"+ ema_decay=0.999,\n",
"+ quant_delay=None,\n",
"+ vars_collection=ops.GraphKeys.GLOBAL_VARIABLES,\n",
"+ scope=None):\n",
"+ \"\"\"Quantize intermediate activation tensors after addition and multiplication.\n",
"+ Args:\n",
"+ quantized_ops: Set of previously quantized activation ops.\n",
"+ graph: Graph to modify.\n",
"+ is_training: Whether quantizing training graph or eval graph.\n",
"+ activation_bits: Number of bits to use for quantizing activations.\n",
"+ symmetric: (Optional) If true, use symmetric quantization limits instead of\n",
"+ training the minimum and maximum of each quantization range separately.\n",
"+ ema_decay: (Optional) Float, EMA decay parameter. EMA is used to update\n",
"+ quantization intervals for quantizing activations (see here about EMA:\n",
"+ https://en.wikipedia.org/wiki/Moving_average#Exponential_moving_average).\n",
"+ quant_delay: (Optional, default None) Int, count of global steps for which\n",
"+ to delay quantization. This helps weights stabilize at the start of\n",
"+ training.\n",
"+ vars_collection: (Optional) Collection where to store the variables for\n",
"+ quantization interval ends.\n",
"+ scope: The scope to be transformed. If it's not None, only the ops which are\n",
"+ in this scope will be transformed.\n",
"+ Raises:\n",
"+ ValueError: When quantization fails.\n",
"+ \"\"\"\n",
"+ input_to_ops_map = input_to_ops.InputToOps(graph)\n",
"+ for op in (op for op in graph.get_operations()):\n",
"+ op_type = set([op.type])\n",
"+ if op_type.intersection(_VALID_ACTIVATION_OP) and op not in quantized_ops:\n",
"+ logging.info('Inserting act_quant op for standalone %s op: %s.', op.type,\n",
"+ op.name)\n",
"+ consumers = input_to_ops_map.ConsumerOperations(op)\n",
"+ _InsertQuantOp(\n",
"+ op.name,\n",
"+ 'standalone_act_quant',\n",
"+ op,\n",
"+ consumers,\n",
"+ is_training,\n",
"+ moving_avg=True,\n",
"+ ema_decay=ema_decay,\n",
"+ quant_delay=quant_delay,\n",
"+ vars_collection=vars_collection,\n",
"+ bits=activation_bits,\n",
"+ symmetric=symmetric,\n",
"+ init_min=0.0,\n",
"+ producer_scope=scope)\n",
"+ quantized_ops.add(op)\n",
" \n",
" def _CheckIfQuantizableOp(src_op, quantized_ops):\n",
" \"\"\"Check if the output of an op should be quantized.\n",
"EOF"
],
"metadata": {
"id": "T5SeEPNVqCQS"
},
"execution_count": 2,
"outputs": []
},
{
"cell_type": "code",
"source": [
"%%bash \n",
"cd /tensorflow-1.15.2/python3.7/tensorflow_core/contrib/quantize/python/\n",
"patch < /content/quantize.patch"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "qoXq7t35t_qK",
"outputId": "785557ff-98b5-4426-f981-2936c45b7ba4"
},
"execution_count": 3,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"patching file quantize.py\n"
]
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "6QB2TaR4AKve"
},
"source": [
"# Check TensorFlow and NVIDIA CUDA version."
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 34
},
"id": "7zCUA1hiPlWV",
"outputId": "6739d3b7-dca2-4067-c70b-f23a10347e4b"
},
"source": [
"import tensorflow as tf\n",
"tf.__version__"
],
"execution_count": 4,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"'1.15.2'"
],
"application/vnd.google.colaboratory.intrinsic+json": {
"type": "string"
}
},
"metadata": {},
"execution_count": 4
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "CnhOFVQTzoWD",
"colab": {
"base_uri": "https://localhost:8080/"
},
"outputId": "6c1afd5d-13ea-4b9f-f859-157d7551beca"
},
"source": [
"!nvidia-smi"
],
"execution_count": 5,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"Tue May 24 10:57:49 2022 \n",
"+-----------------------------------------------------------------------------+\n",
"| NVIDIA-SMI 460.32.03 Driver Version: 460.32.03 CUDA Version: 11.2 |\n",
"|-------------------------------+----------------------+----------------------+\n",
"| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |\n",
"| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |\n",
"| | | MIG M. |\n",
"|===============================+======================+======================|\n",
"| 0 Tesla T4 Off | 00000000:00:04.0 Off | 0 |\n",
"| N/A 46C P8 11W / 70W | 0MiB / 15109MiB | 0% Default |\n",
"| | | N/A |\n",
"+-------------------------------+----------------------+----------------------+\n",
" \n",
"+-----------------------------------------------------------------------------+\n",
"| Processes: |\n",
"| GPU GI CI PID Type Process name GPU Memory |\n",
"| ID ID Usage |\n",
"|=============================================================================|\n",
"| No running processes found |\n",
"+-----------------------------------------------------------------------------+\n"
]
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "y_owSZjMHN4-"
},
"source": [
"# Install TensorFlow 1 Object detection API\n",
"\n",
"Note:\n",
"- It is not included in [Python Package Installation](https://github.com/tensorflow/models/blob/master/research/object_detection/g3doc/tf1.md) procedure, but you need to install the tensorflow-addons module.\n",
"- Modify model_lib.py to avoid a bug where fine_tune_checkpoint is not enabled. \n",
"See the comment on bug [#8695](https://github.com/tensorflow/models/issues/8695#issuecomment-775456367) for more details.\n",
"- If you specify `--use-feature=2020-resolver` during installation, you will get an error."
]
},
{
"cell_type": "code",
"metadata": {
"id": "KIue85E-uRe8",
"colab": {
"base_uri": "https://localhost:8080/"
},
"outputId": "535f8cb2-07ad-44a7-c38f-0d1c36435eaf"
},
"source": [
"%%bash\n",
"\n",
"# Install tensorflow-addons.\n",
"# Note: tensorflow-addons have dependencies, \n",
"# but they are not installed by object_detection/packages/tf1/setup.py.\n",
"pip3 install tensorflow-addons\n",
"pip3 install numpy==1.19.5\n",
"pip3 uninstall -y pycocotools\n",
"pip3 install pycocotools --no-binary pycocotools\n",
"# Clone tensorflow/models repository.\n",
"\n",
"git clone https://github.com/tensorflow/models.git\n",
"cd models\n",
"git checkout 24edb2add0f8865127a8c578b509fa2f8e68e649\n",
"git show"
],
"execution_count": 6,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"Looking in indexes: https://pypi.org/simple, https://us-python.pkg.dev/colab-wheels/public/simple/\n",
"Collecting tensorflow-addons\n",
" Downloading tensorflow_addons-0.17.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.1 MB)\n",
"Requirement already satisfied: typeguard>=2.7 in /usr/local/lib/python3.7/dist-packages (from tensorflow-addons) (2.7.1)\n",
"Requirement already satisfied: packaging in /usr/local/lib/python3.7/dist-packages (from tensorflow-addons) (21.3)\n",
"Requirement already satisfied: pyparsing!=3.0.5,>=2.0.2 in /usr/local/lib/python3.7/dist-packages (from packaging->tensorflow-addons) (3.0.9)\n",
"Installing collected packages: tensorflow-addons\n",
"Successfully installed tensorflow-addons-0.17.0\n",
"Looking in indexes: https://pypi.org/simple, https://us-python.pkg.dev/colab-wheels/public/simple/\n",
"Collecting numpy==1.19.5\n",
" Downloading numpy-1.19.5-cp37-cp37m-manylinux2010_x86_64.whl (14.8 MB)\n",
"Installing collected packages: numpy\n",
" Attempting uninstall: numpy\n",
" Found existing installation: numpy 1.21.6\n",
" Uninstalling numpy-1.21.6:\n",
" Successfully uninstalled numpy-1.21.6\n",
"Successfully installed numpy-1.19.5\n",
"Found existing installation: pycocotools 2.0.4\n",
"Uninstalling pycocotools-2.0.4:\n",
" Successfully uninstalled pycocotools-2.0.4\n",
"Looking in indexes: https://pypi.org/simple, https://us-python.pkg.dev/colab-wheels/public/simple/\n",
"Collecting pycocotools\n",
" Downloading pycocotools-2.0.4.tar.gz (106 kB)\n",
" Installing build dependencies: started\n",
" Installing build dependencies: finished with status 'done'\n",
" Getting requirements to build wheel: started\n",
" Getting requirements to build wheel: finished with status 'done'\n",
" Preparing wheel metadata: started\n",
" Preparing wheel metadata: finished with status 'done'\n",
"Requirement already satisfied: matplotlib>=2.1.0 in /usr/local/lib/python3.7/dist-packages (from pycocotools) (3.2.2)\n",
"Requirement already satisfied: numpy in /usr/local/lib/python3.7/dist-packages (from pycocotools) (1.19.5)\n",
"Requirement already satisfied: cycler>=0.10 in /usr/local/lib/python3.7/dist-packages (from matplotlib>=2.1.0->pycocotools) (0.11.0)\n",
"Requirement already satisfied: pyparsing!=2.0.4,!=2.1.2,!=2.1.6,>=2.0.1 in /usr/local/lib/python3.7/dist-packages (from matplotlib>=2.1.0->pycocotools) (3.0.9)\n",
"Requirement already satisfied: python-dateutil>=2.1 in /usr/local/lib/python3.7/dist-packages (from matplotlib>=2.1.0->pycocotools) (2.8.2)\n",
"Requirement already satisfied: kiwisolver>=1.0.1 in /usr/local/lib/python3.7/dist-packages (from matplotlib>=2.1.0->pycocotools) (1.4.2)\n",
"Requirement already satisfied: typing-extensions in /usr/local/lib/python3.7/dist-packages (from kiwisolver>=1.0.1->matplotlib>=2.1.0->pycocotools) (4.2.0)\n",
"Requirement already satisfied: six>=1.5 in /usr/local/lib/python3.7/dist-packages (from python-dateutil>=2.1->matplotlib>=2.1.0->pycocotools) (1.15.0)\n",
"Building wheels for collected packages: pycocotools\n",
" Building wheel for pycocotools (PEP 517): started\n",
" Building wheel for pycocotools (PEP 517): finished with status 'done'\n",
" Created wheel for pycocotools: filename=pycocotools-2.0.4-cp37-cp37m-linux_x86_64.whl size=265202 sha256=28932a0b022e17d1fa48f0a465000d369ed9c87af434bd615d40eb7ef24526a0\n",
" Stored in directory: /root/.cache/pip/wheels/a3/5f/fa/f011e578cc76e1fc5be8dce30b3eb9fd00f337e744b3bba59b\n",
"Successfully built pycocotools\n",
"Installing collected packages: pycocotools\n",
"Successfully installed pycocotools-2.0.4\n",
"commit 24edb2add0f8865127a8c578b509fa2f8e68e649\n",
"Author: gbaned <48215717+gbaned@users.noreply.github.com>\n",
"Date: Fri May 20 10:54:04 2022 +0530\n",
"\n",
" Update object_detection_tutorial.ipynb (#9464)\n",
" \n",
" Corrected the broken link of installation instruction\n"
]
},
{
"output_type": "stream",
"name": "stderr",
"text": [
"ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.\n",
"lucid 0.3.10 requires umap-learn, which is not installed.\n",
"tensorflow 1.15.2 requires gast==0.2.2, but you have gast 0.5.3 which is incompatible.\n",
"lucid 0.3.10 requires numpy<=1.19, but you have numpy 1.19.5 which is incompatible.\n",
"xarray-einstats 0.2.2 requires numpy>=1.21, but you have numpy 1.19.5 which is incompatible.\n",
"kapre 0.3.7 requires tensorflow>=2.0.0, but you have tensorflow 1.15.2 which is incompatible.\n",
"datascience 0.10.6 requires folium==0.2.1, but you have folium 0.8.3 which is incompatible.\n",
"albumentations 0.1.12 requires imgaug<0.2.7,>=0.2.5, but you have imgaug 0.2.9 which is incompatible.\n",
"Cloning into 'models'...\n",
"Note: checking out '24edb2add0f8865127a8c578b509fa2f8e68e649'.\n",
"\n",
"You are in 'detached HEAD' state. You can look around, make experimental\n",
"changes and commit them, and you can discard any commits you make in this\n",
"state without impacting any branches by performing another checkout.\n",
"\n",
"If you want to create a new branch to retain commits you create, you may\n",
"do so (now or later) by using -b with the checkout command again. Example:\n",
"\n",
" git checkout -b <new-branch-name>\n",
"\n",
"HEAD is now at 24edb2add Update object_detection_tutorial.ipynb (#9464)\n"
]
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "x8kQDJH55inl"
},
"source": [
"%%bash\n",
"\n",
"cat <<EOF > /content/model_lib.patch\n",
"diff --git a/research/object_detection/model_lib.py b/research/object_detection/model_lib.py\n",
"index 27a3816fc..3f599a75e 100644\n",
"--- a/research/object_detection/model_lib.py\n",
"+++ b/research/object_detection/model_lib.py\n",
"@@ -529,7 +529,7 @@ def create_model_fn(detection_model_fn,\n",
" features[fields.InputDataFields.true_image_shape]))\n",
" \n",
" if mode == tf_estimator.ModeKeys.TRAIN:\n",
"- load_pretrained = hparams.load_pretrained if hparams else False\n",
"+ load_pretrained = hparams.load_pretrained if hparams else True\n",
" if train_config.fine_tune_checkpoint and load_pretrained:\n",
" if not train_config.fine_tune_checkpoint_type:\n",
" # train_config.from_detection_checkpoint field is deprecated. For\n",
"@@ -539,6 +539,15 @@ def create_model_fn(detection_model_fn,\n",
" train_config.fine_tune_checkpoint_type = 'detection'\n",
" else:\n",
" train_config.fine_tune_checkpoint_type = 'classification'\n",
"+\n",
"+ tf.logging.info('fine tuning parameter: fine_tune_checkpoint_type %s, '\n",
"+ 'from_detection_checkpoint %s fine_tune_checkpoint %s '\n",
"+ 'load_all_detection_checkpoint_vars %s',\n",
"+ train_config.fine_tune_checkpoint_type,\n",
"+ train_config.from_detection_checkpoint,\n",
"+ train_config.fine_tune_checkpoint,\n",
"+ train_config.load_all_detection_checkpoint_vars)\n",
"+\n",
" asg_map = detection_model.restore_map(\n",
" fine_tune_checkpoint_type=train_config.fine_tune_checkpoint_type,\n",
" load_all_detection_checkpoint_vars=(\n",
"\n",
"EOF"
],
"execution_count": 7,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "ueEgAw_s53dG",
"outputId": "5b39ce67-21f3-4629-8622-ec19774a2b28"
},
"source": [
"%%bash\n",
"\n",
"cd models\n",
"patch -p1 < /content/model_lib.patch"
],
"execution_count": 8,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"patching file research/object_detection/model_lib.py\n"
]
}
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "3d73ABl0hluK",
"outputId": "f949fa9f-30a3-4381-8bec-c1d25b85c1e8"
},
"source": [
"%%bash\n",
"\n",
"cd models/research\n",
"# Compile protos.\n",
"protoc object_detection/protos/*.proto --python_out=.\n",
"\n",
"# Install TensorFlow Object Detection API.\n",
"cp object_detection/packages/tf1/setup.py .\n",
"python3 -m pip install --use-feature=2020-resolver ."
],
"execution_count": 9,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"Looking in indexes: https://pypi.org/simple, https://us-python.pkg.dev/colab-wheels/public/simple/\n",
"Processing /content/models/research\n",
"Requirement already satisfied: pillow in /usr/local/lib/python3.7/dist-packages (from object-detection==0.1) (7.1.2)\n",
"Requirement already satisfied: lxml in /usr/local/lib/python3.7/dist-packages (from object-detection==0.1) (4.2.6)\n",
"Requirement already satisfied: matplotlib in /usr/local/lib/python3.7/dist-packages (from object-detection==0.1) (3.2.2)\n",
"Requirement already satisfied: Cython in /usr/local/lib/python3.7/dist-packages (from object-detection==0.1) (0.29.30)\n",
"Requirement already satisfied: contextlib2 in /usr/local/lib/python3.7/dist-packages (from object-detection==0.1) (0.5.5)\n",
"Collecting tf-slim\n",
" Downloading tf_slim-1.1.0-py2.py3-none-any.whl (352 kB)\n",
"Requirement already satisfied: six in /usr/local/lib/python3.7/dist-packages (from object-detection==0.1) (1.15.0)\n",
"Requirement already satisfied: pycocotools in /usr/local/lib/python3.7/dist-packages (from object-detection==0.1) (2.0.4)\n",
"Collecting lvis\n",
" Downloading lvis-0.5.3-py3-none-any.whl (14 kB)\n",
"Requirement already satisfied: scipy in /usr/local/lib/python3.7/dist-packages (from object-detection==0.1) (1.4.1)\n",
"Requirement already satisfied: pandas in /usr/local/lib/python3.7/dist-packages (from object-detection==0.1) (1.3.5)\n",
"Requirement already satisfied: opencv-python>=4.1.0.25 in /usr/local/lib/python3.7/dist-packages (from lvis->object-detection==0.1) (4.1.2.30)\n",
"Requirement already satisfied: python-dateutil>=2.8.0 in /usr/local/lib/python3.7/dist-packages (from lvis->object-detection==0.1) (2.8.2)\n",
"Requirement already satisfied: numpy>=1.18.2 in /usr/local/lib/python3.7/dist-packages (from lvis->object-detection==0.1) (1.19.5)\n",
"Requirement already satisfied: cycler>=0.10.0 in /usr/local/lib/python3.7/dist-packages (from lvis->object-detection==0.1) (0.11.0)\n",
"Requirement already satisfied: kiwisolver>=1.1.0 in /usr/local/lib/python3.7/dist-packages (from lvis->object-detection==0.1) (1.4.2)\n",
"Requirement already satisfied: pyparsing>=2.4.0 in /usr/local/lib/python3.7/dist-packages (from lvis->object-detection==0.1) (3.0.9)\n",
"Requirement already satisfied: typing-extensions in /usr/local/lib/python3.7/dist-packages (from kiwisolver>=1.1.0->lvis->object-detection==0.1) (4.2.0)\n",
"Requirement already satisfied: pytz>=2017.3 in /usr/local/lib/python3.7/dist-packages (from pandas->object-detection==0.1) (2022.1)\n",
"Requirement already satisfied: absl-py>=0.2.2 in /usr/local/lib/python3.7/dist-packages (from tf-slim->object-detection==0.1) (1.0.0)\n",
"Building wheels for collected packages: object-detection\n",
" Building wheel for object-detection (setup.py): started\n",
" Building wheel for object-detection (setup.py): finished with status 'done'\n",
" Created wheel for object-detection: filename=object_detection-0.1-py3-none-any.whl size=1692501 sha256=0bf2421cadbf5d884449ad0327d6973ac85f28882ced8c2fc3ec81f02508258e\n",
" Stored in directory: /tmp/pip-ephem-wheel-cache-fy3whhdg/wheels/fa/a4/d2/e9a5057e414fd46c8e543d2706cd836d64e1fcd9eccceb2329\n",
"Successfully built object-detection\n",
"Installing collected packages: tf-slim, lvis, object-detection\n",
"Successfully installed lvis-0.5.3 object-detection-0.1 tf-slim-1.1.0\n"
]
},
{
"output_type": "stream",
"name": "stderr",
"text": [
"WARNING: --use-feature=2020-resolver no longer has any effect, since it is now the default dependency resolver in pip. This will become an error in pip 21.0.\n",
" DEPRECATION: A future pip version will change local packages to be built in-place without first copying to a temporary directory. We recommend you use --use-feature=in-tree-build to test your packages with this new behavior before it becomes the default.\n",
" pip 21.3 will remove support for this functionality. You can find discussion regarding this at https://github.com/pypa/pip/issues/7555.\n"
]
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "4F3kd4rEGIgo",
"colab": {
"base_uri": "https://localhost:8080/"
},
"outputId": "a1dbb808-67f1-4d07-9c13-a20c60b469e4"
},
"source": [
"%cd /content/models/research"
],
"execution_count": 10,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"/content/models/research\n"
]
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "XRfEVbHijRiq",
"colab": {
"base_uri": "https://localhost:8080/"
},
"outputId": "534f53e8-caeb-4c4d-fa3b-68b1aa61014a"
},
"source": [
"import os\n",
"\n",
"os.environ['PYTHONPATH'] = '/content/models:' + os.environ['PYTHONPATH']\n",
"print(os.environ['PYTHONPATH'])"
],
"execution_count": 11,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"/content/models:/tensorflow-1.15.2/python3.7:/env/python\n"
]
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "Y_uBeLzBHHVH",
"colab": {
"base_uri": "https://localhost:8080/"
},
"outputId": "8404528f-52e0-46f6-b884-6bb3f51a860a"
},
"source": [
"!python object_detection/builders/model_builder_tf1_test.py"
],
"execution_count": 12,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"Using TensorFlow backend.\n",
"Running tests under Python 3.7.13: /usr/bin/python3\n",
"[ RUN ] ModelBuilderTF1Test.test_create_context_rcnn_from_config_with_params0 (True)\n",
"[ OK ] ModelBuilderTF1Test.test_create_context_rcnn_from_config_with_params0 (True)\n",
"[ RUN ] ModelBuilderTF1Test.test_create_context_rcnn_from_config_with_params1 (False)\n",
"[ OK ] ModelBuilderTF1Test.test_create_context_rcnn_from_config_with_params1 (False)\n",
"[ RUN ] ModelBuilderTF1Test.test_create_experimental_model\n",
"[ OK ] ModelBuilderTF1Test.test_create_experimental_model\n",
"[ RUN ] ModelBuilderTF1Test.test_create_faster_rcnn_from_config_with_crop_feature0 (True)\n",
"[ OK ] ModelBuilderTF1Test.test_create_faster_rcnn_from_config_with_crop_feature0 (True)\n",
"[ RUN ] ModelBuilderTF1Test.test_create_faster_rcnn_from_config_with_crop_feature1 (False)\n",
"[ OK ] ModelBuilderTF1Test.test_create_faster_rcnn_from_config_with_crop_feature1 (False)\n",
"[ RUN ] ModelBuilderTF1Test.test_create_faster_rcnn_model_from_config_with_example_miner\n",
"[ OK ] ModelBuilderTF1Test.test_create_faster_rcnn_model_from_config_with_example_miner\n",
"[ RUN ] ModelBuilderTF1Test.test_create_faster_rcnn_models_from_config_faster_rcnn_with_matmul\n",
"[ OK ] ModelBuilderTF1Test.test_create_faster_rcnn_models_from_config_faster_rcnn_with_matmul\n",
"[ RUN ] ModelBuilderTF1Test.test_create_faster_rcnn_models_from_config_faster_rcnn_without_matmul\n",
"[ OK ] ModelBuilderTF1Test.test_create_faster_rcnn_models_from_config_faster_rcnn_without_matmul\n",
"[ RUN ] ModelBuilderTF1Test.test_create_faster_rcnn_models_from_config_mask_rcnn_with_matmul\n",
"[ OK ] ModelBuilderTF1Test.test_create_faster_rcnn_models_from_config_mask_rcnn_with_matmul\n",
"[ RUN ] ModelBuilderTF1Test.test_create_faster_rcnn_models_from_config_mask_rcnn_without_matmul\n",
"[ OK ] ModelBuilderTF1Test.test_create_faster_rcnn_models_from_config_mask_rcnn_without_matmul\n",
"[ RUN ] ModelBuilderTF1Test.test_create_rfcn_model_from_config\n",
"[ OK ] ModelBuilderTF1Test.test_create_rfcn_model_from_config\n",
"[ RUN ] ModelBuilderTF1Test.test_create_ssd_fpn_model_from_config\n",
"[ OK ] ModelBuilderTF1Test.test_create_ssd_fpn_model_from_config\n",
"[ RUN ] ModelBuilderTF1Test.test_create_ssd_models_from_config\n",
"[ OK ] ModelBuilderTF1Test.test_create_ssd_models_from_config\n",
"[ RUN ] ModelBuilderTF1Test.test_invalid_faster_rcnn_batchnorm_update\n",
"[ OK ] ModelBuilderTF1Test.test_invalid_faster_rcnn_batchnorm_update\n",
"[ RUN ] ModelBuilderTF1Test.test_invalid_first_stage_nms_iou_threshold\n",
"[ OK ] ModelBuilderTF1Test.test_invalid_first_stage_nms_iou_threshold\n",
"[ RUN ] ModelBuilderTF1Test.test_invalid_model_config_proto\n",
"[ OK ] ModelBuilderTF1Test.test_invalid_model_config_proto\n",
"[ RUN ] ModelBuilderTF1Test.test_invalid_second_stage_batch_size\n",
"[ OK ] ModelBuilderTF1Test.test_invalid_second_stage_batch_size\n",
"[ RUN ] ModelBuilderTF1Test.test_session\n",
"[ SKIPPED ] ModelBuilderTF1Test.test_session\n",
"[ RUN ] ModelBuilderTF1Test.test_unknown_faster_rcnn_feature_extractor\n",
"[ OK ] ModelBuilderTF1Test.test_unknown_faster_rcnn_feature_extractor\n",
"[ RUN ] ModelBuilderTF1Test.test_unknown_meta_architecture\n",
"[ OK ] ModelBuilderTF1Test.test_unknown_meta_architecture\n",
"[ RUN ] ModelBuilderTF1Test.test_unknown_ssd_feature_extractor\n",
"[ OK ] ModelBuilderTF1Test.test_unknown_ssd_feature_extractor\n",
"----------------------------------------------------------------------\n",
"Ran 21 tests in 0.261s\n",
"\n",
"OK (skipped=1)\n"
]
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "iKdLuAihHhFA"
},
"source": [
"# Download Pet dataset and create tf-record"
]
},
{
"cell_type": "code",
"metadata": {
"id": "rZG8f4LsnpNl",
"colab": {
"base_uri": "https://localhost:8080/"
},
"outputId": "abc8903e-40c2-4fd6-b7f5-ff92e2095526"
},
"source": [
"%set_env DATA_DIR=/content/data\n",
"%set_env TF_RECORD_DIR=/content/data/tf_record"
],
"execution_count": 13,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"env: DATA_DIR=/content/data\n",
"env: TF_RECORD_DIR=/content/data/tf_record\n"
]
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "8ANpO7QmHjbo",
"colab": {
"base_uri": "https://localhost:8080/"
},
"outputId": "728d46f2-7e28-42e7-e6ad-65da715548c0"
},
"source": [
"# Download dataset and extrac tar files.\n",
"!mkdir ${DATA_DIR}\n",
"!mkdir ${TF_RECORD_DIR}\n",
"!wget http://www.robots.ox.ac.uk/~vgg/data/pets/data/images.tar.gz -P ${DATA_DIR}\n",
"!wget http://www.robots.ox.ac.uk/~vgg/data/pets/data/annotations.tar.gz -P ${DATA_DIR}\n",
"!tar xf ${DATA_DIR}/images.tar.gz -C ${DATA_DIR}\n",
"!tar xf ${DATA_DIR}/annotations.tar.gz -C ${DATA_DIR}\n",
"\n",
"# Create TF-Record.\n",
"!python object_detection/dataset_tools/create_pet_tf_record.py \\\n",
" --label_map_path=./object_detection/data/pet_label_map.pbtxt \\\n",
" --data_dir=\"${DATA_DIR}\" \\\n",
" --output_dir=\"${TF_RECORD_DIR}\"\n",
"\n",
"!ls ${TF_RECORD_DIR}"
],
"execution_count": 14,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"--2022-05-24 10:58:43-- http://www.robots.ox.ac.uk/~vgg/data/pets/data/images.tar.gz\n",
"Resolving www.robots.ox.ac.uk (www.robots.ox.ac.uk)... 129.67.94.2\n",
"Connecting to www.robots.ox.ac.uk (www.robots.ox.ac.uk)|129.67.94.2|:80... connected.\n",
"HTTP request sent, awaiting response... 301 Moved Permanently\n",
"Location: https://www.robots.ox.ac.uk/~vgg/data/pets/data/images.tar.gz [following]\n",
"--2022-05-24 10:58:43-- https://www.robots.ox.ac.uk/~vgg/data/pets/data/images.tar.gz\n",
"Connecting to www.robots.ox.ac.uk (www.robots.ox.ac.uk)|129.67.94.2|:443... connected.\n",
"HTTP request sent, awaiting response... 200 OK\n",
"Length: 791918971 (755M) [application/x-gzip]\n",
"Saving to: ‘/content/data/images.tar.gz’\n",
"\n",
"images.tar.gz 100%[===================>] 755.23M 31.9MB/s in 24s \n",
"\n",
"2022-05-24 10:59:08 (31.1 MB/s) - ‘/content/data/images.tar.gz’ saved [791918971/791918971]\n",
"\n",
"--2022-05-24 10:59:08-- http://www.robots.ox.ac.uk/~vgg/data/pets/data/annotations.tar.gz\n",
"Resolving www.robots.ox.ac.uk (www.robots.ox.ac.uk)... 129.67.94.2\n",
"Connecting to www.robots.ox.ac.uk (www.robots.ox.ac.uk)|129.67.94.2|:80... connected.\n",
"HTTP request sent, awaiting response... 301 Moved Permanently\n",
"Location: https://www.robots.ox.ac.uk/~vgg/data/pets/data/annotations.tar.gz [following]\n",
"--2022-05-24 10:59:08-- https://www.robots.ox.ac.uk/~vgg/data/pets/data/annotations.tar.gz\n",
"Connecting to www.robots.ox.ac.uk (www.robots.ox.ac.uk)|129.67.94.2|:443... connected.\n",
"HTTP request sent, awaiting response... 200 OK\n",
"Length: 19173078 (18M) [application/x-gzip]\n",
"Saving to: ‘/content/data/annotations.tar.gz’\n",
"\n",
"annotations.tar.gz 100%[===================>] 18.28M 15.6MB/s in 1.2s \n",
"\n",
"2022-05-24 10:59:10 (15.6 MB/s) - ‘/content/data/annotations.tar.gz’ saved [19173078/19173078]\n",
"\n",
"I0524 10:59:18.629929 140223943030656 create_pet_tf_record.py:273] Reading from Pet dataset.\n",
"I0524 10:59:18.639217 140223943030656 create_pet_tf_record.py:288] 2576 training and 1104 validation examples.\n",
"I0524 10:59:18.639781 140223943030656 create_pet_tf_record.py:241] On image 0 of 2576\n",
"/usr/local/lib/python3.7/dist-packages/object_detection/utils/dataset_util.py:83: FutureWarning: The behavior of this method will change in future versions. Use specific 'len(elem)' or 'elem is not None' test instead.\n",
" if not xml:\n",
"I0524 10:59:18.846431 140223943030656 create_pet_tf_record.py:241] On image 100 of 2576\n",
"I0524 10:59:19.035405 140223943030656 create_pet_tf_record.py:241] On image 200 of 2576\n",
"I0524 10:59:19.222319 140223943030656 create_pet_tf_record.py:241] On image 300 of 2576\n",
"I0524 10:59:19.430135 140223943030656 create_pet_tf_record.py:241] On image 400 of 2576\n",
"I0524 10:59:19.630254 140223943030656 create_pet_tf_record.py:241] On image 500 of 2576\n",
"W0524 10:59:19.773767 140223943030656 create_pet_tf_record.py:246] Could not find /content/data/annotations/xmls/Egyptian_Mau_14.xml, ignoring example.\n",
"W0524 10:59:19.809998 140223943030656 create_pet_tf_record.py:246] Could not find /content/data/annotations/xmls/saint_bernard_15.xml, ignoring example.\n",
"I0524 10:59:19.831326 140223943030656 create_pet_tf_record.py:241] On image 600 of 2576\n",
"W0524 10:59:19.838760 140223943030656 create_pet_tf_record.py:246] Could not find /content/data/annotations/xmls/Ragdoll_199.xml, ignoring example.\n",
"I0524 10:59:20.019666 140223943030656 create_pet_tf_record.py:241] On image 700 of 2576\n",
"I0524 10:59:20.211616 140223943030656 create_pet_tf_record.py:241] On image 800 of 2576\n",
"I0524 10:59:20.389481 140223943030656 create_pet_tf_record.py:241] On image 900 of 2576\n",
"I0524 10:59:20.590323 140223943030656 create_pet_tf_record.py:241] On image 1000 of 2576\n",
"I0524 10:59:20.789330 140223943030656 create_pet_tf_record.py:241] On image 1100 of 2576\n",
"I0524 10:59:20.989347 140223943030656 create_pet_tf_record.py:241] On image 1200 of 2576\n",
"I0524 10:59:21.173864 140223943030656 create_pet_tf_record.py:241] On image 1300 of 2576\n",
"I0524 10:59:21.402824 140223943030656 create_pet_tf_record.py:241] On image 1400 of 2576\n",
"W0524 10:59:21.503046 140223943030656 create_pet_tf_record.py:246] Could not find /content/data/annotations/xmls/Egyptian_Mau_186.xml, ignoring example.\n",
"I0524 10:59:21.590549 140223943030656 create_pet_tf_record.py:241] On image 1500 of 2576\n",
"W0524 10:59:21.718876 140223943030656 create_pet_tf_record.py:246] Could not find /content/data/annotations/xmls/Bengal_175.xml, ignoring example.\n",
"I0524 10:59:21.782470 140223943030656 create_pet_tf_record.py:241] On image 1600 of 2576\n",
"I0524 10:59:21.968358 140223943030656 create_pet_tf_record.py:241] On image 1700 of 2576\n",
"W0524 10:59:22.080626 140223943030656 create_pet_tf_record.py:246] Could not find /content/data/annotations/xmls/samoyed_10.xml, ignoring example.\n",
"I0524 10:59:22.149169 140223943030656 create_pet_tf_record.py:241] On image 1800 of 2576\n",
"I0524 10:59:22.345052 140223943030656 create_pet_tf_record.py:241] On image 1900 of 2576\n",
"I0524 10:59:22.526721 140223943030656 create_pet_tf_record.py:241] On image 2000 of 2576\n",
"I0524 10:59:22.721720 140223943030656 create_pet_tf_record.py:241] On image 2100 of 2576\n",
"W0524 10:59:22.793115 140223943030656 create_pet_tf_record.py:246] Could not find /content/data/annotations/xmls/Egyptian_Mau_156.xml, ignoring example.\n",
"I0524 10:59:22.922702 140223943030656 create_pet_tf_record.py:241] On image 2200 of 2576\n",
"I0524 10:59:23.117397 140223943030656 create_pet_tf_record.py:241] On image 2300 of 2576\n",
"I0524 10:59:23.306108 140223943030656 create_pet_tf_record.py:241] On image 2400 of 2576\n",
"I0524 10:59:23.504915 140223943030656 create_pet_tf_record.py:241] On image 2500 of 2576\n",
"W0524 10:59:23.600755 140223943030656 create_pet_tf_record.py:246] Could not find /content/data/annotations/xmls/Abyssinian_104.xml, ignoring example.\n",
"I0524 10:59:23.652696 140223943030656 create_pet_tf_record.py:241] On image 0 of 1104\n",
"I0524 10:59:23.843505 140223943030656 create_pet_tf_record.py:241] On image 100 of 1104\n",
"I0524 10:59:24.043992 140223943030656 create_pet_tf_record.py:241] On image 200 of 1104\n",
"I0524 10:59:24.229749 140223943030656 create_pet_tf_record.py:241] On image 300 of 1104\n",
"I0524 10:59:24.432615 140223943030656 create_pet_tf_record.py:241] On image 400 of 1104\n",
"I0524 10:59:24.624313 140223943030656 create_pet_tf_record.py:241] On image 500 of 1104\n",
"I0524 10:59:24.821556 140223943030656 create_pet_tf_record.py:241] On image 600 of 1104\n",
"I0524 10:59:25.019760 140223943030656 create_pet_tf_record.py:241] On image 700 of 1104\n",
"I0524 10:59:25.242554 140223943030656 create_pet_tf_record.py:241] On image 800 of 1104\n",
"W0524 10:59:25.333946 140223943030656 create_pet_tf_record.py:246] Could not find /content/data/annotations/xmls/Bengal_111.xml, ignoring example.\n",
"I0524 10:59:25.455374 140223943030656 create_pet_tf_record.py:241] On image 900 of 1104\n",
"I0524 10:59:25.636588 140223943030656 create_pet_tf_record.py:241] On image 1000 of 1104\n",
"I0524 10:59:25.821995 140223943030656 create_pet_tf_record.py:241] On image 1100 of 1104\n",
"pet_faces_train.record-00000-of-00010 pet_faces_val.record-00000-of-00010\n",
"pet_faces_train.record-00001-of-00010 pet_faces_val.record-00001-of-00010\n",
"pet_faces_train.record-00002-of-00010 pet_faces_val.record-00002-of-00010\n",
"pet_faces_train.record-00003-of-00010 pet_faces_val.record-00003-of-00010\n",
"pet_faces_train.record-00004-of-00010 pet_faces_val.record-00004-of-00010\n",
"pet_faces_train.record-00005-of-00010 pet_faces_val.record-00005-of-00010\n",
"pet_faces_train.record-00006-of-00010 pet_faces_val.record-00006-of-00010\n",
"pet_faces_train.record-00007-of-00010 pet_faces_val.record-00007-of-00010\n",
"pet_faces_train.record-00008-of-00010 pet_faces_val.record-00008-of-00010\n",
"pet_faces_train.record-00009-of-00010 pet_faces_val.record-00009-of-00010\n"
]
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "Ndb6N895JwJ6"
},
"source": [
"# Get the pretrained model for transfer learning\n",
"\n"
]
},
{
"cell_type": "code",
"metadata": {
"id": "at-wzrEXkDIe",
"colab": {
"base_uri": "https://localhost:8080/"
},
"outputId": "9a13d182-84b6-4c3c-f49f-9badde020d80"
},
"source": [
"!wget http://download.tensorflow.org/models/object_detection/tf1/spaghettinet_edgetpu_l_2021_10_13.tar.gz -P ${DATA_DIR}\n",
"!tar xf ${DATA_DIR}/spaghettinet_edgetpu_l_2021_10_13.tar.gz -C ${DATA_DIR}"
],
"execution_count": 15,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"--2022-05-24 10:59:26-- http://download.tensorflow.org/models/object_detection/tf1/spaghettinet_edgetpu_l_2021_10_13.tar.gz\n",
"Resolving download.tensorflow.org (download.tensorflow.org)... 172.217.204.128, 2607:f8b0:400c:c15::80\n",
"Connecting to download.tensorflow.org (download.tensorflow.org)|172.217.204.128|:80... connected.\n",
"HTTP request sent, awaiting response... 200 OK\n",
"Length: 71603101 (68M) [application/x-tar]\n",
"Saving to: ‘/content/data/spaghettinet_edgetpu_l_2021_10_13.tar.gz’\n",
"\n",
"spaghettinet_edgetp 100%[===================>] 68.29M 171MB/s in 0.4s \n",
"\n",
"2022-05-24 10:59:26 (171 MB/s) - ‘/content/data/spaghettinet_edgetpu_l_2021_10_13.tar.gz’ saved [71603101/71603101]\n",
"\n"
]
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "KlCKFYLmBvI6"
},
"source": [
"# Create config file"
]
},
{
"cell_type": "code",
"metadata": {
"id": "pDwELNPC-Sqh"
},
"source": [
"!cp /content/data/spaghettinet_edgetpu_l/pipeline.config ${DATA_DIR}/spaghettinet_edgetpu_l_quant_pet.config"
],
"execution_count": 16,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "wpRIcKWn_NnN"
},
"source": [
"%%bash\n",
"\n",
"cat <<EOF > ${DATA_DIR}/config.patch\n",
"--- /content/data/spaghettinet_edgetpu_l/pipeline.config\t2021-10-13 16:50:54.802455000 +0000\n",
"+++ /content/data/spaghettinet_edgetpu_l_quant_pet.config\t2022-05-21 10:56:21.439109148 +0000\n",
"@@ -11,7 +11,7 @@ model {\n",
" ssd {\n",
" inplace_batchnorm_update: true\n",
" freeze_batchnorm: false\n",
"- num_classes: 90\n",
"+ num_classes: 37\n",
" box_coder {\n",
" faster_rcnn_box_coder {\n",
" y_scale: 10.0\n",
"@@ -124,11 +124,14 @@ model {\n",
" }\n",
" \n",
" train_config: {\n",
"- batch_size: 512\n",
"+ batch_size: 16\n",
" sync_replicas: true\n",
" startup_delay_steps: 0\n",
" replicas_to_aggregate: 32\n",
" num_steps: 400000\n",
"+ fine_tune_checkpoint: \"/content/data/spaghettinet_edgetpu_l/model.ckpt-400000\"\n",
"+ load_all_detection_checkpoint_vars: true\n",
"+ fine_tune_checkpoint_type: \"detection\"\n",
" data_augmentation_options {\n",
" random_horizontal_flip {\n",
" }\n",
"@@ -141,9 +144,9 @@ train_config: {\n",
" momentum_optimizer: {\n",
" learning_rate: {\n",
" cosine_decay_learning_rate {\n",
"- learning_rate_base: 0.8\n",
"+ learning_rate_base: 0.008\n",
" total_steps: 400000\n",
"- warmup_learning_rate: 0.13333\n",
"+ warmup_learning_rate: 0.0013333\n",
" warmup_steps: 2000\n",
" }\n",
" }\n",
"@@ -156,9 +159,9 @@ train_config: {\n",
" }\n",
" \n",
" train_input_reader: {\n",
"- label_map_path: \"PATH_TO_BE_CONFIGURED/label_map.txt\"\n",
"+ label_map_path: \"/content/models/research/object_detection/data/pet_label_map.pbtxt\"\n",
" tf_record_input_reader {\n",
"- input_path: \"PATH_TO_BE_CONFIGURED/train2017-?????-of-00256.tfrecord\"\n",
"+ input_path: \"/content/data/tf_record/pet_faces_train.record-?????-of-00010\"\n",
" }\n",
" }\n",
" \n",
"@@ -168,17 +171,17 @@ eval_config: {\n",
" }\n",
" \n",
" eval_input_reader: {\n",
"- label_map_path: \"PATH_TO_BE_CONFIGURED/label_map.txt\"\n",
"+ label_map_path: \"/content/models/research/object_detection/data/pet_label_map.pbtxt\"\n",
" shuffle: false\n",
" num_epochs: 1\n",
" tf_record_input_reader {\n",
"- input_path: \"PATH_TO_BE_CONFIGURED/val2017-?????-of-00032.tfrecord\"\n",
"+ input_path: \"/content/data/tf_record/pet_faces_train.record-?????-of-00010\"\n",
" }\n",
" }\n",
" \n",
" graph_rewriter {\n",
" quantization {\n",
"- delay: 40000\n",
"+ delay: 20000\n",
" weight_bits: 8\n",
" activation_bits: 8\n",
" }\n",
"EOF"
],
"execution_count": 17,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "kmptYYT6-PyE",
"outputId": "a7896bf6-aa39-4c42-a843-4ac92c6a2ce9"
},
"source": [
"!patch -u ${DATA_DIR}/spaghettinet_edgetpu_l_quant_pet.config < ${DATA_DIR}/config.patch"
],
"execution_count": 18,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"patching file /content/data/spaghettinet_edgetpu_l_quant_pet.config\n"
]
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "SwbAVryqA5t7",
"colab": {
"base_uri": "https://localhost:8080/"
},
"outputId": "376c3b92-7a98-47ce-c131-d1dd132d7eb0"
},
"source": [
"!cat ${DATA_DIR}/spaghettinet_edgetpu_l_quant_pet.config"
],
"execution_count": 19,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"# SpaghettiNet Feature Extractor optimized for EdgeTPU.\n",
"# Trained on COCO17 from scratch.\n",
"#\n",
"# spaghettinet_edgetpu_l\n",
"# Achieves 28.02% mAP on COCO17 at 400k steps.\n",
"# 1.75ms EdgeTPU latency at 1.57 billion MACs.\n",
"#\n",
"# TPU-compatible.\n",
"\n",
"model {\n",
" ssd {\n",
" inplace_batchnorm_update: true\n",
" freeze_batchnorm: false\n",
" num_classes: 37\n",
" box_coder {\n",
" faster_rcnn_box_coder {\n",
" y_scale: 10.0\n",
" x_scale: 10.0\n",
" height_scale: 5.0\n",
" width_scale: 5.0\n",
" }\n",
" }\n",
" matcher {\n",
" argmax_matcher {\n",
" matched_threshold: 0.5\n",
" unmatched_threshold: 0.5\n",
" ignore_thresholds: false\n",
" negatives_lower_than_unmatched: true\n",
" force_match_for_each_row: true\n",
" use_matmul_gather: true\n",
" }\n",
" }\n",
" similarity_calculator {\n",
" iou_similarity {\n",
" }\n",
" }\n",
" encode_background_as_zeros: true\n",
" anchor_generator {\n",
" ssd_anchor_generator {\n",
" num_layers: 5\n",
" min_scale: 0.2\n",
" max_scale: 0.95\n",
" aspect_ratios: 1.0\n",
" aspect_ratios: 2.0\n",
" aspect_ratios: 0.5\n",
" aspect_ratios: 3.0\n",
" aspect_ratios: 0.3333333\n",
" }\n",
" }\n",
" image_resizer {\n",
" fixed_shape_resizer {\n",
" height: 320\n",
" width: 320\n",
" }\n",
" }\n",
" box_predictor {\n",
" convolutional_box_predictor {\n",
" min_depth: 0\n",
" max_depth: 0\n",
" num_layers_before_predictor: 0\n",
" use_dropout: false\n",
" dropout_keep_probability: 0.8\n",
" kernel_size: 3\n",
" use_depthwise: true\n",
" box_code_size: 4\n",
" apply_sigmoid_to_scores: false\n",
" class_prediction_bias_init: -4.6\n",
" conv_hyperparams {\n",
" activation: RELU_6,\n",
" regularizer {\n",
" l2_regularizer {\n",
" weight: 0.00004\n",
" }\n",
" }\n",
" initializer {\n",
" random_normal_initializer {\n",
" stddev: 0.03\n",
" mean: 0.0\n",
" }\n",
" }\n",
" batch_norm {\n",
" train: true,\n",
" scale: true,\n",
" center: true,\n",
" decay: 0.97,\n",
" epsilon: 0.001,\n",
" }\n",
" }\n",
" }\n",
" }\n",
" feature_extractor {\n",
" type: 'ssd_spaghettinet'\n",
" spaghettinet_arch_name: 'spaghettinet_edgetpu_l'\n",
" use_explicit_padding: false\n",
" }\n",
" loss {\n",
" classification_loss {\n",
" weighted_sigmoid_focal {\n",
" alpha: 0.75,\n",
" gamma: 2.0\n",
" }\n",
" }\n",
" localization_loss {\n",
" weighted_smooth_l1 {\n",
" delta: 1.0\n",
" }\n",
" }\n",
" classification_weight: 1.0\n",
" localization_weight: 1.0\n",
" }\n",
" normalize_loss_by_num_matches: true\n",
" normalize_loc_loss_by_codesize: true\n",
" post_processing {\n",
" batch_non_max_suppression {\n",
" score_threshold: 1e-8\n",
" iou_threshold: 0.6\n",
" max_detections_per_class: 100\n",
" max_total_detections: 100\n",
" use_static_shapes: true\n",
" }\n",
" score_converter: SIGMOID\n",
" }\n",
" }\n",
"}\n",
"\n",
"train_config: {\n",
" batch_size: 16\n",
" sync_replicas: true\n",
" startup_delay_steps: 0\n",
" replicas_to_aggregate: 32\n",
" num_steps: 400000\n",
" fine_tune_checkpoint: \"/content/data/spaghettinet_edgetpu_l/model.ckpt-400000\"\n",
" load_all_detection_checkpoint_vars: true\n",
" fine_tune_checkpoint_type: \"detection\"\n",
" data_augmentation_options {\n",
" random_horizontal_flip {\n",
" }\n",
" }\n",
" data_augmentation_options {\n",
" ssd_random_crop {\n",
" }\n",
" }\n",
" optimizer {\n",
" momentum_optimizer: {\n",
" learning_rate: {\n",
" cosine_decay_learning_rate {\n",
" learning_rate_base: 0.008\n",
" total_steps: 400000\n",
" warmup_learning_rate: 0.0013333\n",
" warmup_steps: 2000\n",
" }\n",
" }\n",
" momentum_optimizer_value: 0.9\n",
" }\n",
" use_moving_average: false\n",
" }\n",
" max_number_of_boxes: 100\n",
" unpad_groundtruth_tensors: false\n",
"}\n",
"\n",
"train_input_reader: {\n",
" label_map_path: \"/content/models/research/object_detection/data/pet_label_map.pbtxt\"\n",
" tf_record_input_reader {\n",
" input_path: \"/content/data/tf_record/pet_faces_train.record-?????-of-00010\"\n",
" }\n",
"}\n",
"\n",
"eval_config: {\n",
" metrics_set: \"coco_detection_metrics\"\n",
" use_moving_averages: false\n",
"}\n",
"\n",
"eval_input_reader: {\n",
" label_map_path: \"/content/models/research/object_detection/data/pet_label_map.pbtxt\"\n",
" shuffle: false\n",
" num_epochs: 1\n",
" tf_record_input_reader {\n",
" input_path: \"/content/data/tf_record/pet_faces_train.record-?????-of-00010\"\n",
" }\n",
"}\n",
"\n",
"graph_rewriter {\n",
" quantization {\n",
" delay: 20000\n",
" weight_bits: 8\n",
" activation_bits: 8\n",
" }\n",
"}\n"
]
}
]
},
{
"cell_type": "code",
"source": [
"!diff -up /content/data/spaghettinet_edgetpu_l/pipeline.config ${DATA_DIR}/spaghettinet_edgetpu_l_quant_pet.config"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "pminszOAvzBT",
"outputId": "d0e7ba3d-5a2c-49be-8767-abc362f3ca16"
},
"execution_count": 20,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"--- /content/data/spaghettinet_edgetpu_l/pipeline.config\t2021-10-13 16:50:54.802455000 +0000\n",
"+++ /content/data/spaghettinet_edgetpu_l_quant_pet.config\t2022-05-24 10:59:27.996861479 +0000\n",
"@@ -11,7 +11,7 @@ model {\n",
" ssd {\n",
" inplace_batchnorm_update: true\n",
" freeze_batchnorm: false\n",
"- num_classes: 90\n",
"+ num_classes: 37\n",
" box_coder {\n",
" faster_rcnn_box_coder {\n",
" y_scale: 10.0\n",
"@@ -124,11 +124,14 @@ model {\n",
" }\n",
" \n",
" train_config: {\n",
"- batch_size: 512\n",
"+ batch_size: 16\n",
" sync_replicas: true\n",
" startup_delay_steps: 0\n",
" replicas_to_aggregate: 32\n",
" num_steps: 400000\n",
"+ fine_tune_checkpoint: \"/content/data/spaghettinet_edgetpu_l/model.ckpt-400000\"\n",
"+ load_all_detection_checkpoint_vars: true\n",
"+ fine_tune_checkpoint_type: \"detection\"\n",
" data_augmentation_options {\n",
" random_horizontal_flip {\n",
" }\n",
"@@ -141,9 +144,9 @@ train_config: {\n",
" momentum_optimizer: {\n",
" learning_rate: {\n",
" cosine_decay_learning_rate {\n",
"- learning_rate_base: 0.8\n",
"+ learning_rate_base: 0.008\n",
" total_steps: 400000\n",
"- warmup_learning_rate: 0.13333\n",
"+ warmup_learning_rate: 0.0013333\n",
" warmup_steps: 2000\n",
" }\n",
" }\n",
"@@ -156,9 +159,9 @@ train_config: {\n",
" }\n",
" \n",
" train_input_reader: {\n",
"- label_map_path: \"PATH_TO_BE_CONFIGURED/label_map.txt\"\n",
"+ label_map_path: \"/content/models/research/object_detection/data/pet_label_map.pbtxt\"\n",
" tf_record_input_reader {\n",
"- input_path: \"PATH_TO_BE_CONFIGURED/train2017-?????-of-00256.tfrecord\"\n",
"+ input_path: \"/content/data/tf_record/pet_faces_train.record-?????-of-00010\"\n",
" }\n",
" }\n",
" \n",
"@@ -168,17 +171,17 @@ eval_config: {\n",
" }\n",
" \n",
" eval_input_reader: {\n",
"- label_map_path: \"PATH_TO_BE_CONFIGURED/label_map.txt\"\n",
"+ label_map_path: \"/content/models/research/object_detection/data/pet_label_map.pbtxt\"\n",
" shuffle: false\n",
" num_epochs: 1\n",
" tf_record_input_reader {\n",
"- input_path: \"PATH_TO_BE_CONFIGURED/val2017-?????-of-00032.tfrecord\"\n",
"+ input_path: \"/content/data/tf_record/pet_faces_train.record-?????-of-00010\"\n",
" }\n",
" }\n",
" \n",
" graph_rewriter {\n",
" quantization {\n",
"- delay: 40000\n",
"+ delay: 20000\n",
" weight_bits: 8\n",
" activation_bits: 8\n",
" }\n"
]
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "rF7J2C_aUb0n"
},
"source": [
"# Train model"
]
},
{
"cell_type": "code",
"source": [
"!rm -rf ${DATA_DIR}/spaghettinet_edgetpu_l_quant_pet"
],
"metadata": {
"id": "NmPdsI3gmM6A"
},
"execution_count": 21,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "gs57oAxVUery",
"colab": {
"base_uri": "https://localhost:8080/"
},
"outputId": "455e110b-83c8-4ba4-886e-2a7243117afd"
},
"source": [
"!python3 ./object_detection/model_main.py \\\n",
" --alsologtostderr \\\n",
" --pipeline_config_path=${DATA_DIR}/spaghettinet_edgetpu_l_quant_pet.config \\\n",
" --num_train_steps=25000 \\\n",
" --sample_1_of_n_eval_examples=1 \\\n",
" --model_dir=${DATA_DIR}/spaghettinet_edgetpu_l_quant_pet"
],
"execution_count": 22,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"\u001b[1;30;43mストリーミング出力は最後の 5000 行に切り捨てられました。\u001b[0m\n",
"I0524 14:01:34.963052 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n0_0/slice_1/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n0_0/slice_2/add_fold\n",
"I0524 14:01:34.963223 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n0_0/slice_2/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_0/slice_0/add_fold\n",
"I0524 14:01:34.963471 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_0/slice_0/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_0/slice_1/add_fold\n",
"I0524 14:01:34.963638 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_0/slice_1/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_0/slice_2/add_fold\n",
"I0524 14:01:34.963802 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_0/slice_2/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_0/slice_3/add_fold\n",
"I0524 14:01:34.963973 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_0/slice_3/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_1/slice_0/add_fold\n",
"I0524 14:01:34.964280 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_1/slice_0/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_1/slice_1/add_fold\n",
"I0524 14:01:34.964492 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_1/slice_1/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_1/slice_2/add_fold\n",
"I0524 14:01:34.964685 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_1/slice_2/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_1/slice_3/add_fold\n",
"I0524 14:01:34.964880 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_1/slice_3/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_2/slice_0/add_fold\n",
"I0524 14:01:34.965200 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_2/slice_0/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_2/slice_1/add_fold\n",
"I0524 14:01:34.965398 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_2/slice_1/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_2/slice_2/add_fold\n",
"I0524 14:01:34.965595 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_2/slice_2/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_2/slice_3/add_fold\n",
"I0524 14:01:34.965807 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_2/slice_3/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_3/slice_0/add_fold\n",
"I0524 14:01:34.966100 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_3/slice_0/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_3/slice_1/add_fold\n",
"I0524 14:01:34.966259 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_3/slice_1/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_3/slice_2/add_fold\n",
"I0524 14:01:34.966389 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_3/slice_2/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_3/slice_3/add_fold\n",
"I0524 14:01:34.966517 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_3/slice_3/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_0/expansion/add_fold\n",
"I0524 14:01:34.966741 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_0/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_0/depthwise/add_fold\n",
"I0524 14:01:34.966959 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_0/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_1/expansion/add_fold\n",
"I0524 14:01:34.967209 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_1/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_1/depthwise/add_fold\n",
"I0524 14:01:34.967370 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_1/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_2/expansion/add_fold\n",
"I0524 14:01:34.967613 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_2/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_2/depthwise/add_fold\n",
"I0524 14:01:34.967779 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_2/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_3/expansion/add_fold\n",
"I0524 14:01:34.968038 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_3/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_3/depthwise/add_fold\n",
"I0524 14:01:34.968175 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_3/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_0/expansion/add_fold\n",
"I0524 14:01:34.968388 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_0/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_0/depthwise/add_fold\n",
"I0524 14:01:34.968526 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_0/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_1/expansion/add_fold\n",
"I0524 14:01:34.968738 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_1/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_1/depthwise/add_fold\n",
"I0524 14:01:34.968881 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_1/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_2/expansion/add_fold\n",
"I0524 14:01:34.969105 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_2/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_2/depthwise/add_fold\n",
"I0524 14:01:34.969242 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_2/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_3/expansion/add_fold\n",
"I0524 14:01:34.969453 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_3/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_3/depthwise/add_fold\n",
"I0524 14:01:34.969591 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_3/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_0/expansion/add_fold\n",
"I0524 14:01:34.969804 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_0/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_0/depthwise/add_fold\n",
"I0524 14:01:34.969951 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_0/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_1/expansion/add_fold\n",
"I0524 14:01:34.970163 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_1/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_1/depthwise/add_fold\n",
"I0524 14:01:34.970297 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_1/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_2/expansion/add_fold\n",
"I0524 14:01:34.970505 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_2/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_2/depthwise/add_fold\n",
"I0524 14:01:34.970639 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_2/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_3/expansion/add_fold\n",
"I0524 14:01:34.970851 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_3/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_3/depthwise/add_fold\n",
"I0524 14:01:34.970996 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_3/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n5_0/expansion/add_fold\n",
"I0524 14:01:34.971210 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n5_0/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n5_0/depthwise/add_fold\n",
"I0524 14:01:34.971347 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n5_0/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n5_1/pointwise/add_fold\n",
"I0524 14:01:34.971556 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n5_1/pointwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_0/expansion/add_fold\n",
"I0524 14:01:34.971851 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_0/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_0/depthwise/add_fold\n",
"I0524 14:01:34.971998 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_0/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_1/expansion/add_fold\n",
"I0524 14:01:34.972208 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_1/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_1/depthwise/add_fold\n",
"I0524 14:01:34.972344 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_1/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_2/expansion/add_fold\n",
"I0524 14:01:34.972549 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_2/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_2/depthwise/add_fold\n",
"I0524 14:01:34.972685 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_2/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_3/expansion/add_fold\n",
"I0524 14:01:34.972898 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_3/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_3/depthwise/add_fold\n",
"I0524 14:01:34.973045 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_3/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_0/expansion/add_fold\n",
"I0524 14:01:34.973411 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_0/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_0/depthwise/add_fold\n",
"I0524 14:01:34.973549 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_0/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_1/expansion/add_fold\n",
"I0524 14:01:34.973762 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_1/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_1/depthwise/add_fold\n",
"I0524 14:01:34.979935 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_1/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_2/expansion/add_fold\n",
"I0524 14:01:34.980241 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_2/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_2/depthwise/add_fold\n",
"I0524 14:01:34.980420 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_2/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_3/expansion/add_fold\n",
"I0524 14:01:34.980690 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_3/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_3/depthwise/add_fold\n",
"I0524 14:01:34.980884 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_3/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_0/expansion/add_fold\n",
"I0524 14:01:34.981341 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_0/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_0/depthwise/add_fold\n",
"I0524 14:01:34.981514 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_0/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_1/expansion/add_fold\n",
"I0524 14:01:34.981767 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_1/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_1/depthwise/add_fold\n",
"I0524 14:01:34.981944 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_1/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_2/expansion/add_fold\n",
"I0524 14:01:34.982191 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_2/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_2/depthwise/add_fold\n",
"I0524 14:01:34.982360 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_2/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_3/expansion/add_fold\n",
"I0524 14:01:34.982603 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_3/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_3/depthwise/add_fold\n",
"I0524 14:01:34.982772 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_3/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n3_0/expansion/add_fold\n",
"I0524 14:01:34.983191 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n3_0/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n3_0/depthwise/add_fold\n",
"I0524 14:01:34.983363 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n3_0/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n3_1/expansion/add_fold\n",
"I0524 14:01:34.983603 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n3_1/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n3_1/depthwise/add_fold\n",
"I0524 14:01:34.983777 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n3_1/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n3_2/pointwise/add_fold\n",
"I0524 14:01:34.984051 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n3_2/pointwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n4_0/expansion/add_fold\n",
"I0524 14:01:34.984387 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n4_0/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n4_0/depthwise/add_fold\n",
"I0524 14:01:34.984558 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n4_0/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n4_1/expansion/add_fold\n",
"I0524 14:01:34.984804 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n4_1/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n4_1/depthwise/add_fold\n",
"I0524 14:01:34.984984 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n4_1/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n5_0/pointwise/add_fold\n",
"I0524 14:01:34.985225 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n5_0/pointwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n5_1/pointwise/add_fold\n",
"I0524 14:01:34.985382 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n5_1/pointwise/add_fold\n",
"INFO:tensorflow:Skipping quant after BoxPredictor_0/BoxEncodingPredictor_depthwise/add_fold\n",
"I0524 14:01:34.985551 140682825586560 quantize.py:364] Skipping quant after BoxPredictor_0/BoxEncodingPredictor_depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after BoxPredictor_0/ClassPredictor_depthwise/add_fold\n",
"I0524 14:01:34.985721 140682825586560 quantize.py:364] Skipping quant after BoxPredictor_0/ClassPredictor_depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after BoxPredictor_1/BoxEncodingPredictor_depthwise/add_fold\n",
"I0524 14:01:34.985902 140682825586560 quantize.py:364] Skipping quant after BoxPredictor_1/BoxEncodingPredictor_depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after BoxPredictor_1/ClassPredictor_depthwise/add_fold\n",
"I0524 14:01:34.986083 140682825586560 quantize.py:364] Skipping quant after BoxPredictor_1/ClassPredictor_depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after BoxPredictor_2/BoxEncodingPredictor_depthwise/add_fold\n",
"I0524 14:01:34.986257 140682825586560 quantize.py:364] Skipping quant after BoxPredictor_2/BoxEncodingPredictor_depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after BoxPredictor_2/ClassPredictor_depthwise/add_fold\n",
"I0524 14:01:34.986430 140682825586560 quantize.py:364] Skipping quant after BoxPredictor_2/ClassPredictor_depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after BoxPredictor_3/BoxEncodingPredictor_depthwise/add_fold\n",
"I0524 14:01:34.986602 140682825586560 quantize.py:364] Skipping quant after BoxPredictor_3/BoxEncodingPredictor_depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after BoxPredictor_3/ClassPredictor_depthwise/add_fold\n",
"I0524 14:01:34.986842 140682825586560 quantize.py:364] Skipping quant after BoxPredictor_3/ClassPredictor_depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after BoxPredictor_4/BoxEncodingPredictor_depthwise/add_fold\n",
"I0524 14:01:34.987047 140682825586560 quantize.py:364] Skipping quant after BoxPredictor_4/BoxEncodingPredictor_depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after BoxPredictor_4/ClassPredictor_depthwise/add_fold\n",
"I0524 14:01:34.987239 140682825586560 quantize.py:364] Skipping quant after BoxPredictor_4/ClassPredictor_depthwise/add_fold\n",
"INFO:tensorflow:Inserting act_quant op for standalone Relu6 op: FeatureExtractor/spaghettinet_edgetpu_l/Relu6.\n",
"I0524 14:01:35.040253 140682825586560 quantize.py:325] Inserting act_quant op for standalone Relu6 op: FeatureExtractor/spaghettinet_edgetpu_l/Relu6.\n",
"INFO:tensorflow:Inserting act_quant op for standalone Relu6 op: FeatureExtractor/spaghettinet_edgetpu_l/Relu6_1.\n",
"I0524 14:01:35.048236 140682825586560 quantize.py:325] Inserting act_quant op for standalone Relu6 op: FeatureExtractor/spaghettinet_edgetpu_l/Relu6_1.\n",
"INFO:tensorflow:Inserting act_quant op for standalone Relu6 op: FeatureExtractor/spaghettinet_edgetpu_l/Relu6_2.\n",
"I0524 14:01:35.055135 140682825586560 quantize.py:325] Inserting act_quant op for standalone Relu6 op: FeatureExtractor/spaghettinet_edgetpu_l/Relu6_2.\n",
"INFO:tensorflow:Inserting act_quant op for standalone Relu6 op: FeatureExtractor/spaghettinet_edgetpu_l/Relu6_3.\n",
"I0524 14:01:35.061836 140682825586560 quantize.py:325] Inserting act_quant op for standalone Relu6 op: FeatureExtractor/spaghettinet_edgetpu_l/Relu6_3.\n",
"INFO:tensorflow:Inserting act_quant op for standalone Relu6 op: FeatureExtractor/spaghettinet_edgetpu_l/Relu6_4.\n",
"I0524 14:01:35.068352 140682825586560 quantize.py:325] Inserting act_quant op for standalone Relu6 op: FeatureExtractor/spaghettinet_edgetpu_l/Relu6_4.\n",
"INFO:tensorflow:Done calling model_fn.\n",
"I0524 14:01:36.396260 140682825586560 estimator.py:1150] Done calling model_fn.\n",
"INFO:tensorflow:Starting evaluation at 2022-05-24T14:01:36Z\n",
"I0524 14:01:36.411480 140682825586560 evaluation.py:255] Starting evaluation at 2022-05-24T14:01:36Z\n",
"INFO:tensorflow:Graph was finalized.\n",
"I0524 14:01:37.830409 140682825586560 monitored_session.py:240] Graph was finalized.\n",
"2022-05-24 14:01:37.831081: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:983] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n",
"2022-05-24 14:01:37.831372: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1639] Found device 0 with properties: \n",
"name: Tesla T4 major: 7 minor: 5 memoryClockRate(GHz): 1.59\n",
"pciBusID: 0000:00:04.0\n",
"2022-05-24 14:01:37.831477: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcudart.so.10.1\n",
"2022-05-24 14:01:37.831498: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcublas.so.10\n",
"2022-05-24 14:01:37.831518: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcufft.so.10\n",
"2022-05-24 14:01:37.831537: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcurand.so.10\n",
"2022-05-24 14:01:37.831552: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcusolver.so.10\n",
"2022-05-24 14:01:37.831569: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcusparse.so.10\n",
"2022-05-24 14:01:37.831588: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcudnn.so.7\n",
"2022-05-24 14:01:37.831665: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:983] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n",
"2022-05-24 14:01:37.831900: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:983] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n",
"2022-05-24 14:01:37.832088: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1767] Adding visible gpu devices: 0\n",
"2022-05-24 14:01:37.832129: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1180] Device interconnect StreamExecutor with strength 1 edge matrix:\n",
"2022-05-24 14:01:37.832140: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1186] 0 \n",
"2022-05-24 14:01:37.832149: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1199] 0: N \n",
"2022-05-24 14:01:37.832237: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:983] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n",
"2022-05-24 14:01:37.832457: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:983] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n",
"2022-05-24 14:01:37.832641: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1325] Created TensorFlow device (/job:localhost/replica:0/task:0/device:GPU:0 with 14257 MB memory) -> physical GPU (device: 0, name: Tesla T4, pci bus id: 0000:00:04.0, compute capability: 7.5)\n",
"INFO:tensorflow:Restoring parameters from /content/data/spaghettinet_edgetpu_l_quant_pet/model.ckpt-14032\n",
"I0524 14:01:37.833546 140682825586560 saver.py:1284] Restoring parameters from /content/data/spaghettinet_edgetpu_l_quant_pet/model.ckpt-14032\n",
"INFO:tensorflow:Running local_init_op.\n",
"I0524 14:01:40.831254 140682825586560 session_manager.py:500] Running local_init_op.\n",
"INFO:tensorflow:Done running local_init_op.\n",
"I0524 14:01:41.131804 140682825586560 session_manager.py:502] Done running local_init_op.\n",
"Corrupt JPEG data: premature end of data segment\n",
"INFO:tensorflow:Performing evaluation on 2568 images.\n",
"I0524 14:03:54.935931 140678246762240 coco_evaluation.py:293] Performing evaluation on 2568 images.\n",
"creating index...\n",
"index created!\n",
"INFO:tensorflow:Loading and preparing annotation results...\n",
"I0524 14:03:54.942105 140678246762240 coco_tools.py:116] Loading and preparing annotation results...\n",
"INFO:tensorflow:DONE (t=0.20s)\n",
"I0524 14:03:55.146280 140678246762240 coco_tools.py:138] DONE (t=0.20s)\n",
"creating index...\n",
"index created!\n",
"Running per image evaluation...\n",
"Evaluate annotation type *bbox*\n",
"DONE (t=18.83s).\n",
"Accumulating evaluation results...\n",
"DONE (t=5.76s).\n",
" Average Precision (AP) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.596\n",
" Average Precision (AP) @[ IoU=0.50 | area= all | maxDets=100 ] = 0.846\n",
" Average Precision (AP) @[ IoU=0.75 | area= all | maxDets=100 ] = 0.727\n",
" Average Precision (AP) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.050\n",
" Average Precision (AP) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.374\n",
" Average Precision (AP) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.640\n",
" Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets= 1 ] = 0.716\n",
" Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets= 10 ] = 0.734\n",
" Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.734\n",
" Average Recall (AR) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.050\n",
" Average Recall (AR) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.592\n",
" Average Recall (AR) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.763\n",
"INFO:tensorflow:Finished evaluation at 2022-05-24-14:04:20\n",
"I0524 14:04:20.759154 140682825586560 evaluation.py:275] Finished evaluation at 2022-05-24-14:04:20\n",
"INFO:tensorflow:Saving dict for global step 14032: DetectionBoxes_Precision/mAP = 0.59626806, DetectionBoxes_Precision/mAP (large) = 0.6402864, DetectionBoxes_Precision/mAP (medium) = 0.3742731, DetectionBoxes_Precision/mAP (small) = 0.05049505, DetectionBoxes_Precision/mAP@.50IOU = 0.8455575, DetectionBoxes_Precision/mAP@.75IOU = 0.7266564, DetectionBoxes_Recall/AR@1 = 0.71621376, DetectionBoxes_Recall/AR@10 = 0.73372495, DetectionBoxes_Recall/AR@100 = 0.73439896, DetectionBoxes_Recall/AR@100 (large) = 0.7631564, DetectionBoxes_Recall/AR@100 (medium) = 0.5921814, DetectionBoxes_Recall/AR@100 (small) = 0.05, Loss/classification_loss = 0.32722658, Loss/localization_loss = 0.09748683, Loss/regularization_loss = 0.05113371, Loss/total_loss = 0.47584742, global_step = 14032, learning_rate = 0.007981974, loss = 0.47584742\n",
"I0524 14:04:20.759394 140682825586560 estimator.py:2049] Saving dict for global step 14032: DetectionBoxes_Precision/mAP = 0.59626806, DetectionBoxes_Precision/mAP (large) = 0.6402864, DetectionBoxes_Precision/mAP (medium) = 0.3742731, DetectionBoxes_Precision/mAP (small) = 0.05049505, DetectionBoxes_Precision/mAP@.50IOU = 0.8455575, DetectionBoxes_Precision/mAP@.75IOU = 0.7266564, DetectionBoxes_Recall/AR@1 = 0.71621376, DetectionBoxes_Recall/AR@10 = 0.73372495, DetectionBoxes_Recall/AR@100 = 0.73439896, DetectionBoxes_Recall/AR@100 (large) = 0.7631564, DetectionBoxes_Recall/AR@100 (medium) = 0.5921814, DetectionBoxes_Recall/AR@100 (small) = 0.05, Loss/classification_loss = 0.32722658, Loss/localization_loss = 0.09748683, Loss/regularization_loss = 0.05113371, Loss/total_loss = 0.47584742, global_step = 14032, learning_rate = 0.007981974, loss = 0.47584742\n",
"INFO:tensorflow:Saving 'checkpoint_path' summary for global step 14032: /content/data/spaghettinet_edgetpu_l_quant_pet/model.ckpt-14032\n",
"I0524 14:04:20.762283 140682825586560 estimator.py:2109] Saving 'checkpoint_path' summary for global step 14032: /content/data/spaghettinet_edgetpu_l_quant_pet/model.ckpt-14032\n",
"INFO:tensorflow:global_step/sec: 0.426897\n",
"I0524 14:05:00.094202 140682825586560 basic_session_run_hooks.py:692] global_step/sec: 0.426897\n",
"INFO:tensorflow:loss = 0.43394005, step = 14100 (234.249 sec)\n",
"I0524 14:05:00.095200 140682825586560 basic_session_run_hooks.py:260] loss = 0.43394005, step = 14100 (234.249 sec)\n",
"Corrupt JPEG data: premature end of data segment\n",
"INFO:tensorflow:global_step/sec: 1.79248\n",
"I0524 14:05:55.882985 140682825586560 basic_session_run_hooks.py:692] global_step/sec: 1.79248\n",
"INFO:tensorflow:loss = 0.40769553, step = 14200 (55.789 sec)\n",
"I0524 14:05:55.883946 140682825586560 basic_session_run_hooks.py:260] loss = 0.40769553, step = 14200 (55.789 sec)\n",
"Corrupt JPEG data: premature end of data segment\n",
"INFO:tensorflow:global_step/sec: 1.77977\n",
"I0524 14:06:52.069965 140682825586560 basic_session_run_hooks.py:692] global_step/sec: 1.77977\n",
"INFO:tensorflow:loss = 0.44745034, step = 14300 (56.187 sec)\n",
"I0524 14:06:52.070834 140682825586560 basic_session_run_hooks.py:260] loss = 0.44745034, step = 14300 (56.187 sec)\n",
"Corrupt JPEG data: premature end of data segment\n",
"Corrupt JPEG data: premature end of data segment\n",
"INFO:tensorflow:global_step/sec: 1.78212\n",
"I0524 14:07:48.183023 140682825586560 basic_session_run_hooks.py:692] global_step/sec: 1.78212\n",
"INFO:tensorflow:loss = 0.50133026, step = 14400 (56.113 sec)\n",
"I0524 14:07:48.184203 140682825586560 basic_session_run_hooks.py:260] loss = 0.50133026, step = 14400 (56.113 sec)\n",
"INFO:tensorflow:global_step/sec: 1.78559\n",
"I0524 14:08:44.186857 140682825586560 basic_session_run_hooks.py:692] global_step/sec: 1.78559\n",
"INFO:tensorflow:loss = 0.3669476, step = 14500 (56.004 sec)\n",
"I0524 14:08:44.187700 140682825586560 basic_session_run_hooks.py:260] loss = 0.3669476, step = 14500 (56.004 sec)\n",
"Corrupt JPEG data: premature end of data segment\n",
"INFO:tensorflow:global_step/sec: 1.78384\n",
"I0524 14:09:40.245540 140682825586560 basic_session_run_hooks.py:692] global_step/sec: 1.78384\n",
"INFO:tensorflow:loss = 0.37668404, step = 14600 (56.059 sec)\n",
"I0524 14:09:40.246404 140682825586560 basic_session_run_hooks.py:260] loss = 0.37668404, step = 14600 (56.059 sec)\n",
"Corrupt JPEG data: premature end of data segment\n",
"INFO:tensorflow:global_step/sec: 1.77762\n",
"I0524 14:10:36.500458 140682825586560 basic_session_run_hooks.py:692] global_step/sec: 1.77762\n",
"INFO:tensorflow:loss = 0.32124972, step = 14700 (56.255 sec)\n",
"I0524 14:10:36.501663 140682825586560 basic_session_run_hooks.py:260] loss = 0.32124972, step = 14700 (56.255 sec)\n",
"INFO:tensorflow:Saving checkpoints for 14785 into /content/data/spaghettinet_edgetpu_l_quant_pet/model.ckpt.\n",
"I0524 14:11:23.576799 140682825586560 basic_session_run_hooks.py:606] Saving checkpoints for 14785 into /content/data/spaghettinet_edgetpu_l_quant_pet/model.ckpt.\n",
"INFO:tensorflow:Reading unweighted datasets: ['/content/data/tf_record/pet_faces_train.record-?????-of-00010']\n",
"I0524 14:11:27.093255 140682825586560 dataset_builder.py:162] Reading unweighted datasets: ['/content/data/tf_record/pet_faces_train.record-?????-of-00010']\n",
"INFO:tensorflow:Reading record datasets for input file: ['/content/data/tf_record/pet_faces_train.record-?????-of-00010']\n",
"I0524 14:11:27.094263 140682825586560 dataset_builder.py:79] Reading record datasets for input file: ['/content/data/tf_record/pet_faces_train.record-?????-of-00010']\n",
"INFO:tensorflow:Number of filenames to read: 10\n",
"I0524 14:11:27.094386 140682825586560 dataset_builder.py:80] Number of filenames to read: 10\n",
"WARNING:tensorflow:num_readers has been reduced to 10 to match input file shards.\n",
"W0524 14:11:27.094441 140682825586560 dataset_builder.py:87] num_readers has been reduced to 10 to match input file shards.\n",
"WARNING:tensorflow:`shuffle` is false, but the input data stream is still slightly shuffled since `num_readers` > 1.\n",
"W0524 14:11:27.095708 140682825586560 dataset_builder.py:93] `shuffle` is false, but the input data stream is still slightly shuffled since `num_readers` > 1.\n",
"WARNING:tensorflow:Entity <bound method TfExampleDecoder.decode of <object_detection.data_decoders.tf_example_decoder.TfExampleDecoder object at 0x7fedfdc16dd0>> could not be transformed and will be executed as-is. Please report this to the AutoGraph team. When filing the bug, set the verbosity to 10 (on Linux, `export AUTOGRAPH_VERBOSITY=10`) and attach the full output. Cause: module 'gast' has no attribute 'Index'\n",
"W0524 14:11:27.143803 140682825586560 ag_logging.py:146] Entity <bound method TfExampleDecoder.decode of <object_detection.data_decoders.tf_example_decoder.TfExampleDecoder object at 0x7fedfdc16dd0>> could not be transformed and will be executed as-is. Please report this to the AutoGraph team. When filing the bug, set the verbosity to 10 (on Linux, `export AUTOGRAPH_VERBOSITY=10`) and attach the full output. Cause: module 'gast' has no attribute 'Index'\n",
"WARNING:tensorflow:Entity <function eval_input.<locals>.transform_and_pad_input_data_fn at 0x7fee131bf950> could not be transformed and will be executed as-is. Please report this to the AutoGraph team. When filing the bug, set the verbosity to 10 (on Linux, `export AUTOGRAPH_VERBOSITY=10`) and attach the full output. Cause: module 'gast' has no attribute 'Str'\n",
"W0524 14:11:27.304451 140682825586560 ag_logging.py:146] Entity <function eval_input.<locals>.transform_and_pad_input_data_fn at 0x7fee131bf950> could not be transformed and will be executed as-is. Please report this to the AutoGraph team. When filing the bug, set the verbosity to 10 (on Linux, `export AUTOGRAPH_VERBOSITY=10`) and attach the full output. Cause: module 'gast' has no attribute 'Str'\n",
"INFO:tensorflow:Calling model_fn.\n",
"I0524 14:11:27.824655 140682825586560 estimator.py:1148] Calling model_fn.\n",
"INFO:tensorflow:depth of additional conv before box predictor: 0\n",
"I0524 14:11:31.168982 140682825586560 convolutional_box_predictor.py:155] depth of additional conv before box predictor: 0\n",
"INFO:tensorflow:depth of additional conv before box predictor: 0\n",
"I0524 14:11:31.241014 140682825586560 convolutional_box_predictor.py:155] depth of additional conv before box predictor: 0\n",
"INFO:tensorflow:depth of additional conv before box predictor: 0\n",
"I0524 14:11:31.309954 140682825586560 convolutional_box_predictor.py:155] depth of additional conv before box predictor: 0\n",
"INFO:tensorflow:depth of additional conv before box predictor: 0\n",
"I0524 14:11:31.379032 140682825586560 convolutional_box_predictor.py:155] depth of additional conv before box predictor: 0\n",
"INFO:tensorflow:depth of additional conv before box predictor: 0\n",
"I0524 14:11:31.453112 140682825586560 convolutional_box_predictor.py:155] depth of additional conv before box predictor: 0\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/add_13\n",
"I0524 14:11:35.280277 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/add_13\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/add_17\n",
"I0524 14:11:35.281634 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/add_17\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/add_21\n",
"I0524 14:11:35.282888 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/add_21\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/add_25\n",
"I0524 14:11:35.284129 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/add_25\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/add_28\n",
"I0524 14:11:35.285035 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/add_28\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/stem_node/stem/add_fold\n",
"I0524 14:11:35.297770 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/stem_node/stem/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n0_0/slice_0/add_fold\n",
"I0524 14:11:35.297979 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n0_0/slice_0/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n0_0/slice_1/add_fold\n",
"I0524 14:11:35.298126 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n0_0/slice_1/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n0_0/slice_2/add_fold\n",
"I0524 14:11:35.298271 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n0_0/slice_2/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_0/slice_0/add_fold\n",
"I0524 14:11:35.298490 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_0/slice_0/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_0/slice_1/add_fold\n",
"I0524 14:11:35.298625 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_0/slice_1/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_0/slice_2/add_fold\n",
"I0524 14:11:35.298755 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_0/slice_2/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_0/slice_3/add_fold\n",
"I0524 14:11:35.298882 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_0/slice_3/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_1/slice_0/add_fold\n",
"I0524 14:11:35.299099 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_1/slice_0/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_1/slice_1/add_fold\n",
"I0524 14:11:35.299238 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_1/slice_1/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_1/slice_2/add_fold\n",
"I0524 14:11:35.299372 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_1/slice_2/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_1/slice_3/add_fold\n",
"I0524 14:11:35.299501 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_1/slice_3/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_2/slice_0/add_fold\n",
"I0524 14:11:35.299713 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_2/slice_0/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_2/slice_1/add_fold\n",
"I0524 14:11:35.299847 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_2/slice_1/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_2/slice_2/add_fold\n",
"I0524 14:11:35.299985 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_2/slice_2/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_2/slice_3/add_fold\n",
"I0524 14:11:35.300117 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_2/slice_3/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_3/slice_0/add_fold\n",
"I0524 14:11:35.300340 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_3/slice_0/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_3/slice_1/add_fold\n",
"I0524 14:11:35.300471 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_3/slice_1/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_3/slice_2/add_fold\n",
"I0524 14:11:35.300599 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_3/slice_2/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_3/slice_3/add_fold\n",
"I0524 14:11:35.300728 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_3/slice_3/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_0/expansion/add_fold\n",
"I0524 14:11:35.300949 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_0/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_0/depthwise/add_fold\n",
"I0524 14:11:35.301087 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_0/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_1/expansion/add_fold\n",
"I0524 14:11:35.301306 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_1/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_1/depthwise/add_fold\n",
"I0524 14:11:35.301446 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_1/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_2/expansion/add_fold\n",
"I0524 14:11:35.301659 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_2/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_2/depthwise/add_fold\n",
"I0524 14:11:35.301798 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_2/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_3/expansion/add_fold\n",
"I0524 14:11:35.302020 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_3/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_3/depthwise/add_fold\n",
"I0524 14:11:35.302159 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_3/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_0/expansion/add_fold\n",
"I0524 14:11:35.302376 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_0/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_0/depthwise/add_fold\n",
"I0524 14:11:35.302516 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_0/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_1/expansion/add_fold\n",
"I0524 14:11:35.302728 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_1/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_1/depthwise/add_fold\n",
"I0524 14:11:35.302867 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_1/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_2/expansion/add_fold\n",
"I0524 14:11:35.303110 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_2/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_2/depthwise/add_fold\n",
"I0524 14:11:35.303277 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_2/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_3/expansion/add_fold\n",
"I0524 14:11:35.303496 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_3/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_3/depthwise/add_fold\n",
"I0524 14:11:35.303637 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_3/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_0/expansion/add_fold\n",
"I0524 14:11:35.303852 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_0/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_0/depthwise/add_fold\n",
"I0524 14:11:35.304002 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_0/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_1/expansion/add_fold\n",
"I0524 14:11:35.304214 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_1/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_1/depthwise/add_fold\n",
"I0524 14:11:35.304362 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_1/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_2/expansion/add_fold\n",
"I0524 14:11:35.304574 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_2/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_2/depthwise/add_fold\n",
"I0524 14:11:35.304711 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_2/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_3/expansion/add_fold\n",
"I0524 14:11:35.304932 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_3/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_3/depthwise/add_fold\n",
"I0524 14:11:35.305069 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_3/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n5_0/expansion/add_fold\n",
"I0524 14:11:35.305288 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n5_0/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n5_0/depthwise/add_fold\n",
"I0524 14:11:35.305430 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n5_0/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n5_1/pointwise/add_fold\n",
"I0524 14:11:35.305641 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n5_1/pointwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_0/expansion/add_fold\n",
"I0524 14:11:35.305951 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_0/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_0/depthwise/add_fold\n",
"I0524 14:11:35.306115 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_0/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_1/expansion/add_fold\n",
"I0524 14:11:35.306333 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_1/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_1/depthwise/add_fold\n",
"I0524 14:11:35.306470 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_1/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_2/expansion/add_fold\n",
"I0524 14:11:35.306683 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_2/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_2/depthwise/add_fold\n",
"I0524 14:11:35.306836 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_2/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_3/expansion/add_fold\n",
"I0524 14:11:35.307064 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_3/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_3/depthwise/add_fold\n",
"I0524 14:11:35.307201 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_3/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_0/expansion/add_fold\n",
"I0524 14:11:35.307581 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_0/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_0/depthwise/add_fold\n",
"I0524 14:11:35.307744 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_0/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_1/expansion/add_fold\n",
"I0524 14:11:35.307962 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_1/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_1/depthwise/add_fold\n",
"I0524 14:11:35.316013 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_1/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_2/expansion/add_fold\n",
"I0524 14:11:35.316314 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_2/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_2/depthwise/add_fold\n",
"I0524 14:11:35.316526 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_2/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_3/expansion/add_fold\n",
"I0524 14:11:35.316878 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_3/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_3/depthwise/add_fold\n",
"I0524 14:11:35.317150 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_3/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_0/expansion/add_fold\n",
"I0524 14:11:35.317748 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_0/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_0/depthwise/add_fold\n",
"I0524 14:11:35.318022 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_0/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_1/expansion/add_fold\n",
"I0524 14:11:35.318393 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_1/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_1/depthwise/add_fold\n",
"I0524 14:11:35.318623 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_1/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_2/expansion/add_fold\n",
"I0524 14:11:35.318856 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_2/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_2/depthwise/add_fold\n",
"I0524 14:11:35.319014 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_2/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_3/expansion/add_fold\n",
"I0524 14:11:35.319235 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_3/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_3/depthwise/add_fold\n",
"I0524 14:11:35.319437 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_3/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n3_0/expansion/add_fold\n",
"I0524 14:11:35.319823 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n3_0/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n3_0/depthwise/add_fold\n",
"I0524 14:11:35.319989 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n3_0/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n3_1/expansion/add_fold\n",
"I0524 14:11:35.320205 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n3_1/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n3_1/depthwise/add_fold\n",
"I0524 14:11:35.320350 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n3_1/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n3_2/pointwise/add_fold\n",
"I0524 14:11:35.320565 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n3_2/pointwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n4_0/expansion/add_fold\n",
"I0524 14:11:35.320856 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n4_0/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n4_0/depthwise/add_fold\n",
"I0524 14:11:35.321013 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n4_0/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n4_1/expansion/add_fold\n",
"I0524 14:11:35.321232 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n4_1/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n4_1/depthwise/add_fold\n",
"I0524 14:11:35.321374 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n4_1/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n5_0/pointwise/add_fold\n",
"I0524 14:11:35.321588 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n5_0/pointwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n5_1/pointwise/add_fold\n",
"I0524 14:11:35.321720 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n5_1/pointwise/add_fold\n",
"INFO:tensorflow:Skipping quant after BoxPredictor_0/BoxEncodingPredictor_depthwise/add_fold\n",
"I0524 14:11:35.321855 140682825586560 quantize.py:364] Skipping quant after BoxPredictor_0/BoxEncodingPredictor_depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after BoxPredictor_0/ClassPredictor_depthwise/add_fold\n",
"I0524 14:11:35.321999 140682825586560 quantize.py:364] Skipping quant after BoxPredictor_0/ClassPredictor_depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after BoxPredictor_1/BoxEncodingPredictor_depthwise/add_fold\n",
"I0524 14:11:35.322138 140682825586560 quantize.py:364] Skipping quant after BoxPredictor_1/BoxEncodingPredictor_depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after BoxPredictor_1/ClassPredictor_depthwise/add_fold\n",
"I0524 14:11:35.322280 140682825586560 quantize.py:364] Skipping quant after BoxPredictor_1/ClassPredictor_depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after BoxPredictor_2/BoxEncodingPredictor_depthwise/add_fold\n",
"I0524 14:11:35.322418 140682825586560 quantize.py:364] Skipping quant after BoxPredictor_2/BoxEncodingPredictor_depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after BoxPredictor_2/ClassPredictor_depthwise/add_fold\n",
"I0524 14:11:35.322555 140682825586560 quantize.py:364] Skipping quant after BoxPredictor_2/ClassPredictor_depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after BoxPredictor_3/BoxEncodingPredictor_depthwise/add_fold\n",
"I0524 14:11:35.322693 140682825586560 quantize.py:364] Skipping quant after BoxPredictor_3/BoxEncodingPredictor_depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after BoxPredictor_3/ClassPredictor_depthwise/add_fold\n",
"I0524 14:11:35.322829 140682825586560 quantize.py:364] Skipping quant after BoxPredictor_3/ClassPredictor_depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after BoxPredictor_4/BoxEncodingPredictor_depthwise/add_fold\n",
"I0524 14:11:35.322973 140682825586560 quantize.py:364] Skipping quant after BoxPredictor_4/BoxEncodingPredictor_depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after BoxPredictor_4/ClassPredictor_depthwise/add_fold\n",
"I0524 14:11:35.323110 140682825586560 quantize.py:364] Skipping quant after BoxPredictor_4/ClassPredictor_depthwise/add_fold\n",
"INFO:tensorflow:Inserting act_quant op for standalone Relu6 op: FeatureExtractor/spaghettinet_edgetpu_l/Relu6.\n",
"I0524 14:11:35.370869 140682825586560 quantize.py:325] Inserting act_quant op for standalone Relu6 op: FeatureExtractor/spaghettinet_edgetpu_l/Relu6.\n",
"INFO:tensorflow:Inserting act_quant op for standalone Relu6 op: FeatureExtractor/spaghettinet_edgetpu_l/Relu6_1.\n",
"I0524 14:11:35.379204 140682825586560 quantize.py:325] Inserting act_quant op for standalone Relu6 op: FeatureExtractor/spaghettinet_edgetpu_l/Relu6_1.\n",
"INFO:tensorflow:Inserting act_quant op for standalone Relu6 op: FeatureExtractor/spaghettinet_edgetpu_l/Relu6_2.\n",
"I0524 14:11:35.386581 140682825586560 quantize.py:325] Inserting act_quant op for standalone Relu6 op: FeatureExtractor/spaghettinet_edgetpu_l/Relu6_2.\n",
"INFO:tensorflow:Inserting act_quant op for standalone Relu6 op: FeatureExtractor/spaghettinet_edgetpu_l/Relu6_3.\n",
"I0524 14:11:35.393791 140682825586560 quantize.py:325] Inserting act_quant op for standalone Relu6 op: FeatureExtractor/spaghettinet_edgetpu_l/Relu6_3.\n",
"INFO:tensorflow:Inserting act_quant op for standalone Relu6 op: FeatureExtractor/spaghettinet_edgetpu_l/Relu6_4.\n",
"I0524 14:11:35.400728 140682825586560 quantize.py:325] Inserting act_quant op for standalone Relu6 op: FeatureExtractor/spaghettinet_edgetpu_l/Relu6_4.\n",
"INFO:tensorflow:Done calling model_fn.\n",
"I0524 14:11:36.786421 140682825586560 estimator.py:1150] Done calling model_fn.\n",
"INFO:tensorflow:Starting evaluation at 2022-05-24T14:11:36Z\n",
"I0524 14:11:36.802152 140682825586560 evaluation.py:255] Starting evaluation at 2022-05-24T14:11:36Z\n",
"INFO:tensorflow:Graph was finalized.\n",
"I0524 14:11:38.215111 140682825586560 monitored_session.py:240] Graph was finalized.\n",
"2022-05-24 14:11:38.215850: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:983] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n",
"2022-05-24 14:11:38.216187: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1639] Found device 0 with properties: \n",
"name: Tesla T4 major: 7 minor: 5 memoryClockRate(GHz): 1.59\n",
"pciBusID: 0000:00:04.0\n",
"2022-05-24 14:11:38.216281: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcudart.so.10.1\n",
"2022-05-24 14:11:38.216303: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcublas.so.10\n",
"2022-05-24 14:11:38.216319: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcufft.so.10\n",
"2022-05-24 14:11:38.216335: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcurand.so.10\n",
"2022-05-24 14:11:38.216354: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcusolver.so.10\n",
"2022-05-24 14:11:38.216377: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcusparse.so.10\n",
"2022-05-24 14:11:38.216394: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcudnn.so.7\n",
"2022-05-24 14:11:38.216472: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:983] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n",
"2022-05-24 14:11:38.216708: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:983] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n",
"2022-05-24 14:11:38.216900: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1767] Adding visible gpu devices: 0\n",
"2022-05-24 14:11:38.216980: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1180] Device interconnect StreamExecutor with strength 1 edge matrix:\n",
"2022-05-24 14:11:38.216994: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1186] 0 \n",
"2022-05-24 14:11:38.217000: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1199] 0: N \n",
"2022-05-24 14:11:38.217095: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:983] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n",
"2022-05-24 14:11:38.217332: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:983] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n",
"2022-05-24 14:11:38.217526: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1325] Created TensorFlow device (/job:localhost/replica:0/task:0/device:GPU:0 with 14257 MB memory) -> physical GPU (device: 0, name: Tesla T4, pci bus id: 0000:00:04.0, compute capability: 7.5)\n",
"INFO:tensorflow:Restoring parameters from /content/data/spaghettinet_edgetpu_l_quant_pet/model.ckpt-14785\n",
"I0524 14:11:38.218538 140682825586560 saver.py:1284] Restoring parameters from /content/data/spaghettinet_edgetpu_l_quant_pet/model.ckpt-14785\n",
"INFO:tensorflow:Running local_init_op.\n",
"I0524 14:11:41.282478 140682825586560 session_manager.py:500] Running local_init_op.\n",
"INFO:tensorflow:Done running local_init_op.\n",
"I0524 14:11:41.573193 140682825586560 session_manager.py:502] Done running local_init_op.\n",
"Corrupt JPEG data: premature end of data segment\n",
"INFO:tensorflow:Performing evaluation on 2568 images.\n",
"I0524 14:13:56.251838 140678221584128 coco_evaluation.py:293] Performing evaluation on 2568 images.\n",
"creating index...\n",
"index created!\n",
"INFO:tensorflow:Loading and preparing annotation results...\n",
"I0524 14:13:56.259655 140678221584128 coco_tools.py:116] Loading and preparing annotation results...\n",
"INFO:tensorflow:DONE (t=0.19s)\n",
"I0524 14:13:56.452052 140678221584128 coco_tools.py:138] DONE (t=0.19s)\n",
"creating index...\n",
"index created!\n",
"Running per image evaluation...\n",
"Evaluate annotation type *bbox*\n",
"DONE (t=17.64s).\n",
"Accumulating evaluation results...\n",
"DONE (t=6.83s).\n",
" Average Precision (AP) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.630\n",
" Average Precision (AP) @[ IoU=0.50 | area= all | maxDets=100 ] = 0.872\n",
" Average Precision (AP) @[ IoU=0.75 | area= all | maxDets=100 ] = 0.772\n",
" Average Precision (AP) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.005\n",
" Average Precision (AP) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.386\n",
" Average Precision (AP) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.674\n",
" Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets= 1 ] = 0.737\n",
" Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets= 10 ] = 0.752\n",
" Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.752\n",
" Average Recall (AR) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.100\n",
" Average Recall (AR) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.626\n",
" Average Recall (AR) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.777\n",
"INFO:tensorflow:Finished evaluation at 2022-05-24-14:14:21\n",
"I0524 14:14:21.925734 140682825586560 evaluation.py:275] Finished evaluation at 2022-05-24-14:14:21\n",
"INFO:tensorflow:Saving dict for global step 14785: DetectionBoxes_Precision/mAP = 0.6301976, DetectionBoxes_Precision/mAP (large) = 0.6743272, DetectionBoxes_Precision/mAP (medium) = 0.3858938, DetectionBoxes_Precision/mAP (small) = 0.0053152684, DetectionBoxes_Precision/mAP@.50IOU = 0.8716864, DetectionBoxes_Precision/mAP@.75IOU = 0.7721059, DetectionBoxes_Recall/AR@1 = 0.737497, DetectionBoxes_Recall/AR@10 = 0.75167584, DetectionBoxes_Recall/AR@100 = 0.75191844, DetectionBoxes_Recall/AR@100 (large) = 0.7774431, DetectionBoxes_Recall/AR@100 (medium) = 0.6258605, DetectionBoxes_Recall/AR@100 (small) = 0.1, Loss/classification_loss = 0.30591086, Loss/localization_loss = 0.08626979, Loss/regularization_loss = 0.051368963, Loss/total_loss = 0.4435496, global_step = 14785, learning_rate = 0.007979649, loss = 0.4435496\n",
"I0524 14:14:21.925993 140682825586560 estimator.py:2049] Saving dict for global step 14785: DetectionBoxes_Precision/mAP = 0.6301976, DetectionBoxes_Precision/mAP (large) = 0.6743272, DetectionBoxes_Precision/mAP (medium) = 0.3858938, DetectionBoxes_Precision/mAP (small) = 0.0053152684, DetectionBoxes_Precision/mAP@.50IOU = 0.8716864, DetectionBoxes_Precision/mAP@.75IOU = 0.7721059, DetectionBoxes_Recall/AR@1 = 0.737497, DetectionBoxes_Recall/AR@10 = 0.75167584, DetectionBoxes_Recall/AR@100 = 0.75191844, DetectionBoxes_Recall/AR@100 (large) = 0.7774431, DetectionBoxes_Recall/AR@100 (medium) = 0.6258605, DetectionBoxes_Recall/AR@100 (small) = 0.1, Loss/classification_loss = 0.30591086, Loss/localization_loss = 0.08626979, Loss/regularization_loss = 0.051368963, Loss/total_loss = 0.4435496, global_step = 14785, learning_rate = 0.007979649, loss = 0.4435496\n",
"INFO:tensorflow:Saving 'checkpoint_path' summary for global step 14785: /content/data/spaghettinet_edgetpu_l_quant_pet/model.ckpt-14785\n",
"I0524 14:14:21.929051 140682825586560 estimator.py:2109] Saving 'checkpoint_path' summary for global step 14785: /content/data/spaghettinet_edgetpu_l_quant_pet/model.ckpt-14785\n",
"INFO:tensorflow:global_step/sec: 0.426363\n",
"I0524 14:14:31.042216 140682825586560 basic_session_run_hooks.py:692] global_step/sec: 0.426363\n",
"INFO:tensorflow:loss = 0.65871704, step = 14800 (234.542 sec)\n",
"I0524 14:14:31.043432 140682825586560 basic_session_run_hooks.py:260] loss = 0.65871704, step = 14800 (234.542 sec)\n",
"INFO:tensorflow:global_step/sec: 1.77249\n",
"I0524 14:15:27.460005 140682825586560 basic_session_run_hooks.py:692] global_step/sec: 1.77249\n",
"INFO:tensorflow:loss = 0.5783453, step = 14900 (56.418 sec)\n",
"I0524 14:15:27.460993 140682825586560 basic_session_run_hooks.py:260] loss = 0.5783453, step = 14900 (56.418 sec)\n",
"Corrupt JPEG data: premature end of data segment\n",
"INFO:tensorflow:global_step/sec: 1.78203\n",
"I0524 14:16:23.575871 140682825586560 basic_session_run_hooks.py:692] global_step/sec: 1.78203\n",
"INFO:tensorflow:loss = 0.52453184, step = 15000 (56.116 sec)\n",
"I0524 14:16:23.576893 140682825586560 basic_session_run_hooks.py:260] loss = 0.52453184, step = 15000 (56.116 sec)\n",
"Corrupt JPEG data: premature end of data segment\n",
"Corrupt JPEG data: premature end of data segment\n",
"INFO:tensorflow:global_step/sec: 1.78483\n",
"I0524 14:17:19.603600 140682825586560 basic_session_run_hooks.py:692] global_step/sec: 1.78483\n",
"INFO:tensorflow:loss = 0.43901777, step = 15100 (56.028 sec)\n",
"I0524 14:17:19.604748 140682825586560 basic_session_run_hooks.py:260] loss = 0.43901777, step = 15100 (56.028 sec)\n",
"INFO:tensorflow:global_step/sec: 1.77776\n",
"I0524 14:18:15.854186 140682825586560 basic_session_run_hooks.py:692] global_step/sec: 1.77776\n",
"INFO:tensorflow:loss = 0.5740786, step = 15200 (56.250 sec)\n",
"I0524 14:18:15.855197 140682825586560 basic_session_run_hooks.py:260] loss = 0.5740786, step = 15200 (56.250 sec)\n",
"INFO:tensorflow:global_step/sec: 1.7798\n",
"I0524 14:19:12.040243 140682825586560 basic_session_run_hooks.py:692] global_step/sec: 1.7798\n",
"INFO:tensorflow:loss = 0.41434285, step = 15300 (56.186 sec)\n",
"I0524 14:19:12.041188 140682825586560 basic_session_run_hooks.py:260] loss = 0.41434285, step = 15300 (56.186 sec)\n",
"Corrupt JPEG data: premature end of data segment\n",
"INFO:tensorflow:global_step/sec: 1.78344\n",
"I0524 14:20:08.111752 140682825586560 basic_session_run_hooks.py:692] global_step/sec: 1.78344\n",
"INFO:tensorflow:loss = 0.4998022, step = 15400 (56.072 sec)\n",
"I0524 14:20:08.112760 140682825586560 basic_session_run_hooks.py:260] loss = 0.4998022, step = 15400 (56.072 sec)\n",
"Corrupt JPEG data: premature end of data segment\n",
"INFO:tensorflow:global_step/sec: 1.78376\n",
"I0524 14:21:04.173251 140682825586560 basic_session_run_hooks.py:692] global_step/sec: 1.78376\n",
"INFO:tensorflow:loss = 0.3285528, step = 15500 (56.062 sec)\n",
"I0524 14:21:04.174399 140682825586560 basic_session_run_hooks.py:260] loss = 0.3285528, step = 15500 (56.062 sec)\n",
"INFO:tensorflow:Saving checkpoints for 15536 into /content/data/spaghettinet_edgetpu_l_quant_pet/model.ckpt.\n",
"I0524 14:21:23.875529 140682825586560 basic_session_run_hooks.py:606] Saving checkpoints for 15536 into /content/data/spaghettinet_edgetpu_l_quant_pet/model.ckpt.\n",
"INFO:tensorflow:Reading unweighted datasets: ['/content/data/tf_record/pet_faces_train.record-?????-of-00010']\n",
"I0524 14:21:27.358019 140682825586560 dataset_builder.py:162] Reading unweighted datasets: ['/content/data/tf_record/pet_faces_train.record-?????-of-00010']\n",
"INFO:tensorflow:Reading record datasets for input file: ['/content/data/tf_record/pet_faces_train.record-?????-of-00010']\n",
"I0524 14:21:27.359081 140682825586560 dataset_builder.py:79] Reading record datasets for input file: ['/content/data/tf_record/pet_faces_train.record-?????-of-00010']\n",
"INFO:tensorflow:Number of filenames to read: 10\n",
"I0524 14:21:27.359225 140682825586560 dataset_builder.py:80] Number of filenames to read: 10\n",
"WARNING:tensorflow:num_readers has been reduced to 10 to match input file shards.\n",
"W0524 14:21:27.359287 140682825586560 dataset_builder.py:87] num_readers has been reduced to 10 to match input file shards.\n",
"WARNING:tensorflow:`shuffle` is false, but the input data stream is still slightly shuffled since `num_readers` > 1.\n",
"W0524 14:21:27.360881 140682825586560 dataset_builder.py:93] `shuffle` is false, but the input data stream is still slightly shuffled since `num_readers` > 1.\n",
"WARNING:tensorflow:Entity <bound method TfExampleDecoder.decode of <object_detection.data_decoders.tf_example_decoder.TfExampleDecoder object at 0x7fee24f4ad10>> could not be transformed and will be executed as-is. Please report this to the AutoGraph team. When filing the bug, set the verbosity to 10 (on Linux, `export AUTOGRAPH_VERBOSITY=10`) and attach the full output. Cause: module 'gast' has no attribute 'Index'\n",
"W0524 14:21:27.412583 140682825586560 ag_logging.py:146] Entity <bound method TfExampleDecoder.decode of <object_detection.data_decoders.tf_example_decoder.TfExampleDecoder object at 0x7fee24f4ad10>> could not be transformed and will be executed as-is. Please report this to the AutoGraph team. When filing the bug, set the verbosity to 10 (on Linux, `export AUTOGRAPH_VERBOSITY=10`) and attach the full output. Cause: module 'gast' has no attribute 'Index'\n",
"WARNING:tensorflow:Entity <function eval_input.<locals>.transform_and_pad_input_data_fn at 0x7fee15d488c0> could not be transformed and will be executed as-is. Please report this to the AutoGraph team. When filing the bug, set the verbosity to 10 (on Linux, `export AUTOGRAPH_VERBOSITY=10`) and attach the full output. Cause: module 'gast' has no attribute 'Str'\n",
"W0524 14:21:27.587693 140682825586560 ag_logging.py:146] Entity <function eval_input.<locals>.transform_and_pad_input_data_fn at 0x7fee15d488c0> could not be transformed and will be executed as-is. Please report this to the AutoGraph team. When filing the bug, set the verbosity to 10 (on Linux, `export AUTOGRAPH_VERBOSITY=10`) and attach the full output. Cause: module 'gast' has no attribute 'Str'\n",
"INFO:tensorflow:Calling model_fn.\n",
"I0524 14:21:28.081942 140682825586560 estimator.py:1148] Calling model_fn.\n",
"INFO:tensorflow:depth of additional conv before box predictor: 0\n",
"I0524 14:21:31.384533 140682825586560 convolutional_box_predictor.py:155] depth of additional conv before box predictor: 0\n",
"INFO:tensorflow:depth of additional conv before box predictor: 0\n",
"I0524 14:21:31.458102 140682825586560 convolutional_box_predictor.py:155] depth of additional conv before box predictor: 0\n",
"INFO:tensorflow:depth of additional conv before box predictor: 0\n",
"I0524 14:21:31.531333 140682825586560 convolutional_box_predictor.py:155] depth of additional conv before box predictor: 0\n",
"INFO:tensorflow:depth of additional conv before box predictor: 0\n",
"I0524 14:21:31.604890 140682825586560 convolutional_box_predictor.py:155] depth of additional conv before box predictor: 0\n",
"INFO:tensorflow:depth of additional conv before box predictor: 0\n",
"I0524 14:21:31.682424 140682825586560 convolutional_box_predictor.py:155] depth of additional conv before box predictor: 0\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/add_13\n",
"I0524 14:21:35.461681 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/add_13\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/add_17\n",
"I0524 14:21:35.463320 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/add_17\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/add_21\n",
"I0524 14:21:35.464820 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/add_21\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/add_25\n",
"I0524 14:21:35.466290 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/add_25\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/add_28\n",
"I0524 14:21:35.467380 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/add_28\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/stem_node/stem/add_fold\n",
"I0524 14:21:35.482066 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/stem_node/stem/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n0_0/slice_0/add_fold\n",
"I0524 14:21:35.482326 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n0_0/slice_0/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n0_0/slice_1/add_fold\n",
"I0524 14:21:35.482531 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n0_0/slice_1/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n0_0/slice_2/add_fold\n",
"I0524 14:21:35.482736 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n0_0/slice_2/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_0/slice_0/add_fold\n",
"I0524 14:21:35.483049 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_0/slice_0/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_0/slice_1/add_fold\n",
"I0524 14:21:35.483244 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_0/slice_1/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_0/slice_2/add_fold\n",
"I0524 14:21:35.483441 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_0/slice_2/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_0/slice_3/add_fold\n",
"I0524 14:21:35.483627 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_0/slice_3/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_1/slice_0/add_fold\n",
"I0524 14:21:35.483914 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_1/slice_0/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_1/slice_1/add_fold\n",
"I0524 14:21:35.484108 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_1/slice_1/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_1/slice_2/add_fold\n",
"I0524 14:21:35.484286 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_1/slice_2/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_1/slice_3/add_fold\n",
"I0524 14:21:35.484468 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_1/slice_3/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_2/slice_0/add_fold\n",
"I0524 14:21:35.484758 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_2/slice_0/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_2/slice_1/add_fold\n",
"I0524 14:21:35.484953 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_2/slice_1/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_2/slice_2/add_fold\n",
"I0524 14:21:35.485133 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_2/slice_2/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_2/slice_3/add_fold\n",
"I0524 14:21:35.485317 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_2/slice_3/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_3/slice_0/add_fold\n",
"I0524 14:21:35.485622 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_3/slice_0/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_3/slice_1/add_fold\n",
"I0524 14:21:35.485807 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_3/slice_1/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_3/slice_2/add_fold\n",
"I0524 14:21:35.485997 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_3/slice_2/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_3/slice_3/add_fold\n",
"I0524 14:21:35.486185 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_3/slice_3/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_0/expansion/add_fold\n",
"I0524 14:21:35.486485 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_0/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_0/depthwise/add_fold\n",
"I0524 14:21:35.486687 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_0/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_1/expansion/add_fold\n",
"I0524 14:21:35.487012 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_1/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_1/depthwise/add_fold\n",
"I0524 14:21:35.487206 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_1/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_2/expansion/add_fold\n",
"I0524 14:21:35.487479 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_2/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_2/depthwise/add_fold\n",
"I0524 14:21:35.487723 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_2/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_3/expansion/add_fold\n",
"I0524 14:21:35.488039 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_3/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_3/depthwise/add_fold\n",
"I0524 14:21:35.488215 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_3/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_0/expansion/add_fold\n",
"I0524 14:21:35.488461 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_0/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_0/depthwise/add_fold\n",
"I0524 14:21:35.488636 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_0/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_1/expansion/add_fold\n",
"I0524 14:21:35.488886 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_1/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_1/depthwise/add_fold\n",
"I0524 14:21:35.489197 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_1/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_2/expansion/add_fold\n",
"I0524 14:21:35.489557 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_2/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_2/depthwise/add_fold\n",
"I0524 14:21:35.489737 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_2/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_3/expansion/add_fold\n",
"I0524 14:21:35.490025 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_3/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_3/depthwise/add_fold\n",
"I0524 14:21:35.490210 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_3/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_0/expansion/add_fold\n",
"I0524 14:21:35.490461 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_0/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_0/depthwise/add_fold\n",
"I0524 14:21:35.490625 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_0/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_1/expansion/add_fold\n",
"I0524 14:21:35.490880 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_1/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_1/depthwise/add_fold\n",
"I0524 14:21:35.491055 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_1/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_2/expansion/add_fold\n",
"I0524 14:21:35.491302 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_2/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_2/depthwise/add_fold\n",
"I0524 14:21:35.491461 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_2/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_3/expansion/add_fold\n",
"I0524 14:21:35.491716 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_3/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_3/depthwise/add_fold\n",
"I0524 14:21:35.491887 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_3/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n5_0/expansion/add_fold\n",
"I0524 14:21:35.492144 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n5_0/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n5_0/depthwise/add_fold\n",
"I0524 14:21:35.492347 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n5_0/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n5_1/pointwise/add_fold\n",
"I0524 14:21:35.492593 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n5_1/pointwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_0/expansion/add_fold\n",
"I0524 14:21:35.492949 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_0/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_0/depthwise/add_fold\n",
"I0524 14:21:35.493159 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_0/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_1/expansion/add_fold\n",
"I0524 14:21:35.493410 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_1/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_1/depthwise/add_fold\n",
"I0524 14:21:35.493577 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_1/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_2/expansion/add_fold\n",
"I0524 14:21:35.493912 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_2/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_2/depthwise/add_fold\n",
"I0524 14:21:35.494149 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_2/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_3/expansion/add_fold\n",
"I0524 14:21:35.494405 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_3/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_3/depthwise/add_fold\n",
"I0524 14:21:35.494570 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_3/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_0/expansion/add_fold\n",
"I0524 14:21:35.495022 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_0/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_0/depthwise/add_fold\n",
"I0524 14:21:35.495223 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_0/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_1/expansion/add_fold\n",
"I0524 14:21:35.495469 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_1/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_1/depthwise/add_fold\n",
"I0524 14:21:35.495640 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_1/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_2/expansion/add_fold\n",
"I0524 14:21:35.495908 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_2/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_2/depthwise/add_fold\n",
"I0524 14:21:35.496153 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_2/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_3/expansion/add_fold\n",
"I0524 14:21:35.496452 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_3/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_3/depthwise/add_fold\n",
"I0524 14:21:35.496624 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_3/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_0/expansion/add_fold\n",
"I0524 14:21:35.574388 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_0/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_0/depthwise/add_fold\n",
"I0524 14:21:35.574624 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_0/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_1/expansion/add_fold\n",
"I0524 14:21:35.574954 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_1/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_1/depthwise/add_fold\n",
"I0524 14:21:35.575184 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_1/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_2/expansion/add_fold\n",
"I0524 14:21:35.575561 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_2/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_2/depthwise/add_fold\n",
"I0524 14:21:35.575865 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_2/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_3/expansion/add_fold\n",
"I0524 14:21:35.576284 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_3/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_3/depthwise/add_fold\n",
"I0524 14:21:35.576554 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_3/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n3_0/expansion/add_fold\n",
"I0524 14:21:35.577294 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n3_0/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n3_0/depthwise/add_fold\n",
"I0524 14:21:35.577528 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n3_0/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n3_1/expansion/add_fold\n",
"I0524 14:21:35.577807 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n3_1/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n3_1/depthwise/add_fold\n",
"I0524 14:21:35.577988 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n3_1/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n3_2/pointwise/add_fold\n",
"I0524 14:21:35.578238 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n3_2/pointwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n4_0/expansion/add_fold\n",
"I0524 14:21:35.578591 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n4_0/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n4_0/depthwise/add_fold\n",
"I0524 14:21:35.578762 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n4_0/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n4_1/expansion/add_fold\n",
"I0524 14:21:35.579025 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n4_1/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n4_1/depthwise/add_fold\n",
"I0524 14:21:35.579190 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n4_1/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n5_0/pointwise/add_fold\n",
"I0524 14:21:35.579432 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n5_0/pointwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n5_1/pointwise/add_fold\n",
"I0524 14:21:35.579597 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n5_1/pointwise/add_fold\n",
"INFO:tensorflow:Skipping quant after BoxPredictor_0/BoxEncodingPredictor_depthwise/add_fold\n",
"I0524 14:21:35.579761 140682825586560 quantize.py:364] Skipping quant after BoxPredictor_0/BoxEncodingPredictor_depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after BoxPredictor_0/ClassPredictor_depthwise/add_fold\n",
"I0524 14:21:35.579929 140682825586560 quantize.py:364] Skipping quant after BoxPredictor_0/ClassPredictor_depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after BoxPredictor_1/BoxEncodingPredictor_depthwise/add_fold\n",
"I0524 14:21:35.580087 140682825586560 quantize.py:364] Skipping quant after BoxPredictor_1/BoxEncodingPredictor_depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after BoxPredictor_1/ClassPredictor_depthwise/add_fold\n",
"I0524 14:21:35.580245 140682825586560 quantize.py:364] Skipping quant after BoxPredictor_1/ClassPredictor_depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after BoxPredictor_2/BoxEncodingPredictor_depthwise/add_fold\n",
"I0524 14:21:35.580401 140682825586560 quantize.py:364] Skipping quant after BoxPredictor_2/BoxEncodingPredictor_depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after BoxPredictor_2/ClassPredictor_depthwise/add_fold\n",
"I0524 14:21:35.580556 140682825586560 quantize.py:364] Skipping quant after BoxPredictor_2/ClassPredictor_depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after BoxPredictor_3/BoxEncodingPredictor_depthwise/add_fold\n",
"I0524 14:21:35.580709 140682825586560 quantize.py:364] Skipping quant after BoxPredictor_3/BoxEncodingPredictor_depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after BoxPredictor_3/ClassPredictor_depthwise/add_fold\n",
"I0524 14:21:35.580870 140682825586560 quantize.py:364] Skipping quant after BoxPredictor_3/ClassPredictor_depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after BoxPredictor_4/BoxEncodingPredictor_depthwise/add_fold\n",
"I0524 14:21:35.581032 140682825586560 quantize.py:364] Skipping quant after BoxPredictor_4/BoxEncodingPredictor_depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after BoxPredictor_4/ClassPredictor_depthwise/add_fold\n",
"I0524 14:21:35.581184 140682825586560 quantize.py:364] Skipping quant after BoxPredictor_4/ClassPredictor_depthwise/add_fold\n",
"INFO:tensorflow:Inserting act_quant op for standalone Relu6 op: FeatureExtractor/spaghettinet_edgetpu_l/Relu6.\n",
"I0524 14:21:35.636628 140682825586560 quantize.py:325] Inserting act_quant op for standalone Relu6 op: FeatureExtractor/spaghettinet_edgetpu_l/Relu6.\n",
"INFO:tensorflow:Inserting act_quant op for standalone Relu6 op: FeatureExtractor/spaghettinet_edgetpu_l/Relu6_1.\n",
"I0524 14:21:35.645304 140682825586560 quantize.py:325] Inserting act_quant op for standalone Relu6 op: FeatureExtractor/spaghettinet_edgetpu_l/Relu6_1.\n",
"INFO:tensorflow:Inserting act_quant op for standalone Relu6 op: FeatureExtractor/spaghettinet_edgetpu_l/Relu6_2.\n",
"I0524 14:21:35.652754 140682825586560 quantize.py:325] Inserting act_quant op for standalone Relu6 op: FeatureExtractor/spaghettinet_edgetpu_l/Relu6_2.\n",
"INFO:tensorflow:Inserting act_quant op for standalone Relu6 op: FeatureExtractor/spaghettinet_edgetpu_l/Relu6_3.\n",
"I0524 14:21:35.660217 140682825586560 quantize.py:325] Inserting act_quant op for standalone Relu6 op: FeatureExtractor/spaghettinet_edgetpu_l/Relu6_3.\n",
"INFO:tensorflow:Inserting act_quant op for standalone Relu6 op: FeatureExtractor/spaghettinet_edgetpu_l/Relu6_4.\n",
"I0524 14:21:35.667398 140682825586560 quantize.py:325] Inserting act_quant op for standalone Relu6 op: FeatureExtractor/spaghettinet_edgetpu_l/Relu6_4.\n",
"INFO:tensorflow:Done calling model_fn.\n",
"I0524 14:21:37.087494 140682825586560 estimator.py:1150] Done calling model_fn.\n",
"INFO:tensorflow:Starting evaluation at 2022-05-24T14:21:37Z\n",
"I0524 14:21:37.102656 140682825586560 evaluation.py:255] Starting evaluation at 2022-05-24T14:21:37Z\n",
"INFO:tensorflow:Graph was finalized.\n",
"I0524 14:21:38.537895 140682825586560 monitored_session.py:240] Graph was finalized.\n",
"2022-05-24 14:21:38.538556: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:983] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n",
"2022-05-24 14:21:38.538841: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1639] Found device 0 with properties: \n",
"name: Tesla T4 major: 7 minor: 5 memoryClockRate(GHz): 1.59\n",
"pciBusID: 0000:00:04.0\n",
"2022-05-24 14:21:38.538941: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcudart.so.10.1\n",
"2022-05-24 14:21:38.538964: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcublas.so.10\n",
"2022-05-24 14:21:38.538981: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcufft.so.10\n",
"2022-05-24 14:21:38.538996: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcurand.so.10\n",
"2022-05-24 14:21:38.539010: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcusolver.so.10\n",
"2022-05-24 14:21:38.539025: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcusparse.so.10\n",
"2022-05-24 14:21:38.539040: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcudnn.so.7\n",
"2022-05-24 14:21:38.539116: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:983] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n",
"2022-05-24 14:21:38.539350: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:983] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n",
"2022-05-24 14:21:38.539537: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1767] Adding visible gpu devices: 0\n",
"2022-05-24 14:21:38.539577: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1180] Device interconnect StreamExecutor with strength 1 edge matrix:\n",
"2022-05-24 14:21:38.539587: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1186] 0 \n",
"2022-05-24 14:21:38.539594: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1199] 0: N \n",
"2022-05-24 14:21:38.539670: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:983] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n",
"2022-05-24 14:21:38.539904: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:983] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n",
"2022-05-24 14:21:38.540114: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1325] Created TensorFlow device (/job:localhost/replica:0/task:0/device:GPU:0 with 14257 MB memory) -> physical GPU (device: 0, name: Tesla T4, pci bus id: 0000:00:04.0, compute capability: 7.5)\n",
"INFO:tensorflow:Restoring parameters from /content/data/spaghettinet_edgetpu_l_quant_pet/model.ckpt-15536\n",
"I0524 14:21:38.541261 140682825586560 saver.py:1284] Restoring parameters from /content/data/spaghettinet_edgetpu_l_quant_pet/model.ckpt-15536\n",
"INFO:tensorflow:Running local_init_op.\n",
"I0524 14:21:41.690156 140682825586560 session_manager.py:500] Running local_init_op.\n",
"INFO:tensorflow:Done running local_init_op.\n",
"I0524 14:21:42.003801 140682825586560 session_manager.py:502] Done running local_init_op.\n",
"Corrupt JPEG data: premature end of data segment\n",
"INFO:tensorflow:Performing evaluation on 2568 images.\n",
"I0524 14:24:00.044447 140678221584128 coco_evaluation.py:293] Performing evaluation on 2568 images.\n",
"creating index...\n",
"index created!\n",
"INFO:tensorflow:Loading and preparing annotation results...\n",
"I0524 14:24:00.051748 140678221584128 coco_tools.py:116] Loading and preparing annotation results...\n",
"INFO:tensorflow:DONE (t=0.20s)\n",
"I0524 14:24:00.249519 140678221584128 coco_tools.py:138] DONE (t=0.20s)\n",
"creating index...\n",
"index created!\n",
"Running per image evaluation...\n",
"Evaluate annotation type *bbox*\n",
"DONE (t=18.95s).\n",
"Accumulating evaluation results...\n",
"DONE (t=6.06s).\n",
" Average Precision (AP) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.647\n",
" Average Precision (AP) @[ IoU=0.50 | area= all | maxDets=100 ] = 0.892\n",
" Average Precision (AP) @[ IoU=0.75 | area= all | maxDets=100 ] = 0.794\n",
" Average Precision (AP) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.110\n",
" Average Precision (AP) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.416\n",
" Average Precision (AP) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.690\n",
" Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets= 1 ] = 0.740\n",
" Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets= 10 ] = 0.757\n",
" Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.757\n",
" Average Recall (AR) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.250\n",
" Average Recall (AR) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.632\n",
" Average Recall (AR) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.782\n",
"INFO:tensorflow:Finished evaluation at 2022-05-24-14:24:26\n",
"I0524 14:24:26.309003 140682825586560 evaluation.py:275] Finished evaluation at 2022-05-24-14:24:26\n",
"INFO:tensorflow:Saving dict for global step 15536: DetectionBoxes_Precision/mAP = 0.64697164, DetectionBoxes_Precision/mAP (large) = 0.6895206, DetectionBoxes_Precision/mAP (medium) = 0.41566265, DetectionBoxes_Precision/mAP (small) = 0.11026628, DetectionBoxes_Precision/mAP@.50IOU = 0.8920423, DetectionBoxes_Precision/mAP@.75IOU = 0.7941826, DetectionBoxes_Recall/AR@1 = 0.7397185, DetectionBoxes_Recall/AR@10 = 0.7567671, DetectionBoxes_Recall/AR@100 = 0.75688714, DetectionBoxes_Recall/AR@100 (large) = 0.78193533, DetectionBoxes_Recall/AR@100 (medium) = 0.63203865, DetectionBoxes_Recall/AR@100 (small) = 0.25, Loss/classification_loss = 0.2901387, Loss/localization_loss = 0.085905336, Loss/regularization_loss = 0.051590078, Loss/total_loss = 0.42763466, global_step = 15536, learning_rate = 0.00797719, loss = 0.42763466\n",
"I0524 14:24:26.309277 140682825586560 estimator.py:2049] Saving dict for global step 15536: DetectionBoxes_Precision/mAP = 0.64697164, DetectionBoxes_Precision/mAP (large) = 0.6895206, DetectionBoxes_Precision/mAP (medium) = 0.41566265, DetectionBoxes_Precision/mAP (small) = 0.11026628, DetectionBoxes_Precision/mAP@.50IOU = 0.8920423, DetectionBoxes_Precision/mAP@.75IOU = 0.7941826, DetectionBoxes_Recall/AR@1 = 0.7397185, DetectionBoxes_Recall/AR@10 = 0.7567671, DetectionBoxes_Recall/AR@100 = 0.75688714, DetectionBoxes_Recall/AR@100 (large) = 0.78193533, DetectionBoxes_Recall/AR@100 (medium) = 0.63203865, DetectionBoxes_Recall/AR@100 (small) = 0.25, Loss/classification_loss = 0.2901387, Loss/localization_loss = 0.085905336, Loss/regularization_loss = 0.051590078, Loss/total_loss = 0.42763466, global_step = 15536, learning_rate = 0.00797719, loss = 0.42763466\n",
"INFO:tensorflow:Saving 'checkpoint_path' summary for global step 15536: /content/data/spaghettinet_edgetpu_l_quant_pet/model.ckpt-15536\n",
"I0524 14:24:26.312211 140682825586560 estimator.py:2109] Saving 'checkpoint_path' summary for global step 15536: /content/data/spaghettinet_edgetpu_l_quant_pet/model.ckpt-15536\n",
"INFO:tensorflow:global_step/sec: 0.418078\n",
"I0524 14:25:03.363197 140682825586560 basic_session_run_hooks.py:692] global_step/sec: 0.418078\n",
"INFO:tensorflow:loss = 0.41397804, step = 15600 (239.190 sec)\n",
"I0524 14:25:03.364303 140682825586560 basic_session_run_hooks.py:260] loss = 0.41397804, step = 15600 (239.190 sec)\n",
"INFO:tensorflow:global_step/sec: 1.7915\n",
"I0524 14:25:59.182466 140682825586560 basic_session_run_hooks.py:692] global_step/sec: 1.7915\n",
"INFO:tensorflow:loss = 0.35756952, step = 15700 (55.819 sec)\n",
"I0524 14:25:59.183398 140682825586560 basic_session_run_hooks.py:260] loss = 0.35756952, step = 15700 (55.819 sec)\n",
"Corrupt JPEG data: premature end of data segment\n",
"INFO:tensorflow:global_step/sec: 1.77604\n",
"I0524 14:26:55.487577 140682825586560 basic_session_run_hooks.py:692] global_step/sec: 1.77604\n",
"INFO:tensorflow:loss = 0.44622, step = 15800 (56.305 sec)\n",
"I0524 14:26:55.488635 140682825586560 basic_session_run_hooks.py:260] loss = 0.44622, step = 15800 (56.305 sec)\n",
"Corrupt JPEG data: premature end of data segment\n",
"INFO:tensorflow:global_step/sec: 1.78223\n",
"I0524 14:27:51.597152 140682825586560 basic_session_run_hooks.py:692] global_step/sec: 1.78223\n",
"INFO:tensorflow:loss = 0.3670566, step = 15900 (56.110 sec)\n",
"I0524 14:27:51.598232 140682825586560 basic_session_run_hooks.py:260] loss = 0.3670566, step = 15900 (56.110 sec)\n",
"INFO:tensorflow:global_step/sec: 1.78142\n",
"I0524 14:28:47.732164 140682825586560 basic_session_run_hooks.py:692] global_step/sec: 1.78142\n",
"INFO:tensorflow:loss = 0.41039482, step = 16000 (56.135 sec)\n",
"I0524 14:28:47.733057 140682825586560 basic_session_run_hooks.py:260] loss = 0.41039482, step = 16000 (56.135 sec)\n",
"Corrupt JPEG data: premature end of data segment\n",
"INFO:tensorflow:global_step/sec: 1.78203\n",
"I0524 14:29:43.848071 140682825586560 basic_session_run_hooks.py:692] global_step/sec: 1.78203\n",
"INFO:tensorflow:loss = 0.4419084, step = 16100 (56.116 sec)\n",
"I0524 14:29:43.849004 140682825586560 basic_session_run_hooks.py:260] loss = 0.4419084, step = 16100 (56.116 sec)\n",
"INFO:tensorflow:global_step/sec: 1.78086\n",
"I0524 14:30:40.000715 140682825586560 basic_session_run_hooks.py:692] global_step/sec: 1.78086\n",
"INFO:tensorflow:loss = 0.49202886, step = 16200 (56.153 sec)\n",
"I0524 14:30:40.001858 140682825586560 basic_session_run_hooks.py:260] loss = 0.49202886, step = 16200 (56.153 sec)\n",
"INFO:tensorflow:Saving checkpoints for 16280 into /content/data/spaghettinet_edgetpu_l_quant_pet/model.ckpt.\n",
"I0524 14:31:24.399740 140682825586560 basic_session_run_hooks.py:606] Saving checkpoints for 16280 into /content/data/spaghettinet_edgetpu_l_quant_pet/model.ckpt.\n",
"INFO:tensorflow:Reading unweighted datasets: ['/content/data/tf_record/pet_faces_train.record-?????-of-00010']\n",
"I0524 14:31:27.947945 140682825586560 dataset_builder.py:162] Reading unweighted datasets: ['/content/data/tf_record/pet_faces_train.record-?????-of-00010']\n",
"INFO:tensorflow:Reading record datasets for input file: ['/content/data/tf_record/pet_faces_train.record-?????-of-00010']\n",
"I0524 14:31:27.948956 140682825586560 dataset_builder.py:79] Reading record datasets for input file: ['/content/data/tf_record/pet_faces_train.record-?????-of-00010']\n",
"INFO:tensorflow:Number of filenames to read: 10\n",
"I0524 14:31:27.949087 140682825586560 dataset_builder.py:80] Number of filenames to read: 10\n",
"WARNING:tensorflow:num_readers has been reduced to 10 to match input file shards.\n",
"W0524 14:31:27.949143 140682825586560 dataset_builder.py:87] num_readers has been reduced to 10 to match input file shards.\n",
"WARNING:tensorflow:`shuffle` is false, but the input data stream is still slightly shuffled since `num_readers` > 1.\n",
"W0524 14:31:27.950586 140682825586560 dataset_builder.py:93] `shuffle` is false, but the input data stream is still slightly shuffled since `num_readers` > 1.\n",
"WARNING:tensorflow:Entity <bound method TfExampleDecoder.decode of <object_detection.data_decoders.tf_example_decoder.TfExampleDecoder object at 0x7fee13598fd0>> could not be transformed and will be executed as-is. Please report this to the AutoGraph team. When filing the bug, set the verbosity to 10 (on Linux, `export AUTOGRAPH_VERBOSITY=10`) and attach the full output. Cause: module 'gast' has no attribute 'Index'\n",
"W0524 14:31:27.997249 140682825586560 ag_logging.py:146] Entity <bound method TfExampleDecoder.decode of <object_detection.data_decoders.tf_example_decoder.TfExampleDecoder object at 0x7fee13598fd0>> could not be transformed and will be executed as-is. Please report this to the AutoGraph team. When filing the bug, set the verbosity to 10 (on Linux, `export AUTOGRAPH_VERBOSITY=10`) and attach the full output. Cause: module 'gast' has no attribute 'Index'\n",
"WARNING:tensorflow:Entity <function eval_input.<locals>.transform_and_pad_input_data_fn at 0x7fee168e7950> could not be transformed and will be executed as-is. Please report this to the AutoGraph team. When filing the bug, set the verbosity to 10 (on Linux, `export AUTOGRAPH_VERBOSITY=10`) and attach the full output. Cause: module 'gast' has no attribute 'Str'\n",
"W0524 14:31:28.156047 140682825586560 ag_logging.py:146] Entity <function eval_input.<locals>.transform_and_pad_input_data_fn at 0x7fee168e7950> could not be transformed and will be executed as-is. Please report this to the AutoGraph team. When filing the bug, set the verbosity to 10 (on Linux, `export AUTOGRAPH_VERBOSITY=10`) and attach the full output. Cause: module 'gast' has no attribute 'Str'\n",
"INFO:tensorflow:Calling model_fn.\n",
"I0524 14:31:28.638138 140682825586560 estimator.py:1148] Calling model_fn.\n",
"INFO:tensorflow:depth of additional conv before box predictor: 0\n",
"I0524 14:31:31.939095 140682825586560 convolutional_box_predictor.py:155] depth of additional conv before box predictor: 0\n",
"INFO:tensorflow:depth of additional conv before box predictor: 0\n",
"I0524 14:31:32.008365 140682825586560 convolutional_box_predictor.py:155] depth of additional conv before box predictor: 0\n",
"INFO:tensorflow:depth of additional conv before box predictor: 0\n",
"I0524 14:31:32.078027 140682825586560 convolutional_box_predictor.py:155] depth of additional conv before box predictor: 0\n",
"INFO:tensorflow:depth of additional conv before box predictor: 0\n",
"I0524 14:31:32.146950 140682825586560 convolutional_box_predictor.py:155] depth of additional conv before box predictor: 0\n",
"INFO:tensorflow:depth of additional conv before box predictor: 0\n",
"I0524 14:31:32.219117 140682825586560 convolutional_box_predictor.py:155] depth of additional conv before box predictor: 0\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/add_13\n",
"I0524 14:31:35.979132 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/add_13\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/add_17\n",
"I0524 14:31:35.980765 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/add_17\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/add_21\n",
"I0524 14:31:35.982233 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/add_21\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/add_25\n",
"I0524 14:31:35.983674 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/add_25\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/add_28\n",
"I0524 14:31:35.984732 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/add_28\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/stem_node/stem/add_fold\n",
"I0524 14:31:35.999348 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/stem_node/stem/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n0_0/slice_0/add_fold\n",
"I0524 14:31:35.999603 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n0_0/slice_0/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n0_0/slice_1/add_fold\n",
"I0524 14:31:35.999802 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n0_0/slice_1/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n0_0/slice_2/add_fold\n",
"I0524 14:31:36.000017 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n0_0/slice_2/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_0/slice_0/add_fold\n",
"I0524 14:31:36.000308 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_0/slice_0/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_0/slice_1/add_fold\n",
"I0524 14:31:36.000496 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_0/slice_1/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_0/slice_2/add_fold\n",
"I0524 14:31:36.000682 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_0/slice_2/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_0/slice_3/add_fold\n",
"I0524 14:31:36.000869 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_0/slice_3/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_1/slice_0/add_fold\n",
"I0524 14:31:36.001185 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_1/slice_0/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_1/slice_1/add_fold\n",
"I0524 14:31:36.001373 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_1/slice_1/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_1/slice_2/add_fold\n",
"I0524 14:31:36.001558 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_1/slice_2/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_1/slice_3/add_fold\n",
"I0524 14:31:36.001744 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_1/slice_3/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_2/slice_0/add_fold\n",
"I0524 14:31:36.002052 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_2/slice_0/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_2/slice_1/add_fold\n",
"I0524 14:31:36.002241 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_2/slice_1/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_2/slice_2/add_fold\n",
"I0524 14:31:36.002426 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_2/slice_2/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_2/slice_3/add_fold\n",
"I0524 14:31:36.002617 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_2/slice_3/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_3/slice_0/add_fold\n",
"I0524 14:31:36.002915 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_3/slice_0/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_3/slice_1/add_fold\n",
"I0524 14:31:36.003116 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_3/slice_1/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_3/slice_2/add_fold\n",
"I0524 14:31:36.003298 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_3/slice_2/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_3/slice_3/add_fold\n",
"I0524 14:31:36.003509 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_3/slice_3/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_0/expansion/add_fold\n",
"I0524 14:31:36.003809 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_0/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_0/depthwise/add_fold\n",
"I0524 14:31:36.004023 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_0/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_1/expansion/add_fold\n",
"I0524 14:31:36.004312 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_1/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_1/depthwise/add_fold\n",
"I0524 14:31:36.004521 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_1/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_2/expansion/add_fold\n",
"I0524 14:31:36.004798 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_2/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_2/depthwise/add_fold\n",
"I0524 14:31:36.005002 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_2/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_3/expansion/add_fold\n",
"I0524 14:31:36.005282 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_3/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_3/depthwise/add_fold\n",
"I0524 14:31:36.005472 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_3/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_0/expansion/add_fold\n",
"I0524 14:31:36.005749 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_0/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_0/depthwise/add_fold\n",
"I0524 14:31:36.005983 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_0/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_1/expansion/add_fold\n",
"I0524 14:31:36.006273 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_1/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_1/depthwise/add_fold\n",
"I0524 14:31:36.006467 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_1/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_2/expansion/add_fold\n",
"I0524 14:31:36.006774 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_2/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_2/depthwise/add_fold\n",
"I0524 14:31:36.006987 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_2/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_3/expansion/add_fold\n",
"I0524 14:31:36.007269 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_3/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_3/depthwise/add_fold\n",
"I0524 14:31:36.007461 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_3/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_0/expansion/add_fold\n",
"I0524 14:31:36.007739 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_0/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_0/depthwise/add_fold\n",
"I0524 14:31:36.007966 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_0/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_1/expansion/add_fold\n",
"I0524 14:31:36.008255 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_1/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_1/depthwise/add_fold\n",
"I0524 14:31:36.008450 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_1/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_2/expansion/add_fold\n",
"I0524 14:31:36.008727 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_2/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_2/depthwise/add_fold\n",
"I0524 14:31:36.008932 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_2/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_3/expansion/add_fold\n",
"I0524 14:31:36.009212 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_3/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_3/depthwise/add_fold\n",
"I0524 14:31:36.009405 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_3/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n5_0/expansion/add_fold\n",
"I0524 14:31:36.009683 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n5_0/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n5_0/depthwise/add_fold\n",
"I0524 14:31:36.009873 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n5_0/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n5_1/pointwise/add_fold\n",
"I0524 14:31:36.010189 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n5_1/pointwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_0/expansion/add_fold\n",
"I0524 14:31:36.010567 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_0/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_0/depthwise/add_fold\n",
"I0524 14:31:36.010763 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_0/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_1/expansion/add_fold\n",
"I0524 14:31:36.011059 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_1/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_1/depthwise/add_fold\n",
"I0524 14:31:36.011252 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_1/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_2/expansion/add_fold\n",
"I0524 14:31:36.011531 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_2/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_2/depthwise/add_fold\n",
"I0524 14:31:36.011718 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_2/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_3/expansion/add_fold\n",
"I0524 14:31:36.012015 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_3/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_3/depthwise/add_fold\n",
"I0524 14:31:36.012216 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_3/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_0/expansion/add_fold\n",
"I0524 14:31:36.012684 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_0/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_0/depthwise/add_fold\n",
"I0524 14:31:36.012884 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_0/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_1/expansion/add_fold\n",
"I0524 14:31:36.013194 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_1/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_1/depthwise/add_fold\n",
"I0524 14:31:36.013387 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_1/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_2/expansion/add_fold\n",
"I0524 14:31:36.013662 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_2/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_2/depthwise/add_fold\n",
"I0524 14:31:36.013850 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_2/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_3/expansion/add_fold\n",
"I0524 14:31:36.014144 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_3/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_3/depthwise/add_fold\n",
"I0524 14:31:36.014343 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_3/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_0/expansion/add_fold\n",
"I0524 14:31:36.014817 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_0/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_0/depthwise/add_fold\n",
"I0524 14:31:36.015029 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_0/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_1/expansion/add_fold\n",
"I0524 14:31:36.015310 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_1/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_1/depthwise/add_fold\n",
"I0524 14:31:36.015498 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_1/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_2/expansion/add_fold\n",
"I0524 14:31:36.015773 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_2/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_2/depthwise/add_fold\n",
"I0524 14:31:36.015980 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_2/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_3/expansion/add_fold\n",
"I0524 14:31:36.016261 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_3/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_3/depthwise/add_fold\n",
"I0524 14:31:36.016453 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_3/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n3_0/expansion/add_fold\n",
"I0524 14:31:36.016937 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n3_0/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n3_0/depthwise/add_fold\n",
"I0524 14:31:36.017134 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n3_0/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n3_1/expansion/add_fold\n",
"I0524 14:31:36.017412 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n3_1/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n3_1/depthwise/add_fold\n",
"I0524 14:31:36.017601 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n3_1/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n3_2/pointwise/add_fold\n",
"I0524 14:31:36.017880 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n3_2/pointwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n4_0/expansion/add_fold\n",
"I0524 14:31:36.018266 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n4_0/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n4_0/depthwise/add_fold\n",
"I0524 14:31:36.018464 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n4_0/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n4_1/expansion/add_fold\n",
"I0524 14:31:36.018743 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n4_1/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n4_1/depthwise/add_fold\n",
"I0524 14:31:36.018957 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n4_1/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n5_0/pointwise/add_fold\n",
"I0524 14:31:36.019238 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n5_0/pointwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n5_1/pointwise/add_fold\n",
"I0524 14:31:36.019427 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n5_1/pointwise/add_fold\n",
"INFO:tensorflow:Skipping quant after BoxPredictor_0/BoxEncodingPredictor_depthwise/add_fold\n",
"I0524 14:31:36.104660 140682825586560 quantize.py:364] Skipping quant after BoxPredictor_0/BoxEncodingPredictor_depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after BoxPredictor_0/ClassPredictor_depthwise/add_fold\n",
"I0524 14:31:36.105004 140682825586560 quantize.py:364] Skipping quant after BoxPredictor_0/ClassPredictor_depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after BoxPredictor_1/BoxEncodingPredictor_depthwise/add_fold\n",
"I0524 14:31:36.105232 140682825586560 quantize.py:364] Skipping quant after BoxPredictor_1/BoxEncodingPredictor_depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after BoxPredictor_1/ClassPredictor_depthwise/add_fold\n",
"I0524 14:31:36.105458 140682825586560 quantize.py:364] Skipping quant after BoxPredictor_1/ClassPredictor_depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after BoxPredictor_2/BoxEncodingPredictor_depthwise/add_fold\n",
"I0524 14:31:36.105664 140682825586560 quantize.py:364] Skipping quant after BoxPredictor_2/BoxEncodingPredictor_depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after BoxPredictor_2/ClassPredictor_depthwise/add_fold\n",
"I0524 14:31:36.105872 140682825586560 quantize.py:364] Skipping quant after BoxPredictor_2/ClassPredictor_depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after BoxPredictor_3/BoxEncodingPredictor_depthwise/add_fold\n",
"I0524 14:31:36.106088 140682825586560 quantize.py:364] Skipping quant after BoxPredictor_3/BoxEncodingPredictor_depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after BoxPredictor_3/ClassPredictor_depthwise/add_fold\n",
"I0524 14:31:36.106283 140682825586560 quantize.py:364] Skipping quant after BoxPredictor_3/ClassPredictor_depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after BoxPredictor_4/BoxEncodingPredictor_depthwise/add_fold\n",
"I0524 14:31:36.106476 140682825586560 quantize.py:364] Skipping quant after BoxPredictor_4/BoxEncodingPredictor_depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after BoxPredictor_4/ClassPredictor_depthwise/add_fold\n",
"I0524 14:31:36.106666 140682825586560 quantize.py:364] Skipping quant after BoxPredictor_4/ClassPredictor_depthwise/add_fold\n",
"INFO:tensorflow:Inserting act_quant op for standalone Relu6 op: FeatureExtractor/spaghettinet_edgetpu_l/Relu6.\n",
"I0524 14:31:36.161664 140682825586560 quantize.py:325] Inserting act_quant op for standalone Relu6 op: FeatureExtractor/spaghettinet_edgetpu_l/Relu6.\n",
"INFO:tensorflow:Inserting act_quant op for standalone Relu6 op: FeatureExtractor/spaghettinet_edgetpu_l/Relu6_1.\n",
"I0524 14:31:36.169887 140682825586560 quantize.py:325] Inserting act_quant op for standalone Relu6 op: FeatureExtractor/spaghettinet_edgetpu_l/Relu6_1.\n",
"INFO:tensorflow:Inserting act_quant op for standalone Relu6 op: FeatureExtractor/spaghettinet_edgetpu_l/Relu6_2.\n",
"I0524 14:31:36.177566 140682825586560 quantize.py:325] Inserting act_quant op for standalone Relu6 op: FeatureExtractor/spaghettinet_edgetpu_l/Relu6_2.\n",
"INFO:tensorflow:Inserting act_quant op for standalone Relu6 op: FeatureExtractor/spaghettinet_edgetpu_l/Relu6_3.\n",
"I0524 14:31:36.184739 140682825586560 quantize.py:325] Inserting act_quant op for standalone Relu6 op: FeatureExtractor/spaghettinet_edgetpu_l/Relu6_3.\n",
"INFO:tensorflow:Inserting act_quant op for standalone Relu6 op: FeatureExtractor/spaghettinet_edgetpu_l/Relu6_4.\n",
"I0524 14:31:36.191608 140682825586560 quantize.py:325] Inserting act_quant op for standalone Relu6 op: FeatureExtractor/spaghettinet_edgetpu_l/Relu6_4.\n",
"INFO:tensorflow:Done calling model_fn.\n",
"I0524 14:31:37.546550 140682825586560 estimator.py:1150] Done calling model_fn.\n",
"INFO:tensorflow:Starting evaluation at 2022-05-24T14:31:37Z\n",
"I0524 14:31:37.561713 140682825586560 evaluation.py:255] Starting evaluation at 2022-05-24T14:31:37Z\n",
"INFO:tensorflow:Graph was finalized.\n",
"I0524 14:31:38.997582 140682825586560 monitored_session.py:240] Graph was finalized.\n",
"2022-05-24 14:31:38.998302: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:983] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n",
"2022-05-24 14:31:38.998628: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1639] Found device 0 with properties: \n",
"name: Tesla T4 major: 7 minor: 5 memoryClockRate(GHz): 1.59\n",
"pciBusID: 0000:00:04.0\n",
"2022-05-24 14:31:38.998738: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcudart.so.10.1\n",
"2022-05-24 14:31:38.998771: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcublas.so.10\n",
"2022-05-24 14:31:38.998796: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcufft.so.10\n",
"2022-05-24 14:31:38.998820: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcurand.so.10\n",
"2022-05-24 14:31:38.998848: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcusolver.so.10\n",
"2022-05-24 14:31:38.998870: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcusparse.so.10\n",
"2022-05-24 14:31:38.998893: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcudnn.so.7\n",
"2022-05-24 14:31:38.999004: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:983] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n",
"2022-05-24 14:31:38.999268: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:983] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n",
"2022-05-24 14:31:38.999467: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1767] Adding visible gpu devices: 0\n",
"2022-05-24 14:31:38.999544: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1180] Device interconnect StreamExecutor with strength 1 edge matrix:\n",
"2022-05-24 14:31:38.999558: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1186] 0 \n",
"2022-05-24 14:31:38.999568: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1199] 0: N \n",
"2022-05-24 14:31:38.999679: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:983] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n",
"2022-05-24 14:31:38.999952: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:983] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n",
"2022-05-24 14:31:39.000157: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1325] Created TensorFlow device (/job:localhost/replica:0/task:0/device:GPU:0 with 14257 MB memory) -> physical GPU (device: 0, name: Tesla T4, pci bus id: 0000:00:04.0, compute capability: 7.5)\n",
"INFO:tensorflow:Restoring parameters from /content/data/spaghettinet_edgetpu_l_quant_pet/model.ckpt-16280\n",
"I0524 14:31:39.001199 140682825586560 saver.py:1284] Restoring parameters from /content/data/spaghettinet_edgetpu_l_quant_pet/model.ckpt-16280\n",
"INFO:tensorflow:Running local_init_op.\n",
"I0524 14:31:42.239443 140682825586560 session_manager.py:500] Running local_init_op.\n",
"INFO:tensorflow:Done running local_init_op.\n",
"I0524 14:31:42.547046 140682825586560 session_manager.py:502] Done running local_init_op.\n",
"Corrupt JPEG data: premature end of data segment\n",
"INFO:tensorflow:Performing evaluation on 2568 images.\n",
"I0524 14:33:59.733070 140678221584128 coco_evaluation.py:293] Performing evaluation on 2568 images.\n",
"creating index...\n",
"index created!\n",
"INFO:tensorflow:Loading and preparing annotation results...\n",
"I0524 14:33:59.740851 140678221584128 coco_tools.py:116] Loading and preparing annotation results...\n",
"INFO:tensorflow:DONE (t=0.22s)\n",
"I0524 14:33:59.962095 140678221584128 coco_tools.py:138] DONE (t=0.22s)\n",
"creating index...\n",
"index created!\n",
"Running per image evaluation...\n",
"Evaluate annotation type *bbox*\n",
"DONE (t=18.21s).\n",
"Accumulating evaluation results...\n",
"DONE (t=6.10s).\n",
" Average Precision (AP) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.643\n",
" Average Precision (AP) @[ IoU=0.50 | area= all | maxDets=100 ] = 0.890\n",
" Average Precision (AP) @[ IoU=0.75 | area= all | maxDets=100 ] = 0.811\n",
" Average Precision (AP) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.000\n",
" Average Precision (AP) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.429\n",
" Average Precision (AP) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.683\n",
" Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets= 1 ] = 0.738\n",
" Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets= 10 ] = 0.752\n",
" Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.752\n",
" Average Recall (AR) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.000\n",
" Average Recall (AR) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.641\n",
" Average Recall (AR) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.774\n",
"INFO:tensorflow:Finished evaluation at 2022-05-24-14:34:26\n",
"I0524 14:34:26.088261 140682825586560 evaluation.py:275] Finished evaluation at 2022-05-24-14:34:26\n",
"INFO:tensorflow:Saving dict for global step 16280: DetectionBoxes_Precision/mAP = 0.6430347, DetectionBoxes_Precision/mAP (large) = 0.6826144, DetectionBoxes_Precision/mAP (medium) = 0.4289616, DetectionBoxes_Precision/mAP (small) = 0.0, DetectionBoxes_Precision/mAP@.50IOU = 0.8898082, DetectionBoxes_Precision/mAP@.75IOU = 0.8110973, DetectionBoxes_Recall/AR@1 = 0.73752445, DetectionBoxes_Recall/AR@10 = 0.7517775, DetectionBoxes_Recall/AR@100 = 0.7521641, DetectionBoxes_Recall/AR@100 (large) = 0.77418447, DetectionBoxes_Recall/AR@100 (medium) = 0.6408959, DetectionBoxes_Recall/AR@100 (small) = 0.0, Loss/classification_loss = 0.27394974, Loss/localization_loss = 0.08289802, Loss/regularization_loss = 0.05180533, Loss/total_loss = 0.4086545, global_step = 16280, learning_rate = 0.007974616, loss = 0.4086545\n",
"I0524 14:34:26.088528 140682825586560 estimator.py:2049] Saving dict for global step 16280: DetectionBoxes_Precision/mAP = 0.6430347, DetectionBoxes_Precision/mAP (large) = 0.6826144, DetectionBoxes_Precision/mAP (medium) = 0.4289616, DetectionBoxes_Precision/mAP (small) = 0.0, DetectionBoxes_Precision/mAP@.50IOU = 0.8898082, DetectionBoxes_Precision/mAP@.75IOU = 0.8110973, DetectionBoxes_Recall/AR@1 = 0.73752445, DetectionBoxes_Recall/AR@10 = 0.7517775, DetectionBoxes_Recall/AR@100 = 0.7521641, DetectionBoxes_Recall/AR@100 (large) = 0.77418447, DetectionBoxes_Recall/AR@100 (medium) = 0.6408959, DetectionBoxes_Recall/AR@100 (small) = 0.0, Loss/classification_loss = 0.27394974, Loss/localization_loss = 0.08289802, Loss/regularization_loss = 0.05180533, Loss/total_loss = 0.4086545, global_step = 16280, learning_rate = 0.007974616, loss = 0.4086545\n",
"INFO:tensorflow:Saving 'checkpoint_path' summary for global step 16280: /content/data/spaghettinet_edgetpu_l_quant_pet/model.ckpt-16280\n",
"I0524 14:34:26.091702 140682825586560 estimator.py:2109] Saving 'checkpoint_path' summary for global step 16280: /content/data/spaghettinet_edgetpu_l_quant_pet/model.ckpt-16280\n",
"INFO:tensorflow:global_step/sec: 0.419992\n",
"I0524 14:34:38.100418 140682825586560 basic_session_run_hooks.py:692] global_step/sec: 0.419992\n",
"INFO:tensorflow:loss = 0.58704877, step = 16300 (238.100 sec)\n",
"I0524 14:34:38.101500 140682825586560 basic_session_run_hooks.py:260] loss = 0.58704877, step = 16300 (238.100 sec)\n",
"INFO:tensorflow:global_step/sec: 1.7763\n",
"I0524 14:35:34.397153 140682825586560 basic_session_run_hooks.py:692] global_step/sec: 1.7763\n",
"INFO:tensorflow:loss = 0.40724796, step = 16400 (56.297 sec)\n",
"I0524 14:35:34.398158 140682825586560 basic_session_run_hooks.py:260] loss = 0.40724796, step = 16400 (56.297 sec)\n",
"Corrupt JPEG data: premature end of data segment\n",
"Corrupt JPEG data: premature end of data segment\n",
"INFO:tensorflow:global_step/sec: 1.779\n",
"I0524 14:36:30.608600 140682825586560 basic_session_run_hooks.py:692] global_step/sec: 1.779\n",
"INFO:tensorflow:loss = 0.42968646, step = 16500 (56.211 sec)\n",
"I0524 14:36:30.609525 140682825586560 basic_session_run_hooks.py:260] loss = 0.42968646, step = 16500 (56.211 sec)\n",
"Corrupt JPEG data: premature end of data segment\n",
"INFO:tensorflow:global_step/sec: 1.78352\n",
"I0524 14:37:26.677570 140682825586560 basic_session_run_hooks.py:692] global_step/sec: 1.78352\n",
"INFO:tensorflow:loss = 0.38061112, step = 16600 (56.069 sec)\n",
"I0524 14:37:26.678433 140682825586560 basic_session_run_hooks.py:260] loss = 0.38061112, step = 16600 (56.069 sec)\n",
"Corrupt JPEG data: premature end of data segment\n",
"INFO:tensorflow:global_step/sec: 1.77721\n",
"I0524 14:38:22.945388 140682825586560 basic_session_run_hooks.py:692] global_step/sec: 1.77721\n",
"INFO:tensorflow:loss = 0.5062195, step = 16700 (56.268 sec)\n",
"I0524 14:38:22.946294 140682825586560 basic_session_run_hooks.py:260] loss = 0.5062195, step = 16700 (56.268 sec)\n",
"INFO:tensorflow:global_step/sec: 1.77721\n",
"I0524 14:39:19.213196 140682825586560 basic_session_run_hooks.py:692] global_step/sec: 1.77721\n",
"INFO:tensorflow:loss = 0.37267524, step = 16800 (56.268 sec)\n",
"I0524 14:39:19.214133 140682825586560 basic_session_run_hooks.py:260] loss = 0.37267524, step = 16800 (56.268 sec)\n",
"Corrupt JPEG data: premature end of data segment\n",
"INFO:tensorflow:global_step/sec: 1.77856\n",
"I0524 14:40:15.438468 140682825586560 basic_session_run_hooks.py:692] global_step/sec: 1.77856\n",
"INFO:tensorflow:loss = 0.54967725, step = 16900 (56.225 sec)\n",
"I0524 14:40:15.439543 140682825586560 basic_session_run_hooks.py:260] loss = 0.54967725, step = 16900 (56.225 sec)\n",
"INFO:tensorflow:global_step/sec: 1.78395\n",
"I0524 14:41:11.493874 140682825586560 basic_session_run_hooks.py:692] global_step/sec: 1.78395\n",
"INFO:tensorflow:loss = 0.4146147, step = 17000 (56.055 sec)\n",
"I0524 14:41:11.494838 140682825586560 basic_session_run_hooks.py:260] loss = 0.4146147, step = 17000 (56.055 sec)\n",
"INFO:tensorflow:Saving checkpoints for 17024 into /content/data/spaghettinet_edgetpu_l_quant_pet/model.ckpt.\n",
"I0524 14:41:24.425901 140682825586560 basic_session_run_hooks.py:606] Saving checkpoints for 17024 into /content/data/spaghettinet_edgetpu_l_quant_pet/model.ckpt.\n",
"INFO:tensorflow:Reading unweighted datasets: ['/content/data/tf_record/pet_faces_train.record-?????-of-00010']\n",
"I0524 14:41:28.012112 140682825586560 dataset_builder.py:162] Reading unweighted datasets: ['/content/data/tf_record/pet_faces_train.record-?????-of-00010']\n",
"INFO:tensorflow:Reading record datasets for input file: ['/content/data/tf_record/pet_faces_train.record-?????-of-00010']\n",
"I0524 14:41:28.013243 140682825586560 dataset_builder.py:79] Reading record datasets for input file: ['/content/data/tf_record/pet_faces_train.record-?????-of-00010']\n",
"INFO:tensorflow:Number of filenames to read: 10\n",
"I0524 14:41:28.013399 140682825586560 dataset_builder.py:80] Number of filenames to read: 10\n",
"WARNING:tensorflow:num_readers has been reduced to 10 to match input file shards.\n",
"W0524 14:41:28.013472 140682825586560 dataset_builder.py:87] num_readers has been reduced to 10 to match input file shards.\n",
"WARNING:tensorflow:`shuffle` is false, but the input data stream is still slightly shuffled since `num_readers` > 1.\n",
"W0524 14:41:28.014749 140682825586560 dataset_builder.py:93] `shuffle` is false, but the input data stream is still slightly shuffled since `num_readers` > 1.\n",
"WARNING:tensorflow:Entity <bound method TfExampleDecoder.decode of <object_detection.data_decoders.tf_example_decoder.TfExampleDecoder object at 0x7fee17ee9b50>> could not be transformed and will be executed as-is. Please report this to the AutoGraph team. When filing the bug, set the verbosity to 10 (on Linux, `export AUTOGRAPH_VERBOSITY=10`) and attach the full output. Cause: module 'gast' has no attribute 'Index'\n",
"W0524 14:41:28.061539 140682825586560 ag_logging.py:146] Entity <bound method TfExampleDecoder.decode of <object_detection.data_decoders.tf_example_decoder.TfExampleDecoder object at 0x7fee17ee9b50>> could not be transformed and will be executed as-is. Please report this to the AutoGraph team. When filing the bug, set the verbosity to 10 (on Linux, `export AUTOGRAPH_VERBOSITY=10`) and attach the full output. Cause: module 'gast' has no attribute 'Index'\n",
"WARNING:tensorflow:Entity <function eval_input.<locals>.transform_and_pad_input_data_fn at 0x7fee15ec3b90> could not be transformed and will be executed as-is. Please report this to the AutoGraph team. When filing the bug, set the verbosity to 10 (on Linux, `export AUTOGRAPH_VERBOSITY=10`) and attach the full output. Cause: module 'gast' has no attribute 'Str'\n",
"W0524 14:41:28.226485 140682825586560 ag_logging.py:146] Entity <function eval_input.<locals>.transform_and_pad_input_data_fn at 0x7fee15ec3b90> could not be transformed and will be executed as-is. Please report this to the AutoGraph team. When filing the bug, set the verbosity to 10 (on Linux, `export AUTOGRAPH_VERBOSITY=10`) and attach the full output. Cause: module 'gast' has no attribute 'Str'\n",
"INFO:tensorflow:Calling model_fn.\n",
"I0524 14:41:28.703571 140682825586560 estimator.py:1148] Calling model_fn.\n",
"INFO:tensorflow:depth of additional conv before box predictor: 0\n",
"I0524 14:41:32.025745 140682825586560 convolutional_box_predictor.py:155] depth of additional conv before box predictor: 0\n",
"INFO:tensorflow:depth of additional conv before box predictor: 0\n",
"I0524 14:41:32.094083 140682825586560 convolutional_box_predictor.py:155] depth of additional conv before box predictor: 0\n",
"INFO:tensorflow:depth of additional conv before box predictor: 0\n",
"I0524 14:41:32.160989 140682825586560 convolutional_box_predictor.py:155] depth of additional conv before box predictor: 0\n",
"INFO:tensorflow:depth of additional conv before box predictor: 0\n",
"I0524 14:41:32.230690 140682825586560 convolutional_box_predictor.py:155] depth of additional conv before box predictor: 0\n",
"INFO:tensorflow:depth of additional conv before box predictor: 0\n",
"I0524 14:41:32.302436 140682825586560 convolutional_box_predictor.py:155] depth of additional conv before box predictor: 0\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/add_13\n",
"I0524 14:41:36.020737 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/add_13\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/add_17\n",
"I0524 14:41:36.022181 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/add_17\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/add_21\n",
"I0524 14:41:36.023498 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/add_21\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/add_25\n",
"I0524 14:41:36.024804 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/add_25\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/add_28\n",
"I0524 14:41:36.025765 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/add_28\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/stem_node/stem/add_fold\n",
"I0524 14:41:36.039093 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/stem_node/stem/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n0_0/slice_0/add_fold\n",
"I0524 14:41:36.039323 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n0_0/slice_0/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n0_0/slice_1/add_fold\n",
"I0524 14:41:36.039502 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n0_0/slice_1/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n0_0/slice_2/add_fold\n",
"I0524 14:41:36.039675 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n0_0/slice_2/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_0/slice_0/add_fold\n",
"I0524 14:41:36.039951 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_0/slice_0/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_0/slice_1/add_fold\n",
"I0524 14:41:36.040126 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_0/slice_1/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_0/slice_2/add_fold\n",
"I0524 14:41:36.040295 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_0/slice_2/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_0/slice_3/add_fold\n",
"I0524 14:41:36.040462 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_0/slice_3/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_1/slice_0/add_fold\n",
"I0524 14:41:36.040724 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_1/slice_0/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_1/slice_1/add_fold\n",
"I0524 14:41:36.040891 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_1/slice_1/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_1/slice_2/add_fold\n",
"I0524 14:41:36.041072 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_1/slice_2/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_1/slice_3/add_fold\n",
"I0524 14:41:36.041244 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_1/slice_3/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_2/slice_0/add_fold\n",
"I0524 14:41:36.041495 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_2/slice_0/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_2/slice_1/add_fold\n",
"I0524 14:41:36.041653 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_2/slice_1/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_2/slice_2/add_fold\n",
"I0524 14:41:36.041817 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_2/slice_2/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_2/slice_3/add_fold\n",
"I0524 14:41:36.041990 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_2/slice_3/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_3/slice_0/add_fold\n",
"I0524 14:41:36.042246 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_3/slice_0/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_3/slice_1/add_fold\n",
"I0524 14:41:36.042407 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_3/slice_1/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_3/slice_2/add_fold\n",
"I0524 14:41:36.042565 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_3/slice_2/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_3/slice_3/add_fold\n",
"I0524 14:41:36.042736 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_3/slice_3/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_0/expansion/add_fold\n",
"I0524 14:41:36.042998 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_0/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_0/depthwise/add_fold\n",
"I0524 14:41:36.043166 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_0/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_1/expansion/add_fold\n",
"I0524 14:41:36.043415 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_1/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_1/depthwise/add_fold\n",
"I0524 14:41:36.043582 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_1/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_2/expansion/add_fold\n",
"I0524 14:41:36.043842 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_2/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_2/depthwise/add_fold\n",
"I0524 14:41:36.044021 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_2/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_3/expansion/add_fold\n",
"I0524 14:41:36.044269 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_3/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_3/depthwise/add_fold\n",
"I0524 14:41:36.044439 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_3/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_0/expansion/add_fold\n",
"I0524 14:41:36.044688 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_0/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_0/depthwise/add_fold\n",
"I0524 14:41:36.044861 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_0/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_1/expansion/add_fold\n",
"I0524 14:41:36.045120 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_1/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_1/depthwise/add_fold\n",
"I0524 14:41:36.045292 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_1/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_2/expansion/add_fold\n",
"I0524 14:41:36.045537 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_2/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_2/depthwise/add_fold\n",
"I0524 14:41:36.045705 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_2/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_3/expansion/add_fold\n",
"I0524 14:41:36.045968 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_3/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_3/depthwise/add_fold\n",
"I0524 14:41:36.046142 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_3/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_0/expansion/add_fold\n",
"I0524 14:41:36.046389 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_0/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_0/depthwise/add_fold\n",
"I0524 14:41:36.046560 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_0/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_1/expansion/add_fold\n",
"I0524 14:41:36.046828 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_1/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_1/depthwise/add_fold\n",
"I0524 14:41:36.047010 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_1/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_2/expansion/add_fold\n",
"I0524 14:41:36.047257 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_2/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_2/depthwise/add_fold\n",
"I0524 14:41:36.047432 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_2/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_3/expansion/add_fold\n",
"I0524 14:41:36.047677 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_3/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_3/depthwise/add_fold\n",
"I0524 14:41:36.047854 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_3/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n5_0/expansion/add_fold\n",
"I0524 14:41:36.048109 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n5_0/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n5_0/depthwise/add_fold\n",
"I0524 14:41:36.048280 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n5_0/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n5_1/pointwise/add_fold\n",
"I0524 14:41:36.048528 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n5_1/pointwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_0/expansion/add_fold\n",
"I0524 14:41:36.048867 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_0/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_0/depthwise/add_fold\n",
"I0524 14:41:36.049053 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_0/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_1/expansion/add_fold\n",
"I0524 14:41:36.049303 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_1/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_1/depthwise/add_fold\n",
"I0524 14:41:36.049472 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_1/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_2/expansion/add_fold\n",
"I0524 14:41:36.049722 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_2/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_2/depthwise/add_fold\n",
"I0524 14:41:36.049892 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_2/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_3/expansion/add_fold\n",
"I0524 14:41:36.050158 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_3/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_3/depthwise/add_fold\n",
"I0524 14:41:36.050329 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_3/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_0/expansion/add_fold\n",
"I0524 14:41:36.050747 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_0/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_0/depthwise/add_fold\n",
"I0524 14:41:36.050928 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_0/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_1/expansion/add_fold\n",
"I0524 14:41:36.051174 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_1/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_1/depthwise/add_fold\n",
"I0524 14:41:36.091093 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_1/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_2/expansion/add_fold\n",
"I0524 14:41:36.091403 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_2/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_2/depthwise/add_fold\n",
"I0524 14:41:36.091716 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_2/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_3/expansion/add_fold\n",
"I0524 14:41:36.092035 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_3/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_3/depthwise/add_fold\n",
"I0524 14:41:36.092240 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_3/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_0/expansion/add_fold\n",
"I0524 14:41:36.092693 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_0/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_0/depthwise/add_fold\n",
"I0524 14:41:36.092887 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_0/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_1/expansion/add_fold\n",
"I0524 14:41:36.093162 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_1/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_1/depthwise/add_fold\n",
"I0524 14:41:36.093342 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_1/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_2/expansion/add_fold\n",
"I0524 14:41:36.093595 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_2/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_2/depthwise/add_fold\n",
"I0524 14:41:36.093773 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_2/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_3/expansion/add_fold\n",
"I0524 14:41:36.094033 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_3/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_3/depthwise/add_fold\n",
"I0524 14:41:36.094227 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_3/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n3_0/expansion/add_fold\n",
"I0524 14:41:36.094654 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n3_0/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n3_0/depthwise/add_fold\n",
"I0524 14:41:36.094979 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n3_0/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n3_1/expansion/add_fold\n",
"I0524 14:41:36.095286 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n3_1/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n3_1/depthwise/add_fold\n",
"I0524 14:41:36.095471 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n3_1/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n3_2/pointwise/add_fold\n",
"I0524 14:41:36.095738 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n3_2/pointwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n4_0/expansion/add_fold\n",
"I0524 14:41:36.096085 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n4_0/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n4_0/depthwise/add_fold\n",
"I0524 14:41:36.096263 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n4_0/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n4_1/expansion/add_fold\n",
"I0524 14:41:36.096554 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n4_1/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n4_1/depthwise/add_fold\n",
"I0524 14:41:36.096759 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n4_1/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n5_0/pointwise/add_fold\n",
"I0524 14:41:36.097034 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n5_0/pointwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n5_1/pointwise/add_fold\n",
"I0524 14:41:36.097204 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n5_1/pointwise/add_fold\n",
"INFO:tensorflow:Skipping quant after BoxPredictor_0/BoxEncodingPredictor_depthwise/add_fold\n",
"I0524 14:41:36.097378 140682825586560 quantize.py:364] Skipping quant after BoxPredictor_0/BoxEncodingPredictor_depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after BoxPredictor_0/ClassPredictor_depthwise/add_fold\n",
"I0524 14:41:36.097572 140682825586560 quantize.py:364] Skipping quant after BoxPredictor_0/ClassPredictor_depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after BoxPredictor_1/BoxEncodingPredictor_depthwise/add_fold\n",
"I0524 14:41:36.097760 140682825586560 quantize.py:364] Skipping quant after BoxPredictor_1/BoxEncodingPredictor_depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after BoxPredictor_1/ClassPredictor_depthwise/add_fold\n",
"I0524 14:41:36.097948 140682825586560 quantize.py:364] Skipping quant after BoxPredictor_1/ClassPredictor_depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after BoxPredictor_2/BoxEncodingPredictor_depthwise/add_fold\n",
"I0524 14:41:36.098128 140682825586560 quantize.py:364] Skipping quant after BoxPredictor_2/BoxEncodingPredictor_depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after BoxPredictor_2/ClassPredictor_depthwise/add_fold\n",
"I0524 14:41:36.098305 140682825586560 quantize.py:364] Skipping quant after BoxPredictor_2/ClassPredictor_depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after BoxPredictor_3/BoxEncodingPredictor_depthwise/add_fold\n",
"I0524 14:41:36.098485 140682825586560 quantize.py:364] Skipping quant after BoxPredictor_3/BoxEncodingPredictor_depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after BoxPredictor_3/ClassPredictor_depthwise/add_fold\n",
"I0524 14:41:36.098661 140682825586560 quantize.py:364] Skipping quant after BoxPredictor_3/ClassPredictor_depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after BoxPredictor_4/BoxEncodingPredictor_depthwise/add_fold\n",
"I0524 14:41:36.098846 140682825586560 quantize.py:364] Skipping quant after BoxPredictor_4/BoxEncodingPredictor_depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after BoxPredictor_4/ClassPredictor_depthwise/add_fold\n",
"I0524 14:41:36.099028 140682825586560 quantize.py:364] Skipping quant after BoxPredictor_4/ClassPredictor_depthwise/add_fold\n",
"INFO:tensorflow:Inserting act_quant op for standalone Relu6 op: FeatureExtractor/spaghettinet_edgetpu_l/Relu6.\n",
"I0524 14:41:36.150693 140682825586560 quantize.py:325] Inserting act_quant op for standalone Relu6 op: FeatureExtractor/spaghettinet_edgetpu_l/Relu6.\n",
"INFO:tensorflow:Inserting act_quant op for standalone Relu6 op: FeatureExtractor/spaghettinet_edgetpu_l/Relu6_1.\n",
"I0524 14:41:36.158392 140682825586560 quantize.py:325] Inserting act_quant op for standalone Relu6 op: FeatureExtractor/spaghettinet_edgetpu_l/Relu6_1.\n",
"INFO:tensorflow:Inserting act_quant op for standalone Relu6 op: FeatureExtractor/spaghettinet_edgetpu_l/Relu6_2.\n",
"I0524 14:41:36.164957 140682825586560 quantize.py:325] Inserting act_quant op for standalone Relu6 op: FeatureExtractor/spaghettinet_edgetpu_l/Relu6_2.\n",
"INFO:tensorflow:Inserting act_quant op for standalone Relu6 op: FeatureExtractor/spaghettinet_edgetpu_l/Relu6_3.\n",
"I0524 14:41:36.171517 140682825586560 quantize.py:325] Inserting act_quant op for standalone Relu6 op: FeatureExtractor/spaghettinet_edgetpu_l/Relu6_3.\n",
"INFO:tensorflow:Inserting act_quant op for standalone Relu6 op: FeatureExtractor/spaghettinet_edgetpu_l/Relu6_4.\n",
"I0524 14:41:36.178536 140682825586560 quantize.py:325] Inserting act_quant op for standalone Relu6 op: FeatureExtractor/spaghettinet_edgetpu_l/Relu6_4.\n",
"INFO:tensorflow:Done calling model_fn.\n",
"I0524 14:41:37.569491 140682825586560 estimator.py:1150] Done calling model_fn.\n",
"INFO:tensorflow:Starting evaluation at 2022-05-24T14:41:37Z\n",
"I0524 14:41:37.584563 140682825586560 evaluation.py:255] Starting evaluation at 2022-05-24T14:41:37Z\n",
"INFO:tensorflow:Graph was finalized.\n",
"I0524 14:41:38.995247 140682825586560 monitored_session.py:240] Graph was finalized.\n",
"2022-05-24 14:41:38.995940: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:983] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n",
"2022-05-24 14:41:38.996244: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1639] Found device 0 with properties: \n",
"name: Tesla T4 major: 7 minor: 5 memoryClockRate(GHz): 1.59\n",
"pciBusID: 0000:00:04.0\n",
"2022-05-24 14:41:38.996367: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcudart.so.10.1\n",
"2022-05-24 14:41:38.996402: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcublas.so.10\n",
"2022-05-24 14:41:38.996436: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcufft.so.10\n",
"2022-05-24 14:41:38.996462: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcurand.so.10\n",
"2022-05-24 14:41:38.996489: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcusolver.so.10\n",
"2022-05-24 14:41:38.996518: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcusparse.so.10\n",
"2022-05-24 14:41:38.996548: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcudnn.so.7\n",
"2022-05-24 14:41:38.996654: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:983] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n",
"2022-05-24 14:41:38.996970: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:983] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n",
"2022-05-24 14:41:38.997182: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1767] Adding visible gpu devices: 0\n",
"2022-05-24 14:41:38.997231: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1180] Device interconnect StreamExecutor with strength 1 edge matrix:\n",
"2022-05-24 14:41:38.997254: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1186] 0 \n",
"2022-05-24 14:41:38.997265: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1199] 0: N \n",
"2022-05-24 14:41:38.997375: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:983] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n",
"2022-05-24 14:41:38.997657: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:983] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n",
"2022-05-24 14:41:38.997885: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1325] Created TensorFlow device (/job:localhost/replica:0/task:0/device:GPU:0 with 14257 MB memory) -> physical GPU (device: 0, name: Tesla T4, pci bus id: 0000:00:04.0, compute capability: 7.5)\n",
"INFO:tensorflow:Restoring parameters from /content/data/spaghettinet_edgetpu_l_quant_pet/model.ckpt-17024\n",
"I0524 14:41:38.998907 140682825586560 saver.py:1284] Restoring parameters from /content/data/spaghettinet_edgetpu_l_quant_pet/model.ckpt-17024\n",
"INFO:tensorflow:Running local_init_op.\n",
"I0524 14:41:42.021322 140682825586560 session_manager.py:500] Running local_init_op.\n",
"INFO:tensorflow:Done running local_init_op.\n",
"I0524 14:41:42.304744 140682825586560 session_manager.py:502] Done running local_init_op.\n",
"Corrupt JPEG data: premature end of data segment\n",
"INFO:tensorflow:Performing evaluation on 2568 images.\n",
"I0524 14:43:59.837403 140678221584128 coco_evaluation.py:293] Performing evaluation on 2568 images.\n",
"creating index...\n",
"index created!\n",
"INFO:tensorflow:Loading and preparing annotation results...\n",
"I0524 14:43:59.844334 140678221584128 coco_tools.py:116] Loading and preparing annotation results...\n",
"INFO:tensorflow:DONE (t=0.18s)\n",
"I0524 14:44:00.027243 140678221584128 coco_tools.py:138] DONE (t=0.18s)\n",
"creating index...\n",
"index created!\n",
"Running per image evaluation...\n",
"Evaluate annotation type *bbox*\n",
"DONE (t=17.89s).\n",
"Accumulating evaluation results...\n",
"DONE (t=5.96s).\n",
" Average Precision (AP) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.672\n",
" Average Precision (AP) @[ IoU=0.50 | area= all | maxDets=100 ] = 0.914\n",
" Average Precision (AP) @[ IoU=0.75 | area= all | maxDets=100 ] = 0.828\n",
" Average Precision (AP) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.000\n",
" Average Precision (AP) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.441\n",
" Average Precision (AP) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.714\n",
" Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets= 1 ] = 0.750\n",
" Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets= 10 ] = 0.761\n",
" Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.762\n",
" Average Recall (AR) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.000\n",
" Average Recall (AR) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.640\n",
" Average Recall (AR) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.788\n",
"INFO:tensorflow:Finished evaluation at 2022-05-24-14:44:24\n",
"I0524 14:44:24.920421 140682825586560 evaluation.py:275] Finished evaluation at 2022-05-24-14:44:24\n",
"INFO:tensorflow:Saving dict for global step 17024: DetectionBoxes_Precision/mAP = 0.67150074, DetectionBoxes_Precision/mAP (large) = 0.713523, DetectionBoxes_Precision/mAP (medium) = 0.44145104, DetectionBoxes_Precision/mAP (small) = 0.0, DetectionBoxes_Precision/mAP@.50IOU = 0.9143404, DetectionBoxes_Precision/mAP@.75IOU = 0.82772964, DetectionBoxes_Recall/AR@1 = 0.75021905, DetectionBoxes_Recall/AR@10 = 0.7614214, DetectionBoxes_Recall/AR@100 = 0.76187414, DetectionBoxes_Recall/AR@100 (large) = 0.7875896, DetectionBoxes_Recall/AR@100 (medium) = 0.6404046, DetectionBoxes_Recall/AR@100 (small) = 0.0, Loss/classification_loss = 0.27430144, Loss/localization_loss = 0.08039642, Loss/regularization_loss = 0.052009154, Loss/total_loss = 0.40670642, global_step = 17024, learning_rate = 0.007971905, loss = 0.40670642\n",
"I0524 14:44:24.920668 140682825586560 estimator.py:2049] Saving dict for global step 17024: DetectionBoxes_Precision/mAP = 0.67150074, DetectionBoxes_Precision/mAP (large) = 0.713523, DetectionBoxes_Precision/mAP (medium) = 0.44145104, DetectionBoxes_Precision/mAP (small) = 0.0, DetectionBoxes_Precision/mAP@.50IOU = 0.9143404, DetectionBoxes_Precision/mAP@.75IOU = 0.82772964, DetectionBoxes_Recall/AR@1 = 0.75021905, DetectionBoxes_Recall/AR@10 = 0.7614214, DetectionBoxes_Recall/AR@100 = 0.76187414, DetectionBoxes_Recall/AR@100 (large) = 0.7875896, DetectionBoxes_Recall/AR@100 (medium) = 0.6404046, DetectionBoxes_Recall/AR@100 (small) = 0.0, Loss/classification_loss = 0.27430144, Loss/localization_loss = 0.08039642, Loss/regularization_loss = 0.052009154, Loss/total_loss = 0.40670642, global_step = 17024, learning_rate = 0.007971905, loss = 0.40670642\n",
"INFO:tensorflow:Saving 'checkpoint_path' summary for global step 17024: /content/data/spaghettinet_edgetpu_l_quant_pet/model.ckpt-17024\n",
"I0524 14:44:24.924448 140682825586560 estimator.py:2109] Saving 'checkpoint_path' summary for global step 17024: /content/data/spaghettinet_edgetpu_l_quant_pet/model.ckpt-17024\n",
"Corrupt JPEG data: premature end of data segment\n",
"Corrupt JPEG data: premature end of data segment\n",
"INFO:tensorflow:global_step/sec: 0.421659\n",
"I0524 14:45:08.652366 140682825586560 basic_session_run_hooks.py:692] global_step/sec: 0.421659\n",
"INFO:tensorflow:loss = 0.4440866, step = 17100 (237.159 sec)\n",
"I0524 14:45:08.653358 140682825586560 basic_session_run_hooks.py:260] loss = 0.4440866, step = 17100 (237.159 sec)\n",
"INFO:tensorflow:global_step/sec: 1.79002\n",
"I0524 14:46:04.517817 140682825586560 basic_session_run_hooks.py:692] global_step/sec: 1.79002\n",
"INFO:tensorflow:loss = 0.41889298, step = 17200 (55.865 sec)\n",
"I0524 14:46:04.518846 140682825586560 basic_session_run_hooks.py:260] loss = 0.41889298, step = 17200 (55.865 sec)\n",
"INFO:tensorflow:global_step/sec: 1.78135\n",
"I0524 14:47:00.654873 140682825586560 basic_session_run_hooks.py:692] global_step/sec: 1.78135\n",
"INFO:tensorflow:loss = 0.44100624, step = 17300 (56.137 sec)\n",
"I0524 14:47:00.655877 140682825586560 basic_session_run_hooks.py:260] loss = 0.44100624, step = 17300 (56.137 sec)\n",
"Corrupt JPEG data: premature end of data segment\n",
"INFO:tensorflow:global_step/sec: 1.78592\n",
"I0524 14:47:56.648538 140682825586560 basic_session_run_hooks.py:692] global_step/sec: 1.78592\n",
"INFO:tensorflow:loss = 0.42516443, step = 17400 (55.994 sec)\n",
"I0524 14:47:56.649652 140682825586560 basic_session_run_hooks.py:260] loss = 0.42516443, step = 17400 (55.994 sec)\n",
"INFO:tensorflow:global_step/sec: 1.78445\n",
"I0524 14:48:52.688357 140682825586560 basic_session_run_hooks.py:692] global_step/sec: 1.78445\n",
"INFO:tensorflow:loss = 0.75511396, step = 17500 (56.040 sec)\n",
"I0524 14:48:52.689317 140682825586560 basic_session_run_hooks.py:260] loss = 0.75511396, step = 17500 (56.040 sec)\n",
"Corrupt JPEG data: premature end of data segment\n",
"INFO:tensorflow:global_step/sec: 1.78362\n",
"I0524 14:49:48.754076 140682825586560 basic_session_run_hooks.py:692] global_step/sec: 1.78362\n",
"INFO:tensorflow:loss = 0.35690826, step = 17600 (56.066 sec)\n",
"I0524 14:49:48.754902 140682825586560 basic_session_run_hooks.py:260] loss = 0.35690826, step = 17600 (56.066 sec)\n",
"Corrupt JPEG data: premature end of data segment\n",
"INFO:tensorflow:global_step/sec: 1.78207\n",
"I0524 14:50:44.868652 140682825586560 basic_session_run_hooks.py:692] global_step/sec: 1.78207\n",
"INFO:tensorflow:loss = 0.37617096, step = 17700 (56.115 sec)\n",
"I0524 14:50:44.869732 140682825586560 basic_session_run_hooks.py:260] loss = 0.37617096, step = 17700 (56.115 sec)\n",
"INFO:tensorflow:Saving checkpoints for 17772 into /content/data/spaghettinet_edgetpu_l_quant_pet/model.ckpt.\n",
"I0524 14:51:24.729294 140682825586560 basic_session_run_hooks.py:606] Saving checkpoints for 17772 into /content/data/spaghettinet_edgetpu_l_quant_pet/model.ckpt.\n",
"INFO:tensorflow:Reading unweighted datasets: ['/content/data/tf_record/pet_faces_train.record-?????-of-00010']\n",
"I0524 14:51:28.219460 140682825586560 dataset_builder.py:162] Reading unweighted datasets: ['/content/data/tf_record/pet_faces_train.record-?????-of-00010']\n",
"INFO:tensorflow:Reading record datasets for input file: ['/content/data/tf_record/pet_faces_train.record-?????-of-00010']\n",
"I0524 14:51:28.220431 140682825586560 dataset_builder.py:79] Reading record datasets for input file: ['/content/data/tf_record/pet_faces_train.record-?????-of-00010']\n",
"INFO:tensorflow:Number of filenames to read: 10\n",
"I0524 14:51:28.220568 140682825586560 dataset_builder.py:80] Number of filenames to read: 10\n",
"WARNING:tensorflow:num_readers has been reduced to 10 to match input file shards.\n",
"W0524 14:51:28.220640 140682825586560 dataset_builder.py:87] num_readers has been reduced to 10 to match input file shards.\n",
"WARNING:tensorflow:`shuffle` is false, but the input data stream is still slightly shuffled since `num_readers` > 1.\n",
"W0524 14:51:28.221948 140682825586560 dataset_builder.py:93] `shuffle` is false, but the input data stream is still slightly shuffled since `num_readers` > 1.\n",
"WARNING:tensorflow:Entity <bound method TfExampleDecoder.decode of <object_detection.data_decoders.tf_example_decoder.TfExampleDecoder object at 0x7fee19995fd0>> could not be transformed and will be executed as-is. Please report this to the AutoGraph team. When filing the bug, set the verbosity to 10 (on Linux, `export AUTOGRAPH_VERBOSITY=10`) and attach the full output. Cause: module 'gast' has no attribute 'Index'\n",
"W0524 14:51:28.269848 140682825586560 ag_logging.py:146] Entity <bound method TfExampleDecoder.decode of <object_detection.data_decoders.tf_example_decoder.TfExampleDecoder object at 0x7fee19995fd0>> could not be transformed and will be executed as-is. Please report this to the AutoGraph team. When filing the bug, set the verbosity to 10 (on Linux, `export AUTOGRAPH_VERBOSITY=10`) and attach the full output. Cause: module 'gast' has no attribute 'Index'\n",
"WARNING:tensorflow:Entity <function eval_input.<locals>.transform_and_pad_input_data_fn at 0x7fee230e6b90> could not be transformed and will be executed as-is. Please report this to the AutoGraph team. When filing the bug, set the verbosity to 10 (on Linux, `export AUTOGRAPH_VERBOSITY=10`) and attach the full output. Cause: module 'gast' has no attribute 'Str'\n",
"W0524 14:51:28.438976 140682825586560 ag_logging.py:146] Entity <function eval_input.<locals>.transform_and_pad_input_data_fn at 0x7fee230e6b90> could not be transformed and will be executed as-is. Please report this to the AutoGraph team. When filing the bug, set the verbosity to 10 (on Linux, `export AUTOGRAPH_VERBOSITY=10`) and attach the full output. Cause: module 'gast' has no attribute 'Str'\n",
"INFO:tensorflow:Calling model_fn.\n",
"I0524 14:51:28.911559 140682825586560 estimator.py:1148] Calling model_fn.\n",
"INFO:tensorflow:depth of additional conv before box predictor: 0\n",
"I0524 14:51:32.284339 140682825586560 convolutional_box_predictor.py:155] depth of additional conv before box predictor: 0\n",
"INFO:tensorflow:depth of additional conv before box predictor: 0\n",
"I0524 14:51:32.360429 140682825586560 convolutional_box_predictor.py:155] depth of additional conv before box predictor: 0\n",
"INFO:tensorflow:depth of additional conv before box predictor: 0\n",
"I0524 14:51:32.430892 140682825586560 convolutional_box_predictor.py:155] depth of additional conv before box predictor: 0\n",
"INFO:tensorflow:depth of additional conv before box predictor: 0\n",
"I0524 14:51:32.499222 140682825586560 convolutional_box_predictor.py:155] depth of additional conv before box predictor: 0\n",
"INFO:tensorflow:depth of additional conv before box predictor: 0\n",
"I0524 14:51:32.570165 140682825586560 convolutional_box_predictor.py:155] depth of additional conv before box predictor: 0\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/add_13\n",
"I0524 14:51:36.401761 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/add_13\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/add_17\n",
"I0524 14:51:36.403202 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/add_17\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/add_21\n",
"I0524 14:51:36.404538 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/add_21\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/add_25\n",
"I0524 14:51:36.405883 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/add_25\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/add_28\n",
"I0524 14:51:36.407021 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/add_28\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/stem_node/stem/add_fold\n",
"I0524 14:51:36.419810 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/stem_node/stem/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n0_0/slice_0/add_fold\n",
"I0524 14:51:36.420041 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n0_0/slice_0/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n0_0/slice_1/add_fold\n",
"I0524 14:51:36.420219 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n0_0/slice_1/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n0_0/slice_2/add_fold\n",
"I0524 14:51:36.420390 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n0_0/slice_2/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_0/slice_0/add_fold\n",
"I0524 14:51:36.420650 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_0/slice_0/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_0/slice_1/add_fold\n",
"I0524 14:51:36.420819 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_0/slice_1/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_0/slice_2/add_fold\n",
"I0524 14:51:36.420994 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_0/slice_2/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_0/slice_3/add_fold\n",
"I0524 14:51:36.421159 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_0/slice_3/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_1/slice_0/add_fold\n",
"I0524 14:51:36.421416 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_1/slice_0/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_1/slice_1/add_fold\n",
"I0524 14:51:36.421580 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_1/slice_1/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_1/slice_2/add_fold\n",
"I0524 14:51:36.421743 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_1/slice_2/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_1/slice_3/add_fold\n",
"I0524 14:51:36.421909 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_1/slice_3/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_2/slice_0/add_fold\n",
"I0524 14:51:36.422173 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_2/slice_0/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_2/slice_1/add_fold\n",
"I0524 14:51:36.422334 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_2/slice_1/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_2/slice_2/add_fold\n",
"I0524 14:51:36.422494 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_2/slice_2/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_2/slice_3/add_fold\n",
"I0524 14:51:36.422660 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_2/slice_3/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_3/slice_0/add_fold\n",
"I0524 14:51:36.422928 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_3/slice_0/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_3/slice_1/add_fold\n",
"I0524 14:51:36.423090 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_3/slice_1/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_3/slice_2/add_fold\n",
"I0524 14:51:36.423247 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_3/slice_2/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_3/slice_3/add_fold\n",
"I0524 14:51:36.423407 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_3/slice_3/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_0/expansion/add_fold\n",
"I0524 14:51:36.423655 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_0/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_0/depthwise/add_fold\n",
"I0524 14:51:36.423826 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_0/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_1/expansion/add_fold\n",
"I0524 14:51:36.424082 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_1/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_1/depthwise/add_fold\n",
"I0524 14:51:36.424252 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_1/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_2/expansion/add_fold\n",
"I0524 14:51:36.424490 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_2/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_2/depthwise/add_fold\n",
"I0524 14:51:36.424656 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_2/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_3/expansion/add_fold\n",
"I0524 14:51:36.424908 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_3/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_3/depthwise/add_fold\n",
"I0524 14:51:36.425084 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_3/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_0/expansion/add_fold\n",
"I0524 14:51:36.425325 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_0/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_0/depthwise/add_fold\n",
"I0524 14:51:36.425488 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_0/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_1/expansion/add_fold\n",
"I0524 14:51:36.425736 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_1/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_1/depthwise/add_fold\n",
"I0524 14:51:36.425904 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_1/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_2/expansion/add_fold\n",
"I0524 14:51:36.426152 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_2/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_2/depthwise/add_fold\n",
"I0524 14:51:36.426318 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_2/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_3/expansion/add_fold\n",
"I0524 14:51:36.426561 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_3/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_3/depthwise/add_fold\n",
"I0524 14:51:36.426746 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_3/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_0/expansion/add_fold\n",
"I0524 14:51:36.427002 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_0/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_0/depthwise/add_fold\n",
"I0524 14:51:36.427174 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_0/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_1/expansion/add_fold\n",
"I0524 14:51:36.427420 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_1/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_1/depthwise/add_fold\n",
"I0524 14:51:36.427599 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_1/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_2/expansion/add_fold\n",
"I0524 14:51:36.427847 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_2/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_2/depthwise/add_fold\n",
"I0524 14:51:36.428023 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_2/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_3/expansion/add_fold\n",
"I0524 14:51:36.428267 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_3/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_3/depthwise/add_fold\n",
"I0524 14:51:36.428431 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_3/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n5_0/expansion/add_fold\n",
"I0524 14:51:36.428672 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n5_0/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n5_0/depthwise/add_fold\n",
"I0524 14:51:36.428842 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n5_0/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n5_1/pointwise/add_fold\n",
"I0524 14:51:36.429093 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n5_1/pointwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_0/expansion/add_fold\n",
"I0524 14:51:36.429425 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_0/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_0/depthwise/add_fold\n",
"I0524 14:51:36.429603 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_0/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_1/expansion/add_fold\n",
"I0524 14:51:36.429848 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_1/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_1/depthwise/add_fold\n",
"I0524 14:51:36.430020 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_1/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_2/expansion/add_fold\n",
"I0524 14:51:36.430258 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_2/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_2/depthwise/add_fold\n",
"I0524 14:51:36.430420 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_2/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_3/expansion/add_fold\n",
"I0524 14:51:36.430661 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_3/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_3/depthwise/add_fold\n",
"I0524 14:51:36.430831 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_3/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_0/expansion/add_fold\n",
"I0524 14:51:36.431265 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_0/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_0/depthwise/add_fold\n",
"I0524 14:51:36.431439 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_0/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_1/expansion/add_fold\n",
"I0524 14:51:36.431679 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_1/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_1/depthwise/add_fold\n",
"I0524 14:51:36.445184 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_1/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_2/expansion/add_fold\n",
"I0524 14:51:36.445486 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_2/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_2/depthwise/add_fold\n",
"I0524 14:51:36.445683 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_2/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_3/expansion/add_fold\n",
"I0524 14:51:36.446019 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_3/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_3/depthwise/add_fold\n",
"I0524 14:51:36.446222 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_3/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_0/expansion/add_fold\n",
"I0524 14:51:36.446645 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_0/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_0/depthwise/add_fold\n",
"I0524 14:51:36.446843 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_0/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_1/expansion/add_fold\n",
"I0524 14:51:36.447102 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_1/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_1/depthwise/add_fold\n",
"I0524 14:51:36.447269 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_1/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_2/expansion/add_fold\n",
"I0524 14:51:36.447508 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_2/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_2/depthwise/add_fold\n",
"I0524 14:51:36.447674 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_2/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_3/expansion/add_fold\n",
"I0524 14:51:36.447944 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_3/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_3/depthwise/add_fold\n",
"I0524 14:51:36.448119 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_3/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n3_0/expansion/add_fold\n",
"I0524 14:51:36.448529 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n3_0/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n3_0/depthwise/add_fold\n",
"I0524 14:51:36.448700 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n3_0/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n3_1/expansion/add_fold\n",
"I0524 14:51:36.448960 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n3_1/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n3_1/depthwise/add_fold\n",
"I0524 14:51:36.449126 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n3_1/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n3_2/pointwise/add_fold\n",
"I0524 14:51:36.449373 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n3_2/pointwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n4_0/expansion/add_fold\n",
"I0524 14:51:36.449700 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n4_0/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n4_0/depthwise/add_fold\n",
"I0524 14:51:36.449874 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n4_0/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n4_1/expansion/add_fold\n",
"I0524 14:51:36.450137 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n4_1/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n4_1/depthwise/add_fold\n",
"I0524 14:51:36.450306 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n4_1/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n5_0/pointwise/add_fold\n",
"I0524 14:51:36.450545 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n5_0/pointwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n5_1/pointwise/add_fold\n",
"I0524 14:51:36.450700 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n5_1/pointwise/add_fold\n",
"INFO:tensorflow:Skipping quant after BoxPredictor_0/BoxEncodingPredictor_depthwise/add_fold\n",
"I0524 14:51:36.450872 140682825586560 quantize.py:364] Skipping quant after BoxPredictor_0/BoxEncodingPredictor_depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after BoxPredictor_0/ClassPredictor_depthwise/add_fold\n",
"I0524 14:51:36.451078 140682825586560 quantize.py:364] Skipping quant after BoxPredictor_0/ClassPredictor_depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after BoxPredictor_1/BoxEncodingPredictor_depthwise/add_fold\n",
"I0524 14:51:36.451261 140682825586560 quantize.py:364] Skipping quant after BoxPredictor_1/BoxEncodingPredictor_depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after BoxPredictor_1/ClassPredictor_depthwise/add_fold\n",
"I0524 14:51:36.451435 140682825586560 quantize.py:364] Skipping quant after BoxPredictor_1/ClassPredictor_depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after BoxPredictor_2/BoxEncodingPredictor_depthwise/add_fold\n",
"I0524 14:51:36.451608 140682825586560 quantize.py:364] Skipping quant after BoxPredictor_2/BoxEncodingPredictor_depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after BoxPredictor_2/ClassPredictor_depthwise/add_fold\n",
"I0524 14:51:36.451784 140682825586560 quantize.py:364] Skipping quant after BoxPredictor_2/ClassPredictor_depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after BoxPredictor_3/BoxEncodingPredictor_depthwise/add_fold\n",
"I0524 14:51:36.451964 140682825586560 quantize.py:364] Skipping quant after BoxPredictor_3/BoxEncodingPredictor_depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after BoxPredictor_3/ClassPredictor_depthwise/add_fold\n",
"I0524 14:51:36.452138 140682825586560 quantize.py:364] Skipping quant after BoxPredictor_3/ClassPredictor_depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after BoxPredictor_4/BoxEncodingPredictor_depthwise/add_fold\n",
"I0524 14:51:36.452310 140682825586560 quantize.py:364] Skipping quant after BoxPredictor_4/BoxEncodingPredictor_depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after BoxPredictor_4/ClassPredictor_depthwise/add_fold\n",
"I0524 14:51:36.452483 140682825586560 quantize.py:364] Skipping quant after BoxPredictor_4/ClassPredictor_depthwise/add_fold\n",
"INFO:tensorflow:Inserting act_quant op for standalone Relu6 op: FeatureExtractor/spaghettinet_edgetpu_l/Relu6.\n",
"I0524 14:51:36.498790 140682825586560 quantize.py:325] Inserting act_quant op for standalone Relu6 op: FeatureExtractor/spaghettinet_edgetpu_l/Relu6.\n",
"INFO:tensorflow:Inserting act_quant op for standalone Relu6 op: FeatureExtractor/spaghettinet_edgetpu_l/Relu6_1.\n",
"I0524 14:51:36.506171 140682825586560 quantize.py:325] Inserting act_quant op for standalone Relu6 op: FeatureExtractor/spaghettinet_edgetpu_l/Relu6_1.\n",
"INFO:tensorflow:Inserting act_quant op for standalone Relu6 op: FeatureExtractor/spaghettinet_edgetpu_l/Relu6_2.\n",
"I0524 14:51:36.512579 140682825586560 quantize.py:325] Inserting act_quant op for standalone Relu6 op: FeatureExtractor/spaghettinet_edgetpu_l/Relu6_2.\n",
"INFO:tensorflow:Inserting act_quant op for standalone Relu6 op: FeatureExtractor/spaghettinet_edgetpu_l/Relu6_3.\n",
"I0524 14:51:36.518974 140682825586560 quantize.py:325] Inserting act_quant op for standalone Relu6 op: FeatureExtractor/spaghettinet_edgetpu_l/Relu6_3.\n",
"INFO:tensorflow:Inserting act_quant op for standalone Relu6 op: FeatureExtractor/spaghettinet_edgetpu_l/Relu6_4.\n",
"I0524 14:51:36.525199 140682825586560 quantize.py:325] Inserting act_quant op for standalone Relu6 op: FeatureExtractor/spaghettinet_edgetpu_l/Relu6_4.\n",
"INFO:tensorflow:Done calling model_fn.\n",
"I0524 14:51:37.860727 140682825586560 estimator.py:1150] Done calling model_fn.\n",
"INFO:tensorflow:Starting evaluation at 2022-05-24T14:51:37Z\n",
"I0524 14:51:37.875748 140682825586560 evaluation.py:255] Starting evaluation at 2022-05-24T14:51:37Z\n",
"INFO:tensorflow:Graph was finalized.\n",
"I0524 14:51:39.360769 140682825586560 monitored_session.py:240] Graph was finalized.\n",
"2022-05-24 14:51:39.361496: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:983] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n",
"2022-05-24 14:51:39.361824: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1639] Found device 0 with properties: \n",
"name: Tesla T4 major: 7 minor: 5 memoryClockRate(GHz): 1.59\n",
"pciBusID: 0000:00:04.0\n",
"2022-05-24 14:51:39.361942: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcudart.so.10.1\n",
"2022-05-24 14:51:39.361988: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcublas.so.10\n",
"2022-05-24 14:51:39.362009: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcufft.so.10\n",
"2022-05-24 14:51:39.362024: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcurand.so.10\n",
"2022-05-24 14:51:39.362039: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcusolver.so.10\n",
"2022-05-24 14:51:39.362054: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcusparse.so.10\n",
"2022-05-24 14:51:39.362071: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcudnn.so.7\n",
"2022-05-24 14:51:39.362152: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:983] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n",
"2022-05-24 14:51:39.362402: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:983] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n",
"2022-05-24 14:51:39.362585: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1767] Adding visible gpu devices: 0\n",
"2022-05-24 14:51:39.362654: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1180] Device interconnect StreamExecutor with strength 1 edge matrix:\n",
"2022-05-24 14:51:39.362666: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1186] 0 \n",
"2022-05-24 14:51:39.362673: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1199] 0: N \n",
"2022-05-24 14:51:39.362773: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:983] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n",
"2022-05-24 14:51:39.363024: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:983] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n",
"2022-05-24 14:51:39.363224: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1325] Created TensorFlow device (/job:localhost/replica:0/task:0/device:GPU:0 with 14257 MB memory) -> physical GPU (device: 0, name: Tesla T4, pci bus id: 0000:00:04.0, compute capability: 7.5)\n",
"INFO:tensorflow:Restoring parameters from /content/data/spaghettinet_edgetpu_l_quant_pet/model.ckpt-17772\n",
"I0524 14:51:39.364203 140682825586560 saver.py:1284] Restoring parameters from /content/data/spaghettinet_edgetpu_l_quant_pet/model.ckpt-17772\n",
"INFO:tensorflow:Running local_init_op.\n",
"I0524 14:51:42.423159 140682825586560 session_manager.py:500] Running local_init_op.\n",
"INFO:tensorflow:Done running local_init_op.\n",
"I0524 14:51:42.707594 140682825586560 session_manager.py:502] Done running local_init_op.\n",
"Corrupt JPEG data: premature end of data segment\n",
"INFO:tensorflow:Performing evaluation on 2568 images.\n",
"I0524 14:53:57.852592 140678221584128 coco_evaluation.py:293] Performing evaluation on 2568 images.\n",
"creating index...\n",
"index created!\n",
"INFO:tensorflow:Loading and preparing annotation results...\n",
"I0524 14:53:57.859902 140678221584128 coco_tools.py:116] Loading and preparing annotation results...\n",
"INFO:tensorflow:DONE (t=0.18s)\n",
"I0524 14:53:58.039709 140678221584128 coco_tools.py:138] DONE (t=0.18s)\n",
"creating index...\n",
"index created!\n",
"Running per image evaluation...\n",
"Evaluate annotation type *bbox*\n",
"DONE (t=17.64s).\n",
"Accumulating evaluation results...\n",
"DONE (t=5.69s).\n",
" Average Precision (AP) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.662\n",
" Average Precision (AP) @[ IoU=0.50 | area= all | maxDets=100 ] = 0.896\n",
" Average Precision (AP) @[ IoU=0.75 | area= all | maxDets=100 ] = 0.814\n",
" Average Precision (AP) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.100\n",
" Average Precision (AP) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.428\n",
" Average Precision (AP) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.706\n",
" Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets= 1 ] = 0.754\n",
" Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets= 10 ] = 0.767\n",
" Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.767\n",
" Average Recall (AR) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.200\n",
" Average Recall (AR) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.665\n",
" Average Recall (AR) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.788\n",
"INFO:tensorflow:Finished evaluation at 2022-05-24-14:54:22\n",
"I0524 14:54:22.403635 140682825586560 evaluation.py:275] Finished evaluation at 2022-05-24-14:54:22\n",
"INFO:tensorflow:Saving dict for global step 17772: DetectionBoxes_Precision/mAP = 0.6621841, DetectionBoxes_Precision/mAP (large) = 0.70552427, DetectionBoxes_Precision/mAP (medium) = 0.42788061, DetectionBoxes_Precision/mAP (small) = 0.10049505, DetectionBoxes_Precision/mAP@.50IOU = 0.8963675, DetectionBoxes_Precision/mAP@.75IOU = 0.81378454, DetectionBoxes_Recall/AR@1 = 0.7537837, DetectionBoxes_Recall/AR@10 = 0.7666325, DetectionBoxes_Recall/AR@100 = 0.766931, DetectionBoxes_Recall/AR@100 (large) = 0.7879847, DetectionBoxes_Recall/AR@100 (medium) = 0.66467977, DetectionBoxes_Recall/AR@100 (small) = 0.2, Loss/classification_loss = 0.26666936, Loss/localization_loss = 0.07767273, Loss/regularization_loss = 0.052209754, Loss/total_loss = 0.39655313, global_step = 17772, learning_rate = 0.007969042, loss = 0.39655313\n",
"I0524 14:54:22.403887 140682825586560 estimator.py:2049] Saving dict for global step 17772: DetectionBoxes_Precision/mAP = 0.6621841, DetectionBoxes_Precision/mAP (large) = 0.70552427, DetectionBoxes_Precision/mAP (medium) = 0.42788061, DetectionBoxes_Precision/mAP (small) = 0.10049505, DetectionBoxes_Precision/mAP@.50IOU = 0.8963675, DetectionBoxes_Precision/mAP@.75IOU = 0.81378454, DetectionBoxes_Recall/AR@1 = 0.7537837, DetectionBoxes_Recall/AR@10 = 0.7666325, DetectionBoxes_Recall/AR@100 = 0.766931, DetectionBoxes_Recall/AR@100 (large) = 0.7879847, DetectionBoxes_Recall/AR@100 (medium) = 0.66467977, DetectionBoxes_Recall/AR@100 (small) = 0.2, Loss/classification_loss = 0.26666936, Loss/localization_loss = 0.07767273, Loss/regularization_loss = 0.052209754, Loss/total_loss = 0.39655313, global_step = 17772, learning_rate = 0.007969042, loss = 0.39655313\n",
"INFO:tensorflow:Saving 'checkpoint_path' summary for global step 17772: /content/data/spaghettinet_edgetpu_l_quant_pet/model.ckpt-17772\n",
"I0524 14:54:22.406767 140682825586560 estimator.py:2109] Saving 'checkpoint_path' summary for global step 17772: /content/data/spaghettinet_edgetpu_l_quant_pet/model.ckpt-17772\n",
"INFO:tensorflow:global_step/sec: 0.427156\n",
"I0524 14:54:38.975425 140682825586560 basic_session_run_hooks.py:692] global_step/sec: 0.427156\n",
"INFO:tensorflow:loss = 0.29975027, step = 17800 (234.107 sec)\n",
"I0524 14:54:38.976407 140682825586560 basic_session_run_hooks.py:260] loss = 0.29975027, step = 17800 (234.107 sec)\n",
"Corrupt JPEG data: premature end of data segment\n",
"INFO:tensorflow:global_step/sec: 1.78279\n",
"I0524 14:55:35.067156 140682825586560 basic_session_run_hooks.py:692] global_step/sec: 1.78279\n",
"INFO:tensorflow:loss = 0.42314303, step = 17900 (56.092 sec)\n",
"I0524 14:55:35.068157 140682825586560 basic_session_run_hooks.py:260] loss = 0.42314303, step = 17900 (56.092 sec)\n",
"Corrupt JPEG data: premature end of data segment\n",
"INFO:tensorflow:global_step/sec: 1.77349\n",
"I0524 14:56:31.453292 140682825586560 basic_session_run_hooks.py:692] global_step/sec: 1.77349\n",
"INFO:tensorflow:loss = 0.3344873, step = 18000 (56.386 sec)\n",
"I0524 14:56:31.454284 140682825586560 basic_session_run_hooks.py:260] loss = 0.3344873, step = 18000 (56.386 sec)\n",
"INFO:tensorflow:global_step/sec: 1.78383\n",
"I0524 14:57:27.512300 140682825586560 basic_session_run_hooks.py:692] global_step/sec: 1.78383\n",
"INFO:tensorflow:loss = 0.41915426, step = 18100 (56.059 sec)\n",
"I0524 14:57:27.513384 140682825586560 basic_session_run_hooks.py:260] loss = 0.41915426, step = 18100 (56.059 sec)\n",
"Corrupt JPEG data: premature end of data segment\n",
"INFO:tensorflow:global_step/sec: 1.78284\n",
"I0524 14:58:23.602664 140682825586560 basic_session_run_hooks.py:692] global_step/sec: 1.78284\n",
"INFO:tensorflow:loss = 0.410316, step = 18200 (56.090 sec)\n",
"I0524 14:58:23.603655 140682825586560 basic_session_run_hooks.py:260] loss = 0.410316, step = 18200 (56.090 sec)\n",
"Corrupt JPEG data: premature end of data segment\n",
"INFO:tensorflow:global_step/sec: 1.78537\n",
"I0524 14:59:19.613450 140682825586560 basic_session_run_hooks.py:692] global_step/sec: 1.78537\n",
"INFO:tensorflow:loss = 0.5297041, step = 18300 (56.011 sec)\n",
"I0524 14:59:19.614357 140682825586560 basic_session_run_hooks.py:260] loss = 0.5297041, step = 18300 (56.011 sec)\n",
"INFO:tensorflow:global_step/sec: 1.78365\n",
"I0524 15:00:15.678412 140682825586560 basic_session_run_hooks.py:692] global_step/sec: 1.78365\n",
"INFO:tensorflow:loss = 0.42652252, step = 18400 (56.065 sec)\n",
"I0524 15:00:15.679425 140682825586560 basic_session_run_hooks.py:260] loss = 0.42652252, step = 18400 (56.065 sec)\n",
"Corrupt JPEG data: premature end of data segment\n",
"INFO:tensorflow:global_step/sec: 1.78135\n",
"I0524 15:01:11.815699 140682825586560 basic_session_run_hooks.py:692] global_step/sec: 1.78135\n",
"INFO:tensorflow:loss = 0.33962324, step = 18500 (56.137 sec)\n",
"I0524 15:01:11.816693 140682825586560 basic_session_run_hooks.py:260] loss = 0.33962324, step = 18500 (56.137 sec)\n",
"INFO:tensorflow:Saving checkpoints for 18524 into /content/data/spaghettinet_edgetpu_l_quant_pet/model.ckpt.\n",
"I0524 15:01:24.741009 140682825586560 basic_session_run_hooks.py:606] Saving checkpoints for 18524 into /content/data/spaghettinet_edgetpu_l_quant_pet/model.ckpt.\n",
"INFO:tensorflow:Reading unweighted datasets: ['/content/data/tf_record/pet_faces_train.record-?????-of-00010']\n",
"I0524 15:01:28.312885 140682825586560 dataset_builder.py:162] Reading unweighted datasets: ['/content/data/tf_record/pet_faces_train.record-?????-of-00010']\n",
"INFO:tensorflow:Reading record datasets for input file: ['/content/data/tf_record/pet_faces_train.record-?????-of-00010']\n",
"I0524 15:01:28.314107 140682825586560 dataset_builder.py:79] Reading record datasets for input file: ['/content/data/tf_record/pet_faces_train.record-?????-of-00010']\n",
"INFO:tensorflow:Number of filenames to read: 10\n",
"I0524 15:01:28.314260 140682825586560 dataset_builder.py:80] Number of filenames to read: 10\n",
"WARNING:tensorflow:num_readers has been reduced to 10 to match input file shards.\n",
"W0524 15:01:28.314353 140682825586560 dataset_builder.py:87] num_readers has been reduced to 10 to match input file shards.\n",
"WARNING:tensorflow:`shuffle` is false, but the input data stream is still slightly shuffled since `num_readers` > 1.\n",
"W0524 15:01:28.316043 140682825586560 dataset_builder.py:93] `shuffle` is false, but the input data stream is still slightly shuffled since `num_readers` > 1.\n",
"WARNING:tensorflow:Entity <bound method TfExampleDecoder.decode of <object_detection.data_decoders.tf_example_decoder.TfExampleDecoder object at 0x7fee2459cad0>> could not be transformed and will be executed as-is. Please report this to the AutoGraph team. When filing the bug, set the verbosity to 10 (on Linux, `export AUTOGRAPH_VERBOSITY=10`) and attach the full output. Cause: module 'gast' has no attribute 'Index'\n",
"W0524 15:01:28.371619 140682825586560 ag_logging.py:146] Entity <bound method TfExampleDecoder.decode of <object_detection.data_decoders.tf_example_decoder.TfExampleDecoder object at 0x7fee2459cad0>> could not be transformed and will be executed as-is. Please report this to the AutoGraph team. When filing the bug, set the verbosity to 10 (on Linux, `export AUTOGRAPH_VERBOSITY=10`) and attach the full output. Cause: module 'gast' has no attribute 'Index'\n",
"WARNING:tensorflow:Entity <function eval_input.<locals>.transform_and_pad_input_data_fn at 0x7ff2b2eb2c20> could not be transformed and will be executed as-is. Please report this to the AutoGraph team. When filing the bug, set the verbosity to 10 (on Linux, `export AUTOGRAPH_VERBOSITY=10`) and attach the full output. Cause: module 'gast' has no attribute 'Str'\n",
"W0524 15:01:28.536613 140682825586560 ag_logging.py:146] Entity <function eval_input.<locals>.transform_and_pad_input_data_fn at 0x7ff2b2eb2c20> could not be transformed and will be executed as-is. Please report this to the AutoGraph team. When filing the bug, set the verbosity to 10 (on Linux, `export AUTOGRAPH_VERBOSITY=10`) and attach the full output. Cause: module 'gast' has no attribute 'Str'\n",
"INFO:tensorflow:Calling model_fn.\n",
"I0524 15:01:29.053794 140682825586560 estimator.py:1148] Calling model_fn.\n",
"INFO:tensorflow:depth of additional conv before box predictor: 0\n",
"I0524 15:01:32.350388 140682825586560 convolutional_box_predictor.py:155] depth of additional conv before box predictor: 0\n",
"INFO:tensorflow:depth of additional conv before box predictor: 0\n",
"I0524 15:01:32.422176 140682825586560 convolutional_box_predictor.py:155] depth of additional conv before box predictor: 0\n",
"INFO:tensorflow:depth of additional conv before box predictor: 0\n",
"I0524 15:01:32.490065 140682825586560 convolutional_box_predictor.py:155] depth of additional conv before box predictor: 0\n",
"INFO:tensorflow:depth of additional conv before box predictor: 0\n",
"I0524 15:01:32.558176 140682825586560 convolutional_box_predictor.py:155] depth of additional conv before box predictor: 0\n",
"INFO:tensorflow:depth of additional conv before box predictor: 0\n",
"I0524 15:01:32.630636 140682825586560 convolutional_box_predictor.py:155] depth of additional conv before box predictor: 0\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/add_13\n",
"I0524 15:01:37.077733 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/add_13\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/add_17\n",
"I0524 15:01:37.079156 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/add_17\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/add_21\n",
"I0524 15:01:37.080475 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/add_21\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/add_25\n",
"I0524 15:01:37.081779 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/add_25\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/add_28\n",
"I0524 15:01:37.082709 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/add_28\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/stem_node/stem/add_fold\n",
"I0524 15:01:37.095682 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/stem_node/stem/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n0_0/slice_0/add_fold\n",
"I0524 15:01:37.095887 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n0_0/slice_0/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n0_0/slice_1/add_fold\n",
"I0524 15:01:37.096042 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n0_0/slice_1/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n0_0/slice_2/add_fold\n",
"I0524 15:01:37.096180 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n0_0/slice_2/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_0/slice_0/add_fold\n",
"I0524 15:01:37.096405 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_0/slice_0/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_0/slice_1/add_fold\n",
"I0524 15:01:37.096546 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_0/slice_1/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_0/slice_2/add_fold\n",
"I0524 15:01:37.096680 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_0/slice_2/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_0/slice_3/add_fold\n",
"I0524 15:01:37.096810 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_0/slice_3/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_1/slice_0/add_fold\n",
"I0524 15:01:37.097031 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_1/slice_0/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_1/slice_1/add_fold\n",
"I0524 15:01:37.097167 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_1/slice_1/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_1/slice_2/add_fold\n",
"I0524 15:01:37.097302 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_1/slice_2/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_1/slice_3/add_fold\n",
"I0524 15:01:37.097434 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_1/slice_3/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_2/slice_0/add_fold\n",
"I0524 15:01:37.097648 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_2/slice_0/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_2/slice_1/add_fold\n",
"I0524 15:01:37.097779 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_2/slice_1/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_2/slice_2/add_fold\n",
"I0524 15:01:37.097910 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_2/slice_2/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_2/slice_3/add_fold\n",
"I0524 15:01:37.098052 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_2/slice_3/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_3/slice_0/add_fold\n",
"I0524 15:01:37.098269 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_3/slice_0/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_3/slice_1/add_fold\n",
"I0524 15:01:37.098401 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_3/slice_1/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_3/slice_2/add_fold\n",
"I0524 15:01:37.098532 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_3/slice_2/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_3/slice_3/add_fold\n",
"I0524 15:01:37.098660 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_3/slice_3/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_0/expansion/add_fold\n",
"I0524 15:01:37.098871 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_0/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_0/depthwise/add_fold\n",
"I0524 15:01:37.099019 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_0/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_1/expansion/add_fold\n",
"I0524 15:01:37.099235 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_1/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_1/depthwise/add_fold\n",
"I0524 15:01:37.099378 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_1/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_2/expansion/add_fold\n",
"I0524 15:01:37.099590 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_2/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_2/depthwise/add_fold\n",
"I0524 15:01:37.099731 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_2/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_3/expansion/add_fold\n",
"I0524 15:01:37.099950 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_3/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_3/depthwise/add_fold\n",
"I0524 15:01:37.100090 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_3/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_0/expansion/add_fold\n",
"I0524 15:01:37.100306 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_0/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_0/depthwise/add_fold\n",
"I0524 15:01:37.100445 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_0/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_1/expansion/add_fold\n",
"I0524 15:01:37.100656 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_1/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_1/depthwise/add_fold\n",
"I0524 15:01:37.100794 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_1/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_2/expansion/add_fold\n",
"I0524 15:01:37.101017 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_2/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_2/depthwise/add_fold\n",
"I0524 15:01:37.101155 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_2/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_3/expansion/add_fold\n",
"I0524 15:01:37.101374 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_3/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_3/depthwise/add_fold\n",
"I0524 15:01:37.101516 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_3/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_0/expansion/add_fold\n",
"I0524 15:01:37.101735 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_0/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_0/depthwise/add_fold\n",
"I0524 15:01:37.101875 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_0/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_1/expansion/add_fold\n",
"I0524 15:01:37.102095 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_1/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_1/depthwise/add_fold\n",
"I0524 15:01:37.102231 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_1/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_2/expansion/add_fold\n",
"I0524 15:01:37.102451 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_2/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_2/depthwise/add_fold\n",
"I0524 15:01:37.102590 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_2/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_3/expansion/add_fold\n",
"I0524 15:01:37.102804 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_3/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_3/depthwise/add_fold\n",
"I0524 15:01:37.102952 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_3/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n5_0/expansion/add_fold\n",
"I0524 15:01:37.103173 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n5_0/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n5_0/depthwise/add_fold\n",
"I0524 15:01:37.103314 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n5_0/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n5_1/pointwise/add_fold\n",
"I0524 15:01:37.103529 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n5_1/pointwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_0/expansion/add_fold\n",
"I0524 15:01:37.103827 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_0/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_0/depthwise/add_fold\n",
"I0524 15:01:37.103976 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_0/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_1/expansion/add_fold\n",
"I0524 15:01:37.104192 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_1/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_1/depthwise/add_fold\n",
"I0524 15:01:37.104335 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_1/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_2/expansion/add_fold\n",
"I0524 15:01:37.104554 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_2/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_2/depthwise/add_fold\n",
"I0524 15:01:37.104692 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_2/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_3/expansion/add_fold\n",
"I0524 15:01:37.104906 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_3/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_3/depthwise/add_fold\n",
"I0524 15:01:37.105055 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_3/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_0/expansion/add_fold\n",
"I0524 15:01:37.105436 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_0/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_0/depthwise/add_fold\n",
"I0524 15:01:37.105593 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_0/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_1/expansion/add_fold\n",
"I0524 15:01:37.105804 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_1/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_1/depthwise/add_fold\n",
"I0524 15:01:37.105950 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_1/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_2/expansion/add_fold\n",
"I0524 15:01:37.106165 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_2/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_2/depthwise/add_fold\n",
"I0524 15:01:37.106316 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_2/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_3/expansion/add_fold\n",
"I0524 15:01:37.106532 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_3/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_3/depthwise/add_fold\n",
"I0524 15:01:37.106671 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_3/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_0/expansion/add_fold\n",
"I0524 15:01:37.195857 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_0/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_0/depthwise/add_fold\n",
"I0524 15:01:37.196165 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_0/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_1/expansion/add_fold\n",
"I0524 15:01:37.196555 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_1/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_1/depthwise/add_fold\n",
"I0524 15:01:37.196826 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_1/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_2/expansion/add_fold\n",
"I0524 15:01:37.197233 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_2/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_2/depthwise/add_fold\n",
"I0524 15:01:37.197430 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_2/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_3/expansion/add_fold\n",
"I0524 15:01:37.197668 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_3/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_3/depthwise/add_fold\n",
"I0524 15:01:37.197818 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_3/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n3_0/expansion/add_fold\n",
"I0524 15:01:37.198229 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n3_0/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n3_0/depthwise/add_fold\n",
"I0524 15:01:37.198392 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n3_0/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n3_1/expansion/add_fold\n",
"I0524 15:01:37.198612 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n3_1/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n3_1/depthwise/add_fold\n",
"I0524 15:01:37.198755 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n3_1/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n3_2/pointwise/add_fold\n",
"I0524 15:01:37.198989 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n3_2/pointwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n4_0/expansion/add_fold\n",
"I0524 15:01:37.199318 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n4_0/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n4_0/depthwise/add_fold\n",
"I0524 15:01:37.199477 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n4_0/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n4_1/expansion/add_fold\n",
"I0524 15:01:37.199700 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n4_1/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n4_1/depthwise/add_fold\n",
"I0524 15:01:37.199841 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n4_1/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n5_0/pointwise/add_fold\n",
"I0524 15:01:37.200086 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n5_0/pointwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n5_1/pointwise/add_fold\n",
"I0524 15:01:37.200228 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n5_1/pointwise/add_fold\n",
"INFO:tensorflow:Skipping quant after BoxPredictor_0/BoxEncodingPredictor_depthwise/add_fold\n",
"I0524 15:01:37.200382 140682825586560 quantize.py:364] Skipping quant after BoxPredictor_0/BoxEncodingPredictor_depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after BoxPredictor_0/ClassPredictor_depthwise/add_fold\n",
"I0524 15:01:37.200530 140682825586560 quantize.py:364] Skipping quant after BoxPredictor_0/ClassPredictor_depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after BoxPredictor_1/BoxEncodingPredictor_depthwise/add_fold\n",
"I0524 15:01:37.200674 140682825586560 quantize.py:364] Skipping quant after BoxPredictor_1/BoxEncodingPredictor_depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after BoxPredictor_1/ClassPredictor_depthwise/add_fold\n",
"I0524 15:01:37.200818 140682825586560 quantize.py:364] Skipping quant after BoxPredictor_1/ClassPredictor_depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after BoxPredictor_2/BoxEncodingPredictor_depthwise/add_fold\n",
"I0524 15:01:37.200967 140682825586560 quantize.py:364] Skipping quant after BoxPredictor_2/BoxEncodingPredictor_depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after BoxPredictor_2/ClassPredictor_depthwise/add_fold\n",
"I0524 15:01:37.201107 140682825586560 quantize.py:364] Skipping quant after BoxPredictor_2/ClassPredictor_depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after BoxPredictor_3/BoxEncodingPredictor_depthwise/add_fold\n",
"I0524 15:01:37.201254 140682825586560 quantize.py:364] Skipping quant after BoxPredictor_3/BoxEncodingPredictor_depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after BoxPredictor_3/ClassPredictor_depthwise/add_fold\n",
"I0524 15:01:37.201409 140682825586560 quantize.py:364] Skipping quant after BoxPredictor_3/ClassPredictor_depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after BoxPredictor_4/BoxEncodingPredictor_depthwise/add_fold\n",
"I0524 15:01:37.201555 140682825586560 quantize.py:364] Skipping quant after BoxPredictor_4/BoxEncodingPredictor_depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after BoxPredictor_4/ClassPredictor_depthwise/add_fold\n",
"I0524 15:01:37.201700 140682825586560 quantize.py:364] Skipping quant after BoxPredictor_4/ClassPredictor_depthwise/add_fold\n",
"INFO:tensorflow:Inserting act_quant op for standalone Relu6 op: FeatureExtractor/spaghettinet_edgetpu_l/Relu6.\n",
"I0524 15:01:37.253591 140682825586560 quantize.py:325] Inserting act_quant op for standalone Relu6 op: FeatureExtractor/spaghettinet_edgetpu_l/Relu6.\n",
"INFO:tensorflow:Inserting act_quant op for standalone Relu6 op: FeatureExtractor/spaghettinet_edgetpu_l/Relu6_1.\n",
"I0524 15:01:37.261277 140682825586560 quantize.py:325] Inserting act_quant op for standalone Relu6 op: FeatureExtractor/spaghettinet_edgetpu_l/Relu6_1.\n",
"INFO:tensorflow:Inserting act_quant op for standalone Relu6 op: FeatureExtractor/spaghettinet_edgetpu_l/Relu6_2.\n",
"I0524 15:01:37.267850 140682825586560 quantize.py:325] Inserting act_quant op for standalone Relu6 op: FeatureExtractor/spaghettinet_edgetpu_l/Relu6_2.\n",
"INFO:tensorflow:Inserting act_quant op for standalone Relu6 op: FeatureExtractor/spaghettinet_edgetpu_l/Relu6_3.\n",
"I0524 15:01:37.274412 140682825586560 quantize.py:325] Inserting act_quant op for standalone Relu6 op: FeatureExtractor/spaghettinet_edgetpu_l/Relu6_3.\n",
"INFO:tensorflow:Inserting act_quant op for standalone Relu6 op: FeatureExtractor/spaghettinet_edgetpu_l/Relu6_4.\n",
"I0524 15:01:37.280693 140682825586560 quantize.py:325] Inserting act_quant op for standalone Relu6 op: FeatureExtractor/spaghettinet_edgetpu_l/Relu6_4.\n",
"INFO:tensorflow:Done calling model_fn.\n",
"I0524 15:01:38.665981 140682825586560 estimator.py:1150] Done calling model_fn.\n",
"INFO:tensorflow:Starting evaluation at 2022-05-24T15:01:38Z\n",
"I0524 15:01:38.681169 140682825586560 evaluation.py:255] Starting evaluation at 2022-05-24T15:01:38Z\n",
"INFO:tensorflow:Graph was finalized.\n",
"I0524 15:01:40.129609 140682825586560 monitored_session.py:240] Graph was finalized.\n",
"2022-05-24 15:01:40.130245: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:983] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n",
"2022-05-24 15:01:40.130527: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1639] Found device 0 with properties: \n",
"name: Tesla T4 major: 7 minor: 5 memoryClockRate(GHz): 1.59\n",
"pciBusID: 0000:00:04.0\n",
"2022-05-24 15:01:40.130626: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcudart.so.10.1\n",
"2022-05-24 15:01:40.130646: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcublas.so.10\n",
"2022-05-24 15:01:40.130666: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcufft.so.10\n",
"2022-05-24 15:01:40.130691: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcurand.so.10\n",
"2022-05-24 15:01:40.130704: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcusolver.so.10\n",
"2022-05-24 15:01:40.130722: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcusparse.so.10\n",
"2022-05-24 15:01:40.130746: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcudnn.so.7\n",
"2022-05-24 15:01:40.130821: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:983] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n",
"2022-05-24 15:01:40.131107: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:983] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n",
"2022-05-24 15:01:40.131293: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1767] Adding visible gpu devices: 0\n",
"2022-05-24 15:01:40.131333: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1180] Device interconnect StreamExecutor with strength 1 edge matrix:\n",
"2022-05-24 15:01:40.131343: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1186] 0 \n",
"2022-05-24 15:01:40.131350: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1199] 0: N \n",
"2022-05-24 15:01:40.131428: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:983] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n",
"2022-05-24 15:01:40.131644: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:983] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n",
"2022-05-24 15:01:40.131838: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1325] Created TensorFlow device (/job:localhost/replica:0/task:0/device:GPU:0 with 14257 MB memory) -> physical GPU (device: 0, name: Tesla T4, pci bus id: 0000:00:04.0, compute capability: 7.5)\n",
"INFO:tensorflow:Restoring parameters from /content/data/spaghettinet_edgetpu_l_quant_pet/model.ckpt-18524\n",
"I0524 15:01:40.132854 140682825586560 saver.py:1284] Restoring parameters from /content/data/spaghettinet_edgetpu_l_quant_pet/model.ckpt-18524\n",
"INFO:tensorflow:Running local_init_op.\n",
"I0524 15:01:43.390140 140682825586560 session_manager.py:500] Running local_init_op.\n",
"INFO:tensorflow:Done running local_init_op.\n",
"I0524 15:01:43.716276 140682825586560 session_manager.py:502] Done running local_init_op.\n",
"Corrupt JPEG data: premature end of data segment\n",
"INFO:tensorflow:Performing evaluation on 2568 images.\n",
"I0524 15:04:03.354061 140678229976832 coco_evaluation.py:293] Performing evaluation on 2568 images.\n",
"creating index...\n",
"index created!\n",
"INFO:tensorflow:Loading and preparing annotation results...\n",
"I0524 15:04:03.360631 140678229976832 coco_tools.py:116] Loading and preparing annotation results...\n",
"INFO:tensorflow:DONE (t=0.18s)\n",
"I0524 15:04:03.536830 140678229976832 coco_tools.py:138] DONE (t=0.18s)\n",
"creating index...\n",
"index created!\n",
"Running per image evaluation...\n",
"Evaluate annotation type *bbox*\n",
"DONE (t=18.22s).\n",
"Accumulating evaluation results...\n",
"DONE (t=5.85s).\n",
" Average Precision (AP) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.677\n",
" Average Precision (AP) @[ IoU=0.50 | area= all | maxDets=100 ] = 0.917\n",
" Average Precision (AP) @[ IoU=0.75 | area= all | maxDets=100 ] = 0.832\n",
" Average Precision (AP) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.101\n",
" Average Precision (AP) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.484\n",
" Average Precision (AP) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.717\n",
" Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets= 1 ] = 0.754\n",
" Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets= 10 ] = 0.765\n",
" Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.765\n",
" Average Recall (AR) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.100\n",
" Average Recall (AR) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.638\n",
" Average Recall (AR) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.791\n",
"INFO:tensorflow:Finished evaluation at 2022-05-24-15:04:28\n",
"I0524 15:04:28.630104 140682825586560 evaluation.py:275] Finished evaluation at 2022-05-24-15:04:28\n",
"INFO:tensorflow:Saving dict for global step 18524: DetectionBoxes_Precision/mAP = 0.6770512, DetectionBoxes_Precision/mAP (large) = 0.7166152, DetectionBoxes_Precision/mAP (medium) = 0.4837903, DetectionBoxes_Precision/mAP (small) = 0.1009901, DetectionBoxes_Precision/mAP@.50IOU = 0.9172244, DetectionBoxes_Precision/mAP@.75IOU = 0.8320934, DetectionBoxes_Recall/AR@1 = 0.75364274, DetectionBoxes_Recall/AR@10 = 0.7646637, DetectionBoxes_Recall/AR@100 = 0.764964, DetectionBoxes_Recall/AR@100 (large) = 0.7911172, DetectionBoxes_Recall/AR@100 (medium) = 0.6382747, DetectionBoxes_Recall/AR@100 (small) = 0.1, Loss/classification_loss = 0.24922946, Loss/localization_loss = 0.0787178, Loss/regularization_loss = 0.052406713, Loss/total_loss = 0.38035336, global_step = 18524, learning_rate = 0.007966024, loss = 0.38035336\n",
"I0524 15:04:28.630386 140682825586560 estimator.py:2049] Saving dict for global step 18524: DetectionBoxes_Precision/mAP = 0.6770512, DetectionBoxes_Precision/mAP (large) = 0.7166152, DetectionBoxes_Precision/mAP (medium) = 0.4837903, DetectionBoxes_Precision/mAP (small) = 0.1009901, DetectionBoxes_Precision/mAP@.50IOU = 0.9172244, DetectionBoxes_Precision/mAP@.75IOU = 0.8320934, DetectionBoxes_Recall/AR@1 = 0.75364274, DetectionBoxes_Recall/AR@10 = 0.7646637, DetectionBoxes_Recall/AR@100 = 0.764964, DetectionBoxes_Recall/AR@100 (large) = 0.7911172, DetectionBoxes_Recall/AR@100 (medium) = 0.6382747, DetectionBoxes_Recall/AR@100 (small) = 0.1, Loss/classification_loss = 0.24922946, Loss/localization_loss = 0.0787178, Loss/regularization_loss = 0.052406713, Loss/total_loss = 0.38035336, global_step = 18524, learning_rate = 0.007966024, loss = 0.38035336\n",
"INFO:tensorflow:Saving 'checkpoint_path' summary for global step 18524: /content/data/spaghettinet_edgetpu_l_quant_pet/model.ckpt-18524\n",
"I0524 15:04:28.633735 140682825586560 estimator.py:2109] Saving 'checkpoint_path' summary for global step 18524: /content/data/spaghettinet_edgetpu_l_quant_pet/model.ckpt-18524\n",
"INFO:tensorflow:global_step/sec: 0.415559\n",
"I0524 15:05:12.455174 140682825586560 basic_session_run_hooks.py:692] global_step/sec: 0.415559\n",
"INFO:tensorflow:loss = 0.3098757, step = 18600 (240.640 sec)\n",
"I0524 15:05:12.456205 140682825586560 basic_session_run_hooks.py:260] loss = 0.3098757, step = 18600 (240.640 sec)\n",
"INFO:tensorflow:global_step/sec: 1.78661\n",
"I0524 15:06:08.427229 140682825586560 basic_session_run_hooks.py:692] global_step/sec: 1.78661\n",
"INFO:tensorflow:loss = 0.50294155, step = 18700 (55.972 sec)\n",
"I0524 15:06:08.428229 140682825586560 basic_session_run_hooks.py:260] loss = 0.50294155, step = 18700 (55.972 sec)\n",
"Corrupt JPEG data: premature end of data segment\n",
"Corrupt JPEG data: premature end of data segment\n",
"INFO:tensorflow:global_step/sec: 1.78232\n",
"I0524 15:07:04.533905 140682825586560 basic_session_run_hooks.py:692] global_step/sec: 1.78232\n",
"INFO:tensorflow:loss = 0.3594661, step = 18800 (56.107 sec)\n",
"I0524 15:07:04.534931 140682825586560 basic_session_run_hooks.py:260] loss = 0.3594661, step = 18800 (56.107 sec)\n",
"Corrupt JPEG data: premature end of data segment\n",
"INFO:tensorflow:global_step/sec: 1.78043\n",
"I0524 15:08:00.700015 140682825586560 basic_session_run_hooks.py:692] global_step/sec: 1.78043\n",
"INFO:tensorflow:loss = 0.3923015, step = 18900 (56.166 sec)\n",
"I0524 15:08:00.701070 140682825586560 basic_session_run_hooks.py:260] loss = 0.3923015, step = 18900 (56.166 sec)\n",
"INFO:tensorflow:global_step/sec: 1.77908\n",
"I0524 15:08:56.908843 140682825586560 basic_session_run_hooks.py:692] global_step/sec: 1.77908\n",
"INFO:tensorflow:loss = 0.37282026, step = 19000 (56.209 sec)\n",
"I0524 15:08:56.909801 140682825586560 basic_session_run_hooks.py:260] loss = 0.37282026, step = 19000 (56.209 sec)\n",
"INFO:tensorflow:global_step/sec: 1.78061\n",
"I0524 15:09:53.069312 140682825586560 basic_session_run_hooks.py:692] global_step/sec: 1.78061\n",
"INFO:tensorflow:loss = 0.4798508, step = 19100 (56.160 sec)\n",
"I0524 15:09:53.070147 140682825586560 basic_session_run_hooks.py:260] loss = 0.4798508, step = 19100 (56.160 sec)\n",
"Corrupt JPEG data: premature end of data segment\n",
"INFO:tensorflow:global_step/sec: 1.77951\n",
"I0524 15:10:49.264409 140682825586560 basic_session_run_hooks.py:692] global_step/sec: 1.77951\n",
"INFO:tensorflow:loss = 0.37832358, step = 19200 (56.195 sec)\n",
"I0524 15:10:49.265527 140682825586560 basic_session_run_hooks.py:260] loss = 0.37832358, step = 19200 (56.195 sec)\n",
"INFO:tensorflow:Saving checkpoints for 19265 into /content/data/spaghettinet_edgetpu_l_quant_pet/model.ckpt.\n",
"I0524 15:11:25.172936 140682825586560 basic_session_run_hooks.py:606] Saving checkpoints for 19265 into /content/data/spaghettinet_edgetpu_l_quant_pet/model.ckpt.\n",
"INFO:tensorflow:Reading unweighted datasets: ['/content/data/tf_record/pet_faces_train.record-?????-of-00010']\n",
"I0524 15:11:28.736507 140682825586560 dataset_builder.py:162] Reading unweighted datasets: ['/content/data/tf_record/pet_faces_train.record-?????-of-00010']\n",
"INFO:tensorflow:Reading record datasets for input file: ['/content/data/tf_record/pet_faces_train.record-?????-of-00010']\n",
"I0524 15:11:28.737494 140682825586560 dataset_builder.py:79] Reading record datasets for input file: ['/content/data/tf_record/pet_faces_train.record-?????-of-00010']\n",
"INFO:tensorflow:Number of filenames to read: 10\n",
"I0524 15:11:28.737623 140682825586560 dataset_builder.py:80] Number of filenames to read: 10\n",
"WARNING:tensorflow:num_readers has been reduced to 10 to match input file shards.\n",
"W0524 15:11:28.737676 140682825586560 dataset_builder.py:87] num_readers has been reduced to 10 to match input file shards.\n",
"WARNING:tensorflow:`shuffle` is false, but the input data stream is still slightly shuffled since `num_readers` > 1.\n",
"W0524 15:11:28.738979 140682825586560 dataset_builder.py:93] `shuffle` is false, but the input data stream is still slightly shuffled since `num_readers` > 1.\n",
"WARNING:tensorflow:Entity <bound method TfExampleDecoder.decode of <object_detection.data_decoders.tf_example_decoder.TfExampleDecoder object at 0x7fee18107690>> could not be transformed and will be executed as-is. Please report this to the AutoGraph team. When filing the bug, set the verbosity to 10 (on Linux, `export AUTOGRAPH_VERBOSITY=10`) and attach the full output. Cause: module 'gast' has no attribute 'Index'\n",
"W0524 15:11:28.785492 140682825586560 ag_logging.py:146] Entity <bound method TfExampleDecoder.decode of <object_detection.data_decoders.tf_example_decoder.TfExampleDecoder object at 0x7fee18107690>> could not be transformed and will be executed as-is. Please report this to the AutoGraph team. When filing the bug, set the verbosity to 10 (on Linux, `export AUTOGRAPH_VERBOSITY=10`) and attach the full output. Cause: module 'gast' has no attribute 'Index'\n",
"WARNING:tensorflow:Entity <function eval_input.<locals>.transform_and_pad_input_data_fn at 0x7fee23c525f0> could not be transformed and will be executed as-is. Please report this to the AutoGraph team. When filing the bug, set the verbosity to 10 (on Linux, `export AUTOGRAPH_VERBOSITY=10`) and attach the full output. Cause: module 'gast' has no attribute 'Str'\n",
"W0524 15:11:28.945080 140682825586560 ag_logging.py:146] Entity <function eval_input.<locals>.transform_and_pad_input_data_fn at 0x7fee23c525f0> could not be transformed and will be executed as-is. Please report this to the AutoGraph team. When filing the bug, set the verbosity to 10 (on Linux, `export AUTOGRAPH_VERBOSITY=10`) and attach the full output. Cause: module 'gast' has no attribute 'Str'\n",
"INFO:tensorflow:Calling model_fn.\n",
"I0524 15:11:29.423166 140682825586560 estimator.py:1148] Calling model_fn.\n",
"INFO:tensorflow:depth of additional conv before box predictor: 0\n",
"I0524 15:11:32.739025 140682825586560 convolutional_box_predictor.py:155] depth of additional conv before box predictor: 0\n",
"INFO:tensorflow:depth of additional conv before box predictor: 0\n",
"I0524 15:11:32.812056 140682825586560 convolutional_box_predictor.py:155] depth of additional conv before box predictor: 0\n",
"INFO:tensorflow:depth of additional conv before box predictor: 0\n",
"I0524 15:11:32.882568 140682825586560 convolutional_box_predictor.py:155] depth of additional conv before box predictor: 0\n",
"INFO:tensorflow:depth of additional conv before box predictor: 0\n",
"I0524 15:11:32.954515 140682825586560 convolutional_box_predictor.py:155] depth of additional conv before box predictor: 0\n",
"INFO:tensorflow:depth of additional conv before box predictor: 0\n",
"I0524 15:11:33.030486 140682825586560 convolutional_box_predictor.py:155] depth of additional conv before box predictor: 0\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/add_13\n",
"I0524 15:11:36.753092 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/add_13\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/add_17\n",
"I0524 15:11:36.754524 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/add_17\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/add_21\n",
"I0524 15:11:36.755836 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/add_21\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/add_25\n",
"I0524 15:11:36.757147 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/add_25\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/add_28\n",
"I0524 15:11:36.758078 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/add_28\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/stem_node/stem/add_fold\n",
"I0524 15:11:36.771373 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/stem_node/stem/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n0_0/slice_0/add_fold\n",
"I0524 15:11:36.771594 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n0_0/slice_0/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n0_0/slice_1/add_fold\n",
"I0524 15:11:36.771745 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n0_0/slice_1/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n0_0/slice_2/add_fold\n",
"I0524 15:11:36.771882 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n0_0/slice_2/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_0/slice_0/add_fold\n",
"I0524 15:11:36.772112 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_0/slice_0/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_0/slice_1/add_fold\n",
"I0524 15:11:36.772247 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_0/slice_1/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_0/slice_2/add_fold\n",
"I0524 15:11:36.772379 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_0/slice_2/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_0/slice_3/add_fold\n",
"I0524 15:11:36.772507 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_0/slice_3/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_1/slice_0/add_fold\n",
"I0524 15:11:36.772720 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_1/slice_0/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_1/slice_1/add_fold\n",
"I0524 15:11:36.772857 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_1/slice_1/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_1/slice_2/add_fold\n",
"I0524 15:11:36.772996 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_1/slice_2/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_1/slice_3/add_fold\n",
"I0524 15:11:36.773130 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_1/slice_3/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_2/slice_0/add_fold\n",
"I0524 15:11:36.773346 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_2/slice_0/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_2/slice_1/add_fold\n",
"I0524 15:11:36.773479 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_2/slice_1/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_2/slice_2/add_fold\n",
"I0524 15:11:36.773608 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_2/slice_2/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_2/slice_3/add_fold\n",
"I0524 15:11:36.773744 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_2/slice_3/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_3/slice_0/add_fold\n",
"I0524 15:11:36.773969 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_3/slice_0/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_3/slice_1/add_fold\n",
"I0524 15:11:36.774129 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_3/slice_1/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_3/slice_2/add_fold\n",
"I0524 15:11:36.774260 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_3/slice_2/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_3/slice_3/add_fold\n",
"I0524 15:11:36.774391 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_3/slice_3/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_0/expansion/add_fold\n",
"I0524 15:11:36.774605 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_0/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_0/depthwise/add_fold\n",
"I0524 15:11:36.774764 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_0/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_1/expansion/add_fold\n",
"I0524 15:11:36.774988 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_1/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_1/depthwise/add_fold\n",
"I0524 15:11:36.775130 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_1/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_2/expansion/add_fold\n",
"I0524 15:11:36.775388 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_2/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_2/depthwise/add_fold\n",
"I0524 15:11:36.775559 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_2/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_3/expansion/add_fold\n",
"I0524 15:11:36.775789 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_3/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_3/depthwise/add_fold\n",
"I0524 15:11:36.775947 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_3/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_0/expansion/add_fold\n",
"I0524 15:11:36.776170 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_0/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_0/depthwise/add_fold\n",
"I0524 15:11:36.776309 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_0/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_1/expansion/add_fold\n",
"I0524 15:11:36.776525 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_1/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_1/depthwise/add_fold\n",
"I0524 15:11:36.776664 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_1/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_2/expansion/add_fold\n",
"I0524 15:11:36.776884 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_2/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_2/depthwise/add_fold\n",
"I0524 15:11:36.777035 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_2/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_3/expansion/add_fold\n",
"I0524 15:11:36.777256 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_3/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_3/depthwise/add_fold\n",
"I0524 15:11:36.777395 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_3/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_0/expansion/add_fold\n",
"I0524 15:11:36.777615 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_0/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_0/depthwise/add_fold\n",
"I0524 15:11:36.777763 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_0/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_1/expansion/add_fold\n",
"I0524 15:11:36.777986 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_1/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_1/depthwise/add_fold\n",
"I0524 15:11:36.778126 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_1/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_2/expansion/add_fold\n",
"I0524 15:11:36.778341 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_2/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_2/depthwise/add_fold\n",
"I0524 15:11:36.778479 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_2/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_3/expansion/add_fold\n",
"I0524 15:11:36.778694 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_3/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_3/depthwise/add_fold\n",
"I0524 15:11:36.778840 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_3/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n5_0/expansion/add_fold\n",
"I0524 15:11:36.779067 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n5_0/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n5_0/depthwise/add_fold\n",
"I0524 15:11:36.779213 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n5_0/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n5_1/pointwise/add_fold\n",
"I0524 15:11:36.779427 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n5_1/pointwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_0/expansion/add_fold\n",
"I0524 15:11:36.779738 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_0/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_0/depthwise/add_fold\n",
"I0524 15:11:36.779881 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_0/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_1/expansion/add_fold\n",
"I0524 15:11:36.780107 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_1/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_1/depthwise/add_fold\n",
"I0524 15:11:36.780248 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_1/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_2/expansion/add_fold\n",
"I0524 15:11:36.780463 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_2/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_2/depthwise/add_fold\n",
"I0524 15:11:36.780603 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_2/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_3/expansion/add_fold\n",
"I0524 15:11:36.780821 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_3/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_3/depthwise/add_fold\n",
"I0524 15:11:36.780987 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_3/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_0/expansion/add_fold\n",
"I0524 15:11:36.781384 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_0/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_0/depthwise/add_fold\n",
"I0524 15:11:36.781529 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_0/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_1/expansion/add_fold\n",
"I0524 15:11:36.781752 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_1/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_1/depthwise/add_fold\n",
"I0524 15:11:36.788440 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_1/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_2/expansion/add_fold\n",
"I0524 15:11:36.788755 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_2/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_2/depthwise/add_fold\n",
"I0524 15:11:36.788985 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_2/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_3/expansion/add_fold\n",
"I0524 15:11:36.789344 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_3/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_3/depthwise/add_fold\n",
"I0524 15:11:36.789609 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_3/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_0/expansion/add_fold\n",
"I0524 15:11:36.790385 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_0/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_0/depthwise/add_fold\n",
"I0524 15:11:36.790616 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_0/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_1/expansion/add_fold\n",
"I0524 15:11:36.790850 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_1/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_1/depthwise/add_fold\n",
"I0524 15:11:36.791010 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_1/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_2/expansion/add_fold\n",
"I0524 15:11:36.791243 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_2/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_2/depthwise/add_fold\n",
"I0524 15:11:36.791403 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_2/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_3/expansion/add_fold\n",
"I0524 15:11:36.791624 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_3/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_3/depthwise/add_fold\n",
"I0524 15:11:36.791769 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_3/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n3_0/expansion/add_fold\n",
"I0524 15:11:36.792161 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n3_0/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n3_0/depthwise/add_fold\n",
"I0524 15:11:36.792326 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n3_0/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n3_1/expansion/add_fold\n",
"I0524 15:11:36.792545 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n3_1/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n3_1/depthwise/add_fold\n",
"I0524 15:11:36.792684 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n3_1/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n3_2/pointwise/add_fold\n",
"I0524 15:11:36.792902 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n3_2/pointwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n4_0/expansion/add_fold\n",
"I0524 15:11:36.793215 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n4_0/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n4_0/depthwise/add_fold\n",
"I0524 15:11:36.793365 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n4_0/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n4_1/expansion/add_fold\n",
"I0524 15:11:36.793581 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n4_1/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n4_1/depthwise/add_fold\n",
"I0524 15:11:36.793721 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n4_1/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n5_0/pointwise/add_fold\n",
"I0524 15:11:36.793952 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n5_0/pointwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n5_1/pointwise/add_fold\n",
"I0524 15:11:36.794103 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n5_1/pointwise/add_fold\n",
"INFO:tensorflow:Skipping quant after BoxPredictor_0/BoxEncodingPredictor_depthwise/add_fold\n",
"I0524 15:11:36.794251 140682825586560 quantize.py:364] Skipping quant after BoxPredictor_0/BoxEncodingPredictor_depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after BoxPredictor_0/ClassPredictor_depthwise/add_fold\n",
"I0524 15:11:36.794394 140682825586560 quantize.py:364] Skipping quant after BoxPredictor_0/ClassPredictor_depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after BoxPredictor_1/BoxEncodingPredictor_depthwise/add_fold\n",
"I0524 15:11:36.794543 140682825586560 quantize.py:364] Skipping quant after BoxPredictor_1/BoxEncodingPredictor_depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after BoxPredictor_1/ClassPredictor_depthwise/add_fold\n",
"I0524 15:11:36.794683 140682825586560 quantize.py:364] Skipping quant after BoxPredictor_1/ClassPredictor_depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after BoxPredictor_2/BoxEncodingPredictor_depthwise/add_fold\n",
"I0524 15:11:36.794822 140682825586560 quantize.py:364] Skipping quant after BoxPredictor_2/BoxEncodingPredictor_depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after BoxPredictor_2/ClassPredictor_depthwise/add_fold\n",
"I0524 15:11:36.794968 140682825586560 quantize.py:364] Skipping quant after BoxPredictor_2/ClassPredictor_depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after BoxPredictor_3/BoxEncodingPredictor_depthwise/add_fold\n",
"I0524 15:11:36.795107 140682825586560 quantize.py:364] Skipping quant after BoxPredictor_3/BoxEncodingPredictor_depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after BoxPredictor_3/ClassPredictor_depthwise/add_fold\n",
"I0524 15:11:36.795308 140682825586560 quantize.py:364] Skipping quant after BoxPredictor_3/ClassPredictor_depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after BoxPredictor_4/BoxEncodingPredictor_depthwise/add_fold\n",
"I0524 15:11:36.795542 140682825586560 quantize.py:364] Skipping quant after BoxPredictor_4/BoxEncodingPredictor_depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after BoxPredictor_4/ClassPredictor_depthwise/add_fold\n",
"I0524 15:11:36.795704 140682825586560 quantize.py:364] Skipping quant after BoxPredictor_4/ClassPredictor_depthwise/add_fold\n",
"INFO:tensorflow:Inserting act_quant op for standalone Relu6 op: FeatureExtractor/spaghettinet_edgetpu_l/Relu6.\n",
"I0524 15:11:36.848326 140682825586560 quantize.py:325] Inserting act_quant op for standalone Relu6 op: FeatureExtractor/spaghettinet_edgetpu_l/Relu6.\n",
"INFO:tensorflow:Inserting act_quant op for standalone Relu6 op: FeatureExtractor/spaghettinet_edgetpu_l/Relu6_1.\n",
"I0524 15:11:36.855887 140682825586560 quantize.py:325] Inserting act_quant op for standalone Relu6 op: FeatureExtractor/spaghettinet_edgetpu_l/Relu6_1.\n",
"INFO:tensorflow:Inserting act_quant op for standalone Relu6 op: FeatureExtractor/spaghettinet_edgetpu_l/Relu6_2.\n",
"I0524 15:11:36.862454 140682825586560 quantize.py:325] Inserting act_quant op for standalone Relu6 op: FeatureExtractor/spaghettinet_edgetpu_l/Relu6_2.\n",
"INFO:tensorflow:Inserting act_quant op for standalone Relu6 op: FeatureExtractor/spaghettinet_edgetpu_l/Relu6_3.\n",
"I0524 15:11:36.869105 140682825586560 quantize.py:325] Inserting act_quant op for standalone Relu6 op: FeatureExtractor/spaghettinet_edgetpu_l/Relu6_3.\n",
"INFO:tensorflow:Inserting act_quant op for standalone Relu6 op: FeatureExtractor/spaghettinet_edgetpu_l/Relu6_4.\n",
"I0524 15:11:36.875347 140682825586560 quantize.py:325] Inserting act_quant op for standalone Relu6 op: FeatureExtractor/spaghettinet_edgetpu_l/Relu6_4.\n",
"INFO:tensorflow:Done calling model_fn.\n",
"I0524 15:11:38.224926 140682825586560 estimator.py:1150] Done calling model_fn.\n",
"INFO:tensorflow:Starting evaluation at 2022-05-24T15:11:38Z\n",
"I0524 15:11:38.240047 140682825586560 evaluation.py:255] Starting evaluation at 2022-05-24T15:11:38Z\n",
"INFO:tensorflow:Graph was finalized.\n",
"I0524 15:11:39.663859 140682825586560 monitored_session.py:240] Graph was finalized.\n",
"2022-05-24 15:11:39.664558: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:983] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n",
"2022-05-24 15:11:39.664893: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1639] Found device 0 with properties: \n",
"name: Tesla T4 major: 7 minor: 5 memoryClockRate(GHz): 1.59\n",
"pciBusID: 0000:00:04.0\n",
"2022-05-24 15:11:39.665027: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcudart.so.10.1\n",
"2022-05-24 15:11:39.665057: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcublas.so.10\n",
"2022-05-24 15:11:39.665072: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcufft.so.10\n",
"2022-05-24 15:11:39.665088: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcurand.so.10\n",
"2022-05-24 15:11:39.665102: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcusolver.so.10\n",
"2022-05-24 15:11:39.665116: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcusparse.so.10\n",
"2022-05-24 15:11:39.665131: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcudnn.so.7\n",
"2022-05-24 15:11:39.665216: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:983] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n",
"2022-05-24 15:11:39.665457: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:983] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n",
"2022-05-24 15:11:39.665632: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1767] Adding visible gpu devices: 0\n",
"2022-05-24 15:11:39.665698: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1180] Device interconnect StreamExecutor with strength 1 edge matrix:\n",
"2022-05-24 15:11:39.665716: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1186] 0 \n",
"2022-05-24 15:11:39.665722: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1199] 0: N \n",
"2022-05-24 15:11:39.665806: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:983] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n",
"2022-05-24 15:11:39.666044: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:983] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n",
"2022-05-24 15:11:39.666232: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1325] Created TensorFlow device (/job:localhost/replica:0/task:0/device:GPU:0 with 14257 MB memory) -> physical GPU (device: 0, name: Tesla T4, pci bus id: 0000:00:04.0, compute capability: 7.5)\n",
"INFO:tensorflow:Restoring parameters from /content/data/spaghettinet_edgetpu_l_quant_pet/model.ckpt-19265\n",
"I0524 15:11:39.667585 140682825586560 saver.py:1284] Restoring parameters from /content/data/spaghettinet_edgetpu_l_quant_pet/model.ckpt-19265\n",
"INFO:tensorflow:Running local_init_op.\n",
"I0524 15:11:42.879199 140682825586560 session_manager.py:500] Running local_init_op.\n",
"INFO:tensorflow:Done running local_init_op.\n",
"I0524 15:11:43.183813 140682825586560 session_manager.py:502] Done running local_init_op.\n",
"Corrupt JPEG data: premature end of data segment\n",
"INFO:tensorflow:Performing evaluation on 2568 images.\n",
"I0524 15:14:03.566341 140678246762240 coco_evaluation.py:293] Performing evaluation on 2568 images.\n",
"creating index...\n",
"index created!\n",
"INFO:tensorflow:Loading and preparing annotation results...\n",
"I0524 15:14:03.573040 140678246762240 coco_tools.py:116] Loading and preparing annotation results...\n",
"INFO:tensorflow:DONE (t=0.17s)\n",
"I0524 15:14:03.746605 140678246762240 coco_tools.py:138] DONE (t=0.17s)\n",
"creating index...\n",
"index created!\n",
"Running per image evaluation...\n",
"Evaluate annotation type *bbox*\n",
"DONE (t=17.82s).\n",
"Accumulating evaluation results...\n",
"DONE (t=5.78s).\n",
" Average Precision (AP) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.674\n",
" Average Precision (AP) @[ IoU=0.50 | area= all | maxDets=100 ] = 0.920\n",
" Average Precision (AP) @[ IoU=0.75 | area= all | maxDets=100 ] = 0.828\n",
" Average Precision (AP) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.251\n",
" Average Precision (AP) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.471\n",
" Average Precision (AP) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.712\n",
" Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets= 1 ] = 0.750\n",
" Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets= 10 ] = 0.766\n",
" Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.766\n",
" Average Recall (AR) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.250\n",
" Average Recall (AR) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.656\n",
" Average Recall (AR) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.789\n",
"INFO:tensorflow:Finished evaluation at 2022-05-24-15:14:28\n",
"I0524 15:14:28.424838 140682825586560 evaluation.py:275] Finished evaluation at 2022-05-24-15:14:28\n",
"INFO:tensorflow:Saving dict for global step 19265: DetectionBoxes_Precision/mAP = 0.6743503, DetectionBoxes_Precision/mAP (large) = 0.7119889, DetectionBoxes_Precision/mAP (medium) = 0.47088987, DetectionBoxes_Precision/mAP (small) = 0.25148514, DetectionBoxes_Precision/mAP@.50IOU = 0.92021143, DetectionBoxes_Precision/mAP@.75IOU = 0.8282423, DetectionBoxes_Recall/AR@1 = 0.75040656, DetectionBoxes_Recall/AR@10 = 0.7656651, DetectionBoxes_Recall/AR@100 = 0.76574504, DetectionBoxes_Recall/AR@100 (large) = 0.7885298, DetectionBoxes_Recall/AR@100 (medium) = 0.65561026, DetectionBoxes_Recall/AR@100 (small) = 0.25, Loss/classification_loss = 0.26194283, Loss/localization_loss = 0.07920094, Loss/regularization_loss = 0.052595347, Loss/total_loss = 0.39373782, global_step = 19265, learning_rate = 0.007962913, loss = 0.39373782\n",
"I0524 15:14:28.425105 140682825586560 estimator.py:2049] Saving dict for global step 19265: DetectionBoxes_Precision/mAP = 0.6743503, DetectionBoxes_Precision/mAP (large) = 0.7119889, DetectionBoxes_Precision/mAP (medium) = 0.47088987, DetectionBoxes_Precision/mAP (small) = 0.25148514, DetectionBoxes_Precision/mAP@.50IOU = 0.92021143, DetectionBoxes_Precision/mAP@.75IOU = 0.8282423, DetectionBoxes_Recall/AR@1 = 0.75040656, DetectionBoxes_Recall/AR@10 = 0.7656651, DetectionBoxes_Recall/AR@100 = 0.76574504, DetectionBoxes_Recall/AR@100 (large) = 0.7885298, DetectionBoxes_Recall/AR@100 (medium) = 0.65561026, DetectionBoxes_Recall/AR@100 (small) = 0.25, Loss/classification_loss = 0.26194283, Loss/localization_loss = 0.07920094, Loss/regularization_loss = 0.052595347, Loss/total_loss = 0.39373782, global_step = 19265, learning_rate = 0.007962913, loss = 0.39373782\n",
"INFO:tensorflow:Saving 'checkpoint_path' summary for global step 19265: /content/data/spaghettinet_edgetpu_l_quant_pet/model.ckpt-19265\n",
"I0524 15:14:28.428175 140682825586560 estimator.py:2109] Saving 'checkpoint_path' summary for global step 19265: /content/data/spaghettinet_edgetpu_l_quant_pet/model.ckpt-19265\n",
"INFO:tensorflow:global_step/sec: 0.416935\n",
"I0524 15:14:49.109912 140682825586560 basic_session_run_hooks.py:692] global_step/sec: 0.416935\n",
"INFO:tensorflow:loss = 0.36658794, step = 19300 (239.845 sec)\n",
"I0524 15:14:49.110952 140682825586560 basic_session_run_hooks.py:260] loss = 0.36658794, step = 19300 (239.845 sec)\n",
"INFO:tensorflow:global_step/sec: 1.78558\n",
"I0524 15:15:45.114089 140682825586560 basic_session_run_hooks.py:692] global_step/sec: 1.78558\n",
"INFO:tensorflow:loss = 0.46516988, step = 19400 (56.004 sec)\n",
"I0524 15:15:45.115002 140682825586560 basic_session_run_hooks.py:260] loss = 0.46516988, step = 19400 (56.004 sec)\n",
"INFO:tensorflow:global_step/sec: 1.77532\n",
"I0524 15:16:41.441909 140682825586560 basic_session_run_hooks.py:692] global_step/sec: 1.77532\n",
"INFO:tensorflow:loss = 0.4547718, step = 19500 (56.328 sec)\n",
"I0524 15:16:41.442979 140682825586560 basic_session_run_hooks.py:260] loss = 0.4547718, step = 19500 (56.328 sec)\n",
"Corrupt JPEG data: premature end of data segment\n",
"INFO:tensorflow:global_step/sec: 1.78802\n",
"I0524 15:17:37.369689 140682825586560 basic_session_run_hooks.py:692] global_step/sec: 1.78802\n",
"INFO:tensorflow:loss = 0.4056434, step = 19600 (55.928 sec)\n",
"I0524 15:17:37.370777 140682825586560 basic_session_run_hooks.py:260] loss = 0.4056434, step = 19600 (55.928 sec)\n",
"Corrupt JPEG data: premature end of data segment\n",
"Corrupt JPEG data: premature end of data segment\n",
"INFO:tensorflow:global_step/sec: 1.78325\n",
"I0524 15:18:33.447011 140682825586560 basic_session_run_hooks.py:692] global_step/sec: 1.78325\n",
"INFO:tensorflow:loss = 0.45733863, step = 19700 (56.077 sec)\n",
"I0524 15:18:33.447760 140682825586560 basic_session_run_hooks.py:260] loss = 0.45733863, step = 19700 (56.077 sec)\n",
"Corrupt JPEG data: premature end of data segment\n",
"INFO:tensorflow:global_step/sec: 1.78346\n",
"I0524 15:19:29.517879 140682825586560 basic_session_run_hooks.py:692] global_step/sec: 1.78346\n",
"INFO:tensorflow:loss = 0.6272316, step = 19800 (56.071 sec)\n",
"I0524 15:19:29.518762 140682825586560 basic_session_run_hooks.py:260] loss = 0.6272316, step = 19800 (56.071 sec)\n",
"INFO:tensorflow:global_step/sec: 1.78448\n",
"I0524 15:20:25.556638 140682825586560 basic_session_run_hooks.py:692] global_step/sec: 1.78448\n",
"INFO:tensorflow:loss = 0.36765862, step = 19900 (56.039 sec)\n",
"I0524 15:20:25.557670 140682825586560 basic_session_run_hooks.py:260] loss = 0.36765862, step = 19900 (56.039 sec)\n",
"Corrupt JPEG data: premature end of data segment\n",
"Corrupt JPEG data: premature end of data segment\n",
"INFO:tensorflow:global_step/sec: 1.78359\n",
"I0524 15:21:21.623331 140682825586560 basic_session_run_hooks.py:692] global_step/sec: 1.78359\n",
"INFO:tensorflow:loss = 0.28574517, step = 20000 (56.067 sec)\n",
"I0524 15:21:21.624250 140682825586560 basic_session_run_hooks.py:260] loss = 0.28574517, step = 20000 (56.067 sec)\n",
"INFO:tensorflow:Saving checkpoints for 20007 into /content/data/spaghettinet_edgetpu_l_quant_pet/model.ckpt.\n",
"I0524 15:21:25.289631 140682825586560 basic_session_run_hooks.py:606] Saving checkpoints for 20007 into /content/data/spaghettinet_edgetpu_l_quant_pet/model.ckpt.\n",
"INFO:tensorflow:Reading unweighted datasets: ['/content/data/tf_record/pet_faces_train.record-?????-of-00010']\n",
"I0524 15:21:28.805511 140682825586560 dataset_builder.py:162] Reading unweighted datasets: ['/content/data/tf_record/pet_faces_train.record-?????-of-00010']\n",
"INFO:tensorflow:Reading record datasets for input file: ['/content/data/tf_record/pet_faces_train.record-?????-of-00010']\n",
"I0524 15:21:28.806532 140682825586560 dataset_builder.py:79] Reading record datasets for input file: ['/content/data/tf_record/pet_faces_train.record-?????-of-00010']\n",
"INFO:tensorflow:Number of filenames to read: 10\n",
"I0524 15:21:28.806653 140682825586560 dataset_builder.py:80] Number of filenames to read: 10\n",
"WARNING:tensorflow:num_readers has been reduced to 10 to match input file shards.\n",
"W0524 15:21:28.806721 140682825586560 dataset_builder.py:87] num_readers has been reduced to 10 to match input file shards.\n",
"WARNING:tensorflow:`shuffle` is false, but the input data stream is still slightly shuffled since `num_readers` > 1.\n",
"W0524 15:21:28.808005 140682825586560 dataset_builder.py:93] `shuffle` is false, but the input data stream is still slightly shuffled since `num_readers` > 1.\n",
"WARNING:tensorflow:Entity <bound method TfExampleDecoder.decode of <object_detection.data_decoders.tf_example_decoder.TfExampleDecoder object at 0x7fee114a7ed0>> could not be transformed and will be executed as-is. Please report this to the AutoGraph team. When filing the bug, set the verbosity to 10 (on Linux, `export AUTOGRAPH_VERBOSITY=10`) and attach the full output. Cause: module 'gast' has no attribute 'Index'\n",
"W0524 15:21:28.855702 140682825586560 ag_logging.py:146] Entity <bound method TfExampleDecoder.decode of <object_detection.data_decoders.tf_example_decoder.TfExampleDecoder object at 0x7fee114a7ed0>> could not be transformed and will be executed as-is. Please report this to the AutoGraph team. When filing the bug, set the verbosity to 10 (on Linux, `export AUTOGRAPH_VERBOSITY=10`) and attach the full output. Cause: module 'gast' has no attribute 'Index'\n",
"WARNING:tensorflow:Entity <function eval_input.<locals>.transform_and_pad_input_data_fn at 0x7fedfe6be170> could not be transformed and will be executed as-is. Please report this to the AutoGraph team. When filing the bug, set the verbosity to 10 (on Linux, `export AUTOGRAPH_VERBOSITY=10`) and attach the full output. Cause: module 'gast' has no attribute 'Str'\n",
"W0524 15:21:29.015803 140682825586560 ag_logging.py:146] Entity <function eval_input.<locals>.transform_and_pad_input_data_fn at 0x7fedfe6be170> could not be transformed and will be executed as-is. Please report this to the AutoGraph team. When filing the bug, set the verbosity to 10 (on Linux, `export AUTOGRAPH_VERBOSITY=10`) and attach the full output. Cause: module 'gast' has no attribute 'Str'\n",
"INFO:tensorflow:Calling model_fn.\n",
"I0524 15:21:29.497646 140682825586560 estimator.py:1148] Calling model_fn.\n",
"INFO:tensorflow:depth of additional conv before box predictor: 0\n",
"I0524 15:21:33.547411 140682825586560 convolutional_box_predictor.py:155] depth of additional conv before box predictor: 0\n",
"INFO:tensorflow:depth of additional conv before box predictor: 0\n",
"I0524 15:21:33.627784 140682825586560 convolutional_box_predictor.py:155] depth of additional conv before box predictor: 0\n",
"INFO:tensorflow:depth of additional conv before box predictor: 0\n",
"I0524 15:21:33.709143 140682825586560 convolutional_box_predictor.py:155] depth of additional conv before box predictor: 0\n",
"INFO:tensorflow:depth of additional conv before box predictor: 0\n",
"I0524 15:21:33.785546 140682825586560 convolutional_box_predictor.py:155] depth of additional conv before box predictor: 0\n",
"INFO:tensorflow:depth of additional conv before box predictor: 0\n",
"I0524 15:21:33.862035 140682825586560 convolutional_box_predictor.py:155] depth of additional conv before box predictor: 0\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/add_13\n",
"I0524 15:21:37.667599 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/add_13\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/add_17\n",
"I0524 15:21:37.669066 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/add_17\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/add_21\n",
"I0524 15:21:37.670409 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/add_21\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/add_25\n",
"I0524 15:21:37.671744 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/add_25\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/add_28\n",
"I0524 15:21:37.672677 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/add_28\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/stem_node/stem/add_fold\n",
"I0524 15:21:37.686249 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/stem_node/stem/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n0_0/slice_0/add_fold\n",
"I0524 15:21:37.686487 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n0_0/slice_0/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n0_0/slice_1/add_fold\n",
"I0524 15:21:37.686652 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n0_0/slice_1/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n0_0/slice_2/add_fold\n",
"I0524 15:21:37.686830 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n0_0/slice_2/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_0/slice_0/add_fold\n",
"I0524 15:21:37.687093 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_0/slice_0/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_0/slice_1/add_fold\n",
"I0524 15:21:37.687271 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_0/slice_1/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_0/slice_2/add_fold\n",
"I0524 15:21:37.687425 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_0/slice_2/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_0/slice_3/add_fold\n",
"I0524 15:21:37.687574 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_0/slice_3/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_1/slice_0/add_fold\n",
"I0524 15:21:37.687825 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_1/slice_0/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_1/slice_1/add_fold\n",
"I0524 15:21:37.687991 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_1/slice_1/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_1/slice_2/add_fold\n",
"I0524 15:21:37.688146 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_1/slice_2/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_1/slice_3/add_fold\n",
"I0524 15:21:37.688297 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_1/slice_3/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_2/slice_0/add_fold\n",
"I0524 15:21:37.688546 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_2/slice_0/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_2/slice_1/add_fold\n",
"I0524 15:21:37.688700 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_2/slice_1/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_2/slice_2/add_fold\n",
"I0524 15:21:37.688860 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_2/slice_2/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_2/slice_3/add_fold\n",
"I0524 15:21:37.689019 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_2/slice_3/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_3/slice_0/add_fold\n",
"I0524 15:21:37.689271 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_3/slice_0/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_3/slice_1/add_fold\n",
"I0524 15:21:37.689454 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_3/slice_1/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_3/slice_2/add_fold\n",
"I0524 15:21:37.689605 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_3/slice_2/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_3/slice_3/add_fold\n",
"I0524 15:21:37.689766 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_3/slice_3/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_0/expansion/add_fold\n",
"I0524 15:21:37.690026 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_0/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_0/depthwise/add_fold\n",
"I0524 15:21:37.690194 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_0/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_1/expansion/add_fold\n",
"I0524 15:21:37.690442 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_1/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_1/depthwise/add_fold\n",
"I0524 15:21:37.690606 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_1/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_2/expansion/add_fold\n",
"I0524 15:21:37.690860 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_2/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_2/depthwise/add_fold\n",
"I0524 15:21:37.691031 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_2/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_3/expansion/add_fold\n",
"I0524 15:21:37.691281 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_3/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_3/depthwise/add_fold\n",
"I0524 15:21:37.691443 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_3/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_0/expansion/add_fold\n",
"I0524 15:21:37.691693 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_0/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_0/depthwise/add_fold\n",
"I0524 15:21:37.691861 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_0/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_1/expansion/add_fold\n",
"I0524 15:21:37.692119 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_1/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_1/depthwise/add_fold\n",
"I0524 15:21:37.692280 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_1/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_2/expansion/add_fold\n",
"I0524 15:21:37.692527 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_2/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_2/depthwise/add_fold\n",
"I0524 15:21:37.692737 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_2/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_3/expansion/add_fold\n",
"I0524 15:21:37.693028 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_3/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_3/depthwise/add_fold\n",
"I0524 15:21:37.693197 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_3/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_0/expansion/add_fold\n",
"I0524 15:21:37.693455 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_0/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_0/depthwise/add_fold\n",
"I0524 15:21:37.693621 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_0/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_1/expansion/add_fold\n",
"I0524 15:21:37.693882 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_1/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_1/depthwise/add_fold\n",
"I0524 15:21:37.694079 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_1/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_2/expansion/add_fold\n",
"I0524 15:21:37.694345 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_2/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_2/depthwise/add_fold\n",
"I0524 15:21:37.694512 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_2/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_3/expansion/add_fold\n",
"I0524 15:21:37.694792 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_3/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_3/depthwise/add_fold\n",
"I0524 15:21:37.694971 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_3/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n5_0/expansion/add_fold\n",
"I0524 15:21:37.695225 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n5_0/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n5_0/depthwise/add_fold\n",
"I0524 15:21:37.695389 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n5_0/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n5_1/pointwise/add_fold\n",
"I0524 15:21:37.695638 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n5_1/pointwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_0/expansion/add_fold\n",
"I0524 15:21:37.696001 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_0/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_0/depthwise/add_fold\n",
"I0524 15:21:37.696169 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_0/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_1/expansion/add_fold\n",
"I0524 15:21:37.696420 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_1/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_1/depthwise/add_fold\n",
"I0524 15:21:37.696601 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_1/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_2/expansion/add_fold\n",
"I0524 15:21:37.696855 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_2/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_2/depthwise/add_fold\n",
"I0524 15:21:37.697026 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_2/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_3/expansion/add_fold\n",
"I0524 15:21:37.697278 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_3/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_3/depthwise/add_fold\n",
"I0524 15:21:37.697438 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_3/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_0/expansion/add_fold\n",
"I0524 15:21:37.697885 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_0/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_0/depthwise/add_fold\n",
"I0524 15:21:37.698062 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_0/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_1/expansion/add_fold\n",
"I0524 15:21:37.698309 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_1/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_1/depthwise/add_fold\n",
"I0524 15:21:37.750121 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_1/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_2/expansion/add_fold\n",
"I0524 15:21:37.750678 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_2/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_2/depthwise/add_fold\n",
"I0524 15:21:37.751021 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_2/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_3/expansion/add_fold\n",
"I0524 15:21:37.751476 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_3/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_3/depthwise/add_fold\n",
"I0524 15:21:37.751783 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_3/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_0/expansion/add_fold\n",
"I0524 15:21:37.752565 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_0/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_0/depthwise/add_fold\n",
"I0524 15:21:37.752904 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_0/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_1/expansion/add_fold\n",
"I0524 15:21:37.753269 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_1/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_1/depthwise/add_fold\n",
"I0524 15:21:37.753457 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_1/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_2/expansion/add_fold\n",
"I0524 15:21:37.753722 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_2/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_2/depthwise/add_fold\n",
"I0524 15:21:37.753910 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_2/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_3/expansion/add_fold\n",
"I0524 15:21:37.754179 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_3/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_3/depthwise/add_fold\n",
"I0524 15:21:37.754355 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_3/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n3_0/expansion/add_fold\n",
"I0524 15:21:37.754806 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n3_0/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n3_0/depthwise/add_fold\n",
"I0524 15:21:37.754993 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n3_0/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n3_1/expansion/add_fold\n",
"I0524 15:21:37.755257 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n3_1/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n3_1/depthwise/add_fold\n",
"I0524 15:21:37.755427 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n3_1/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n3_2/pointwise/add_fold\n",
"I0524 15:21:37.755675 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n3_2/pointwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n4_0/expansion/add_fold\n",
"I0524 15:21:37.756057 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n4_0/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n4_0/depthwise/add_fold\n",
"I0524 15:21:37.756232 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n4_0/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n4_1/expansion/add_fold\n",
"I0524 15:21:37.756483 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n4_1/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n4_1/depthwise/add_fold\n",
"I0524 15:21:37.756672 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n4_1/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n5_0/pointwise/add_fold\n",
"I0524 15:21:37.756930 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n5_0/pointwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n5_1/pointwise/add_fold\n",
"I0524 15:21:37.757093 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n5_1/pointwise/add_fold\n",
"INFO:tensorflow:Skipping quant after BoxPredictor_0/BoxEncodingPredictor_depthwise/add_fold\n",
"I0524 15:21:37.757274 140682825586560 quantize.py:364] Skipping quant after BoxPredictor_0/BoxEncodingPredictor_depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after BoxPredictor_0/ClassPredictor_depthwise/add_fold\n",
"I0524 15:21:37.757437 140682825586560 quantize.py:364] Skipping quant after BoxPredictor_0/ClassPredictor_depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after BoxPredictor_1/BoxEncodingPredictor_depthwise/add_fold\n",
"I0524 15:21:37.757601 140682825586560 quantize.py:364] Skipping quant after BoxPredictor_1/BoxEncodingPredictor_depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after BoxPredictor_1/ClassPredictor_depthwise/add_fold\n",
"I0524 15:21:37.757761 140682825586560 quantize.py:364] Skipping quant after BoxPredictor_1/ClassPredictor_depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after BoxPredictor_2/BoxEncodingPredictor_depthwise/add_fold\n",
"I0524 15:21:37.757930 140682825586560 quantize.py:364] Skipping quant after BoxPredictor_2/BoxEncodingPredictor_depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after BoxPredictor_2/ClassPredictor_depthwise/add_fold\n",
"I0524 15:21:37.758093 140682825586560 quantize.py:364] Skipping quant after BoxPredictor_2/ClassPredictor_depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after BoxPredictor_3/BoxEncodingPredictor_depthwise/add_fold\n",
"I0524 15:21:37.758260 140682825586560 quantize.py:364] Skipping quant after BoxPredictor_3/BoxEncodingPredictor_depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after BoxPredictor_3/ClassPredictor_depthwise/add_fold\n",
"I0524 15:21:37.758419 140682825586560 quantize.py:364] Skipping quant after BoxPredictor_3/ClassPredictor_depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after BoxPredictor_4/BoxEncodingPredictor_depthwise/add_fold\n",
"I0524 15:21:37.758580 140682825586560 quantize.py:364] Skipping quant after BoxPredictor_4/BoxEncodingPredictor_depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after BoxPredictor_4/ClassPredictor_depthwise/add_fold\n",
"I0524 15:21:37.758738 140682825586560 quantize.py:364] Skipping quant after BoxPredictor_4/ClassPredictor_depthwise/add_fold\n",
"INFO:tensorflow:Inserting act_quant op for standalone Relu6 op: FeatureExtractor/spaghettinet_edgetpu_l/Relu6.\n",
"I0524 15:21:37.815469 140682825586560 quantize.py:325] Inserting act_quant op for standalone Relu6 op: FeatureExtractor/spaghettinet_edgetpu_l/Relu6.\n",
"INFO:tensorflow:Inserting act_quant op for standalone Relu6 op: FeatureExtractor/spaghettinet_edgetpu_l/Relu6_1.\n",
"I0524 15:21:37.824523 140682825586560 quantize.py:325] Inserting act_quant op for standalone Relu6 op: FeatureExtractor/spaghettinet_edgetpu_l/Relu6_1.\n",
"INFO:tensorflow:Inserting act_quant op for standalone Relu6 op: FeatureExtractor/spaghettinet_edgetpu_l/Relu6_2.\n",
"I0524 15:21:37.831984 140682825586560 quantize.py:325] Inserting act_quant op for standalone Relu6 op: FeatureExtractor/spaghettinet_edgetpu_l/Relu6_2.\n",
"INFO:tensorflow:Inserting act_quant op for standalone Relu6 op: FeatureExtractor/spaghettinet_edgetpu_l/Relu6_3.\n",
"I0524 15:21:37.839394 140682825586560 quantize.py:325] Inserting act_quant op for standalone Relu6 op: FeatureExtractor/spaghettinet_edgetpu_l/Relu6_3.\n",
"INFO:tensorflow:Inserting act_quant op for standalone Relu6 op: FeatureExtractor/spaghettinet_edgetpu_l/Relu6_4.\n",
"I0524 15:21:37.846466 140682825586560 quantize.py:325] Inserting act_quant op for standalone Relu6 op: FeatureExtractor/spaghettinet_edgetpu_l/Relu6_4.\n",
"INFO:tensorflow:Done calling model_fn.\n",
"I0524 15:21:39.239324 140682825586560 estimator.py:1150] Done calling model_fn.\n",
"INFO:tensorflow:Starting evaluation at 2022-05-24T15:21:39Z\n",
"I0524 15:21:39.255330 140682825586560 evaluation.py:255] Starting evaluation at 2022-05-24T15:21:39Z\n",
"INFO:tensorflow:Graph was finalized.\n",
"I0524 15:21:40.719975 140682825586560 monitored_session.py:240] Graph was finalized.\n",
"2022-05-24 15:21:40.720666: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:983] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n",
"2022-05-24 15:21:40.720966: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1639] Found device 0 with properties: \n",
"name: Tesla T4 major: 7 minor: 5 memoryClockRate(GHz): 1.59\n",
"pciBusID: 0000:00:04.0\n",
"2022-05-24 15:21:40.721059: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcudart.so.10.1\n",
"2022-05-24 15:21:40.721078: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcublas.so.10\n",
"2022-05-24 15:21:40.721095: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcufft.so.10\n",
"2022-05-24 15:21:40.721110: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcurand.so.10\n",
"2022-05-24 15:21:40.721124: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcusolver.so.10\n",
"2022-05-24 15:21:40.721138: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcusparse.so.10\n",
"2022-05-24 15:21:40.721154: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcudnn.so.7\n",
"2022-05-24 15:21:40.721234: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:983] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n",
"2022-05-24 15:21:40.721463: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:983] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n",
"2022-05-24 15:21:40.721639: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1767] Adding visible gpu devices: 0\n",
"2022-05-24 15:21:40.721679: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1180] Device interconnect StreamExecutor with strength 1 edge matrix:\n",
"2022-05-24 15:21:40.721699: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1186] 0 \n",
"2022-05-24 15:21:40.721705: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1199] 0: N \n",
"2022-05-24 15:21:40.721785: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:983] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n",
"2022-05-24 15:21:40.722017: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:983] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n",
"2022-05-24 15:21:40.722205: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1325] Created TensorFlow device (/job:localhost/replica:0/task:0/device:GPU:0 with 14257 MB memory) -> physical GPU (device: 0, name: Tesla T4, pci bus id: 0000:00:04.0, compute capability: 7.5)\n",
"INFO:tensorflow:Restoring parameters from /content/data/spaghettinet_edgetpu_l_quant_pet/model.ckpt-20007\n",
"I0524 15:21:40.723205 140682825586560 saver.py:1284] Restoring parameters from /content/data/spaghettinet_edgetpu_l_quant_pet/model.ckpt-20007\n",
"INFO:tensorflow:Running local_init_op.\n",
"I0524 15:21:43.975710 140682825586560 session_manager.py:500] Running local_init_op.\n",
"INFO:tensorflow:Done running local_init_op.\n",
"I0524 15:21:44.293088 140682825586560 session_manager.py:502] Done running local_init_op.\n",
"Corrupt JPEG data: premature end of data segment\n",
"INFO:tensorflow:Performing evaluation on 2568 images.\n",
"I0524 15:24:04.628958 140678221584128 coco_evaluation.py:293] Performing evaluation on 2568 images.\n",
"creating index...\n",
"index created!\n",
"INFO:tensorflow:Loading and preparing annotation results...\n",
"I0524 15:24:04.636601 140678221584128 coco_tools.py:116] Loading and preparing annotation results...\n",
"INFO:tensorflow:DONE (t=0.19s)\n",
"I0524 15:24:04.831409 140678221584128 coco_tools.py:138] DONE (t=0.19s)\n",
"creating index...\n",
"index created!\n",
"Running per image evaluation...\n",
"Evaluate annotation type *bbox*\n",
"DONE (t=17.77s).\n",
"Accumulating evaluation results...\n",
"DONE (t=5.89s).\n",
" Average Precision (AP) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.690\n",
" Average Precision (AP) @[ IoU=0.50 | area= all | maxDets=100 ] = 0.924\n",
" Average Precision (AP) @[ IoU=0.75 | area= all | maxDets=100 ] = 0.854\n",
" Average Precision (AP) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.100\n",
" Average Precision (AP) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.477\n",
" Average Precision (AP) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.727\n",
" Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets= 1 ] = 0.763\n",
" Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets= 10 ] = 0.773\n",
" Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.773\n",
" Average Recall (AR) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.100\n",
" Average Recall (AR) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.677\n",
" Average Recall (AR) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.793\n",
"INFO:tensorflow:Finished evaluation at 2022-05-24-15:24:29\n",
"I0524 15:24:29.527943 140682825586560 evaluation.py:275] Finished evaluation at 2022-05-24-15:24:29\n",
"INFO:tensorflow:Saving dict for global step 20007: DetectionBoxes_Precision/mAP = 0.6895581, DetectionBoxes_Precision/mAP (large) = 0.72676057, DetectionBoxes_Precision/mAP (medium) = 0.47682092, DetectionBoxes_Precision/mAP (small) = 0.1, DetectionBoxes_Precision/mAP@.50IOU = 0.9236323, DetectionBoxes_Precision/mAP@.75IOU = 0.8536618, DetectionBoxes_Recall/AR@1 = 0.7628063, DetectionBoxes_Recall/AR@10 = 0.7725105, DetectionBoxes_Recall/AR@100 = 0.77293974, DetectionBoxes_Recall/AR@100 (large) = 0.79315376, DetectionBoxes_Recall/AR@100 (medium) = 0.67696863, DetectionBoxes_Recall/AR@100 (small) = 0.1, Loss/classification_loss = 0.23053925, Loss/localization_loss = 0.071572565, Loss/regularization_loss = 0.05278016, Loss/total_loss = 0.35489228, global_step = 20007, learning_rate = 0.007959662, loss = 0.35489228\n",
"I0524 15:24:29.528209 140682825586560 estimator.py:2049] Saving dict for global step 20007: DetectionBoxes_Precision/mAP = 0.6895581, DetectionBoxes_Precision/mAP (large) = 0.72676057, DetectionBoxes_Precision/mAP (medium) = 0.47682092, DetectionBoxes_Precision/mAP (small) = 0.1, DetectionBoxes_Precision/mAP@.50IOU = 0.9236323, DetectionBoxes_Precision/mAP@.75IOU = 0.8536618, DetectionBoxes_Recall/AR@1 = 0.7628063, DetectionBoxes_Recall/AR@10 = 0.7725105, DetectionBoxes_Recall/AR@100 = 0.77293974, DetectionBoxes_Recall/AR@100 (large) = 0.79315376, DetectionBoxes_Recall/AR@100 (medium) = 0.67696863, DetectionBoxes_Recall/AR@100 (small) = 0.1, Loss/classification_loss = 0.23053925, Loss/localization_loss = 0.071572565, Loss/regularization_loss = 0.05278016, Loss/total_loss = 0.35489228, global_step = 20007, learning_rate = 0.007959662, loss = 0.35489228\n",
"INFO:tensorflow:Saving 'checkpoint_path' summary for global step 20007: /content/data/spaghettinet_edgetpu_l_quant_pet/model.ckpt-20007\n",
"I0524 15:24:29.531413 140682825586560 estimator.py:2109] Saving 'checkpoint_path' summary for global step 20007: /content/data/spaghettinet_edgetpu_l_quant_pet/model.ckpt-20007\n",
"INFO:tensorflow:global_step/sec: 0.406585\n",
"I0524 15:25:27.574072 140682825586560 basic_session_run_hooks.py:692] global_step/sec: 0.406585\n",
"INFO:tensorflow:loss = 0.5641829, step = 20100 (245.951 sec)\n",
"I0524 15:25:27.575078 140682825586560 basic_session_run_hooks.py:260] loss = 0.5641829, step = 20100 (245.951 sec)\n",
"INFO:tensorflow:global_step/sec: 1.63044\n",
"I0524 15:26:28.907174 140682825586560 basic_session_run_hooks.py:692] global_step/sec: 1.63044\n",
"INFO:tensorflow:loss = 0.573964, step = 20200 (61.333 sec)\n",
"I0524 15:26:28.908197 140682825586560 basic_session_run_hooks.py:260] loss = 0.573964, step = 20200 (61.333 sec)\n",
"INFO:tensorflow:global_step/sec: 1.6322\n",
"I0524 15:27:30.174216 140682825586560 basic_session_run_hooks.py:692] global_step/sec: 1.6322\n",
"INFO:tensorflow:loss = 0.28684223, step = 20300 (61.267 sec)\n",
"I0524 15:27:30.175529 140682825586560 basic_session_run_hooks.py:260] loss = 0.28684223, step = 20300 (61.267 sec)\n",
"INFO:tensorflow:global_step/sec: 1.63249\n",
"I0524 15:28:31.430220 140682825586560 basic_session_run_hooks.py:692] global_step/sec: 1.63249\n",
"INFO:tensorflow:loss = 0.6029322, step = 20400 (61.256 sec)\n",
"I0524 15:28:31.431285 140682825586560 basic_session_run_hooks.py:260] loss = 0.6029322, step = 20400 (61.256 sec)\n",
"Corrupt JPEG data: premature end of data segment\n",
"INFO:tensorflow:global_step/sec: 1.63019\n",
"I0524 15:29:32.772765 140682825586560 basic_session_run_hooks.py:692] global_step/sec: 1.63019\n",
"INFO:tensorflow:loss = 0.4301842, step = 20500 (61.342 sec)\n",
"I0524 15:29:32.773757 140682825586560 basic_session_run_hooks.py:260] loss = 0.4301842, step = 20500 (61.342 sec)\n",
"Corrupt JPEG data: premature end of data segment\n",
"INFO:tensorflow:global_step/sec: 1.62978\n",
"I0524 15:30:34.130768 140682825586560 basic_session_run_hooks.py:692] global_step/sec: 1.62978\n",
"INFO:tensorflow:loss = 0.32591003, step = 20600 (61.358 sec)\n",
"I0524 15:30:34.131872 140682825586560 basic_session_run_hooks.py:260] loss = 0.32591003, step = 20600 (61.358 sec)\n",
"Corrupt JPEG data: premature end of data segment\n",
"INFO:tensorflow:Saving checkpoints for 20685 into /content/data/spaghettinet_edgetpu_l_quant_pet/model.ckpt.\n",
"I0524 15:31:25.706605 140682825586560 basic_session_run_hooks.py:606] Saving checkpoints for 20685 into /content/data/spaghettinet_edgetpu_l_quant_pet/model.ckpt.\n",
"INFO:tensorflow:Reading unweighted datasets: ['/content/data/tf_record/pet_faces_train.record-?????-of-00010']\n",
"I0524 15:31:29.354201 140682825586560 dataset_builder.py:162] Reading unweighted datasets: ['/content/data/tf_record/pet_faces_train.record-?????-of-00010']\n",
"INFO:tensorflow:Reading record datasets for input file: ['/content/data/tf_record/pet_faces_train.record-?????-of-00010']\n",
"I0524 15:31:29.355263 140682825586560 dataset_builder.py:79] Reading record datasets for input file: ['/content/data/tf_record/pet_faces_train.record-?????-of-00010']\n",
"INFO:tensorflow:Number of filenames to read: 10\n",
"I0524 15:31:29.355394 140682825586560 dataset_builder.py:80] Number of filenames to read: 10\n",
"WARNING:tensorflow:num_readers has been reduced to 10 to match input file shards.\n",
"W0524 15:31:29.355449 140682825586560 dataset_builder.py:87] num_readers has been reduced to 10 to match input file shards.\n",
"WARNING:tensorflow:`shuffle` is false, but the input data stream is still slightly shuffled since `num_readers` > 1.\n",
"W0524 15:31:29.356748 140682825586560 dataset_builder.py:93] `shuffle` is false, but the input data stream is still slightly shuffled since `num_readers` > 1.\n",
"WARNING:tensorflow:Entity <bound method TfExampleDecoder.decode of <object_detection.data_decoders.tf_example_decoder.TfExampleDecoder object at 0x7fee15c10890>> could not be transformed and will be executed as-is. Please report this to the AutoGraph team. When filing the bug, set the verbosity to 10 (on Linux, `export AUTOGRAPH_VERBOSITY=10`) and attach the full output. Cause: module 'gast' has no attribute 'Index'\n",
"W0524 15:31:29.404636 140682825586560 ag_logging.py:146] Entity <bound method TfExampleDecoder.decode of <object_detection.data_decoders.tf_example_decoder.TfExampleDecoder object at 0x7fee15c10890>> could not be transformed and will be executed as-is. Please report this to the AutoGraph team. When filing the bug, set the verbosity to 10 (on Linux, `export AUTOGRAPH_VERBOSITY=10`) and attach the full output. Cause: module 'gast' has no attribute 'Index'\n",
"WARNING:tensorflow:Entity <function eval_input.<locals>.transform_and_pad_input_data_fn at 0x7fee063fd050> could not be transformed and will be executed as-is. Please report this to the AutoGraph team. When filing the bug, set the verbosity to 10 (on Linux, `export AUTOGRAPH_VERBOSITY=10`) and attach the full output. Cause: module 'gast' has no attribute 'Str'\n",
"W0524 15:31:29.567453 140682825586560 ag_logging.py:146] Entity <function eval_input.<locals>.transform_and_pad_input_data_fn at 0x7fee063fd050> could not be transformed and will be executed as-is. Please report this to the AutoGraph team. When filing the bug, set the verbosity to 10 (on Linux, `export AUTOGRAPH_VERBOSITY=10`) and attach the full output. Cause: module 'gast' has no attribute 'Str'\n",
"INFO:tensorflow:Calling model_fn.\n",
"I0524 15:31:30.073002 140682825586560 estimator.py:1148] Calling model_fn.\n",
"INFO:tensorflow:depth of additional conv before box predictor: 0\n",
"I0524 15:31:34.002645 140682825586560 convolutional_box_predictor.py:155] depth of additional conv before box predictor: 0\n",
"INFO:tensorflow:depth of additional conv before box predictor: 0\n",
"I0524 15:31:34.071565 140682825586560 convolutional_box_predictor.py:155] depth of additional conv before box predictor: 0\n",
"INFO:tensorflow:depth of additional conv before box predictor: 0\n",
"I0524 15:31:34.140758 140682825586560 convolutional_box_predictor.py:155] depth of additional conv before box predictor: 0\n",
"INFO:tensorflow:depth of additional conv before box predictor: 0\n",
"I0524 15:31:34.212375 140682825586560 convolutional_box_predictor.py:155] depth of additional conv before box predictor: 0\n",
"INFO:tensorflow:depth of additional conv before box predictor: 0\n",
"I0524 15:31:34.282164 140682825586560 convolutional_box_predictor.py:155] depth of additional conv before box predictor: 0\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/add_13\n",
"I0524 15:31:38.036876 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/add_13\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/add_17\n",
"I0524 15:31:38.038555 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/add_17\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/add_21\n",
"I0524 15:31:38.039965 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/add_21\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/add_25\n",
"I0524 15:31:38.041420 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/add_25\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/add_28\n",
"I0524 15:31:38.042437 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/add_28\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/stem_node/stem/add_fold\n",
"I0524 15:31:38.056962 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/stem_node/stem/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n0_0/slice_0/add_fold\n",
"I0524 15:31:38.057183 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n0_0/slice_0/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n0_0/slice_1/add_fold\n",
"I0524 15:31:38.057349 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n0_0/slice_1/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n0_0/slice_2/add_fold\n",
"I0524 15:31:38.057506 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n0_0/slice_2/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_0/slice_0/add_fold\n",
"I0524 15:31:38.057768 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_0/slice_0/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_0/slice_1/add_fold\n",
"I0524 15:31:38.057948 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_0/slice_1/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_0/slice_2/add_fold\n",
"I0524 15:31:38.058104 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_0/slice_2/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_0/slice_3/add_fold\n",
"I0524 15:31:38.058254 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_0/slice_3/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_1/slice_0/add_fold\n",
"I0524 15:31:38.058500 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_1/slice_0/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_1/slice_1/add_fold\n",
"I0524 15:31:38.058654 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_1/slice_1/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_1/slice_2/add_fold\n",
"I0524 15:31:38.058811 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_1/slice_2/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_1/slice_3/add_fold\n",
"I0524 15:31:38.058974 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_1/slice_3/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_2/slice_0/add_fold\n",
"I0524 15:31:38.059230 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_2/slice_0/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_2/slice_1/add_fold\n",
"I0524 15:31:38.059377 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_2/slice_1/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_2/slice_2/add_fold\n",
"I0524 15:31:38.059526 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_2/slice_2/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_2/slice_3/add_fold\n",
"I0524 15:31:38.059671 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_2/slice_3/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_3/slice_0/add_fold\n",
"I0524 15:31:38.059916 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_3/slice_0/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_3/slice_1/add_fold\n",
"I0524 15:31:38.060073 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_3/slice_1/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_3/slice_2/add_fold\n",
"I0524 15:31:38.060237 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_3/slice_2/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_3/slice_3/add_fold\n",
"I0524 15:31:38.060386 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_3/slice_3/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_0/expansion/add_fold\n",
"I0524 15:31:38.060626 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_0/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_0/depthwise/add_fold\n",
"I0524 15:31:38.060809 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_0/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_1/expansion/add_fold\n",
"I0524 15:31:38.061063 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_1/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_1/depthwise/add_fold\n",
"I0524 15:31:38.061248 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_1/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_2/expansion/add_fold\n",
"I0524 15:31:38.061547 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_2/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_2/depthwise/add_fold\n",
"I0524 15:31:38.061721 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_2/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_3/expansion/add_fold\n",
"I0524 15:31:38.061978 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_3/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_3/depthwise/add_fold\n",
"I0524 15:31:38.062139 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_3/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_0/expansion/add_fold\n",
"I0524 15:31:38.062380 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_0/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_0/depthwise/add_fold\n",
"I0524 15:31:38.062535 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_0/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_1/expansion/add_fold\n",
"I0524 15:31:38.062777 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_1/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_1/depthwise/add_fold\n",
"I0524 15:31:38.062943 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_1/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_2/expansion/add_fold\n",
"I0524 15:31:38.063181 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_2/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_2/depthwise/add_fold\n",
"I0524 15:31:38.063337 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_2/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_3/expansion/add_fold\n",
"I0524 15:31:38.063576 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_3/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_3/depthwise/add_fold\n",
"I0524 15:31:38.063741 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_3/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_0/expansion/add_fold\n",
"I0524 15:31:38.063995 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_0/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_0/depthwise/add_fold\n",
"I0524 15:31:38.064157 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_0/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_1/expansion/add_fold\n",
"I0524 15:31:38.064398 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_1/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_1/depthwise/add_fold\n",
"I0524 15:31:38.064558 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_1/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_2/expansion/add_fold\n",
"I0524 15:31:38.064804 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_2/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_2/depthwise/add_fold\n",
"I0524 15:31:38.065001 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_2/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_3/expansion/add_fold\n",
"I0524 15:31:38.065248 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_3/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_3/depthwise/add_fold\n",
"I0524 15:31:38.065411 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_3/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n5_0/expansion/add_fold\n",
"I0524 15:31:38.065660 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n5_0/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n5_0/depthwise/add_fold\n",
"I0524 15:31:38.065827 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n5_0/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n5_1/pointwise/add_fold\n",
"I0524 15:31:38.066108 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n5_1/pointwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_0/expansion/add_fold\n",
"I0524 15:31:38.066453 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_0/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_0/depthwise/add_fold\n",
"I0524 15:31:38.066632 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_0/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_1/expansion/add_fold\n",
"I0524 15:31:38.066900 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_1/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_1/depthwise/add_fold\n",
"I0524 15:31:38.067083 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_1/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_2/expansion/add_fold\n",
"I0524 15:31:38.067332 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_2/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_2/depthwise/add_fold\n",
"I0524 15:31:38.067509 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_2/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_3/expansion/add_fold\n",
"I0524 15:31:38.067759 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_3/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_3/depthwise/add_fold\n",
"I0524 15:31:38.067928 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_3/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_0/expansion/add_fold\n",
"I0524 15:31:38.068366 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_0/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_0/depthwise/add_fold\n",
"I0524 15:31:38.068534 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_0/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_1/expansion/add_fold\n",
"I0524 15:31:38.068775 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_1/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_1/depthwise/add_fold\n",
"I0524 15:31:38.097314 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_1/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_2/expansion/add_fold\n",
"I0524 15:31:38.097649 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_2/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_2/depthwise/add_fold\n",
"I0524 15:31:38.098021 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_2/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_3/expansion/add_fold\n",
"I0524 15:31:38.098449 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_3/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_3/depthwise/add_fold\n",
"I0524 15:31:38.098732 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_3/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_0/expansion/add_fold\n",
"I0524 15:31:38.099436 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_0/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_0/depthwise/add_fold\n",
"I0524 15:31:38.099650 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_0/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_1/expansion/add_fold\n",
"I0524 15:31:38.099929 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_1/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_1/depthwise/add_fold\n",
"I0524 15:31:38.100129 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_1/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_2/expansion/add_fold\n",
"I0524 15:31:38.100394 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_2/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_2/depthwise/add_fold\n",
"I0524 15:31:38.100579 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_2/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_3/expansion/add_fold\n",
"I0524 15:31:38.100837 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_3/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_3/depthwise/add_fold\n",
"I0524 15:31:38.101012 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_3/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n3_0/expansion/add_fold\n",
"I0524 15:31:38.101455 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n3_0/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n3_0/depthwise/add_fold\n",
"I0524 15:31:38.101618 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n3_0/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n3_1/expansion/add_fold\n",
"I0524 15:31:38.101864 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n3_1/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n3_1/depthwise/add_fold\n",
"I0524 15:31:38.102028 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n3_1/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n3_2/pointwise/add_fold\n",
"I0524 15:31:38.102280 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n3_2/pointwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n4_0/expansion/add_fold\n",
"I0524 15:31:38.102613 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n4_0/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n4_0/depthwise/add_fold\n",
"I0524 15:31:38.102777 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n4_0/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n4_1/expansion/add_fold\n",
"I0524 15:31:38.103027 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n4_1/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n4_1/depthwise/add_fold\n",
"I0524 15:31:38.103206 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n4_1/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n5_0/pointwise/add_fold\n",
"I0524 15:31:38.103458 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n5_0/pointwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n5_1/pointwise/add_fold\n",
"I0524 15:31:38.103611 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n5_1/pointwise/add_fold\n",
"INFO:tensorflow:Skipping quant after BoxPredictor_0/BoxEncodingPredictor_depthwise/add_fold\n",
"I0524 15:31:38.103778 140682825586560 quantize.py:364] Skipping quant after BoxPredictor_0/BoxEncodingPredictor_depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after BoxPredictor_0/ClassPredictor_depthwise/add_fold\n",
"I0524 15:31:38.103948 140682825586560 quantize.py:364] Skipping quant after BoxPredictor_0/ClassPredictor_depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after BoxPredictor_1/BoxEncodingPredictor_depthwise/add_fold\n",
"I0524 15:31:38.104113 140682825586560 quantize.py:364] Skipping quant after BoxPredictor_1/BoxEncodingPredictor_depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after BoxPredictor_1/ClassPredictor_depthwise/add_fold\n",
"I0524 15:31:38.104273 140682825586560 quantize.py:364] Skipping quant after BoxPredictor_1/ClassPredictor_depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after BoxPredictor_2/BoxEncodingPredictor_depthwise/add_fold\n",
"I0524 15:31:38.104441 140682825586560 quantize.py:364] Skipping quant after BoxPredictor_2/BoxEncodingPredictor_depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after BoxPredictor_2/ClassPredictor_depthwise/add_fold\n",
"I0524 15:31:38.104597 140682825586560 quantize.py:364] Skipping quant after BoxPredictor_2/ClassPredictor_depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after BoxPredictor_3/BoxEncodingPredictor_depthwise/add_fold\n",
"I0524 15:31:38.104755 140682825586560 quantize.py:364] Skipping quant after BoxPredictor_3/BoxEncodingPredictor_depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after BoxPredictor_3/ClassPredictor_depthwise/add_fold\n",
"I0524 15:31:38.104908 140682825586560 quantize.py:364] Skipping quant after BoxPredictor_3/ClassPredictor_depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after BoxPredictor_4/BoxEncodingPredictor_depthwise/add_fold\n",
"I0524 15:31:38.105070 140682825586560 quantize.py:364] Skipping quant after BoxPredictor_4/BoxEncodingPredictor_depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after BoxPredictor_4/ClassPredictor_depthwise/add_fold\n",
"I0524 15:31:38.105224 140682825586560 quantize.py:364] Skipping quant after BoxPredictor_4/ClassPredictor_depthwise/add_fold\n",
"INFO:tensorflow:Inserting act_quant op for standalone Relu6 op: FeatureExtractor/spaghettinet_edgetpu_l/Relu6.\n",
"I0524 15:31:38.159154 140682825586560 quantize.py:325] Inserting act_quant op for standalone Relu6 op: FeatureExtractor/spaghettinet_edgetpu_l/Relu6.\n",
"INFO:tensorflow:Inserting act_quant op for standalone Relu6 op: FeatureExtractor/spaghettinet_edgetpu_l/Relu6_1.\n",
"I0524 15:31:38.167547 140682825586560 quantize.py:325] Inserting act_quant op for standalone Relu6 op: FeatureExtractor/spaghettinet_edgetpu_l/Relu6_1.\n",
"INFO:tensorflow:Inserting act_quant op for standalone Relu6 op: FeatureExtractor/spaghettinet_edgetpu_l/Relu6_2.\n",
"I0524 15:31:38.175172 140682825586560 quantize.py:325] Inserting act_quant op for standalone Relu6 op: FeatureExtractor/spaghettinet_edgetpu_l/Relu6_2.\n",
"INFO:tensorflow:Inserting act_quant op for standalone Relu6 op: FeatureExtractor/spaghettinet_edgetpu_l/Relu6_3.\n",
"I0524 15:31:38.182107 140682825586560 quantize.py:325] Inserting act_quant op for standalone Relu6 op: FeatureExtractor/spaghettinet_edgetpu_l/Relu6_3.\n",
"INFO:tensorflow:Inserting act_quant op for standalone Relu6 op: FeatureExtractor/spaghettinet_edgetpu_l/Relu6_4.\n",
"I0524 15:31:38.188812 140682825586560 quantize.py:325] Inserting act_quant op for standalone Relu6 op: FeatureExtractor/spaghettinet_edgetpu_l/Relu6_4.\n",
"INFO:tensorflow:Done calling model_fn.\n",
"I0524 15:31:39.582801 140682825586560 estimator.py:1150] Done calling model_fn.\n",
"INFO:tensorflow:Starting evaluation at 2022-05-24T15:31:39Z\n",
"I0524 15:31:39.598529 140682825586560 evaluation.py:255] Starting evaluation at 2022-05-24T15:31:39Z\n",
"INFO:tensorflow:Graph was finalized.\n",
"I0524 15:31:41.058253 140682825586560 monitored_session.py:240] Graph was finalized.\n",
"2022-05-24 15:31:41.059024: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:983] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n",
"2022-05-24 15:31:41.059342: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1639] Found device 0 with properties: \n",
"name: Tesla T4 major: 7 minor: 5 memoryClockRate(GHz): 1.59\n",
"pciBusID: 0000:00:04.0\n",
"2022-05-24 15:31:41.059434: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcudart.so.10.1\n",
"2022-05-24 15:31:41.059455: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcublas.so.10\n",
"2022-05-24 15:31:41.059471: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcufft.so.10\n",
"2022-05-24 15:31:41.059486: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcurand.so.10\n",
"2022-05-24 15:31:41.059501: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcusolver.so.10\n",
"2022-05-24 15:31:41.059515: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcusparse.so.10\n",
"2022-05-24 15:31:41.059531: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcudnn.so.7\n",
"2022-05-24 15:31:41.059604: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:983] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n",
"2022-05-24 15:31:41.059841: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:983] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n",
"2022-05-24 15:31:41.060033: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1767] Adding visible gpu devices: 0\n",
"2022-05-24 15:31:41.060099: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1180] Device interconnect StreamExecutor with strength 1 edge matrix:\n",
"2022-05-24 15:31:41.060110: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1186] 0 \n",
"2022-05-24 15:31:41.060117: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1199] 0: N \n",
"2022-05-24 15:31:41.060208: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:983] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n",
"2022-05-24 15:31:41.060431: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:983] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n",
"2022-05-24 15:31:41.060618: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1325] Created TensorFlow device (/job:localhost/replica:0/task:0/device:GPU:0 with 14257 MB memory) -> physical GPU (device: 0, name: Tesla T4, pci bus id: 0000:00:04.0, compute capability: 7.5)\n",
"INFO:tensorflow:Restoring parameters from /content/data/spaghettinet_edgetpu_l_quant_pet/model.ckpt-20685\n",
"I0524 15:31:41.061554 140682825586560 saver.py:1284] Restoring parameters from /content/data/spaghettinet_edgetpu_l_quant_pet/model.ckpt-20685\n",
"INFO:tensorflow:Running local_init_op.\n",
"I0524 15:31:44.289995 140682825586560 session_manager.py:500] Running local_init_op.\n",
"INFO:tensorflow:Done running local_init_op.\n",
"I0524 15:31:44.611163 140682825586560 session_manager.py:502] Done running local_init_op.\n",
"Corrupt JPEG data: premature end of data segment\n",
"INFO:tensorflow:Performing evaluation on 2568 images.\n",
"I0524 15:34:04.506108 140678238369536 coco_evaluation.py:293] Performing evaluation on 2568 images.\n",
"creating index...\n",
"index created!\n",
"INFO:tensorflow:Loading and preparing annotation results...\n",
"I0524 15:34:04.513018 140678238369536 coco_tools.py:116] Loading and preparing annotation results...\n",
"INFO:tensorflow:DONE (t=0.19s)\n",
"I0524 15:34:04.704536 140678238369536 coco_tools.py:138] DONE (t=0.19s)\n",
"creating index...\n",
"index created!\n",
"Running per image evaluation...\n",
"Evaluate annotation type *bbox*\n",
"DONE (t=18.06s).\n",
"Accumulating evaluation results...\n",
"DONE (t=5.84s).\n",
" Average Precision (AP) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.705\n",
" Average Precision (AP) @[ IoU=0.50 | area= all | maxDets=100 ] = 0.938\n",
" Average Precision (AP) @[ IoU=0.75 | area= all | maxDets=100 ] = 0.872\n",
" Average Precision (AP) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.050\n",
" Average Precision (AP) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.527\n",
" Average Precision (AP) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.738\n",
" Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets= 1 ] = 0.771\n",
" Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets= 10 ] = 0.780\n",
" Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.780\n",
" Average Recall (AR) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.050\n",
" Average Recall (AR) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.684\n",
" Average Recall (AR) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.801\n",
"INFO:tensorflow:Finished evaluation at 2022-05-24-15:34:29\n",
"I0524 15:34:29.616863 140682825586560 evaluation.py:275] Finished evaluation at 2022-05-24-15:34:29\n",
"INFO:tensorflow:Saving dict for global step 20685: DetectionBoxes_Precision/mAP = 0.70543814, DetectionBoxes_Precision/mAP (large) = 0.73849076, DetectionBoxes_Precision/mAP (medium) = 0.526527, DetectionBoxes_Precision/mAP (small) = 0.05049505, DetectionBoxes_Precision/mAP@.50IOU = 0.9380172, DetectionBoxes_Precision/mAP@.75IOU = 0.8719015, DetectionBoxes_Recall/AR@1 = 0.7708901, DetectionBoxes_Recall/AR@10 = 0.7798722, DetectionBoxes_Recall/AR@100 = 0.7798722, DetectionBoxes_Recall/AR@100 (large) = 0.80061835, DetectionBoxes_Recall/AR@100 (medium) = 0.6835328, DetectionBoxes_Recall/AR@100 (small) = 0.05, Loss/classification_loss = 0.22048587, Loss/localization_loss = 0.06905195, Loss/regularization_loss = 0.052940927, Loss/total_loss = 0.3424791, global_step = 20685, learning_rate = 0.007956573, loss = 0.3424791\n",
"I0524 15:34:29.617135 140682825586560 estimator.py:2049] Saving dict for global step 20685: DetectionBoxes_Precision/mAP = 0.70543814, DetectionBoxes_Precision/mAP (large) = 0.73849076, DetectionBoxes_Precision/mAP (medium) = 0.526527, DetectionBoxes_Precision/mAP (small) = 0.05049505, DetectionBoxes_Precision/mAP@.50IOU = 0.9380172, DetectionBoxes_Precision/mAP@.75IOU = 0.8719015, DetectionBoxes_Recall/AR@1 = 0.7708901, DetectionBoxes_Recall/AR@10 = 0.7798722, DetectionBoxes_Recall/AR@100 = 0.7798722, DetectionBoxes_Recall/AR@100 (large) = 0.80061835, DetectionBoxes_Recall/AR@100 (medium) = 0.6835328, DetectionBoxes_Recall/AR@100 (small) = 0.05, Loss/classification_loss = 0.22048587, Loss/localization_loss = 0.06905195, Loss/regularization_loss = 0.052940927, Loss/total_loss = 0.3424791, global_step = 20685, learning_rate = 0.007956573, loss = 0.3424791\n",
"INFO:tensorflow:Saving 'checkpoint_path' summary for global step 20685: /content/data/spaghettinet_edgetpu_l_quant_pet/model.ckpt-20685\n",
"I0524 15:34:29.620043 140682825586560 estimator.py:2109] Saving 'checkpoint_path' summary for global step 20685: /content/data/spaghettinet_edgetpu_l_quant_pet/model.ckpt-20685\n",
"INFO:tensorflow:global_step/sec: 0.407423\n",
"I0524 15:34:39.575835 140682825586560 basic_session_run_hooks.py:692] global_step/sec: 0.407423\n",
"INFO:tensorflow:loss = 0.36740708, step = 20700 (245.445 sec)\n",
"I0524 15:34:39.577209 140682825586560 basic_session_run_hooks.py:260] loss = 0.36740708, step = 20700 (245.445 sec)\n",
"INFO:tensorflow:global_step/sec: 1.6259\n",
"I0524 15:35:41.080192 140682825586560 basic_session_run_hooks.py:692] global_step/sec: 1.6259\n",
"INFO:tensorflow:loss = 0.4499059, step = 20800 (61.504 sec)\n",
"I0524 15:35:41.081238 140682825586560 basic_session_run_hooks.py:260] loss = 0.4499059, step = 20800 (61.504 sec)\n",
"Corrupt JPEG data: premature end of data segment\n",
"INFO:tensorflow:global_step/sec: 1.62934\n",
"I0524 15:36:42.454840 140682825586560 basic_session_run_hooks.py:692] global_step/sec: 1.62934\n",
"INFO:tensorflow:loss = 0.4423738, step = 20900 (61.375 sec)\n",
"I0524 15:36:42.455854 140682825586560 basic_session_run_hooks.py:260] loss = 0.4423738, step = 20900 (61.375 sec)\n",
"Corrupt JPEG data: premature end of data segment\n",
"INFO:tensorflow:global_step/sec: 1.63364\n",
"I0524 15:37:43.667850 140682825586560 basic_session_run_hooks.py:692] global_step/sec: 1.63364\n",
"INFO:tensorflow:loss = 0.3236862, step = 21000 (61.213 sec)\n",
"I0524 15:37:43.668815 140682825586560 basic_session_run_hooks.py:260] loss = 0.3236862, step = 21000 (61.213 sec)\n",
"Corrupt JPEG data: premature end of data segment\n",
"INFO:tensorflow:global_step/sec: 1.6344\n",
"I0524 15:38:44.852452 140682825586560 basic_session_run_hooks.py:692] global_step/sec: 1.6344\n",
"INFO:tensorflow:loss = 0.34945112, step = 21100 (61.185 sec)\n",
"I0524 15:38:44.853486 140682825586560 basic_session_run_hooks.py:260] loss = 0.34945112, step = 21100 (61.185 sec)\n",
"INFO:tensorflow:global_step/sec: 1.62629\n",
"I0524 15:39:46.341980 140682825586560 basic_session_run_hooks.py:692] global_step/sec: 1.62629\n",
"INFO:tensorflow:loss = 0.3848816, step = 21200 (61.489 sec)\n",
"I0524 15:39:46.342900 140682825586560 basic_session_run_hooks.py:260] loss = 0.3848816, step = 21200 (61.489 sec)\n",
"Corrupt JPEG data: premature end of data segment\n",
"INFO:tensorflow:global_step/sec: 1.63222\n",
"I0524 15:40:47.608072 140682825586560 basic_session_run_hooks.py:692] global_step/sec: 1.63222\n",
"INFO:tensorflow:loss = 0.33261418, step = 21300 (61.266 sec)\n",
"I0524 15:40:47.609168 140682825586560 basic_session_run_hooks.py:260] loss = 0.33261418, step = 21300 (61.266 sec)\n",
"INFO:tensorflow:Saving checkpoints for 21364 into /content/data/spaghettinet_edgetpu_l_quant_pet/model.ckpt.\n",
"I0524 15:41:26.154576 140682825586560 basic_session_run_hooks.py:606] Saving checkpoints for 21364 into /content/data/spaghettinet_edgetpu_l_quant_pet/model.ckpt.\n",
"INFO:tensorflow:Reading unweighted datasets: ['/content/data/tf_record/pet_faces_train.record-?????-of-00010']\n",
"I0524 15:41:29.745477 140682825586560 dataset_builder.py:162] Reading unweighted datasets: ['/content/data/tf_record/pet_faces_train.record-?????-of-00010']\n",
"INFO:tensorflow:Reading record datasets for input file: ['/content/data/tf_record/pet_faces_train.record-?????-of-00010']\n",
"I0524 15:41:29.746620 140682825586560 dataset_builder.py:79] Reading record datasets for input file: ['/content/data/tf_record/pet_faces_train.record-?????-of-00010']\n",
"INFO:tensorflow:Number of filenames to read: 10\n",
"I0524 15:41:29.746778 140682825586560 dataset_builder.py:80] Number of filenames to read: 10\n",
"WARNING:tensorflow:num_readers has been reduced to 10 to match input file shards.\n",
"W0524 15:41:29.746842 140682825586560 dataset_builder.py:87] num_readers has been reduced to 10 to match input file shards.\n",
"WARNING:tensorflow:`shuffle` is false, but the input data stream is still slightly shuffled since `num_readers` > 1.\n",
"W0524 15:41:29.748290 140682825586560 dataset_builder.py:93] `shuffle` is false, but the input data stream is still slightly shuffled since `num_readers` > 1.\n",
"WARNING:tensorflow:Entity <bound method TfExampleDecoder.decode of <object_detection.data_decoders.tf_example_decoder.TfExampleDecoder object at 0x7fee1af62c90>> could not be transformed and will be executed as-is. Please report this to the AutoGraph team. When filing the bug, set the verbosity to 10 (on Linux, `export AUTOGRAPH_VERBOSITY=10`) and attach the full output. Cause: module 'gast' has no attribute 'Index'\n",
"W0524 15:41:29.800228 140682825586560 ag_logging.py:146] Entity <bound method TfExampleDecoder.decode of <object_detection.data_decoders.tf_example_decoder.TfExampleDecoder object at 0x7fee1af62c90>> could not be transformed and will be executed as-is. Please report this to the AutoGraph team. When filing the bug, set the verbosity to 10 (on Linux, `export AUTOGRAPH_VERBOSITY=10`) and attach the full output. Cause: module 'gast' has no attribute 'Index'\n",
"WARNING:tensorflow:Entity <function eval_input.<locals>.transform_and_pad_input_data_fn at 0x7fedfdbd1830> could not be transformed and will be executed as-is. Please report this to the AutoGraph team. When filing the bug, set the verbosity to 10 (on Linux, `export AUTOGRAPH_VERBOSITY=10`) and attach the full output. Cause: module 'gast' has no attribute 'Str'\n",
"W0524 15:41:29.983069 140682825586560 ag_logging.py:146] Entity <function eval_input.<locals>.transform_and_pad_input_data_fn at 0x7fedfdbd1830> could not be transformed and will be executed as-is. Please report this to the AutoGraph team. When filing the bug, set the verbosity to 10 (on Linux, `export AUTOGRAPH_VERBOSITY=10`) and attach the full output. Cause: module 'gast' has no attribute 'Str'\n",
"INFO:tensorflow:Calling model_fn.\n",
"I0524 15:41:30.493515 140682825586560 estimator.py:1148] Calling model_fn.\n",
"INFO:tensorflow:depth of additional conv before box predictor: 0\n",
"I0524 15:41:34.390422 140682825586560 convolutional_box_predictor.py:155] depth of additional conv before box predictor: 0\n",
"INFO:tensorflow:depth of additional conv before box predictor: 0\n",
"I0524 15:41:34.460035 140682825586560 convolutional_box_predictor.py:155] depth of additional conv before box predictor: 0\n",
"INFO:tensorflow:depth of additional conv before box predictor: 0\n",
"I0524 15:41:34.527974 140682825586560 convolutional_box_predictor.py:155] depth of additional conv before box predictor: 0\n",
"INFO:tensorflow:depth of additional conv before box predictor: 0\n",
"I0524 15:41:34.597073 140682825586560 convolutional_box_predictor.py:155] depth of additional conv before box predictor: 0\n",
"INFO:tensorflow:depth of additional conv before box predictor: 0\n",
"I0524 15:41:34.668341 140682825586560 convolutional_box_predictor.py:155] depth of additional conv before box predictor: 0\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/add_13\n",
"I0524 15:41:38.439618 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/add_13\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/add_17\n",
"I0524 15:41:38.441212 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/add_17\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/add_21\n",
"I0524 15:41:38.442636 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/add_21\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/add_25\n",
"I0524 15:41:38.444079 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/add_25\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/add_28\n",
"I0524 15:41:38.445077 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/add_28\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/stem_node/stem/add_fold\n",
"I0524 15:41:38.459347 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/stem_node/stem/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n0_0/slice_0/add_fold\n",
"I0524 15:41:38.459584 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n0_0/slice_0/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n0_0/slice_1/add_fold\n",
"I0524 15:41:38.459747 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n0_0/slice_1/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n0_0/slice_2/add_fold\n",
"I0524 15:41:38.459897 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n0_0/slice_2/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_0/slice_0/add_fold\n",
"I0524 15:41:38.460150 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_0/slice_0/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_0/slice_1/add_fold\n",
"I0524 15:41:38.460296 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_0/slice_1/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_0/slice_2/add_fold\n",
"I0524 15:41:38.460455 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_0/slice_2/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_0/slice_3/add_fold\n",
"I0524 15:41:38.460597 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_0/slice_3/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_1/slice_0/add_fold\n",
"I0524 15:41:38.460830 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_1/slice_0/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_1/slice_1/add_fold\n",
"I0524 15:41:38.460983 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_1/slice_1/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_1/slice_2/add_fold\n",
"I0524 15:41:38.461127 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_1/slice_2/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_1/slice_3/add_fold\n",
"I0524 15:41:38.461268 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_1/slice_3/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_2/slice_0/add_fold\n",
"I0524 15:41:38.461514 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_2/slice_0/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_2/slice_1/add_fold\n",
"I0524 15:41:38.461654 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_2/slice_1/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_2/slice_2/add_fold\n",
"I0524 15:41:38.461794 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_2/slice_2/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_2/slice_3/add_fold\n",
"I0524 15:41:38.461936 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_2/slice_3/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_3/slice_0/add_fold\n",
"I0524 15:41:38.462160 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_3/slice_0/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_3/slice_1/add_fold\n",
"I0524 15:41:38.462297 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_3/slice_1/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_3/slice_2/add_fold\n",
"I0524 15:41:38.462430 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_3/slice_2/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_3/slice_3/add_fold\n",
"I0524 15:41:38.462563 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_3/slice_3/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_0/expansion/add_fold\n",
"I0524 15:41:38.462814 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_0/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_0/depthwise/add_fold\n",
"I0524 15:41:38.462976 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_0/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_1/expansion/add_fold\n",
"I0524 15:41:38.463207 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_1/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_1/depthwise/add_fold\n",
"I0524 15:41:38.463366 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_1/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_2/expansion/add_fold\n",
"I0524 15:41:38.463616 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_2/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_2/depthwise/add_fold\n",
"I0524 15:41:38.463798 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_2/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_3/expansion/add_fold\n",
"I0524 15:41:38.464056 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_3/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_3/depthwise/add_fold\n",
"I0524 15:41:38.464207 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_3/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_0/expansion/add_fold\n",
"I0524 15:41:38.464439 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_0/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_0/depthwise/add_fold\n",
"I0524 15:41:38.464590 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_0/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_1/expansion/add_fold\n",
"I0524 15:41:38.464832 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_1/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_1/depthwise/add_fold\n",
"I0524 15:41:38.464981 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_1/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_2/expansion/add_fold\n",
"I0524 15:41:38.465201 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_2/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_2/depthwise/add_fold\n",
"I0524 15:41:38.465345 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_2/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_3/expansion/add_fold\n",
"I0524 15:41:38.465568 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_3/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_3/depthwise/add_fold\n",
"I0524 15:41:38.465738 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_3/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_0/expansion/add_fold\n",
"I0524 15:41:38.465982 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_0/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_0/depthwise/add_fold\n",
"I0524 15:41:38.466137 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_0/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_1/expansion/add_fold\n",
"I0524 15:41:38.466367 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_1/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_1/depthwise/add_fold\n",
"I0524 15:41:38.466518 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_1/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_2/expansion/add_fold\n",
"I0524 15:41:38.466773 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_2/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_2/depthwise/add_fold\n",
"I0524 15:41:38.466938 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_2/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_3/expansion/add_fold\n",
"I0524 15:41:38.467173 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_3/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_3/depthwise/add_fold\n",
"I0524 15:41:38.467322 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_3/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n5_0/expansion/add_fold\n",
"I0524 15:41:38.467562 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n5_0/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n5_0/depthwise/add_fold\n",
"I0524 15:41:38.467709 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n5_0/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n5_1/pointwise/add_fold\n",
"I0524 15:41:38.467948 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n5_1/pointwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_0/expansion/add_fold\n",
"I0524 15:41:38.468265 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_0/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_0/depthwise/add_fold\n",
"I0524 15:41:38.468409 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_0/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_1/expansion/add_fold\n",
"I0524 15:41:38.468633 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_1/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_1/depthwise/add_fold\n",
"I0524 15:41:38.468784 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_1/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_2/expansion/add_fold\n",
"I0524 15:41:38.469035 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_2/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_2/depthwise/add_fold\n",
"I0524 15:41:38.469192 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_2/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_3/expansion/add_fold\n",
"I0524 15:41:38.469426 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_3/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_3/depthwise/add_fold\n",
"I0524 15:41:38.469578 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_3/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_0/expansion/add_fold\n",
"I0524 15:41:38.470011 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_0/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_0/depthwise/add_fold\n",
"I0524 15:41:38.470165 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_0/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_1/expansion/add_fold\n",
"I0524 15:41:38.470405 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_1/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_1/depthwise/add_fold\n",
"I0524 15:41:38.470584 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_1/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_2/expansion/add_fold\n",
"I0524 15:41:38.470826 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_2/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_2/depthwise/add_fold\n",
"I0524 15:41:38.470993 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_2/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_3/expansion/add_fold\n",
"I0524 15:41:38.471229 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_3/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_3/depthwise/add_fold\n",
"I0524 15:41:38.471380 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_3/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_0/expansion/add_fold\n",
"I0524 15:41:38.559046 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_0/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_0/depthwise/add_fold\n",
"I0524 15:41:38.559445 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_0/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_1/expansion/add_fold\n",
"I0524 15:41:38.559909 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_1/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_1/depthwise/add_fold\n",
"I0524 15:41:38.560237 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_1/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_2/expansion/add_fold\n",
"I0524 15:41:38.560691 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_2/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_2/depthwise/add_fold\n",
"I0524 15:41:38.561113 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_2/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_3/expansion/add_fold\n",
"I0524 15:41:38.561465 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_3/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_3/depthwise/add_fold\n",
"I0524 15:41:38.561653 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_3/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n3_0/expansion/add_fold\n",
"I0524 15:41:38.562124 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n3_0/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n3_0/depthwise/add_fold\n",
"I0524 15:41:38.562301 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n3_0/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n3_1/expansion/add_fold\n",
"I0524 15:41:38.562554 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n3_1/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n3_1/depthwise/add_fold\n",
"I0524 15:41:38.562742 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n3_1/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n3_2/pointwise/add_fold\n",
"I0524 15:41:38.563009 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n3_2/pointwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n4_0/expansion/add_fold\n",
"I0524 15:41:38.563358 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n4_0/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n4_0/depthwise/add_fold\n",
"I0524 15:41:38.563524 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n4_0/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n4_1/expansion/add_fold\n",
"I0524 15:41:38.563780 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n4_1/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n4_1/depthwise/add_fold\n",
"I0524 15:41:38.563959 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n4_1/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n5_0/pointwise/add_fold\n",
"I0524 15:41:38.564196 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n5_0/pointwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n5_1/pointwise/add_fold\n",
"I0524 15:41:38.564359 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n5_1/pointwise/add_fold\n",
"INFO:tensorflow:Skipping quant after BoxPredictor_0/BoxEncodingPredictor_depthwise/add_fold\n",
"I0524 15:41:38.564513 140682825586560 quantize.py:364] Skipping quant after BoxPredictor_0/BoxEncodingPredictor_depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after BoxPredictor_0/ClassPredictor_depthwise/add_fold\n",
"I0524 15:41:38.564665 140682825586560 quantize.py:364] Skipping quant after BoxPredictor_0/ClassPredictor_depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after BoxPredictor_1/BoxEncodingPredictor_depthwise/add_fold\n",
"I0524 15:41:38.564821 140682825586560 quantize.py:364] Skipping quant after BoxPredictor_1/BoxEncodingPredictor_depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after BoxPredictor_1/ClassPredictor_depthwise/add_fold\n",
"I0524 15:41:38.564979 140682825586560 quantize.py:364] Skipping quant after BoxPredictor_1/ClassPredictor_depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after BoxPredictor_2/BoxEncodingPredictor_depthwise/add_fold\n",
"I0524 15:41:38.565130 140682825586560 quantize.py:364] Skipping quant after BoxPredictor_2/BoxEncodingPredictor_depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after BoxPredictor_2/ClassPredictor_depthwise/add_fold\n",
"I0524 15:41:38.565279 140682825586560 quantize.py:364] Skipping quant after BoxPredictor_2/ClassPredictor_depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after BoxPredictor_3/BoxEncodingPredictor_depthwise/add_fold\n",
"I0524 15:41:38.565429 140682825586560 quantize.py:364] Skipping quant after BoxPredictor_3/BoxEncodingPredictor_depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after BoxPredictor_3/ClassPredictor_depthwise/add_fold\n",
"I0524 15:41:38.565576 140682825586560 quantize.py:364] Skipping quant after BoxPredictor_3/ClassPredictor_depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after BoxPredictor_4/BoxEncodingPredictor_depthwise/add_fold\n",
"I0524 15:41:38.565732 140682825586560 quantize.py:364] Skipping quant after BoxPredictor_4/BoxEncodingPredictor_depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after BoxPredictor_4/ClassPredictor_depthwise/add_fold\n",
"I0524 15:41:38.565882 140682825586560 quantize.py:364] Skipping quant after BoxPredictor_4/ClassPredictor_depthwise/add_fold\n",
"INFO:tensorflow:Inserting act_quant op for standalone Relu6 op: FeatureExtractor/spaghettinet_edgetpu_l/Relu6.\n",
"I0524 15:41:38.621851 140682825586560 quantize.py:325] Inserting act_quant op for standalone Relu6 op: FeatureExtractor/spaghettinet_edgetpu_l/Relu6.\n",
"INFO:tensorflow:Inserting act_quant op for standalone Relu6 op: FeatureExtractor/spaghettinet_edgetpu_l/Relu6_1.\n",
"I0524 15:41:38.630208 140682825586560 quantize.py:325] Inserting act_quant op for standalone Relu6 op: FeatureExtractor/spaghettinet_edgetpu_l/Relu6_1.\n",
"INFO:tensorflow:Inserting act_quant op for standalone Relu6 op: FeatureExtractor/spaghettinet_edgetpu_l/Relu6_2.\n",
"I0524 15:41:38.637307 140682825586560 quantize.py:325] Inserting act_quant op for standalone Relu6 op: FeatureExtractor/spaghettinet_edgetpu_l/Relu6_2.\n",
"INFO:tensorflow:Inserting act_quant op for standalone Relu6 op: FeatureExtractor/spaghettinet_edgetpu_l/Relu6_3.\n",
"I0524 15:41:38.644256 140682825586560 quantize.py:325] Inserting act_quant op for standalone Relu6 op: FeatureExtractor/spaghettinet_edgetpu_l/Relu6_3.\n",
"INFO:tensorflow:Inserting act_quant op for standalone Relu6 op: FeatureExtractor/spaghettinet_edgetpu_l/Relu6_4.\n",
"I0524 15:41:38.650912 140682825586560 quantize.py:325] Inserting act_quant op for standalone Relu6 op: FeatureExtractor/spaghettinet_edgetpu_l/Relu6_4.\n",
"INFO:tensorflow:Done calling model_fn.\n",
"I0524 15:41:40.023172 140682825586560 estimator.py:1150] Done calling model_fn.\n",
"INFO:tensorflow:Starting evaluation at 2022-05-24T15:41:40Z\n",
"I0524 15:41:40.038443 140682825586560 evaluation.py:255] Starting evaluation at 2022-05-24T15:41:40Z\n",
"INFO:tensorflow:Graph was finalized.\n",
"I0524 15:41:41.484908 140682825586560 monitored_session.py:240] Graph was finalized.\n",
"2022-05-24 15:41:41.485547: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:983] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n",
"2022-05-24 15:41:41.485829: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1639] Found device 0 with properties: \n",
"name: Tesla T4 major: 7 minor: 5 memoryClockRate(GHz): 1.59\n",
"pciBusID: 0000:00:04.0\n",
"2022-05-24 15:41:41.485932: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcudart.so.10.1\n",
"2022-05-24 15:41:41.485958: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcublas.so.10\n",
"2022-05-24 15:41:41.485975: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcufft.so.10\n",
"2022-05-24 15:41:41.485993: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcurand.so.10\n",
"2022-05-24 15:41:41.486010: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcusolver.so.10\n",
"2022-05-24 15:41:41.486024: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcusparse.so.10\n",
"2022-05-24 15:41:41.486040: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcudnn.so.7\n",
"2022-05-24 15:41:41.486116: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:983] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n",
"2022-05-24 15:41:41.486345: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:983] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n",
"2022-05-24 15:41:41.486520: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1767] Adding visible gpu devices: 0\n",
"2022-05-24 15:41:41.486560: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1180] Device interconnect StreamExecutor with strength 1 edge matrix:\n",
"2022-05-24 15:41:41.486571: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1186] 0 \n",
"2022-05-24 15:41:41.486577: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1199] 0: N \n",
"2022-05-24 15:41:41.486658: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:983] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n",
"2022-05-24 15:41:41.486905: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:983] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n",
"2022-05-24 15:41:41.487105: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1325] Created TensorFlow device (/job:localhost/replica:0/task:0/device:GPU:0 with 14257 MB memory) -> physical GPU (device: 0, name: Tesla T4, pci bus id: 0000:00:04.0, compute capability: 7.5)\n",
"INFO:tensorflow:Restoring parameters from /content/data/spaghettinet_edgetpu_l_quant_pet/model.ckpt-21364\n",
"I0524 15:41:41.488087 140682825586560 saver.py:1284] Restoring parameters from /content/data/spaghettinet_edgetpu_l_quant_pet/model.ckpt-21364\n",
"INFO:tensorflow:Running local_init_op.\n",
"I0524 15:41:44.585549 140682825586560 session_manager.py:500] Running local_init_op.\n",
"INFO:tensorflow:Done running local_init_op.\n",
"I0524 15:41:44.883027 140682825586560 session_manager.py:502] Done running local_init_op.\n",
"Corrupt JPEG data: premature end of data segment\n",
"INFO:tensorflow:Performing evaluation on 2568 images.\n",
"I0524 15:44:00.058184 140678229976832 coco_evaluation.py:293] Performing evaluation on 2568 images.\n",
"creating index...\n",
"index created!\n",
"INFO:tensorflow:Loading and preparing annotation results...\n",
"I0524 15:44:00.063842 140678229976832 coco_tools.py:116] Loading and preparing annotation results...\n",
"INFO:tensorflow:DONE (t=0.19s)\n",
"I0524 15:44:00.256870 140678229976832 coco_tools.py:138] DONE (t=0.19s)\n",
"creating index...\n",
"index created!\n",
"Running per image evaluation...\n",
"Evaluate annotation type *bbox*\n",
"DONE (t=17.54s).\n",
"Accumulating evaluation results...\n",
"DONE (t=5.93s).\n",
" Average Precision (AP) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.691\n",
" Average Precision (AP) @[ IoU=0.50 | area= all | maxDets=100 ] = 0.929\n",
" Average Precision (AP) @[ IoU=0.75 | area= all | maxDets=100 ] = 0.851\n",
" Average Precision (AP) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.101\n",
" Average Precision (AP) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.506\n",
" Average Precision (AP) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.728\n",
" Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets= 1 ] = 0.762\n",
" Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets= 10 ] = 0.775\n",
" Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.775\n",
" Average Recall (AR) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.100\n",
" Average Recall (AR) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.666\n",
" Average Recall (AR) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.798\n",
"INFO:tensorflow:Finished evaluation at 2022-05-24-15:44:24\n",
"I0524 15:44:24.718121 140682825586560 evaluation.py:275] Finished evaluation at 2022-05-24-15:44:24\n",
"INFO:tensorflow:Saving dict for global step 21364: DetectionBoxes_Precision/mAP = 0.6910961, DetectionBoxes_Precision/mAP (large) = 0.7276342, DetectionBoxes_Precision/mAP (medium) = 0.50591147, DetectionBoxes_Precision/mAP (small) = 0.1009901, DetectionBoxes_Precision/mAP@.50IOU = 0.9292845, DetectionBoxes_Precision/mAP@.75IOU = 0.8506343, DetectionBoxes_Recall/AR@1 = 0.7621195, DetectionBoxes_Recall/AR@10 = 0.774727, DetectionBoxes_Recall/AR@100 = 0.77535665, DetectionBoxes_Recall/AR@100 (large) = 0.79776424, DetectionBoxes_Recall/AR@100 (medium) = 0.6656773, DetectionBoxes_Recall/AR@100 (small) = 0.1, Loss/classification_loss = 0.242781, Loss/localization_loss = 0.07562684, Loss/regularization_loss = 0.05309888, Loss/total_loss = 0.37150463, global_step = 21364, learning_rate = 0.007953365, loss = 0.37150463\n",
"I0524 15:44:24.718387 140682825586560 estimator.py:2049] Saving dict for global step 21364: DetectionBoxes_Precision/mAP = 0.6910961, DetectionBoxes_Precision/mAP (large) = 0.7276342, DetectionBoxes_Precision/mAP (medium) = 0.50591147, DetectionBoxes_Precision/mAP (small) = 0.1009901, DetectionBoxes_Precision/mAP@.50IOU = 0.9292845, DetectionBoxes_Precision/mAP@.75IOU = 0.8506343, DetectionBoxes_Recall/AR@1 = 0.7621195, DetectionBoxes_Recall/AR@10 = 0.774727, DetectionBoxes_Recall/AR@100 = 0.77535665, DetectionBoxes_Recall/AR@100 (large) = 0.79776424, DetectionBoxes_Recall/AR@100 (medium) = 0.6656773, DetectionBoxes_Recall/AR@100 (small) = 0.1, Loss/classification_loss = 0.242781, Loss/localization_loss = 0.07562684, Loss/regularization_loss = 0.05309888, Loss/total_loss = 0.37150463, global_step = 21364, learning_rate = 0.007953365, loss = 0.37150463\n",
"INFO:tensorflow:Saving 'checkpoint_path' summary for global step 21364: /content/data/spaghettinet_edgetpu_l_quant_pet/model.ckpt-21364\n",
"I0524 15:44:24.721404 140682825586560 estimator.py:2109] Saving 'checkpoint_path' summary for global step 21364: /content/data/spaghettinet_edgetpu_l_quant_pet/model.ckpt-21364\n",
"Corrupt JPEG data: premature end of data segment\n",
"INFO:tensorflow:global_step/sec: 0.41624\n",
"I0524 15:44:47.854137 140682825586560 basic_session_run_hooks.py:692] global_step/sec: 0.41624\n",
"INFO:tensorflow:loss = 0.34128726, step = 21400 (240.246 sec)\n",
"I0524 15:44:47.855170 140682825586560 basic_session_run_hooks.py:260] loss = 0.34128726, step = 21400 (240.246 sec)\n",
"INFO:tensorflow:global_step/sec: 1.63913\n",
"I0524 15:45:48.862208 140682825586560 basic_session_run_hooks.py:692] global_step/sec: 1.63913\n",
"INFO:tensorflow:loss = 0.48941574, step = 21500 (61.008 sec)\n",
"I0524 15:45:48.863148 140682825586560 basic_session_run_hooks.py:260] loss = 0.48941574, step = 21500 (61.008 sec)\n",
"INFO:tensorflow:global_step/sec: 1.63218\n",
"I0524 15:46:50.130111 140682825586560 basic_session_run_hooks.py:692] global_step/sec: 1.63218\n",
"INFO:tensorflow:loss = 0.41342533, step = 21600 (61.268 sec)\n",
"I0524 15:46:50.131182 140682825586560 basic_session_run_hooks.py:260] loss = 0.41342533, step = 21600 (61.268 sec)\n",
"INFO:tensorflow:global_step/sec: 1.63484\n",
"I0524 15:47:51.298085 140682825586560 basic_session_run_hooks.py:692] global_step/sec: 1.63484\n",
"INFO:tensorflow:loss = 0.4683518, step = 21700 (61.168 sec)\n",
"I0524 15:47:51.299058 140682825586560 basic_session_run_hooks.py:260] loss = 0.4683518, step = 21700 (61.168 sec)\n",
"Corrupt JPEG data: premature end of data segment\n",
"Corrupt JPEG data: premature end of data segment\n",
"INFO:tensorflow:global_step/sec: 1.63627\n",
"I0524 15:48:52.412666 140682825586560 basic_session_run_hooks.py:692] global_step/sec: 1.63627\n",
"INFO:tensorflow:loss = 0.3195585, step = 21800 (61.115 sec)\n",
"I0524 15:48:52.413714 140682825586560 basic_session_run_hooks.py:260] loss = 0.3195585, step = 21800 (61.115 sec)\n",
"Corrupt JPEG data: premature end of data segment\n",
"INFO:tensorflow:global_step/sec: 1.63202\n",
"I0524 15:49:53.686323 140682825586560 basic_session_run_hooks.py:692] global_step/sec: 1.63202\n",
"INFO:tensorflow:loss = 0.3442533, step = 21900 (61.274 sec)\n",
"I0524 15:49:53.687235 140682825586560 basic_session_run_hooks.py:260] loss = 0.3442533, step = 21900 (61.274 sec)\n",
"INFO:tensorflow:global_step/sec: 1.63173\n",
"I0524 15:50:54.970866 140682825586560 basic_session_run_hooks.py:692] global_step/sec: 1.63173\n",
"INFO:tensorflow:loss = 0.34515685, step = 22000 (61.285 sec)\n",
"I0524 15:50:54.971757 140682825586560 basic_session_run_hooks.py:260] loss = 0.34515685, step = 22000 (61.285 sec)\n",
"Corrupt JPEG data: premature end of data segment\n",
"INFO:tensorflow:Saving checkpoints for 22052 into /content/data/spaghettinet_edgetpu_l_quant_pet/model.ckpt.\n",
"I0524 15:51:26.225467 140682825586560 basic_session_run_hooks.py:606] Saving checkpoints for 22052 into /content/data/spaghettinet_edgetpu_l_quant_pet/model.ckpt.\n",
"INFO:tensorflow:Skip the current checkpoint eval due to throttle secs (600 secs).\n",
"I0524 15:51:29.668670 140682825586560 training.py:527] Skip the current checkpoint eval due to throttle secs (600 secs).\n",
"Corrupt JPEG data: premature end of data segment\n",
"INFO:tensorflow:global_step/sec: 1.5445\n",
"I0524 15:51:59.716874 140682825586560 basic_session_run_hooks.py:692] global_step/sec: 1.5445\n",
"INFO:tensorflow:loss = 0.33673307, step = 22100 (64.746 sec)\n",
"I0524 15:51:59.717961 140682825586560 basic_session_run_hooks.py:260] loss = 0.33673307, step = 22100 (64.746 sec)\n",
"Corrupt JPEG data: premature end of data segment\n",
"INFO:tensorflow:global_step/sec: 1.63393\n",
"I0524 15:53:00.919138 140682825586560 basic_session_run_hooks.py:692] global_step/sec: 1.63393\n",
"INFO:tensorflow:loss = 0.40658227, step = 22200 (61.202 sec)\n",
"I0524 15:53:00.920185 140682825586560 basic_session_run_hooks.py:260] loss = 0.40658227, step = 22200 (61.202 sec)\n",
"INFO:tensorflow:global_step/sec: 1.63779\n",
"I0524 15:54:01.977149 140682825586560 basic_session_run_hooks.py:692] global_step/sec: 1.63779\n",
"INFO:tensorflow:loss = 0.3521395, step = 22300 (61.058 sec)\n",
"I0524 15:54:01.978072 140682825586560 basic_session_run_hooks.py:260] loss = 0.3521395, step = 22300 (61.058 sec)\n",
"INFO:tensorflow:global_step/sec: 1.62926\n",
"I0524 15:55:03.354613 140682825586560 basic_session_run_hooks.py:692] global_step/sec: 1.62926\n",
"INFO:tensorflow:loss = 0.28762358, step = 22400 (61.378 sec)\n",
"I0524 15:55:03.355655 140682825586560 basic_session_run_hooks.py:260] loss = 0.28762358, step = 22400 (61.378 sec)\n",
"INFO:tensorflow:global_step/sec: 1.63447\n",
"I0524 15:56:04.536401 140682825586560 basic_session_run_hooks.py:692] global_step/sec: 1.63447\n",
"INFO:tensorflow:loss = 0.3291112, step = 22500 (61.182 sec)\n",
"I0524 15:56:04.537345 140682825586560 basic_session_run_hooks.py:260] loss = 0.3291112, step = 22500 (61.182 sec)\n",
"INFO:tensorflow:global_step/sec: 1.63352\n",
"I0524 15:57:05.753961 140682825586560 basic_session_run_hooks.py:692] global_step/sec: 1.63352\n",
"INFO:tensorflow:loss = 0.30266464, step = 22600 (61.218 sec)\n",
"I0524 15:57:05.754948 140682825586560 basic_session_run_hooks.py:260] loss = 0.30266464, step = 22600 (61.218 sec)\n",
"INFO:tensorflow:global_step/sec: 1.63476\n",
"I0524 15:58:06.924965 140682825586560 basic_session_run_hooks.py:692] global_step/sec: 1.63476\n",
"INFO:tensorflow:loss = 0.4167862, step = 22700 (61.171 sec)\n",
"I0524 15:58:06.925981 140682825586560 basic_session_run_hooks.py:260] loss = 0.4167862, step = 22700 (61.171 sec)\n",
"INFO:tensorflow:global_step/sec: 1.63339\n",
"I0524 15:59:08.147507 140682825586560 basic_session_run_hooks.py:692] global_step/sec: 1.63339\n",
"INFO:tensorflow:loss = 0.40638003, step = 22800 (61.223 sec)\n",
"I0524 15:59:08.148668 140682825586560 basic_session_run_hooks.py:260] loss = 0.40638003, step = 22800 (61.223 sec)\n",
"Corrupt JPEG data: premature end of data segment\n",
"INFO:tensorflow:global_step/sec: 1.63074\n",
"I0524 16:00:09.469310 140682825586560 basic_session_run_hooks.py:692] global_step/sec: 1.63074\n",
"INFO:tensorflow:loss = 0.32124427, step = 22900 (61.322 sec)\n",
"I0524 16:00:09.470354 140682825586560 basic_session_run_hooks.py:260] loss = 0.32124427, step = 22900 (61.322 sec)\n",
"Corrupt JPEG data: premature end of data segment\n",
"Corrupt JPEG data: premature end of data segment\n",
"INFO:tensorflow:global_step/sec: 1.6342\n",
"I0524 16:01:10.661168 140682825586560 basic_session_run_hooks.py:692] global_step/sec: 1.6342\n",
"INFO:tensorflow:loss = 0.24036992, step = 23000 (61.192 sec)\n",
"I0524 16:01:10.662194 140682825586560 basic_session_run_hooks.py:260] loss = 0.24036992, step = 23000 (61.192 sec)\n",
"INFO:tensorflow:Saving checkpoints for 23027 into /content/data/spaghettinet_edgetpu_l_quant_pet/model.ckpt.\n",
"I0524 16:01:26.540456 140682825586560 basic_session_run_hooks.py:606] Saving checkpoints for 23027 into /content/data/spaghettinet_edgetpu_l_quant_pet/model.ckpt.\n",
"INFO:tensorflow:Reading unweighted datasets: ['/content/data/tf_record/pet_faces_train.record-?????-of-00010']\n",
"I0524 16:01:30.026558 140682825586560 dataset_builder.py:162] Reading unweighted datasets: ['/content/data/tf_record/pet_faces_train.record-?????-of-00010']\n",
"INFO:tensorflow:Reading record datasets for input file: ['/content/data/tf_record/pet_faces_train.record-?????-of-00010']\n",
"I0524 16:01:30.027681 140682825586560 dataset_builder.py:79] Reading record datasets for input file: ['/content/data/tf_record/pet_faces_train.record-?????-of-00010']\n",
"INFO:tensorflow:Number of filenames to read: 10\n",
"I0524 16:01:30.027834 140682825586560 dataset_builder.py:80] Number of filenames to read: 10\n",
"WARNING:tensorflow:num_readers has been reduced to 10 to match input file shards.\n",
"W0524 16:01:30.027897 140682825586560 dataset_builder.py:87] num_readers has been reduced to 10 to match input file shards.\n",
"WARNING:tensorflow:`shuffle` is false, but the input data stream is still slightly shuffled since `num_readers` > 1.\n",
"W0524 16:01:30.029551 140682825586560 dataset_builder.py:93] `shuffle` is false, but the input data stream is still slightly shuffled since `num_readers` > 1.\n",
"WARNING:tensorflow:Entity <bound method TfExampleDecoder.decode of <object_detection.data_decoders.tf_example_decoder.TfExampleDecoder object at 0x7ff10c4d4850>> could not be transformed and will be executed as-is. Please report this to the AutoGraph team. When filing the bug, set the verbosity to 10 (on Linux, `export AUTOGRAPH_VERBOSITY=10`) and attach the full output. Cause: module 'gast' has no attribute 'Index'\n",
"W0524 16:01:30.083114 140682825586560 ag_logging.py:146] Entity <bound method TfExampleDecoder.decode of <object_detection.data_decoders.tf_example_decoder.TfExampleDecoder object at 0x7ff10c4d4850>> could not be transformed and will be executed as-is. Please report this to the AutoGraph team. When filing the bug, set the verbosity to 10 (on Linux, `export AUTOGRAPH_VERBOSITY=10`) and attach the full output. Cause: module 'gast' has no attribute 'Index'\n",
"WARNING:tensorflow:Entity <function eval_input.<locals>.transform_and_pad_input_data_fn at 0x7fee1aed4440> could not be transformed and will be executed as-is. Please report this to the AutoGraph team. When filing the bug, set the verbosity to 10 (on Linux, `export AUTOGRAPH_VERBOSITY=10`) and attach the full output. Cause: module 'gast' has no attribute 'Str'\n",
"W0524 16:01:30.262345 140682825586560 ag_logging.py:146] Entity <function eval_input.<locals>.transform_and_pad_input_data_fn at 0x7fee1aed4440> could not be transformed and will be executed as-is. Please report this to the AutoGraph team. When filing the bug, set the verbosity to 10 (on Linux, `export AUTOGRAPH_VERBOSITY=10`) and attach the full output. Cause: module 'gast' has no attribute 'Str'\n",
"INFO:tensorflow:Calling model_fn.\n",
"I0524 16:01:30.753130 140682825586560 estimator.py:1148] Calling model_fn.\n",
"INFO:tensorflow:depth of additional conv before box predictor: 0\n",
"I0524 16:01:34.665274 140682825586560 convolutional_box_predictor.py:155] depth of additional conv before box predictor: 0\n",
"INFO:tensorflow:depth of additional conv before box predictor: 0\n",
"I0524 16:01:34.735055 140682825586560 convolutional_box_predictor.py:155] depth of additional conv before box predictor: 0\n",
"INFO:tensorflow:depth of additional conv before box predictor: 0\n",
"I0524 16:01:34.803832 140682825586560 convolutional_box_predictor.py:155] depth of additional conv before box predictor: 0\n",
"INFO:tensorflow:depth of additional conv before box predictor: 0\n",
"I0524 16:01:34.874169 140682825586560 convolutional_box_predictor.py:155] depth of additional conv before box predictor: 0\n",
"INFO:tensorflow:depth of additional conv before box predictor: 0\n",
"I0524 16:01:34.949394 140682825586560 convolutional_box_predictor.py:155] depth of additional conv before box predictor: 0\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/add_13\n",
"I0524 16:01:38.637530 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/add_13\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/add_17\n",
"I0524 16:01:38.638884 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/add_17\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/add_21\n",
"I0524 16:01:38.640120 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/add_21\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/add_25\n",
"I0524 16:01:38.641336 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/add_25\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/add_28\n",
"I0524 16:01:38.642251 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/add_28\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/stem_node/stem/add_fold\n",
"I0524 16:01:38.654911 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/stem_node/stem/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n0_0/slice_0/add_fold\n",
"I0524 16:01:38.655094 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n0_0/slice_0/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n0_0/slice_1/add_fold\n",
"I0524 16:01:38.655231 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n0_0/slice_1/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n0_0/slice_2/add_fold\n",
"I0524 16:01:38.655361 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n0_0/slice_2/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_0/slice_0/add_fold\n",
"I0524 16:01:38.655562 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_0/slice_0/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_0/slice_1/add_fold\n",
"I0524 16:01:38.655690 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_0/slice_1/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_0/slice_2/add_fold\n",
"I0524 16:01:38.655823 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_0/slice_2/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_0/slice_3/add_fold\n",
"I0524 16:01:38.655954 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_0/slice_3/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_1/slice_0/add_fold\n",
"I0524 16:01:38.656156 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_1/slice_0/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_1/slice_1/add_fold\n",
"I0524 16:01:38.656284 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_1/slice_1/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_1/slice_2/add_fold\n",
"I0524 16:01:38.656408 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_1/slice_2/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_1/slice_3/add_fold\n",
"I0524 16:01:38.656531 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_1/slice_3/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_2/slice_0/add_fold\n",
"I0524 16:01:38.656737 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_2/slice_0/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_2/slice_1/add_fold\n",
"I0524 16:01:38.656862 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_2/slice_1/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_2/slice_2/add_fold\n",
"I0524 16:01:38.656995 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_2/slice_2/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_2/slice_3/add_fold\n",
"I0524 16:01:38.657120 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_2/slice_3/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_3/slice_0/add_fold\n",
"I0524 16:01:38.657320 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_3/slice_0/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_3/slice_1/add_fold\n",
"I0524 16:01:38.657443 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_3/slice_1/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_3/slice_2/add_fold\n",
"I0524 16:01:38.657564 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_3/slice_2/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_3/slice_3/add_fold\n",
"I0524 16:01:38.657685 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_3/slice_3/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_0/expansion/add_fold\n",
"I0524 16:01:38.657887 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_0/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_0/depthwise/add_fold\n",
"I0524 16:01:38.658025 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_0/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_1/expansion/add_fold\n",
"I0524 16:01:38.658226 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_1/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_1/depthwise/add_fold\n",
"I0524 16:01:38.658355 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_1/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_2/expansion/add_fold\n",
"I0524 16:01:38.658552 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_2/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_2/depthwise/add_fold\n",
"I0524 16:01:38.658679 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_2/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_3/expansion/add_fold\n",
"I0524 16:01:38.658884 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_3/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_3/depthwise/add_fold\n",
"I0524 16:01:38.659023 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_3/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_0/expansion/add_fold\n",
"I0524 16:01:38.659221 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_0/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_0/depthwise/add_fold\n",
"I0524 16:01:38.659350 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_0/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_1/expansion/add_fold\n",
"I0524 16:01:38.659550 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_1/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_1/depthwise/add_fold\n",
"I0524 16:01:38.659680 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_1/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_2/expansion/add_fold\n",
"I0524 16:01:38.659889 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_2/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_2/depthwise/add_fold\n",
"I0524 16:01:38.660031 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_2/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_3/expansion/add_fold\n",
"I0524 16:01:38.660236 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_3/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_3/depthwise/add_fold\n",
"I0524 16:01:38.660367 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_3/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_0/expansion/add_fold\n",
"I0524 16:01:38.660573 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_0/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_0/depthwise/add_fold\n",
"I0524 16:01:38.660706 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_0/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_1/expansion/add_fold\n",
"I0524 16:01:38.660915 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_1/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_1/depthwise/add_fold\n",
"I0524 16:01:38.661059 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_1/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_2/expansion/add_fold\n",
"I0524 16:01:38.661261 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_2/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_2/depthwise/add_fold\n",
"I0524 16:01:38.661393 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_2/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_3/expansion/add_fold\n",
"I0524 16:01:38.661593 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_3/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_3/depthwise/add_fold\n",
"I0524 16:01:38.661731 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_3/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n5_0/expansion/add_fold\n",
"I0524 16:01:38.661942 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n5_0/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n5_0/depthwise/add_fold\n",
"I0524 16:01:38.662076 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n5_0/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n5_1/pointwise/add_fold\n",
"I0524 16:01:38.662282 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n5_1/pointwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_0/expansion/add_fold\n",
"I0524 16:01:38.662570 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_0/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_0/depthwise/add_fold\n",
"I0524 16:01:38.662704 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_0/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_1/expansion/add_fold\n",
"I0524 16:01:38.662915 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_1/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_1/depthwise/add_fold\n",
"I0524 16:01:38.663055 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_1/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_2/expansion/add_fold\n",
"I0524 16:01:38.663259 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_2/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_2/depthwise/add_fold\n",
"I0524 16:01:38.663393 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_2/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_3/expansion/add_fold\n",
"I0524 16:01:38.663593 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_3/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_3/depthwise/add_fold\n",
"I0524 16:01:38.663728 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_3/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_0/expansion/add_fold\n",
"I0524 16:01:38.664092 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_0/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_0/depthwise/add_fold\n",
"I0524 16:01:38.664247 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_0/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_1/expansion/add_fold\n",
"I0524 16:01:38.664448 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_1/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_1/depthwise/add_fold\n",
"I0524 16:01:38.696507 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_1/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_2/expansion/add_fold\n",
"I0524 16:01:38.696795 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_2/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_2/depthwise/add_fold\n",
"I0524 16:01:38.697002 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_2/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_3/expansion/add_fold\n",
"I0524 16:01:38.697263 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_3/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_3/depthwise/add_fold\n",
"I0524 16:01:38.697452 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_3/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_0/expansion/add_fold\n",
"I0524 16:01:38.697854 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_0/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_0/depthwise/add_fold\n",
"I0524 16:01:38.698035 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_0/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_1/expansion/add_fold\n",
"I0524 16:01:38.698292 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_1/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_1/depthwise/add_fold\n",
"I0524 16:01:38.698465 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_1/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_2/expansion/add_fold\n",
"I0524 16:01:38.698701 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_2/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_2/depthwise/add_fold\n",
"I0524 16:01:38.698864 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_2/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_3/expansion/add_fold\n",
"I0524 16:01:38.699110 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_3/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_3/depthwise/add_fold\n",
"I0524 16:01:38.699280 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_3/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n3_0/expansion/add_fold\n",
"I0524 16:01:38.699675 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n3_0/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n3_0/depthwise/add_fold\n",
"I0524 16:01:38.699847 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n3_0/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n3_1/expansion/add_fold\n",
"I0524 16:01:38.700095 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n3_1/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n3_1/depthwise/add_fold\n",
"I0524 16:01:38.700264 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n3_1/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n3_2/pointwise/add_fold\n",
"I0524 16:01:38.700501 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n3_2/pointwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n4_0/expansion/add_fold\n",
"I0524 16:01:38.700813 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n4_0/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n4_0/depthwise/add_fold\n",
"I0524 16:01:38.700987 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n4_0/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n4_1/expansion/add_fold\n",
"I0524 16:01:38.701231 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n4_1/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n4_1/depthwise/add_fold\n",
"I0524 16:01:38.701395 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n4_1/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n5_0/pointwise/add_fold\n",
"I0524 16:01:38.701627 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n5_0/pointwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n5_1/pointwise/add_fold\n",
"I0524 16:01:38.701783 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n5_1/pointwise/add_fold\n",
"INFO:tensorflow:Skipping quant after BoxPredictor_0/BoxEncodingPredictor_depthwise/add_fold\n",
"I0524 16:01:38.701953 140682825586560 quantize.py:364] Skipping quant after BoxPredictor_0/BoxEncodingPredictor_depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after BoxPredictor_0/ClassPredictor_depthwise/add_fold\n",
"I0524 16:01:38.702121 140682825586560 quantize.py:364] Skipping quant after BoxPredictor_0/ClassPredictor_depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after BoxPredictor_1/BoxEncodingPredictor_depthwise/add_fold\n",
"I0524 16:01:38.702298 140682825586560 quantize.py:364] Skipping quant after BoxPredictor_1/BoxEncodingPredictor_depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after BoxPredictor_1/ClassPredictor_depthwise/add_fold\n",
"I0524 16:01:38.702468 140682825586560 quantize.py:364] Skipping quant after BoxPredictor_1/ClassPredictor_depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after BoxPredictor_2/BoxEncodingPredictor_depthwise/add_fold\n",
"I0524 16:01:38.702638 140682825586560 quantize.py:364] Skipping quant after BoxPredictor_2/BoxEncodingPredictor_depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after BoxPredictor_2/ClassPredictor_depthwise/add_fold\n",
"I0524 16:01:38.702808 140682825586560 quantize.py:364] Skipping quant after BoxPredictor_2/ClassPredictor_depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after BoxPredictor_3/BoxEncodingPredictor_depthwise/add_fold\n",
"I0524 16:01:38.702985 140682825586560 quantize.py:364] Skipping quant after BoxPredictor_3/BoxEncodingPredictor_depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after BoxPredictor_3/ClassPredictor_depthwise/add_fold\n",
"I0524 16:01:38.703154 140682825586560 quantize.py:364] Skipping quant after BoxPredictor_3/ClassPredictor_depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after BoxPredictor_4/BoxEncodingPredictor_depthwise/add_fold\n",
"I0524 16:01:38.703326 140682825586560 quantize.py:364] Skipping quant after BoxPredictor_4/BoxEncodingPredictor_depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after BoxPredictor_4/ClassPredictor_depthwise/add_fold\n",
"I0524 16:01:38.703495 140682825586560 quantize.py:364] Skipping quant after BoxPredictor_4/ClassPredictor_depthwise/add_fold\n",
"INFO:tensorflow:Inserting act_quant op for standalone Relu6 op: FeatureExtractor/spaghettinet_edgetpu_l/Relu6.\n",
"I0524 16:01:38.748275 140682825586560 quantize.py:325] Inserting act_quant op for standalone Relu6 op: FeatureExtractor/spaghettinet_edgetpu_l/Relu6.\n",
"INFO:tensorflow:Inserting act_quant op for standalone Relu6 op: FeatureExtractor/spaghettinet_edgetpu_l/Relu6_1.\n",
"I0524 16:01:38.755197 140682825586560 quantize.py:325] Inserting act_quant op for standalone Relu6 op: FeatureExtractor/spaghettinet_edgetpu_l/Relu6_1.\n",
"INFO:tensorflow:Inserting act_quant op for standalone Relu6 op: FeatureExtractor/spaghettinet_edgetpu_l/Relu6_2.\n",
"I0524 16:01:38.761590 140682825586560 quantize.py:325] Inserting act_quant op for standalone Relu6 op: FeatureExtractor/spaghettinet_edgetpu_l/Relu6_2.\n",
"INFO:tensorflow:Inserting act_quant op for standalone Relu6 op: FeatureExtractor/spaghettinet_edgetpu_l/Relu6_3.\n",
"I0524 16:01:38.767902 140682825586560 quantize.py:325] Inserting act_quant op for standalone Relu6 op: FeatureExtractor/spaghettinet_edgetpu_l/Relu6_3.\n",
"INFO:tensorflow:Inserting act_quant op for standalone Relu6 op: FeatureExtractor/spaghettinet_edgetpu_l/Relu6_4.\n",
"I0524 16:01:38.774056 140682825586560 quantize.py:325] Inserting act_quant op for standalone Relu6 op: FeatureExtractor/spaghettinet_edgetpu_l/Relu6_4.\n",
"INFO:tensorflow:Done calling model_fn.\n",
"I0524 16:01:40.103672 140682825586560 estimator.py:1150] Done calling model_fn.\n",
"INFO:tensorflow:Starting evaluation at 2022-05-24T16:01:40Z\n",
"I0524 16:01:40.120523 140682825586560 evaluation.py:255] Starting evaluation at 2022-05-24T16:01:40Z\n",
"INFO:tensorflow:Graph was finalized.\n",
"I0524 16:01:41.537327 140682825586560 monitored_session.py:240] Graph was finalized.\n",
"2022-05-24 16:01:41.538067: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:983] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n",
"2022-05-24 16:01:41.538417: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1639] Found device 0 with properties: \n",
"name: Tesla T4 major: 7 minor: 5 memoryClockRate(GHz): 1.59\n",
"pciBusID: 0000:00:04.0\n",
"2022-05-24 16:01:41.538528: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcudart.so.10.1\n",
"2022-05-24 16:01:41.538566: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcublas.so.10\n",
"2022-05-24 16:01:41.538597: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcufft.so.10\n",
"2022-05-24 16:01:41.538629: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcurand.so.10\n",
"2022-05-24 16:01:41.538658: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcusolver.so.10\n",
"2022-05-24 16:01:41.538684: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcusparse.so.10\n",
"2022-05-24 16:01:41.538718: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcudnn.so.7\n",
"2022-05-24 16:01:41.538823: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:983] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n",
"2022-05-24 16:01:41.539151: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:983] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n",
"2022-05-24 16:01:41.539350: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1767] Adding visible gpu devices: 0\n",
"2022-05-24 16:01:41.539432: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1180] Device interconnect StreamExecutor with strength 1 edge matrix:\n",
"2022-05-24 16:01:41.539448: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1186] 0 \n",
"2022-05-24 16:01:41.539458: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1199] 0: N \n",
"2022-05-24 16:01:41.539567: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:983] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n",
"2022-05-24 16:01:41.539843: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:983] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n",
"2022-05-24 16:01:41.540066: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1325] Created TensorFlow device (/job:localhost/replica:0/task:0/device:GPU:0 with 14257 MB memory) -> physical GPU (device: 0, name: Tesla T4, pci bus id: 0000:00:04.0, compute capability: 7.5)\n",
"INFO:tensorflow:Restoring parameters from /content/data/spaghettinet_edgetpu_l_quant_pet/model.ckpt-23027\n",
"I0524 16:01:41.541227 140682825586560 saver.py:1284] Restoring parameters from /content/data/spaghettinet_edgetpu_l_quant_pet/model.ckpt-23027\n",
"INFO:tensorflow:Running local_init_op.\n",
"I0524 16:01:44.622486 140682825586560 session_manager.py:500] Running local_init_op.\n",
"INFO:tensorflow:Done running local_init_op.\n",
"I0524 16:01:44.923359 140682825586560 session_manager.py:502] Done running local_init_op.\n",
"Corrupt JPEG data: premature end of data segment\n",
"INFO:tensorflow:Performing evaluation on 2568 images.\n",
"I0524 16:03:55.677894 140678229976832 coco_evaluation.py:293] Performing evaluation on 2568 images.\n",
"creating index...\n",
"index created!\n",
"INFO:tensorflow:Loading and preparing annotation results...\n",
"I0524 16:03:55.685845 140678229976832 coco_tools.py:116] Loading and preparing annotation results...\n",
"INFO:tensorflow:DONE (t=0.21s)\n",
"I0524 16:03:55.896001 140678229976832 coco_tools.py:138] DONE (t=0.21s)\n",
"creating index...\n",
"index created!\n",
"Running per image evaluation...\n",
"Evaluate annotation type *bbox*\n",
"DONE (t=17.21s).\n",
"Accumulating evaluation results...\n",
"DONE (t=5.70s).\n",
" Average Precision (AP) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.723\n",
" Average Precision (AP) @[ IoU=0.50 | area= all | maxDets=100 ] = 0.955\n",
" Average Precision (AP) @[ IoU=0.75 | area= all | maxDets=100 ] = 0.898\n",
" Average Precision (AP) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.151\n",
" Average Precision (AP) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.551\n",
" Average Precision (AP) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.753\n",
" Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets= 1 ] = 0.779\n",
" Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets= 10 ] = 0.786\n",
" Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.786\n",
" Average Recall (AR) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.150\n",
" Average Recall (AR) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.701\n",
" Average Recall (AR) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.805\n",
"INFO:tensorflow:Finished evaluation at 2022-05-24-16:04:19\n",
"I0524 16:04:19.804222 140682825586560 evaluation.py:275] Finished evaluation at 2022-05-24-16:04:19\n",
"INFO:tensorflow:Saving dict for global step 23027: DetectionBoxes_Precision/mAP = 0.72252214, DetectionBoxes_Precision/mAP (large) = 0.7532305, DetectionBoxes_Precision/mAP (medium) = 0.55117047, DetectionBoxes_Precision/mAP (small) = 0.15148515, DetectionBoxes_Precision/mAP@.50IOU = 0.9552406, DetectionBoxes_Precision/mAP@.75IOU = 0.8980098, DetectionBoxes_Recall/AR@1 = 0.7790037, DetectionBoxes_Recall/AR@10 = 0.7859739, DetectionBoxes_Recall/AR@100 = 0.7860938, DetectionBoxes_Recall/AR@100 (large) = 0.8045501, DetectionBoxes_Recall/AR@100 (medium) = 0.70122653, DetectionBoxes_Recall/AR@100 (small) = 0.15, Loss/classification_loss = 0.20956074, Loss/localization_loss = 0.06386838, Loss/regularization_loss = 0.053452894, Loss/total_loss = 0.32688245, global_step = 23027, learning_rate = 0.007945031, loss = 0.32688245\n",
"I0524 16:04:19.804499 140682825586560 estimator.py:2049] Saving dict for global step 23027: DetectionBoxes_Precision/mAP = 0.72252214, DetectionBoxes_Precision/mAP (large) = 0.7532305, DetectionBoxes_Precision/mAP (medium) = 0.55117047, DetectionBoxes_Precision/mAP (small) = 0.15148515, DetectionBoxes_Precision/mAP@.50IOU = 0.9552406, DetectionBoxes_Precision/mAP@.75IOU = 0.8980098, DetectionBoxes_Recall/AR@1 = 0.7790037, DetectionBoxes_Recall/AR@10 = 0.7859739, DetectionBoxes_Recall/AR@100 = 0.7860938, DetectionBoxes_Recall/AR@100 (large) = 0.8045501, DetectionBoxes_Recall/AR@100 (medium) = 0.70122653, DetectionBoxes_Recall/AR@100 (small) = 0.15, Loss/classification_loss = 0.20956074, Loss/localization_loss = 0.06386838, Loss/regularization_loss = 0.053452894, Loss/total_loss = 0.32688245, global_step = 23027, learning_rate = 0.007945031, loss = 0.32688245\n",
"INFO:tensorflow:Saving 'checkpoint_path' summary for global step 23027: /content/data/spaghettinet_edgetpu_l_quant_pet/model.ckpt-23027\n",
"I0524 16:04:19.807636 140682825586560 estimator.py:2109] Saving 'checkpoint_path' summary for global step 23027: /content/data/spaghettinet_edgetpu_l_quant_pet/model.ckpt-23027\n",
"INFO:tensorflow:global_step/sec: 0.425739\n",
"I0524 16:05:05.546878 140682825586560 basic_session_run_hooks.py:692] global_step/sec: 0.425739\n",
"INFO:tensorflow:loss = 0.3335718, step = 23100 (234.886 sec)\n",
"I0524 16:05:05.547767 140682825586560 basic_session_run_hooks.py:260] loss = 0.3335718, step = 23100 (234.886 sec)\n",
"Corrupt JPEG data: premature end of data segment\n",
"INFO:tensorflow:global_step/sec: 1.63929\n",
"I0524 16:06:06.549030 140682825586560 basic_session_run_hooks.py:692] global_step/sec: 1.63929\n",
"INFO:tensorflow:loss = 0.4541961, step = 23200 (61.002 sec)\n",
"I0524 16:06:06.549844 140682825586560 basic_session_run_hooks.py:260] loss = 0.4541961, step = 23200 (61.002 sec)\n",
"Corrupt JPEG data: premature end of data segment\n",
"INFO:tensorflow:global_step/sec: 1.64015\n",
"I0524 16:07:07.519214 140682825586560 basic_session_run_hooks.py:692] global_step/sec: 1.64015\n",
"INFO:tensorflow:loss = 0.39134887, step = 23300 (60.970 sec)\n",
"I0524 16:07:07.520197 140682825586560 basic_session_run_hooks.py:260] loss = 0.39134887, step = 23300 (60.970 sec)\n",
"Corrupt JPEG data: premature end of data segment\n",
"INFO:tensorflow:global_step/sec: 1.63966\n",
"I0524 16:08:08.507543 140682825586560 basic_session_run_hooks.py:692] global_step/sec: 1.63966\n",
"INFO:tensorflow:loss = 0.29435804, step = 23400 (60.988 sec)\n",
"I0524 16:08:08.508514 140682825586560 basic_session_run_hooks.py:260] loss = 0.29435804, step = 23400 (60.988 sec)\n",
"Corrupt JPEG data: premature end of data segment\n",
"INFO:tensorflow:global_step/sec: 1.63943\n",
"I0524 16:09:09.504489 140682825586560 basic_session_run_hooks.py:692] global_step/sec: 1.63943\n",
"INFO:tensorflow:loss = 0.2575825, step = 23500 (60.997 sec)\n",
"I0524 16:09:09.505517 140682825586560 basic_session_run_hooks.py:260] loss = 0.2575825, step = 23500 (60.997 sec)\n",
"Corrupt JPEG data: premature end of data segment\n",
"INFO:tensorflow:global_step/sec: 1.63895\n",
"I0524 16:10:10.519217 140682825586560 basic_session_run_hooks.py:692] global_step/sec: 1.63895\n",
"INFO:tensorflow:loss = 0.32081407, step = 23600 (61.015 sec)\n",
"I0524 16:10:10.520234 140682825586560 basic_session_run_hooks.py:260] loss = 0.32081407, step = 23600 (61.015 sec)\n",
"INFO:tensorflow:global_step/sec: 1.63187\n",
"I0524 16:11:11.798712 140682825586560 basic_session_run_hooks.py:692] global_step/sec: 1.63187\n",
"INFO:tensorflow:loss = 0.3869645, step = 23700 (61.280 sec)\n",
"I0524 16:11:11.799812 140682825586560 basic_session_run_hooks.py:260] loss = 0.3869645, step = 23700 (61.280 sec)\n",
"INFO:tensorflow:Saving checkpoints for 23726 into /content/data/spaghettinet_edgetpu_l_quant_pet/model.ckpt.\n",
"I0524 16:11:27.026424 140682825586560 basic_session_run_hooks.py:606] Saving checkpoints for 23726 into /content/data/spaghettinet_edgetpu_l_quant_pet/model.ckpt.\n",
"INFO:tensorflow:Reading unweighted datasets: ['/content/data/tf_record/pet_faces_train.record-?????-of-00010']\n",
"I0524 16:11:30.534448 140682825586560 dataset_builder.py:162] Reading unweighted datasets: ['/content/data/tf_record/pet_faces_train.record-?????-of-00010']\n",
"INFO:tensorflow:Reading record datasets for input file: ['/content/data/tf_record/pet_faces_train.record-?????-of-00010']\n",
"I0524 16:11:30.535425 140682825586560 dataset_builder.py:79] Reading record datasets for input file: ['/content/data/tf_record/pet_faces_train.record-?????-of-00010']\n",
"INFO:tensorflow:Number of filenames to read: 10\n",
"I0524 16:11:30.535563 140682825586560 dataset_builder.py:80] Number of filenames to read: 10\n",
"WARNING:tensorflow:num_readers has been reduced to 10 to match input file shards.\n",
"W0524 16:11:30.535638 140682825586560 dataset_builder.py:87] num_readers has been reduced to 10 to match input file shards.\n",
"WARNING:tensorflow:`shuffle` is false, but the input data stream is still slightly shuffled since `num_readers` > 1.\n",
"W0524 16:11:30.536967 140682825586560 dataset_builder.py:93] `shuffle` is false, but the input data stream is still slightly shuffled since `num_readers` > 1.\n",
"WARNING:tensorflow:Entity <bound method TfExampleDecoder.decode of <object_detection.data_decoders.tf_example_decoder.TfExampleDecoder object at 0x7fee18fc9ed0>> could not be transformed and will be executed as-is. Please report this to the AutoGraph team. When filing the bug, set the verbosity to 10 (on Linux, `export AUTOGRAPH_VERBOSITY=10`) and attach the full output. Cause: module 'gast' has no attribute 'Index'\n",
"W0524 16:11:30.584200 140682825586560 ag_logging.py:146] Entity <bound method TfExampleDecoder.decode of <object_detection.data_decoders.tf_example_decoder.TfExampleDecoder object at 0x7fee18fc9ed0>> could not be transformed and will be executed as-is. Please report this to the AutoGraph team. When filing the bug, set the verbosity to 10 (on Linux, `export AUTOGRAPH_VERBOSITY=10`) and attach the full output. Cause: module 'gast' has no attribute 'Index'\n",
"WARNING:tensorflow:Entity <function eval_input.<locals>.transform_and_pad_input_data_fn at 0x7fee141cdc20> could not be transformed and will be executed as-is. Please report this to the AutoGraph team. When filing the bug, set the verbosity to 10 (on Linux, `export AUTOGRAPH_VERBOSITY=10`) and attach the full output. Cause: module 'gast' has no attribute 'Str'\n",
"W0524 16:11:30.742293 140682825586560 ag_logging.py:146] Entity <function eval_input.<locals>.transform_and_pad_input_data_fn at 0x7fee141cdc20> could not be transformed and will be executed as-is. Please report this to the AutoGraph team. When filing the bug, set the verbosity to 10 (on Linux, `export AUTOGRAPH_VERBOSITY=10`) and attach the full output. Cause: module 'gast' has no attribute 'Str'\n",
"INFO:tensorflow:Calling model_fn.\n",
"I0524 16:11:31.223277 140682825586560 estimator.py:1148] Calling model_fn.\n",
"INFO:tensorflow:depth of additional conv before box predictor: 0\n",
"I0524 16:11:35.089990 140682825586560 convolutional_box_predictor.py:155] depth of additional conv before box predictor: 0\n",
"INFO:tensorflow:depth of additional conv before box predictor: 0\n",
"I0524 16:11:35.159081 140682825586560 convolutional_box_predictor.py:155] depth of additional conv before box predictor: 0\n",
"INFO:tensorflow:depth of additional conv before box predictor: 0\n",
"I0524 16:11:35.230786 140682825586560 convolutional_box_predictor.py:155] depth of additional conv before box predictor: 0\n",
"INFO:tensorflow:depth of additional conv before box predictor: 0\n",
"I0524 16:11:35.299896 140682825586560 convolutional_box_predictor.py:155] depth of additional conv before box predictor: 0\n",
"INFO:tensorflow:depth of additional conv before box predictor: 0\n",
"I0524 16:11:35.371499 140682825586560 convolutional_box_predictor.py:155] depth of additional conv before box predictor: 0\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/add_13\n",
"I0524 16:11:39.024397 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/add_13\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/add_17\n",
"I0524 16:11:39.025769 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/add_17\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/add_21\n",
"I0524 16:11:39.027070 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/add_21\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/add_25\n",
"I0524 16:11:39.028353 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/add_25\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/add_28\n",
"I0524 16:11:39.029296 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/add_28\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/stem_node/stem/add_fold\n",
"I0524 16:11:39.041976 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/stem_node/stem/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n0_0/slice_0/add_fold\n",
"I0524 16:11:39.042179 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n0_0/slice_0/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n0_0/slice_1/add_fold\n",
"I0524 16:11:39.042346 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n0_0/slice_1/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n0_0/slice_2/add_fold\n",
"I0524 16:11:39.042510 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n0_0/slice_2/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_0/slice_0/add_fold\n",
"I0524 16:11:39.042762 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_0/slice_0/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_0/slice_1/add_fold\n",
"I0524 16:11:39.042933 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_0/slice_1/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_0/slice_2/add_fold\n",
"I0524 16:11:39.043093 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_0/slice_2/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_0/slice_3/add_fold\n",
"I0524 16:11:39.043251 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_0/slice_3/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_1/slice_0/add_fold\n",
"I0524 16:11:39.043489 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_1/slice_0/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_1/slice_1/add_fold\n",
"I0524 16:11:39.043643 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_1/slice_1/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_1/slice_2/add_fold\n",
"I0524 16:11:39.043799 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_1/slice_2/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_1/slice_3/add_fold\n",
"I0524 16:11:39.043968 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_1/slice_3/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_2/slice_0/add_fold\n",
"I0524 16:11:39.044207 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_2/slice_0/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_2/slice_1/add_fold\n",
"I0524 16:11:39.044361 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_2/slice_1/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_2/slice_2/add_fold\n",
"I0524 16:11:39.044515 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_2/slice_2/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_2/slice_3/add_fold\n",
"I0524 16:11:39.044671 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_2/slice_3/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_3/slice_0/add_fold\n",
"I0524 16:11:39.044924 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_3/slice_0/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_3/slice_1/add_fold\n",
"I0524 16:11:39.045080 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_3/slice_1/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_3/slice_2/add_fold\n",
"I0524 16:11:39.045234 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_3/slice_2/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_3/slice_3/add_fold\n",
"I0524 16:11:39.045388 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_3/slice_3/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_0/expansion/add_fold\n",
"I0524 16:11:39.045625 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_0/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_0/depthwise/add_fold\n",
"I0524 16:11:39.045790 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_0/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_1/expansion/add_fold\n",
"I0524 16:11:39.046030 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_1/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_1/depthwise/add_fold\n",
"I0524 16:11:39.046190 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_1/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_2/expansion/add_fold\n",
"I0524 16:11:39.046418 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_2/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_2/depthwise/add_fold\n",
"I0524 16:11:39.046583 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_2/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_3/expansion/add_fold\n",
"I0524 16:11:39.046835 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_3/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_3/depthwise/add_fold\n",
"I0524 16:11:39.047010 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_3/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_0/expansion/add_fold\n",
"I0524 16:11:39.047244 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_0/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_0/depthwise/add_fold\n",
"I0524 16:11:39.047407 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_0/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_1/expansion/add_fold\n",
"I0524 16:11:39.047639 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_1/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_1/depthwise/add_fold\n",
"I0524 16:11:39.047814 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_1/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_2/expansion/add_fold\n",
"I0524 16:11:39.048060 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_2/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_2/depthwise/add_fold\n",
"I0524 16:11:39.048223 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_2/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_3/expansion/add_fold\n",
"I0524 16:11:39.048453 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_3/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_3/depthwise/add_fold\n",
"I0524 16:11:39.048619 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_3/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_0/expansion/add_fold\n",
"I0524 16:11:39.048866 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_0/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_0/depthwise/add_fold\n",
"I0524 16:11:39.049036 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_0/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_1/expansion/add_fold\n",
"I0524 16:11:39.049268 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_1/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_1/depthwise/add_fold\n",
"I0524 16:11:39.049433 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_1/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_2/expansion/add_fold\n",
"I0524 16:11:39.049674 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_2/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_2/depthwise/add_fold\n",
"I0524 16:11:39.049843 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_2/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_3/expansion/add_fold\n",
"I0524 16:11:39.050086 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_3/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_3/depthwise/add_fold\n",
"I0524 16:11:39.050248 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_3/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n5_0/expansion/add_fold\n",
"I0524 16:11:39.050483 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n5_0/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n5_0/depthwise/add_fold\n",
"I0524 16:11:39.050645 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n5_0/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n5_1/pointwise/add_fold\n",
"I0524 16:11:39.050883 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n5_1/pointwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_0/expansion/add_fold\n",
"I0524 16:11:39.051207 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_0/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_0/depthwise/add_fold\n",
"I0524 16:11:39.051372 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_0/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_1/expansion/add_fold\n",
"I0524 16:11:39.051603 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_1/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_1/depthwise/add_fold\n",
"I0524 16:11:39.051781 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_1/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_2/expansion/add_fold\n",
"I0524 16:11:39.052024 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_2/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_2/depthwise/add_fold\n",
"I0524 16:11:39.052188 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_2/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_3/expansion/add_fold\n",
"I0524 16:11:39.052423 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_3/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_3/depthwise/add_fold\n",
"I0524 16:11:39.052581 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_3/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_0/expansion/add_fold\n",
"I0524 16:11:39.052989 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_0/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_0/depthwise/add_fold\n",
"I0524 16:11:39.053155 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_0/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_1/expansion/add_fold\n",
"I0524 16:11:39.053391 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_1/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_1/depthwise/add_fold\n",
"I0524 16:11:39.072134 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_1/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_2/expansion/add_fold\n",
"I0524 16:11:39.072379 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_2/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_2/depthwise/add_fold\n",
"I0524 16:11:39.072546 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_2/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_3/expansion/add_fold\n",
"I0524 16:11:39.072794 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_3/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_3/depthwise/add_fold\n",
"I0524 16:11:39.072996 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_3/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_0/expansion/add_fold\n",
"I0524 16:11:39.073432 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_0/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_0/depthwise/add_fold\n",
"I0524 16:11:39.073616 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_0/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_1/expansion/add_fold\n",
"I0524 16:11:39.073867 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_1/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_1/depthwise/add_fold\n",
"I0524 16:11:39.074038 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_1/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_2/expansion/add_fold\n",
"I0524 16:11:39.074275 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_2/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_2/depthwise/add_fold\n",
"I0524 16:11:39.074438 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_2/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_3/expansion/add_fold\n",
"I0524 16:11:39.074675 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_3/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_3/depthwise/add_fold\n",
"I0524 16:11:39.074851 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_3/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n3_0/expansion/add_fold\n",
"I0524 16:11:39.075260 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n3_0/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n3_0/depthwise/add_fold\n",
"I0524 16:11:39.075428 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n3_0/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n3_1/expansion/add_fold\n",
"I0524 16:11:39.075662 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n3_1/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n3_1/depthwise/add_fold\n",
"I0524 16:11:39.075829 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n3_1/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n3_2/pointwise/add_fold\n",
"I0524 16:11:39.076074 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n3_2/pointwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n4_0/expansion/add_fold\n",
"I0524 16:11:39.076389 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n4_0/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n4_0/depthwise/add_fold\n",
"I0524 16:11:39.076554 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n4_0/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n4_1/expansion/add_fold\n",
"I0524 16:11:39.076795 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n4_1/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n4_1/depthwise/add_fold\n",
"I0524 16:11:39.076968 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n4_1/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n5_0/pointwise/add_fold\n",
"I0524 16:11:39.077205 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n5_0/pointwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n5_1/pointwise/add_fold\n",
"I0524 16:11:39.077361 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n5_1/pointwise/add_fold\n",
"INFO:tensorflow:Skipping quant after BoxPredictor_0/BoxEncodingPredictor_depthwise/add_fold\n",
"I0524 16:11:39.077523 140682825586560 quantize.py:364] Skipping quant after BoxPredictor_0/BoxEncodingPredictor_depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after BoxPredictor_0/ClassPredictor_depthwise/add_fold\n",
"I0524 16:11:39.077691 140682825586560 quantize.py:364] Skipping quant after BoxPredictor_0/ClassPredictor_depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after BoxPredictor_1/BoxEncodingPredictor_depthwise/add_fold\n",
"I0524 16:11:39.077880 140682825586560 quantize.py:364] Skipping quant after BoxPredictor_1/BoxEncodingPredictor_depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after BoxPredictor_1/ClassPredictor_depthwise/add_fold\n",
"I0524 16:11:39.078060 140682825586560 quantize.py:364] Skipping quant after BoxPredictor_1/ClassPredictor_depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after BoxPredictor_2/BoxEncodingPredictor_depthwise/add_fold\n",
"I0524 16:11:39.078231 140682825586560 quantize.py:364] Skipping quant after BoxPredictor_2/BoxEncodingPredictor_depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after BoxPredictor_2/ClassPredictor_depthwise/add_fold\n",
"I0524 16:11:39.078402 140682825586560 quantize.py:364] Skipping quant after BoxPredictor_2/ClassPredictor_depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after BoxPredictor_3/BoxEncodingPredictor_depthwise/add_fold\n",
"I0524 16:11:39.078569 140682825586560 quantize.py:364] Skipping quant after BoxPredictor_3/BoxEncodingPredictor_depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after BoxPredictor_3/ClassPredictor_depthwise/add_fold\n",
"I0524 16:11:39.078748 140682825586560 quantize.py:364] Skipping quant after BoxPredictor_3/ClassPredictor_depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after BoxPredictor_4/BoxEncodingPredictor_depthwise/add_fold\n",
"I0524 16:11:39.078915 140682825586560 quantize.py:364] Skipping quant after BoxPredictor_4/BoxEncodingPredictor_depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after BoxPredictor_4/ClassPredictor_depthwise/add_fold\n",
"I0524 16:11:39.079089 140682825586560 quantize.py:364] Skipping quant after BoxPredictor_4/ClassPredictor_depthwise/add_fold\n",
"INFO:tensorflow:Inserting act_quant op for standalone Relu6 op: FeatureExtractor/spaghettinet_edgetpu_l/Relu6.\n",
"I0524 16:11:39.122360 140682825586560 quantize.py:325] Inserting act_quant op for standalone Relu6 op: FeatureExtractor/spaghettinet_edgetpu_l/Relu6.\n",
"INFO:tensorflow:Inserting act_quant op for standalone Relu6 op: FeatureExtractor/spaghettinet_edgetpu_l/Relu6_1.\n",
"I0524 16:11:39.129955 140682825586560 quantize.py:325] Inserting act_quant op for standalone Relu6 op: FeatureExtractor/spaghettinet_edgetpu_l/Relu6_1.\n",
"INFO:tensorflow:Inserting act_quant op for standalone Relu6 op: FeatureExtractor/spaghettinet_edgetpu_l/Relu6_2.\n",
"I0524 16:11:39.136244 140682825586560 quantize.py:325] Inserting act_quant op for standalone Relu6 op: FeatureExtractor/spaghettinet_edgetpu_l/Relu6_2.\n",
"INFO:tensorflow:Inserting act_quant op for standalone Relu6 op: FeatureExtractor/spaghettinet_edgetpu_l/Relu6_3.\n",
"I0524 16:11:39.142550 140682825586560 quantize.py:325] Inserting act_quant op for standalone Relu6 op: FeatureExtractor/spaghettinet_edgetpu_l/Relu6_3.\n",
"INFO:tensorflow:Inserting act_quant op for standalone Relu6 op: FeatureExtractor/spaghettinet_edgetpu_l/Relu6_4.\n",
"I0524 16:11:39.148785 140682825586560 quantize.py:325] Inserting act_quant op for standalone Relu6 op: FeatureExtractor/spaghettinet_edgetpu_l/Relu6_4.\n",
"INFO:tensorflow:Done calling model_fn.\n",
"I0524 16:11:40.508783 140682825586560 estimator.py:1150] Done calling model_fn.\n",
"INFO:tensorflow:Starting evaluation at 2022-05-24T16:11:40Z\n",
"I0524 16:11:40.524239 140682825586560 evaluation.py:255] Starting evaluation at 2022-05-24T16:11:40Z\n",
"INFO:tensorflow:Graph was finalized.\n",
"I0524 16:11:41.926133 140682825586560 monitored_session.py:240] Graph was finalized.\n",
"2022-05-24 16:11:41.926739: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:983] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n",
"2022-05-24 16:11:41.927042: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1639] Found device 0 with properties: \n",
"name: Tesla T4 major: 7 minor: 5 memoryClockRate(GHz): 1.59\n",
"pciBusID: 0000:00:04.0\n",
"2022-05-24 16:11:41.927135: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcudart.so.10.1\n",
"2022-05-24 16:11:41.927160: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcublas.so.10\n",
"2022-05-24 16:11:41.927178: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcufft.so.10\n",
"2022-05-24 16:11:41.927197: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcurand.so.10\n",
"2022-05-24 16:11:41.927218: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcusolver.so.10\n",
"2022-05-24 16:11:41.927234: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcusparse.so.10\n",
"2022-05-24 16:11:41.927250: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcudnn.so.7\n",
"2022-05-24 16:11:41.927330: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:983] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n",
"2022-05-24 16:11:41.927562: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:983] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n",
"2022-05-24 16:11:41.927753: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1767] Adding visible gpu devices: 0\n",
"2022-05-24 16:11:41.927794: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1180] Device interconnect StreamExecutor with strength 1 edge matrix:\n",
"2022-05-24 16:11:41.927806: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1186] 0 \n",
"2022-05-24 16:11:41.927813: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1199] 0: N \n",
"2022-05-24 16:11:41.927934: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:983] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n",
"2022-05-24 16:11:41.928179: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:983] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n",
"2022-05-24 16:11:41.928377: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1325] Created TensorFlow device (/job:localhost/replica:0/task:0/device:GPU:0 with 14257 MB memory) -> physical GPU (device: 0, name: Tesla T4, pci bus id: 0000:00:04.0, compute capability: 7.5)\n",
"INFO:tensorflow:Restoring parameters from /content/data/spaghettinet_edgetpu_l_quant_pet/model.ckpt-23726\n",
"I0524 16:11:41.929302 140682825586560 saver.py:1284] Restoring parameters from /content/data/spaghettinet_edgetpu_l_quant_pet/model.ckpt-23726\n",
"INFO:tensorflow:Running local_init_op.\n",
"I0524 16:11:44.949129 140682825586560 session_manager.py:500] Running local_init_op.\n",
"INFO:tensorflow:Done running local_init_op.\n",
"I0524 16:11:45.247804 140682825586560 session_manager.py:502] Done running local_init_op.\n",
"Corrupt JPEG data: premature end of data segment\n",
"INFO:tensorflow:Performing evaluation on 2568 images.\n",
"I0524 16:13:53.903013 140678246762240 coco_evaluation.py:293] Performing evaluation on 2568 images.\n",
"creating index...\n",
"index created!\n",
"INFO:tensorflow:Loading and preparing annotation results...\n",
"I0524 16:13:53.909434 140678246762240 coco_tools.py:116] Loading and preparing annotation results...\n",
"INFO:tensorflow:DONE (t=0.19s)\n",
"I0524 16:13:54.099109 140678246762240 coco_tools.py:138] DONE (t=0.19s)\n",
"creating index...\n",
"index created!\n",
"Running per image evaluation...\n",
"Evaluate annotation type *bbox*\n",
"DONE (t=17.13s).\n",
"Accumulating evaluation results...\n",
"DONE (t=5.66s).\n",
" Average Precision (AP) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.721\n",
" Average Precision (AP) @[ IoU=0.50 | area= all | maxDets=100 ] = 0.953\n",
" Average Precision (AP) @[ IoU=0.75 | area= all | maxDets=100 ] = 0.881\n",
" Average Precision (AP) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.000\n",
" Average Precision (AP) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.530\n",
" Average Precision (AP) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.757\n",
" Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets= 1 ] = 0.779\n",
" Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets= 10 ] = 0.786\n",
" Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.786\n",
" Average Recall (AR) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.000\n",
" Average Recall (AR) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.661\n",
" Average Recall (AR) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.812\n",
"INFO:tensorflow:Finished evaluation at 2022-05-24-16:14:17\n",
"I0524 16:14:17.880705 140682825586560 evaluation.py:275] Finished evaluation at 2022-05-24-16:14:17\n",
"INFO:tensorflow:Saving dict for global step 23726: DetectionBoxes_Precision/mAP = 0.7207247, DetectionBoxes_Precision/mAP (large) = 0.75740063, DetectionBoxes_Precision/mAP (medium) = 0.52991426, DetectionBoxes_Precision/mAP (small) = 0.0, DetectionBoxes_Precision/mAP@.50IOU = 0.9525327, DetectionBoxes_Precision/mAP@.75IOU = 0.8805397, DetectionBoxes_Recall/AR@1 = 0.77878803, DetectionBoxes_Recall/AR@10 = 0.78610396, DetectionBoxes_Recall/AR@100 = 0.78621995, DetectionBoxes_Recall/AR@100 (large) = 0.8117729, DetectionBoxes_Recall/AR@100 (medium) = 0.66105884, DetectionBoxes_Recall/AR@100 (small) = 0.0, Loss/classification_loss = 0.20411107, Loss/localization_loss = 0.06598454, Loss/regularization_loss = 0.053595956, Loss/total_loss = 0.32369223, global_step = 23726, learning_rate = 0.007941324, loss = 0.32369223\n",
"I0524 16:14:17.880978 140682825586560 estimator.py:2049] Saving dict for global step 23726: DetectionBoxes_Precision/mAP = 0.7207247, DetectionBoxes_Precision/mAP (large) = 0.75740063, DetectionBoxes_Precision/mAP (medium) = 0.52991426, DetectionBoxes_Precision/mAP (small) = 0.0, DetectionBoxes_Precision/mAP@.50IOU = 0.9525327, DetectionBoxes_Precision/mAP@.75IOU = 0.8805397, DetectionBoxes_Recall/AR@1 = 0.77878803, DetectionBoxes_Recall/AR@10 = 0.78610396, DetectionBoxes_Recall/AR@100 = 0.78621995, DetectionBoxes_Recall/AR@100 (large) = 0.8117729, DetectionBoxes_Recall/AR@100 (medium) = 0.66105884, DetectionBoxes_Recall/AR@100 (small) = 0.0, Loss/classification_loss = 0.20411107, Loss/localization_loss = 0.06598454, Loss/regularization_loss = 0.053595956, Loss/total_loss = 0.32369223, global_step = 23726, learning_rate = 0.007941324, loss = 0.32369223\n",
"INFO:tensorflow:Saving 'checkpoint_path' summary for global step 23726: /content/data/spaghettinet_edgetpu_l_quant_pet/model.ckpt-23726\n",
"I0524 16:14:17.883817 140682825586560 estimator.py:2109] Saving 'checkpoint_path' summary for global step 23726: /content/data/spaghettinet_edgetpu_l_quant_pet/model.ckpt-23726\n",
"INFO:tensorflow:global_step/sec: 0.43065\n",
"I0524 16:15:04.005806 140682825586560 basic_session_run_hooks.py:692] global_step/sec: 0.43065\n",
"INFO:tensorflow:loss = 0.34092376, step = 23800 (232.207 sec)\n",
"I0524 16:15:04.006964 140682825586560 basic_session_run_hooks.py:260] loss = 0.34092376, step = 23800 (232.207 sec)\n",
"Corrupt JPEG data: premature end of data segment\n",
"Corrupt JPEG data: premature end of data segment\n",
"INFO:tensorflow:global_step/sec: 1.6378\n",
"I0524 16:16:05.063295 140682825586560 basic_session_run_hooks.py:692] global_step/sec: 1.6378\n",
"INFO:tensorflow:loss = 0.3218276, step = 23900 (61.057 sec)\n",
"I0524 16:16:05.064226 140682825586560 basic_session_run_hooks.py:260] loss = 0.3218276, step = 23900 (61.057 sec)\n",
"INFO:tensorflow:global_step/sec: 1.63348\n",
"I0524 16:17:06.282191 140682825586560 basic_session_run_hooks.py:692] global_step/sec: 1.63348\n",
"INFO:tensorflow:loss = 0.34788918, step = 24000 (61.219 sec)\n",
"I0524 16:17:06.283355 140682825586560 basic_session_run_hooks.py:260] loss = 0.34788918, step = 24000 (61.219 sec)\n",
"Corrupt JPEG data: premature end of data segment\n",
"INFO:tensorflow:global_step/sec: 1.63569\n",
"I0524 16:18:07.418441 140682825586560 basic_session_run_hooks.py:692] global_step/sec: 1.63569\n",
"INFO:tensorflow:loss = 0.3966682, step = 24100 (61.136 sec)\n",
"I0524 16:18:07.419425 140682825586560 basic_session_run_hooks.py:260] loss = 0.3966682, step = 24100 (61.136 sec)\n",
"INFO:tensorflow:global_step/sec: 1.63775\n",
"I0524 16:19:08.477764 140682825586560 basic_session_run_hooks.py:692] global_step/sec: 1.63775\n",
"INFO:tensorflow:loss = 0.41875607, step = 24200 (61.059 sec)\n",
"I0524 16:19:08.478845 140682825586560 basic_session_run_hooks.py:260] loss = 0.41875607, step = 24200 (61.059 sec)\n",
"INFO:tensorflow:global_step/sec: 1.63324\n",
"I0524 16:20:09.705591 140682825586560 basic_session_run_hooks.py:692] global_step/sec: 1.63324\n",
"INFO:tensorflow:loss = 0.28883776, step = 24300 (61.228 sec)\n",
"I0524 16:20:09.706988 140682825586560 basic_session_run_hooks.py:260] loss = 0.28883776, step = 24300 (61.228 sec)\n",
"Corrupt JPEG data: premature end of data segment\n",
"INFO:tensorflow:global_step/sec: 1.63367\n",
"I0524 16:21:10.917570 140682825586560 basic_session_run_hooks.py:692] global_step/sec: 1.63367\n",
"INFO:tensorflow:loss = 0.40568197, step = 24400 (61.212 sec)\n",
"I0524 16:21:10.918524 140682825586560 basic_session_run_hooks.py:260] loss = 0.40568197, step = 24400 (61.212 sec)\n",
"INFO:tensorflow:Saving checkpoints for 24428 into /content/data/spaghettinet_edgetpu_l_quant_pet/model.ckpt.\n",
"I0524 16:21:27.483975 140682825586560 basic_session_run_hooks.py:606] Saving checkpoints for 24428 into /content/data/spaghettinet_edgetpu_l_quant_pet/model.ckpt.\n",
"INFO:tensorflow:Reading unweighted datasets: ['/content/data/tf_record/pet_faces_train.record-?????-of-00010']\n",
"I0524 16:21:30.999606 140682825586560 dataset_builder.py:162] Reading unweighted datasets: ['/content/data/tf_record/pet_faces_train.record-?????-of-00010']\n",
"INFO:tensorflow:Reading record datasets for input file: ['/content/data/tf_record/pet_faces_train.record-?????-of-00010']\n",
"I0524 16:21:31.000642 140682825586560 dataset_builder.py:79] Reading record datasets for input file: ['/content/data/tf_record/pet_faces_train.record-?????-of-00010']\n",
"INFO:tensorflow:Number of filenames to read: 10\n",
"I0524 16:21:31.000782 140682825586560 dataset_builder.py:80] Number of filenames to read: 10\n",
"WARNING:tensorflow:num_readers has been reduced to 10 to match input file shards.\n",
"W0524 16:21:31.000837 140682825586560 dataset_builder.py:87] num_readers has been reduced to 10 to match input file shards.\n",
"WARNING:tensorflow:`shuffle` is false, but the input data stream is still slightly shuffled since `num_readers` > 1.\n",
"W0524 16:21:31.002214 140682825586560 dataset_builder.py:93] `shuffle` is false, but the input data stream is still slightly shuffled since `num_readers` > 1.\n",
"WARNING:tensorflow:Entity <bound method TfExampleDecoder.decode of <object_detection.data_decoders.tf_example_decoder.TfExampleDecoder object at 0x7fee196899d0>> could not be transformed and will be executed as-is. Please report this to the AutoGraph team. When filing the bug, set the verbosity to 10 (on Linux, `export AUTOGRAPH_VERBOSITY=10`) and attach the full output. Cause: module 'gast' has no attribute 'Index'\n",
"W0524 16:21:31.050099 140682825586560 ag_logging.py:146] Entity <bound method TfExampleDecoder.decode of <object_detection.data_decoders.tf_example_decoder.TfExampleDecoder object at 0x7fee196899d0>> could not be transformed and will be executed as-is. Please report this to the AutoGraph team. When filing the bug, set the verbosity to 10 (on Linux, `export AUTOGRAPH_VERBOSITY=10`) and attach the full output. Cause: module 'gast' has no attribute 'Index'\n",
"WARNING:tensorflow:Entity <function eval_input.<locals>.transform_and_pad_input_data_fn at 0x7fee126dbb90> could not be transformed and will be executed as-is. Please report this to the AutoGraph team. When filing the bug, set the verbosity to 10 (on Linux, `export AUTOGRAPH_VERBOSITY=10`) and attach the full output. Cause: module 'gast' has no attribute 'Str'\n",
"W0524 16:21:31.212477 140682825586560 ag_logging.py:146] Entity <function eval_input.<locals>.transform_and_pad_input_data_fn at 0x7fee126dbb90> could not be transformed and will be executed as-is. Please report this to the AutoGraph team. When filing the bug, set the verbosity to 10 (on Linux, `export AUTOGRAPH_VERBOSITY=10`) and attach the full output. Cause: module 'gast' has no attribute 'Str'\n",
"INFO:tensorflow:Calling model_fn.\n",
"I0524 16:21:31.696351 140682825586560 estimator.py:1148] Calling model_fn.\n",
"INFO:tensorflow:depth of additional conv before box predictor: 0\n",
"I0524 16:21:35.003184 140682825586560 convolutional_box_predictor.py:155] depth of additional conv before box predictor: 0\n",
"INFO:tensorflow:depth of additional conv before box predictor: 0\n",
"I0524 16:21:35.074203 140682825586560 convolutional_box_predictor.py:155] depth of additional conv before box predictor: 0\n",
"INFO:tensorflow:depth of additional conv before box predictor: 0\n",
"I0524 16:21:35.142506 140682825586560 convolutional_box_predictor.py:155] depth of additional conv before box predictor: 0\n",
"INFO:tensorflow:depth of additional conv before box predictor: 0\n",
"I0524 16:21:35.210945 140682825586560 convolutional_box_predictor.py:155] depth of additional conv before box predictor: 0\n",
"INFO:tensorflow:depth of additional conv before box predictor: 0\n",
"I0524 16:21:35.279941 140682825586560 convolutional_box_predictor.py:155] depth of additional conv before box predictor: 0\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/add_13\n",
"I0524 16:21:39.601161 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/add_13\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/add_17\n",
"I0524 16:21:39.602731 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/add_17\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/add_21\n",
"I0524 16:21:39.604143 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/add_21\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/add_25\n",
"I0524 16:21:39.605504 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/add_25\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/add_28\n",
"I0524 16:21:39.606494 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/add_28\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/stem_node/stem/add_fold\n",
"I0524 16:21:39.620837 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/stem_node/stem/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n0_0/slice_0/add_fold\n",
"I0524 16:21:39.621071 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n0_0/slice_0/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n0_0/slice_1/add_fold\n",
"I0524 16:21:39.621235 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n0_0/slice_1/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n0_0/slice_2/add_fold\n",
"I0524 16:21:39.621390 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n0_0/slice_2/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_0/slice_0/add_fold\n",
"I0524 16:21:39.621636 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_0/slice_0/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_0/slice_1/add_fold\n",
"I0524 16:21:39.621801 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_0/slice_1/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_0/slice_2/add_fold\n",
"I0524 16:21:39.621980 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_0/slice_2/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_0/slice_3/add_fold\n",
"I0524 16:21:39.622134 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_0/slice_3/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_1/slice_0/add_fold\n",
"I0524 16:21:39.622438 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_1/slice_0/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_1/slice_1/add_fold\n",
"I0524 16:21:39.622622 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_1/slice_1/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_1/slice_2/add_fold\n",
"I0524 16:21:39.622781 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_1/slice_2/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_1/slice_3/add_fold\n",
"I0524 16:21:39.622939 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_1/slice_3/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_2/slice_0/add_fold\n",
"I0524 16:21:39.623181 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_2/slice_0/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_2/slice_1/add_fold\n",
"I0524 16:21:39.623330 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_2/slice_1/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_2/slice_2/add_fold\n",
"I0524 16:21:39.623479 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_2/slice_2/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_2/slice_3/add_fold\n",
"I0524 16:21:39.623626 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_2/slice_3/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_3/slice_0/add_fold\n",
"I0524 16:21:39.623873 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_3/slice_0/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_3/slice_1/add_fold\n",
"I0524 16:21:39.624032 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_3/slice_1/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_3/slice_2/add_fold\n",
"I0524 16:21:39.624180 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_3/slice_2/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_3/slice_3/add_fold\n",
"I0524 16:21:39.624328 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_3/slice_3/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_0/expansion/add_fold\n",
"I0524 16:21:39.624568 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_0/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_0/depthwise/add_fold\n",
"I0524 16:21:39.624747 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_0/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_1/expansion/add_fold\n",
"I0524 16:21:39.624997 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_1/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_1/depthwise/add_fold\n",
"I0524 16:21:39.625157 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_1/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_2/expansion/add_fold\n",
"I0524 16:21:39.625397 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_2/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_2/depthwise/add_fold\n",
"I0524 16:21:39.625574 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_2/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_3/expansion/add_fold\n",
"I0524 16:21:39.625821 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_3/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_3/depthwise/add_fold\n",
"I0524 16:21:39.625989 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_3/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_0/expansion/add_fold\n",
"I0524 16:21:39.626230 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_0/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_0/depthwise/add_fold\n",
"I0524 16:21:39.626411 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_0/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_1/expansion/add_fold\n",
"I0524 16:21:39.626648 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_1/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_1/depthwise/add_fold\n",
"I0524 16:21:39.626827 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_1/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_2/expansion/add_fold\n",
"I0524 16:21:39.627081 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_2/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_2/depthwise/add_fold\n",
"I0524 16:21:39.627241 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_2/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_3/expansion/add_fold\n",
"I0524 16:21:39.627485 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_3/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_3/depthwise/add_fold\n",
"I0524 16:21:39.627640 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_3/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_0/expansion/add_fold\n",
"I0524 16:21:39.627889 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_0/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_0/depthwise/add_fold\n",
"I0524 16:21:39.628062 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_0/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_1/expansion/add_fold\n",
"I0524 16:21:39.628301 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_1/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_1/depthwise/add_fold\n",
"I0524 16:21:39.628457 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_1/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_2/expansion/add_fold\n",
"I0524 16:21:39.628695 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_2/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_2/depthwise/add_fold\n",
"I0524 16:21:39.628858 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_2/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_3/expansion/add_fold\n",
"I0524 16:21:39.629108 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_3/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_3/depthwise/add_fold\n",
"I0524 16:21:39.629270 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_3/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n5_0/expansion/add_fold\n",
"I0524 16:21:39.629510 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n5_0/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n5_0/depthwise/add_fold\n",
"I0524 16:21:39.629665 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n5_0/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n5_1/pointwise/add_fold\n",
"I0524 16:21:39.629910 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n5_1/pointwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_0/expansion/add_fold\n",
"I0524 16:21:39.630261 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_0/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_0/depthwise/add_fold\n",
"I0524 16:21:39.630420 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_0/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_1/expansion/add_fold\n",
"I0524 16:21:39.630661 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_1/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_1/depthwise/add_fold\n",
"I0524 16:21:39.630825 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_1/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_2/expansion/add_fold\n",
"I0524 16:21:39.631076 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_2/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_2/depthwise/add_fold\n",
"I0524 16:21:39.631240 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_2/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_3/expansion/add_fold\n",
"I0524 16:21:39.631478 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_3/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_3/depthwise/add_fold\n",
"I0524 16:21:39.631634 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_3/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_0/expansion/add_fold\n",
"I0524 16:21:39.632075 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_0/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_0/depthwise/add_fold\n",
"I0524 16:21:39.632290 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_0/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_1/expansion/add_fold\n",
"I0524 16:21:39.632537 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_1/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_1/depthwise/add_fold\n",
"I0524 16:21:39.692716 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_1/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_2/expansion/add_fold\n",
"I0524 16:21:39.693077 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_2/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_2/depthwise/add_fold\n",
"I0524 16:21:39.693327 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_2/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_3/expansion/add_fold\n",
"I0524 16:21:39.693728 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_3/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_3/depthwise/add_fold\n",
"I0524 16:21:39.694024 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_3/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_0/expansion/add_fold\n",
"I0524 16:21:39.694688 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_0/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_0/depthwise/add_fold\n",
"I0524 16:21:39.694899 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_0/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_1/expansion/add_fold\n",
"I0524 16:21:39.695161 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_1/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_1/depthwise/add_fold\n",
"I0524 16:21:39.695338 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_1/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_2/expansion/add_fold\n",
"I0524 16:21:39.695582 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_2/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_2/depthwise/add_fold\n",
"I0524 16:21:39.695761 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_2/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_3/expansion/add_fold\n",
"I0524 16:21:39.696011 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_3/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_3/depthwise/add_fold\n",
"I0524 16:21:39.696170 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_3/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n3_0/expansion/add_fold\n",
"I0524 16:21:39.696608 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n3_0/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n3_0/depthwise/add_fold\n",
"I0524 16:21:39.696770 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n3_0/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n3_1/expansion/add_fold\n",
"I0524 16:21:39.697021 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n3_1/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n3_1/depthwise/add_fold\n",
"I0524 16:21:39.697195 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n3_1/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n3_2/pointwise/add_fold\n",
"I0524 16:21:39.697441 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n3_2/pointwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n4_0/expansion/add_fold\n",
"I0524 16:21:39.697773 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n4_0/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n4_0/depthwise/add_fold\n",
"I0524 16:21:39.697960 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n4_0/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n4_1/expansion/add_fold\n",
"I0524 16:21:39.698200 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n4_1/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n4_1/depthwise/add_fold\n",
"I0524 16:21:39.698363 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n4_1/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n5_0/pointwise/add_fold\n",
"I0524 16:21:39.698605 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n5_0/pointwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n5_1/pointwise/add_fold\n",
"I0524 16:21:39.698759 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n5_1/pointwise/add_fold\n",
"INFO:tensorflow:Skipping quant after BoxPredictor_0/BoxEncodingPredictor_depthwise/add_fold\n",
"I0524 16:21:39.698913 140682825586560 quantize.py:364] Skipping quant after BoxPredictor_0/BoxEncodingPredictor_depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after BoxPredictor_0/ClassPredictor_depthwise/add_fold\n",
"I0524 16:21:39.699078 140682825586560 quantize.py:364] Skipping quant after BoxPredictor_0/ClassPredictor_depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after BoxPredictor_1/BoxEncodingPredictor_depthwise/add_fold\n",
"I0524 16:21:39.699247 140682825586560 quantize.py:364] Skipping quant after BoxPredictor_1/BoxEncodingPredictor_depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after BoxPredictor_1/ClassPredictor_depthwise/add_fold\n",
"I0524 16:21:39.699401 140682825586560 quantize.py:364] Skipping quant after BoxPredictor_1/ClassPredictor_depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after BoxPredictor_2/BoxEncodingPredictor_depthwise/add_fold\n",
"I0524 16:21:39.699555 140682825586560 quantize.py:364] Skipping quant after BoxPredictor_2/BoxEncodingPredictor_depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after BoxPredictor_2/ClassPredictor_depthwise/add_fold\n",
"I0524 16:21:39.699706 140682825586560 quantize.py:364] Skipping quant after BoxPredictor_2/ClassPredictor_depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after BoxPredictor_3/BoxEncodingPredictor_depthwise/add_fold\n",
"I0524 16:21:39.699860 140682825586560 quantize.py:364] Skipping quant after BoxPredictor_3/BoxEncodingPredictor_depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after BoxPredictor_3/ClassPredictor_depthwise/add_fold\n",
"I0524 16:21:39.700021 140682825586560 quantize.py:364] Skipping quant after BoxPredictor_3/ClassPredictor_depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after BoxPredictor_4/BoxEncodingPredictor_depthwise/add_fold\n",
"I0524 16:21:39.700175 140682825586560 quantize.py:364] Skipping quant after BoxPredictor_4/BoxEncodingPredictor_depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after BoxPredictor_4/ClassPredictor_depthwise/add_fold\n",
"I0524 16:21:39.700331 140682825586560 quantize.py:364] Skipping quant after BoxPredictor_4/ClassPredictor_depthwise/add_fold\n",
"INFO:tensorflow:Inserting act_quant op for standalone Relu6 op: FeatureExtractor/spaghettinet_edgetpu_l/Relu6.\n",
"I0524 16:21:39.754871 140682825586560 quantize.py:325] Inserting act_quant op for standalone Relu6 op: FeatureExtractor/spaghettinet_edgetpu_l/Relu6.\n",
"INFO:tensorflow:Inserting act_quant op for standalone Relu6 op: FeatureExtractor/spaghettinet_edgetpu_l/Relu6_1.\n",
"I0524 16:21:39.763202 140682825586560 quantize.py:325] Inserting act_quant op for standalone Relu6 op: FeatureExtractor/spaghettinet_edgetpu_l/Relu6_1.\n",
"INFO:tensorflow:Inserting act_quant op for standalone Relu6 op: FeatureExtractor/spaghettinet_edgetpu_l/Relu6_2.\n",
"I0524 16:21:39.770948 140682825586560 quantize.py:325] Inserting act_quant op for standalone Relu6 op: FeatureExtractor/spaghettinet_edgetpu_l/Relu6_2.\n",
"INFO:tensorflow:Inserting act_quant op for standalone Relu6 op: FeatureExtractor/spaghettinet_edgetpu_l/Relu6_3.\n",
"I0524 16:21:39.778195 140682825586560 quantize.py:325] Inserting act_quant op for standalone Relu6 op: FeatureExtractor/spaghettinet_edgetpu_l/Relu6_3.\n",
"INFO:tensorflow:Inserting act_quant op for standalone Relu6 op: FeatureExtractor/spaghettinet_edgetpu_l/Relu6_4.\n",
"I0524 16:21:39.785145 140682825586560 quantize.py:325] Inserting act_quant op for standalone Relu6 op: FeatureExtractor/spaghettinet_edgetpu_l/Relu6_4.\n",
"INFO:tensorflow:Done calling model_fn.\n",
"I0524 16:21:41.199836 140682825586560 estimator.py:1150] Done calling model_fn.\n",
"INFO:tensorflow:Starting evaluation at 2022-05-24T16:21:41Z\n",
"I0524 16:21:41.216891 140682825586560 evaluation.py:255] Starting evaluation at 2022-05-24T16:21:41Z\n",
"INFO:tensorflow:Graph was finalized.\n",
"I0524 16:21:42.651272 140682825586560 monitored_session.py:240] Graph was finalized.\n",
"2022-05-24 16:21:42.652049: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:983] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n",
"2022-05-24 16:21:42.652381: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1639] Found device 0 with properties: \n",
"name: Tesla T4 major: 7 minor: 5 memoryClockRate(GHz): 1.59\n",
"pciBusID: 0000:00:04.0\n",
"2022-05-24 16:21:42.652478: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcudart.so.10.1\n",
"2022-05-24 16:21:42.652499: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcublas.so.10\n",
"2022-05-24 16:21:42.652514: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcufft.so.10\n",
"2022-05-24 16:21:42.652529: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcurand.so.10\n",
"2022-05-24 16:21:42.652544: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcusolver.so.10\n",
"2022-05-24 16:21:42.652558: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcusparse.so.10\n",
"2022-05-24 16:21:42.652573: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcudnn.so.7\n",
"2022-05-24 16:21:42.652653: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:983] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n",
"2022-05-24 16:21:42.652891: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:983] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n",
"2022-05-24 16:21:42.653100: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1767] Adding visible gpu devices: 0\n",
"2022-05-24 16:21:42.653172: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1180] Device interconnect StreamExecutor with strength 1 edge matrix:\n",
"2022-05-24 16:21:42.653184: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1186] 0 \n",
"2022-05-24 16:21:42.653191: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1199] 0: N \n",
"2022-05-24 16:21:42.653293: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:983] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n",
"2022-05-24 16:21:42.653521: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:983] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n",
"2022-05-24 16:21:42.653709: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1325] Created TensorFlow device (/job:localhost/replica:0/task:0/device:GPU:0 with 14257 MB memory) -> physical GPU (device: 0, name: Tesla T4, pci bus id: 0000:00:04.0, compute capability: 7.5)\n",
"INFO:tensorflow:Restoring parameters from /content/data/spaghettinet_edgetpu_l_quant_pet/model.ckpt-24428\n",
"I0524 16:21:42.654649 140682825586560 saver.py:1284] Restoring parameters from /content/data/spaghettinet_edgetpu_l_quant_pet/model.ckpt-24428\n",
"INFO:tensorflow:Running local_init_op.\n",
"I0524 16:21:45.927769 140682825586560 session_manager.py:500] Running local_init_op.\n",
"INFO:tensorflow:Done running local_init_op.\n",
"I0524 16:21:46.241037 140682825586560 session_manager.py:502] Done running local_init_op.\n",
"Corrupt JPEG data: premature end of data segment\n",
"INFO:tensorflow:Performing evaluation on 2568 images.\n",
"I0524 16:24:01.746513 140678238369536 coco_evaluation.py:293] Performing evaluation on 2568 images.\n",
"creating index...\n",
"index created!\n",
"INFO:tensorflow:Loading and preparing annotation results...\n",
"I0524 16:24:01.754734 140678238369536 coco_tools.py:116] Loading and preparing annotation results...\n",
"INFO:tensorflow:DONE (t=0.20s)\n",
"I0524 16:24:01.957813 140678238369536 coco_tools.py:138] DONE (t=0.20s)\n",
"creating index...\n",
"index created!\n",
"Running per image evaluation...\n",
"Evaluate annotation type *bbox*\n",
"DONE (t=17.92s).\n",
"Accumulating evaluation results...\n",
"DONE (t=5.82s).\n",
" Average Precision (AP) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.721\n",
" Average Precision (AP) @[ IoU=0.50 | area= all | maxDets=100 ] = 0.942\n",
" Average Precision (AP) @[ IoU=0.75 | area= all | maxDets=100 ] = 0.890\n",
" Average Precision (AP) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.000\n",
" Average Precision (AP) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.528\n",
" Average Precision (AP) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.756\n",
" Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets= 1 ] = 0.783\n",
" Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets= 10 ] = 0.791\n",
" Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.791\n",
" Average Recall (AR) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.000\n",
" Average Recall (AR) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.690\n",
" Average Recall (AR) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.812\n",
"INFO:tensorflow:Finished evaluation at 2022-05-24-16:24:26\n",
"I0524 16:24:26.689356 140682825586560 evaluation.py:275] Finished evaluation at 2022-05-24-16:24:26\n",
"INFO:tensorflow:Saving dict for global step 24428: DetectionBoxes_Precision/mAP = 0.72145635, DetectionBoxes_Precision/mAP (large) = 0.7563454, DetectionBoxes_Precision/mAP (medium) = 0.5284231, DetectionBoxes_Precision/mAP (small) = 0.0, DetectionBoxes_Precision/mAP@.50IOU = 0.942486, DetectionBoxes_Precision/mAP@.75IOU = 0.88992923, DetectionBoxes_Recall/AR@1 = 0.7825296, DetectionBoxes_Recall/AR@10 = 0.7909188, DetectionBoxes_Recall/AR@100 = 0.7911077, DetectionBoxes_Recall/AR@100 (large) = 0.8121054, DetectionBoxes_Recall/AR@100 (medium) = 0.68953025, DetectionBoxes_Recall/AR@100 (small) = 0.0, Loss/classification_loss = 0.20633014, Loss/localization_loss = 0.063966505, Loss/regularization_loss = 0.053741463, Loss/total_loss = 0.32403824, global_step = 24428, learning_rate = 0.007937482, loss = 0.32403824\n",
"I0524 16:24:26.689603 140682825586560 estimator.py:2049] Saving dict for global step 24428: DetectionBoxes_Precision/mAP = 0.72145635, DetectionBoxes_Precision/mAP (large) = 0.7563454, DetectionBoxes_Precision/mAP (medium) = 0.5284231, DetectionBoxes_Precision/mAP (small) = 0.0, DetectionBoxes_Precision/mAP@.50IOU = 0.942486, DetectionBoxes_Precision/mAP@.75IOU = 0.88992923, DetectionBoxes_Recall/AR@1 = 0.7825296, DetectionBoxes_Recall/AR@10 = 0.7909188, DetectionBoxes_Recall/AR@100 = 0.7911077, DetectionBoxes_Recall/AR@100 (large) = 0.8121054, DetectionBoxes_Recall/AR@100 (medium) = 0.68953025, DetectionBoxes_Recall/AR@100 (small) = 0.0, Loss/classification_loss = 0.20633014, Loss/localization_loss = 0.063966505, Loss/regularization_loss = 0.053741463, Loss/total_loss = 0.32403824, global_step = 24428, learning_rate = 0.007937482, loss = 0.32403824\n",
"INFO:tensorflow:Saving 'checkpoint_path' summary for global step 24428: /content/data/spaghettinet_edgetpu_l_quant_pet/model.ckpt-24428\n",
"I0524 16:24:26.692728 140682825586560 estimator.py:2109] Saving 'checkpoint_path' summary for global step 24428: /content/data/spaghettinet_edgetpu_l_quant_pet/model.ckpt-24428\n",
"INFO:tensorflow:global_step/sec: 0.415229\n",
"I0524 16:25:11.748846 140682825586560 basic_session_run_hooks.py:692] global_step/sec: 0.415229\n",
"INFO:tensorflow:loss = 0.40440273, step = 24500 (240.831 sec)\n",
"I0524 16:25:11.749999 140682825586560 basic_session_run_hooks.py:260] loss = 0.40440273, step = 24500 (240.831 sec)\n",
"Corrupt JPEG data: premature end of data segment\n",
"Corrupt JPEG data: premature end of data segment\n",
"INFO:tensorflow:global_step/sec: 1.63199\n",
"I0524 16:26:13.023755 140682825586560 basic_session_run_hooks.py:692] global_step/sec: 1.63199\n",
"INFO:tensorflow:loss = 0.61237246, step = 24600 (61.275 sec)\n",
"I0524 16:26:13.024697 140682825586560 basic_session_run_hooks.py:260] loss = 0.61237246, step = 24600 (61.275 sec)\n",
"Corrupt JPEG data: premature end of data segment\n",
"INFO:tensorflow:global_step/sec: 1.63485\n",
"I0524 16:27:14.191272 140682825586560 basic_session_run_hooks.py:692] global_step/sec: 1.63485\n",
"INFO:tensorflow:loss = 0.3397593, step = 24700 (61.168 sec)\n",
"I0524 16:27:14.192376 140682825586560 basic_session_run_hooks.py:260] loss = 0.3397593, step = 24700 (61.168 sec)\n",
"INFO:tensorflow:global_step/sec: 1.6323\n",
"I0524 16:28:15.454533 140682825586560 basic_session_run_hooks.py:692] global_step/sec: 1.6323\n",
"INFO:tensorflow:loss = 0.3032356, step = 24800 (61.263 sec)\n",
"I0524 16:28:15.455440 140682825586560 basic_session_run_hooks.py:260] loss = 0.3032356, step = 24800 (61.263 sec)\n",
"INFO:tensorflow:global_step/sec: 1.63209\n",
"I0524 16:29:16.725583 140682825586560 basic_session_run_hooks.py:692] global_step/sec: 1.63209\n",
"INFO:tensorflow:loss = 0.2521643, step = 24900 (61.271 sec)\n",
"I0524 16:29:16.726604 140682825586560 basic_session_run_hooks.py:260] loss = 0.2521643, step = 24900 (61.271 sec)\n",
"Corrupt JPEG data: premature end of data segment\n",
"INFO:tensorflow:Saving checkpoints for 25000 into /content/data/spaghettinet_edgetpu_l_quant_pet/model.ckpt.\n",
"I0524 16:30:17.500195 140682825586560 basic_session_run_hooks.py:606] Saving checkpoints for 25000 into /content/data/spaghettinet_edgetpu_l_quant_pet/model.ckpt.\n",
"INFO:tensorflow:Skip the current checkpoint eval due to throttle secs (600 secs).\n",
"I0524 16:30:21.126287 140682825586560 training.py:527] Skip the current checkpoint eval due to throttle secs (600 secs).\n",
"INFO:tensorflow:Reading unweighted datasets: ['/content/data/tf_record/pet_faces_train.record-?????-of-00010']\n",
"I0524 16:30:21.150659 140682825586560 dataset_builder.py:162] Reading unweighted datasets: ['/content/data/tf_record/pet_faces_train.record-?????-of-00010']\n",
"INFO:tensorflow:Reading record datasets for input file: ['/content/data/tf_record/pet_faces_train.record-?????-of-00010']\n",
"I0524 16:30:21.151674 140682825586560 dataset_builder.py:79] Reading record datasets for input file: ['/content/data/tf_record/pet_faces_train.record-?????-of-00010']\n",
"INFO:tensorflow:Number of filenames to read: 10\n",
"I0524 16:30:21.151793 140682825586560 dataset_builder.py:80] Number of filenames to read: 10\n",
"WARNING:tensorflow:num_readers has been reduced to 10 to match input file shards.\n",
"W0524 16:30:21.151845 140682825586560 dataset_builder.py:87] num_readers has been reduced to 10 to match input file shards.\n",
"WARNING:tensorflow:`shuffle` is false, but the input data stream is still slightly shuffled since `num_readers` > 1.\n",
"W0524 16:30:21.153124 140682825586560 dataset_builder.py:93] `shuffle` is false, but the input data stream is still slightly shuffled since `num_readers` > 1.\n",
"WARNING:tensorflow:Entity <bound method TfExampleDecoder.decode of <object_detection.data_decoders.tf_example_decoder.TfExampleDecoder object at 0x7fee145ebb10>> could not be transformed and will be executed as-is. Please report this to the AutoGraph team. When filing the bug, set the verbosity to 10 (on Linux, `export AUTOGRAPH_VERBOSITY=10`) and attach the full output. Cause: module 'gast' has no attribute 'Index'\n",
"W0524 16:30:21.200732 140682825586560 ag_logging.py:146] Entity <bound method TfExampleDecoder.decode of <object_detection.data_decoders.tf_example_decoder.TfExampleDecoder object at 0x7fee145ebb10>> could not be transformed and will be executed as-is. Please report this to the AutoGraph team. When filing the bug, set the verbosity to 10 (on Linux, `export AUTOGRAPH_VERBOSITY=10`) and attach the full output. Cause: module 'gast' has no attribute 'Index'\n",
"WARNING:tensorflow:Entity <function eval_input.<locals>.transform_and_pad_input_data_fn at 0x7fee246d3200> could not be transformed and will be executed as-is. Please report this to the AutoGraph team. When filing the bug, set the verbosity to 10 (on Linux, `export AUTOGRAPH_VERBOSITY=10`) and attach the full output. Cause: module 'gast' has no attribute 'Str'\n",
"W0524 16:30:21.360331 140682825586560 ag_logging.py:146] Entity <function eval_input.<locals>.transform_and_pad_input_data_fn at 0x7fee246d3200> could not be transformed and will be executed as-is. Please report this to the AutoGraph team. When filing the bug, set the verbosity to 10 (on Linux, `export AUTOGRAPH_VERBOSITY=10`) and attach the full output. Cause: module 'gast' has no attribute 'Str'\n",
"INFO:tensorflow:Calling model_fn.\n",
"I0524 16:30:21.867822 140682825586560 estimator.py:1148] Calling model_fn.\n",
"INFO:tensorflow:depth of additional conv before box predictor: 0\n",
"I0524 16:30:25.267641 140682825586560 convolutional_box_predictor.py:155] depth of additional conv before box predictor: 0\n",
"INFO:tensorflow:depth of additional conv before box predictor: 0\n",
"I0524 16:30:25.337735 140682825586560 convolutional_box_predictor.py:155] depth of additional conv before box predictor: 0\n",
"INFO:tensorflow:depth of additional conv before box predictor: 0\n",
"I0524 16:30:25.406857 140682825586560 convolutional_box_predictor.py:155] depth of additional conv before box predictor: 0\n",
"INFO:tensorflow:depth of additional conv before box predictor: 0\n",
"I0524 16:30:25.476219 140682825586560 convolutional_box_predictor.py:155] depth of additional conv before box predictor: 0\n",
"INFO:tensorflow:depth of additional conv before box predictor: 0\n",
"I0524 16:30:25.547907 140682825586560 convolutional_box_predictor.py:155] depth of additional conv before box predictor: 0\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/add_13\n",
"I0524 16:30:29.373624 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/add_13\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/add_17\n",
"I0524 16:30:29.375192 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/add_17\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/add_21\n",
"I0524 16:30:29.376609 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/add_21\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/add_25\n",
"I0524 16:30:29.378134 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/add_25\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/add_28\n",
"I0524 16:30:29.379190 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/add_28\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/stem_node/stem/add_fold\n",
"I0524 16:30:29.393728 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/stem_node/stem/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n0_0/slice_0/add_fold\n",
"I0524 16:30:29.393973 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n0_0/slice_0/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n0_0/slice_1/add_fold\n",
"I0524 16:30:29.394138 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n0_0/slice_1/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n0_0/slice_2/add_fold\n",
"I0524 16:30:29.394298 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n0_0/slice_2/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_0/slice_0/add_fold\n",
"I0524 16:30:29.394547 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_0/slice_0/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_0/slice_1/add_fold\n",
"I0524 16:30:29.394721 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_0/slice_1/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_0/slice_2/add_fold\n",
"I0524 16:30:29.394871 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_0/slice_2/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_0/slice_3/add_fold\n",
"I0524 16:30:29.395026 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_0/slice_3/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_1/slice_0/add_fold\n",
"I0524 16:30:29.395268 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_1/slice_0/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_1/slice_1/add_fold\n",
"I0524 16:30:29.395442 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_1/slice_1/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_1/slice_2/add_fold\n",
"I0524 16:30:29.395590 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_1/slice_2/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_1/slice_3/add_fold\n",
"I0524 16:30:29.395738 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_1/slice_3/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_2/slice_0/add_fold\n",
"I0524 16:30:29.395987 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_2/slice_0/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_2/slice_1/add_fold\n",
"I0524 16:30:29.396142 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_2/slice_1/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_2/slice_2/add_fold\n",
"I0524 16:30:29.396294 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_2/slice_2/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_2/slice_3/add_fold\n",
"I0524 16:30:29.396445 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_2/slice_3/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_3/slice_0/add_fold\n",
"I0524 16:30:29.396688 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_3/slice_0/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_3/slice_1/add_fold\n",
"I0524 16:30:29.396835 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_3/slice_1/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_3/slice_2/add_fold\n",
"I0524 16:30:29.396988 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_3/slice_2/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_3/slice_3/add_fold\n",
"I0524 16:30:29.397135 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n1_3/slice_3/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_0/expansion/add_fold\n",
"I0524 16:30:29.397383 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_0/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_0/depthwise/add_fold\n",
"I0524 16:30:29.397541 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_0/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_1/expansion/add_fold\n",
"I0524 16:30:29.397784 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_1/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_1/depthwise/add_fold\n",
"I0524 16:30:29.397952 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_1/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_2/expansion/add_fold\n",
"I0524 16:30:29.398194 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_2/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_2/depthwise/add_fold\n",
"I0524 16:30:29.398356 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_2/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_3/expansion/add_fold\n",
"I0524 16:30:29.398596 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_3/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_3/depthwise/add_fold\n",
"I0524 16:30:29.398754 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n2_3/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_0/expansion/add_fold\n",
"I0524 16:30:29.399006 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_0/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_0/depthwise/add_fold\n",
"I0524 16:30:29.399164 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_0/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_1/expansion/add_fold\n",
"I0524 16:30:29.399407 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_1/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_1/depthwise/add_fold\n",
"I0524 16:30:29.399566 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_1/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_2/expansion/add_fold\n",
"I0524 16:30:29.399804 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_2/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_2/depthwise/add_fold\n",
"I0524 16:30:29.399969 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_2/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_3/expansion/add_fold\n",
"I0524 16:30:29.400210 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_3/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_3/depthwise/add_fold\n",
"I0524 16:30:29.400370 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n3_3/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_0/expansion/add_fold\n",
"I0524 16:30:29.400614 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_0/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_0/depthwise/add_fold\n",
"I0524 16:30:29.400772 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_0/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_1/expansion/add_fold\n",
"I0524 16:30:29.401022 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_1/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_1/depthwise/add_fold\n",
"I0524 16:30:29.401179 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_1/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_2/expansion/add_fold\n",
"I0524 16:30:29.401427 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_2/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_2/depthwise/add_fold\n",
"I0524 16:30:29.401585 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_2/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_3/expansion/add_fold\n",
"I0524 16:30:29.401823 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_3/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_3/depthwise/add_fold\n",
"I0524 16:30:29.401991 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n4_3/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n5_0/expansion/add_fold\n",
"I0524 16:30:29.402254 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n5_0/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n5_0/depthwise/add_fold\n",
"I0524 16:30:29.402420 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n5_0/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n5_1/pointwise/add_fold\n",
"I0524 16:30:29.402661 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/n5_1/pointwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_0/expansion/add_fold\n",
"I0524 16:30:29.403007 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_0/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_0/depthwise/add_fold\n",
"I0524 16:30:29.403167 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_0/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_1/expansion/add_fold\n",
"I0524 16:30:29.403414 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_1/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_1/depthwise/add_fold\n",
"I0524 16:30:29.403570 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_1/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_2/expansion/add_fold\n",
"I0524 16:30:29.403806 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_2/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_2/depthwise/add_fold\n",
"I0524 16:30:29.403970 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_2/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_3/expansion/add_fold\n",
"I0524 16:30:29.404215 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_3/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_3/depthwise/add_fold\n",
"I0524 16:30:29.404376 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n0_3/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_0/expansion/add_fold\n",
"I0524 16:30:29.404803 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_0/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_0/depthwise/add_fold\n",
"I0524 16:30:29.404974 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_0/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_1/expansion/add_fold\n",
"I0524 16:30:29.405215 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_1/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_1/depthwise/add_fold\n",
"I0524 16:30:29.409353 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_1/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_2/expansion/add_fold\n",
"I0524 16:30:29.409697 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_2/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_2/depthwise/add_fold\n",
"I0524 16:30:29.409910 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_2/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_3/expansion/add_fold\n",
"I0524 16:30:29.410266 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_3/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_3/depthwise/add_fold\n",
"I0524 16:30:29.410543 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n1_3/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_0/expansion/add_fold\n",
"I0524 16:30:29.411233 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_0/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_0/depthwise/add_fold\n",
"I0524 16:30:29.411542 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_0/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_1/expansion/add_fold\n",
"I0524 16:30:29.411936 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_1/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_1/depthwise/add_fold\n",
"I0524 16:30:29.412195 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_1/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_2/expansion/add_fold\n",
"I0524 16:30:29.412609 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_2/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_2/depthwise/add_fold\n",
"I0524 16:30:29.412894 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_2/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_3/expansion/add_fold\n",
"I0524 16:30:29.413338 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_3/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_3/depthwise/add_fold\n",
"I0524 16:30:29.413542 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n2_3/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n3_0/expansion/add_fold\n",
"I0524 16:30:29.413998 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n3_0/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n3_0/depthwise/add_fold\n",
"I0524 16:30:29.414166 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n3_0/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n3_1/expansion/add_fold\n",
"I0524 16:30:29.414419 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n3_1/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n3_1/depthwise/add_fold\n",
"I0524 16:30:29.414580 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n3_1/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n3_2/pointwise/add_fold\n",
"I0524 16:30:29.414825 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n3_2/pointwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n4_0/expansion/add_fold\n",
"I0524 16:30:29.415178 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n4_0/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n4_0/depthwise/add_fold\n",
"I0524 16:30:29.415352 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n4_0/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n4_1/expansion/add_fold\n",
"I0524 16:30:29.415597 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n4_1/expansion/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n4_1/depthwise/add_fold\n",
"I0524 16:30:29.415758 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n4_1/depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n5_0/pointwise/add_fold\n",
"I0524 16:30:29.416014 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n5_0/pointwise/add_fold\n",
"INFO:tensorflow:Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n5_1/pointwise/add_fold\n",
"I0524 16:30:29.416169 140682825586560 quantize.py:364] Skipping quant after FeatureExtractor/spaghettinet_edgetpu_l/spaghetti_net/c0n5_1/pointwise/add_fold\n",
"INFO:tensorflow:Skipping quant after BoxPredictor_0/BoxEncodingPredictor_depthwise/add_fold\n",
"I0524 16:30:29.416333 140682825586560 quantize.py:364] Skipping quant after BoxPredictor_0/BoxEncodingPredictor_depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after BoxPredictor_0/ClassPredictor_depthwise/add_fold\n",
"I0524 16:30:29.416494 140682825586560 quantize.py:364] Skipping quant after BoxPredictor_0/ClassPredictor_depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after BoxPredictor_1/BoxEncodingPredictor_depthwise/add_fold\n",
"I0524 16:30:29.416652 140682825586560 quantize.py:364] Skipping quant after BoxPredictor_1/BoxEncodingPredictor_depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after BoxPredictor_1/ClassPredictor_depthwise/add_fold\n",
"I0524 16:30:29.416816 140682825586560 quantize.py:364] Skipping quant after BoxPredictor_1/ClassPredictor_depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after BoxPredictor_2/BoxEncodingPredictor_depthwise/add_fold\n",
"I0524 16:30:29.416994 140682825586560 quantize.py:364] Skipping quant after BoxPredictor_2/BoxEncodingPredictor_depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after BoxPredictor_2/ClassPredictor_depthwise/add_fold\n",
"I0524 16:30:29.417150 140682825586560 quantize.py:364] Skipping quant after BoxPredictor_2/ClassPredictor_depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after BoxPredictor_3/BoxEncodingPredictor_depthwise/add_fold\n",
"I0524 16:30:29.417311 140682825586560 quantize.py:364] Skipping quant after BoxPredictor_3/BoxEncodingPredictor_depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after BoxPredictor_3/ClassPredictor_depthwise/add_fold\n",
"I0524 16:30:29.417465 140682825586560 quantize.py:364] Skipping quant after BoxPredictor_3/ClassPredictor_depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after BoxPredictor_4/BoxEncodingPredictor_depthwise/add_fold\n",
"I0524 16:30:29.417620 140682825586560 quantize.py:364] Skipping quant after BoxPredictor_4/BoxEncodingPredictor_depthwise/add_fold\n",
"INFO:tensorflow:Skipping quant after BoxPredictor_4/ClassPredictor_depthwise/add_fold\n",
"I0524 16:30:29.417776 140682825586560 quantize.py:364] Skipping quant after BoxPredictor_4/ClassPredictor_depthwise/add_fold\n",
"INFO:tensorflow:Inserting act_quant op for standalone Relu6 op: FeatureExtractor/spaghettinet_edgetpu_l/Relu6.\n",
"I0524 16:30:29.472601 140682825586560 quantize.py:325] Inserting act_quant op for standalone Relu6 op: FeatureExtractor/spaghettinet_edgetpu_l/Relu6.\n",
"INFO:tensorflow:Inserting act_quant op for standalone Relu6 op: FeatureExtractor/spaghettinet_edgetpu_l/Relu6_1.\n",
"I0524 16:30:29.480759 140682825586560 quantize.py:325] Inserting act_quant op for standalone Relu6 op: FeatureExtractor/spaghettinet_edgetpu_l/Relu6_1.\n",
"INFO:tensorflow:Inserting act_quant op for standalone Relu6 op: FeatureExtractor/spaghettinet_edgetpu_l/Relu6_2.\n",
"I0524 16:30:29.487957 140682825586560 quantize.py:325] Inserting act_quant op for standalone Relu6 op: FeatureExtractor/spaghettinet_edgetpu_l/Relu6_2.\n",
"INFO:tensorflow:Inserting act_quant op for standalone Relu6 op: FeatureExtractor/spaghettinet_edgetpu_l/Relu6_3.\n",
"I0524 16:30:29.495018 140682825586560 quantize.py:325] Inserting act_quant op for standalone Relu6 op: FeatureExtractor/spaghettinet_edgetpu_l/Relu6_3.\n",
"INFO:tensorflow:Inserting act_quant op for standalone Relu6 op: FeatureExtractor/spaghettinet_edgetpu_l/Relu6_4.\n",
"I0524 16:30:29.501724 140682825586560 quantize.py:325] Inserting act_quant op for standalone Relu6 op: FeatureExtractor/spaghettinet_edgetpu_l/Relu6_4.\n",
"INFO:tensorflow:Done calling model_fn.\n",
"I0524 16:30:30.957027 140682825586560 estimator.py:1150] Done calling model_fn.\n",
"INFO:tensorflow:Starting evaluation at 2022-05-24T16:30:30Z\n",
"I0524 16:30:30.971891 140682825586560 evaluation.py:255] Starting evaluation at 2022-05-24T16:30:30Z\n",
"INFO:tensorflow:Graph was finalized.\n",
"I0524 16:30:32.417154 140682825586560 monitored_session.py:240] Graph was finalized.\n",
"2022-05-24 16:30:32.417754: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:983] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n",
"2022-05-24 16:30:32.418056: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1639] Found device 0 with properties: \n",
"name: Tesla T4 major: 7 minor: 5 memoryClockRate(GHz): 1.59\n",
"pciBusID: 0000:00:04.0\n",
"2022-05-24 16:30:32.418150: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcudart.so.10.1\n",
"2022-05-24 16:30:32.418171: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcublas.so.10\n",
"2022-05-24 16:30:32.418186: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcufft.so.10\n",
"2022-05-24 16:30:32.418201: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcurand.so.10\n",
"2022-05-24 16:30:32.418216: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcusolver.so.10\n",
"2022-05-24 16:30:32.418231: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcusparse.so.10\n",
"2022-05-24 16:30:32.418246: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcudnn.so.7\n",
"2022-05-24 16:30:32.418320: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:983] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n",
"2022-05-24 16:30:32.418547: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:983] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n",
"2022-05-24 16:30:32.418730: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1767] Adding visible gpu devices: 0\n",
"2022-05-24 16:30:32.418771: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1180] Device interconnect StreamExecutor with strength 1 edge matrix:\n",
"2022-05-24 16:30:32.418778: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1186] 0 \n",
"2022-05-24 16:30:32.418788: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1199] 0: N \n",
"2022-05-24 16:30:32.418873: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:983] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n",
"2022-05-24 16:30:32.419109: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:983] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n",
"2022-05-24 16:30:32.419297: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1325] Created TensorFlow device (/job:localhost/replica:0/task:0/device:GPU:0 with 14257 MB memory) -> physical GPU (device: 0, name: Tesla T4, pci bus id: 0000:00:04.0, compute capability: 7.5)\n",
"INFO:tensorflow:Restoring parameters from /content/data/spaghettinet_edgetpu_l_quant_pet/model.ckpt-25000\n",
"I0524 16:30:32.420268 140682825586560 saver.py:1284] Restoring parameters from /content/data/spaghettinet_edgetpu_l_quant_pet/model.ckpt-25000\n",
"INFO:tensorflow:Running local_init_op.\n",
"I0524 16:30:35.546766 140682825586560 session_manager.py:500] Running local_init_op.\n",
"INFO:tensorflow:Done running local_init_op.\n",
"I0524 16:30:35.849971 140682825586560 session_manager.py:502] Done running local_init_op.\n",
"Corrupt JPEG data: premature end of data segment\n",
"INFO:tensorflow:Performing evaluation on 2568 images.\n",
"I0524 16:32:55.207654 140678221584128 coco_evaluation.py:293] Performing evaluation on 2568 images.\n",
"creating index...\n",
"index created!\n",
"INFO:tensorflow:Loading and preparing annotation results...\n",
"I0524 16:32:55.214878 140678221584128 coco_tools.py:116] Loading and preparing annotation results...\n",
"INFO:tensorflow:DONE (t=0.20s)\n",
"I0524 16:32:55.417612 140678221584128 coco_tools.py:138] DONE (t=0.20s)\n",
"creating index...\n",
"index created!\n",
"Running per image evaluation...\n",
"Evaluate annotation type *bbox*\n",
"DONE (t=18.91s).\n",
"Accumulating evaluation results...\n",
"DONE (t=5.80s).\n",
" Average Precision (AP) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.754\n",
" Average Precision (AP) @[ IoU=0.50 | area= all | maxDets=100 ] = 0.963\n",
" Average Precision (AP) @[ IoU=0.75 | area= all | maxDets=100 ] = 0.906\n",
" Average Precision (AP) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.050\n",
" Average Precision (AP) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.581\n",
" Average Precision (AP) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.786\n",
" Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets= 1 ] = 0.802\n",
" Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets= 10 ] = 0.810\n",
" Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.810\n",
" Average Recall (AR) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.050\n",
" Average Recall (AR) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.712\n",
" Average Recall (AR) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.831\n",
"INFO:tensorflow:Finished evaluation at 2022-05-24-16:33:21\n",
"I0524 16:33:21.154064 140682825586560 evaluation.py:275] Finished evaluation at 2022-05-24-16:33:21\n",
"INFO:tensorflow:Saving dict for global step 25000: DetectionBoxes_Precision/mAP = 0.754491, DetectionBoxes_Precision/mAP (large) = 0.7863315, DetectionBoxes_Precision/mAP (medium) = 0.5814254, DetectionBoxes_Precision/mAP (small) = 0.05049505, DetectionBoxes_Precision/mAP@.50IOU = 0.96305716, DetectionBoxes_Precision/mAP@.75IOU = 0.90587795, DetectionBoxes_Recall/AR@1 = 0.8015378, DetectionBoxes_Recall/AR@10 = 0.809559, DetectionBoxes_Recall/AR@100 = 0.809559, DetectionBoxes_Recall/AR@100 (large) = 0.8305765, DetectionBoxes_Recall/AR@100 (medium) = 0.7119235, DetectionBoxes_Recall/AR@100 (small) = 0.05, Loss/classification_loss = 0.18162416, Loss/localization_loss = 0.056641147, Loss/regularization_loss = 0.05385391, Loss/total_loss = 0.29211906, global_step = 25000, learning_rate = 0.007934261, loss = 0.29211906\n",
"I0524 16:33:21.154329 140682825586560 estimator.py:2049] Saving dict for global step 25000: DetectionBoxes_Precision/mAP = 0.754491, DetectionBoxes_Precision/mAP (large) = 0.7863315, DetectionBoxes_Precision/mAP (medium) = 0.5814254, DetectionBoxes_Precision/mAP (small) = 0.05049505, DetectionBoxes_Precision/mAP@.50IOU = 0.96305716, DetectionBoxes_Precision/mAP@.75IOU = 0.90587795, DetectionBoxes_Recall/AR@1 = 0.8015378, DetectionBoxes_Recall/AR@10 = 0.809559, DetectionBoxes_Recall/AR@100 = 0.809559, DetectionBoxes_Recall/AR@100 (large) = 0.8305765, DetectionBoxes_Recall/AR@100 (medium) = 0.7119235, DetectionBoxes_Recall/AR@100 (small) = 0.05, Loss/classification_loss = 0.18162416, Loss/localization_loss = 0.056641147, Loss/regularization_loss = 0.05385391, Loss/total_loss = 0.29211906, global_step = 25000, learning_rate = 0.007934261, loss = 0.29211906\n",
"INFO:tensorflow:Saving 'checkpoint_path' summary for global step 25000: /content/data/spaghettinet_edgetpu_l_quant_pet/model.ckpt-25000\n",
"I0524 16:33:21.157251 140682825586560 estimator.py:2109] Saving 'checkpoint_path' summary for global step 25000: /content/data/spaghettinet_edgetpu_l_quant_pet/model.ckpt-25000\n",
"INFO:tensorflow:Performing the final export in the end of training.\n",
"I0524 16:33:21.157992 140682825586560 exporter.py:410] Performing the final export in the end of training.\n",
"INFO:tensorflow:Calling model_fn.\n",
"I0524 16:33:21.422669 140682825586560 estimator.py:1148] Calling model_fn.\n",
"INFO:tensorflow:depth of additional conv before box predictor: 0\n",
"I0524 16:33:24.719052 140682825586560 convolutional_box_predictor.py:155] depth of additional conv before box predictor: 0\n",
"INFO:tensorflow:depth of additional conv before box predictor: 0\n",
"I0524 16:33:24.788997 140682825586560 convolutional_box_predictor.py:155] depth of additional conv before box predictor: 0\n",
"INFO:tensorflow:depth of additional conv before box predictor: 0\n",
"I0524 16:33:24.858762 140682825586560 convolutional_box_predictor.py:155] depth of additional conv before box predictor: 0\n",
"INFO:tensorflow:depth of additional conv before box predictor: 0\n",
"I0524 16:33:24.930740 140682825586560 convolutional_box_predictor.py:155] depth of additional conv before box predictor: 0\n",
"INFO:tensorflow:depth of additional conv before box predictor: 0\n",
"I0524 16:33:25.001366 140682825586560 convolutional_box_predictor.py:155] depth of additional conv before box predictor: 0\n",
"INFO:tensorflow:Done calling model_fn.\n",
"I0524 16:33:26.332187 140682825586560 estimator.py:1150] Done calling model_fn.\n",
"WARNING:tensorflow:From /tensorflow-1.15.2/python3.7/tensorflow_core/python/saved_model/signature_def_utils_impl.py:201: build_tensor_info (from tensorflow.python.saved_model.utils_impl) is deprecated and will be removed in a future version.\n",
"Instructions for updating:\n",
"This function will only be available through the v1 compatibility library as tf.compat.v1.saved_model.utils.build_tensor_info or tf.compat.v1.saved_model.build_tensor_info.\n",
"W0524 16:33:26.332440 140682825586560 deprecation.py:323] From /tensorflow-1.15.2/python3.7/tensorflow_core/python/saved_model/signature_def_utils_impl.py:201: build_tensor_info (from tensorflow.python.saved_model.utils_impl) is deprecated and will be removed in a future version.\n",
"Instructions for updating:\n",
"This function will only be available through the v1 compatibility library as tf.compat.v1.saved_model.utils.build_tensor_info or tf.compat.v1.saved_model.build_tensor_info.\n",
"INFO:tensorflow:Signatures INCLUDED in export for Classify: None\n",
"I0524 16:33:26.332997 140682825586560 export_utils.py:170] Signatures INCLUDED in export for Classify: None\n",
"INFO:tensorflow:Signatures INCLUDED in export for Regress: None\n",
"I0524 16:33:26.333085 140682825586560 export_utils.py:170] Signatures INCLUDED in export for Regress: None\n",
"INFO:tensorflow:Signatures INCLUDED in export for Predict: ['tensorflow/serving/predict', 'serving_default']\n",
"I0524 16:33:26.333138 140682825586560 export_utils.py:170] Signatures INCLUDED in export for Predict: ['tensorflow/serving/predict', 'serving_default']\n",
"INFO:tensorflow:Signatures INCLUDED in export for Train: None\n",
"I0524 16:33:26.333183 140682825586560 export_utils.py:170] Signatures INCLUDED in export for Train: None\n",
"INFO:tensorflow:Signatures INCLUDED in export for Eval: None\n",
"I0524 16:33:26.333224 140682825586560 export_utils.py:170] Signatures INCLUDED in export for Eval: None\n",
"2022-05-24 16:33:26.333675: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:983] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n",
"2022-05-24 16:33:26.333973: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1639] Found device 0 with properties: \n",
"name: Tesla T4 major: 7 minor: 5 memoryClockRate(GHz): 1.59\n",
"pciBusID: 0000:00:04.0\n",
"2022-05-24 16:33:26.334068: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcudart.so.10.1\n",
"2022-05-24 16:33:26.334090: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcublas.so.10\n",
"2022-05-24 16:33:26.334109: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcufft.so.10\n",
"2022-05-24 16:33:26.334127: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcurand.so.10\n",
"2022-05-24 16:33:26.334142: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcusolver.so.10\n",
"2022-05-24 16:33:26.334160: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcusparse.so.10\n",
"2022-05-24 16:33:26.334178: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcudnn.so.7\n",
"2022-05-24 16:33:26.334254: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:983] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n",
"2022-05-24 16:33:26.334479: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:983] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n",
"2022-05-24 16:33:26.334655: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1767] Adding visible gpu devices: 0\n",
"2022-05-24 16:33:26.334696: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1180] Device interconnect StreamExecutor with strength 1 edge matrix:\n",
"2022-05-24 16:33:26.334707: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1186] 0 \n",
"2022-05-24 16:33:26.334714: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1199] 0: N \n",
"2022-05-24 16:33:26.334811: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:983] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n",
"2022-05-24 16:33:26.335049: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:983] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n",
"2022-05-24 16:33:26.335242: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1325] Created TensorFlow device (/job:localhost/replica:0/task:0/device:GPU:0 with 14257 MB memory) -> physical GPU (device: 0, name: Tesla T4, pci bus id: 0000:00:04.0, compute capability: 7.5)\n",
"INFO:tensorflow:Restoring parameters from /content/data/spaghettinet_edgetpu_l_quant_pet/model.ckpt-25000\n",
"I0524 16:33:26.337340 140682825586560 saver.py:1284] Restoring parameters from /content/data/spaghettinet_edgetpu_l_quant_pet/model.ckpt-25000\n",
"INFO:tensorflow:Assets added to graph.\n",
"I0524 16:33:27.238309 140682825586560 builder_impl.py:665] Assets added to graph.\n",
"INFO:tensorflow:No assets to write.\n",
"I0524 16:33:27.238486 140682825586560 builder_impl.py:460] No assets to write.\n",
"INFO:tensorflow:SavedModel written to: /content/data/spaghettinet_edgetpu_l_quant_pet/export/Servo/temp-b'1653410001'/saved_model.pb\n",
"I0524 16:33:28.592595 140682825586560 builder_impl.py:425] SavedModel written to: /content/data/spaghettinet_edgetpu_l_quant_pet/export/Servo/temp-b'1653410001'/saved_model.pb\n",
"INFO:tensorflow:Loss for final step: 0.33173162.\n",
"I0524 16:33:29.749459 140682825586560 estimator.py:371] Loss for final step: 0.33173162.\n"
]
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "DTRjS3DaTy_i",
"outputId": "e6a7bce9-aa01-4ba3-bc9c-fc52fcf9fe93",
"colab": {
"resources": {
"http://localhost:6006/": {
"data": "PCFkb2N0eXBlIGh0bWw+PCEtLQpAbGljZW5zZQpDb3B5cmlnaHQgMjAxNiBUaGUgVGVuc29yRmxvdyBBdXRob3JzLiBBbGwgUmlnaHRzIFJlc2VydmVkLgoKTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7CnlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CgogICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCgpVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCmRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCldJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgpTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCmxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgotLT48bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cjx0aXRsZT5UZW5zb3JCb2FyZDwvdGl0bGU+CjxsaW5rIHJlbD0ic2hvcnRjdXQgaWNvbiIgaHJlZj0iZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFNUUFBQURFQ0FNQUFBRDNlSDVaQUFBQUJHZEJUVUVBQUxHUEMveGhCUUFBQUFGelVrZENBSzdPSE9rQUFBRC9VRXhVUmZGbEtmYUVMdkZtS2ZOeUsvNjdOdldBTGY2OE52NjlOdk54Sy8yME5meXlOUDIyTmZOMEsvSnJLdnFoTXYyek5mMjVOZjI0TmYyM05mZU9ML3l6TlB5dk5QSm9LdmlXTVBtZU1mTjFLL1dCTGZlUEwvRm5LZmVNTC9xbE12UjdMUG1jTWZlTEwvYUpMdlI1TFBGb0tmSnVLdlIzTFA2Nk52eXdOUGVOTC9WL0xmYUlMdjIxTmYyNk5mTnpLL052Sy9SNkxQbWFNZnl4TlBxZk12VitMZnVyTS9pU01QbWJNZkp2S3ZtZE1mdW1NL3FpTXZtWk1meXROUEpxS3Z5c05QTjJLL2lZTVBOd0svdXBNL0p0S3ZKc0t2aVZNUGFITHZhR0x2SnBLdlI4TFBhS0x2cWtNdnVxTS9hRkx2UjRMUHVvTS9pVE1QV0RMZmlSTVBtWU1YUzBuZ2tBQUFMb1NVUkJWSGphN2RybmN0cEFGSWJoRlVJU1NLSjNNS1lhMCt5NHhUVzk5MzcvMTVKa0pobFRqaHJTckhSbXZ1Zi9hczZMMFlMRkNnRUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU1CSjZuamVucXNwemduUHJzckdYOVpwaTJ0Q3JtbmM2K2RZTnRoVlk1V3BNbXhRTFdQZE1zT3VZVnd6TmozZWkydDNtUXdhVjQzQkpQRENTMk5iSjVhRWV1WC8rOXFjalFPdGZGSWtJa3J2WTJnNE1WY21PQnNGV2Jvd0tPL2tOeWo2MmdScEpjRGFQQmx4THIxQjB6ZEcwQy84THpiSmlKcnNodXZ5MWd6bEE5K3JEOG1Ja3V5SUpqRkUzL2Rxbll3b1NtN0lVRVBvRC93dXQ4aUlndVNJRGpsRnhlL3lmWEw1dnVTSTIxQlRaTExoWG9PSUxNTzhIeHdhL0w4YkkwTGZtVWRoR293YjJadlQwZTU3cEZORGdCMDZJbFZ5am1tSUJsMlQvbmw5Unc2U0Q5R2dTRy9RMHVRa2FXM1hobW92S1EzZUZRNE4yVW85T1ExZUZac05lcmY3dlArck80cmhtWTFMZzN2RlZvUDgrOEJYZzFzRm53Ym5DazROVGhXOEd1aUtCRGRrVlZ0VE5Gdk5lbFZzTnFUYnlXbklPTTJvZVRSb3lXdndtcEpIZy91Y1hCcmNKdVhUNER3cnB3WmkydnkwVkN4OFl0WGcvRDJiVTRPZml1UTNlRmZFMktENGJmQ3FpTE5COTkzZ1hzR2x3YTJDVDROekJhY0dJVlE2WXNpcFFkaDB4RWRPRFVLakl4clNwODhvblo4emJiRkxnMURvaUZPNUJYdkRHdjJNeTkvSmhVVDhKVVpUSTB5RGFOSExCeklidnFURE5ZaFVpVncva2RqUTFrTTJDSEZEUGpLVytLenlSVEYwZy9nYTl3OXkrZkFOUXB4dlg4Q1UrTnk3RlVXRGVGM1krZzNsUk9JZjRrMFVEWDllQ3l2TzUzMVB5WWhIZ2E5enZQWkpVNWI3M1kvZVhqOEh2OUQ0OG42SGFGNUxiY2pSdDhUWlR0ZGE1TTFEZlhuYmtYMUMwU0hDRkt6UUI1RmU4b3A0R05HTkhhdnZaRVNiVndUNXI2VzF4eXVDUEJZM1k5WWdEcXprbkgvZTNZZk56enVMMzBsMEllYnJaNWtLdHVESVh0MW44NjhFVDZrZjMvNDl0THZyQ2NaeUY4UHUyMTVkQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFjUEliTnJCaE9hQlh1Y29BQUFBQVNVVk9SSzVDWUlJPSI+CjxsaW5rIHJlbD0iYXBwbGUtdG91Y2gtaWNvbiIgaHJlZj0iZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFNUUFBQURFQ0FNQUFBRDNlSDVaQUFBQUJHZEJUVUVBQUxHUEMveGhCUUFBQUFGelVrZENBSzdPSE9rQUFBRC9VRXhVUmZGbEtmYUVMdkZtS2ZOeUsvNjdOdldBTGY2OE52NjlOdk54Sy8yME5meXlOUDIyTmZOMEsvSnJLdnFoTXYyek5mMjVOZjI0TmYyM05mZU9ML3l6TlB5dk5QSm9LdmlXTVBtZU1mTjFLL1dCTGZlUEwvRm5LZmVNTC9xbE12UjdMUG1jTWZlTEwvYUpMdlI1TFBGb0tmSnVLdlIzTFA2Nk52eXdOUGVOTC9WL0xmYUlMdjIxTmYyNk5mTnpLL052Sy9SNkxQbWFNZnl4TlBxZk12VitMZnVyTS9pU01QbWJNZkp2S3ZtZE1mdW1NL3FpTXZtWk1meXROUEpxS3Z5c05QTjJLL2lZTVBOd0svdXBNL0p0S3ZKc0t2aVZNUGFITHZhR0x2SnBLdlI4TFBhS0x2cWtNdnVxTS9hRkx2UjRMUHVvTS9pVE1QV0RMZmlSTVBtWU1YUzBuZ2tBQUFMb1NVUkJWSGphN2RybmN0cEFGSWJoRlVJU1NLSjNNS1lhMCt5NHhUVzk5MzcvMTVKa0pobFRqaHJTckhSbXZ1Zi9hczZMMFlMRkNnRUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU1CSjZuamVucXNwemduUHJzckdYOVpwaTJ0Q3JtbmM2K2RZTnRoVlk1V3BNbXhRTFdQZE1zT3VZVnd6TmozZWkydDNtUXdhVjQzQkpQRENTMk5iSjVhRWV1WC8rOXFjalFPdGZGSWtJa3J2WTJnNE1WY21PQnNGV2Jvd0tPL2tOeWo2MmdScEpjRGFQQmx4THIxQjB6ZEcwQy84THpiSmlKcnNodXZ5MWd6bEE5K3JEOG1Ja3V5SUpqRkUzL2Rxbll3b1NtN0lVRVBvRC93dXQ4aUlndVNJRGpsRnhlL3lmWEw1dnVTSTIxQlRaTExoWG9PSUxNTzhIeHdhL0w4YkkwTGZtVWRoR293YjJadlQwZTU3cEZORGdCMDZJbFZ5am1tSUJsMlQvbmw5Unc2U0Q5R2dTRy9RMHVRa2FXM1hobW92S1EzZUZRNE4yVW85T1ExZUZac05lcmY3dlArck80cmhtWTFMZzN2RlZvUDgrOEJYZzFzRm53Ym5DazROVGhXOEd1aUtCRGRrVlZ0VE5Gdk5lbFZzTnFUYnlXbklPTTJvZVRSb3lXdndtcEpIZy91Y1hCcmNKdVhUNER3cnB3WmkydnkwVkN4OFl0WGcvRDJiVTRPZml1UTNlRmZFMktENGJmQ3FpTE5COTkzZ1hzR2x3YTJDVDROekJhY0dJVlE2WXNpcFFkaDB4RWRPRFVLakl4clNwODhvblo4emJiRkxnMURvaUZPNUJYdkRHdjJNeTkvSmhVVDhKVVpUSTB5RGFOSExCeklidnFURE5ZaFVpVncva2RqUTFrTTJDSEZEUGpLVytLenlSVEYwZy9nYTl3OXkrZkFOUXB4dlg4Q1UrTnk3RlVXRGVGM1krZzNsUk9JZjRrMFVEWDllQ3l2TzUzMVB5WWhIZ2E5enZQWkpVNWI3M1kvZVhqOEh2OUQ0OG42SGFGNUxiY2pSdDhUWlR0ZGE1TTFEZlhuYmtYMUMwU0hDRkt6UUI1RmU4b3A0R05HTkhhdnZaRVNiVndUNXI2VzF4eXVDUEJZM1k5WWdEcXprbkgvZTNZZk56enVMMzBsMEllYnJaNWtLdHVESVh0MW44NjhFVDZrZjMvNDl0THZyQ2NaeUY4UHUyMTVkQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFjUEliTnJCaE9hQlh1Y29BQUFBQVNVVk9SSzVDWUlJPSI+CjxzY3JpcHQ+Ly8gQ29weXJpZ2h0IDIwMTQgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLy8KLy8gTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7Ci8vIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KLy8gICAgIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAovLwovLyBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKLy8KLy8gVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQovLyBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAovLyBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KLy8gICAgIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKLy8gbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCgohZnVuY3Rpb24oYSxiKXt2YXIgYz17fSxkPXt9LGU9e30sZj1udWxsOyFmdW5jdGlvbihhLGIpe2Z1bmN0aW9uIGMoYSl7aWYoIm51bWJlciI9PXR5cGVvZiBhKXJldHVybiBhO3ZhciBiPXt9O2Zvcih2YXIgYyBpbiBhKWJbY109YVtjXTtyZXR1cm4gYn1mdW5jdGlvbiBkKCl7dGhpcy5fZGVsYXk9MCx0aGlzLl9lbmREZWxheT0wLHRoaXMuX2ZpbGw9Im5vbmUiLHRoaXMuX2l0ZXJhdGlvblN0YXJ0PTAsdGhpcy5faXRlcmF0aW9ucz0xLHRoaXMuX2R1cmF0aW9uPTAsdGhpcy5fcGxheWJhY2tSYXRlPTEsdGhpcy5fZGlyZWN0aW9uPSJub3JtYWwiLHRoaXMuX2Vhc2luZz0ibGluZWFyIix0aGlzLl9lYXNpbmdGdW5jdGlvbj13fWZ1bmN0aW9uIGUoKXtyZXR1cm4gYS5pc0RlcHJlY2F0ZWQoIkludmFsaWQgdGltaW5nIGlucHV0cyIsIjIwMTYtMDMtMDIiLCJUeXBlRXJyb3IgZXhjZXB0aW9ucyB3aWxsIGJlIHRocm93biBpbnN0ZWFkLiIsITApfWZ1bmN0aW9uIGYoYixjLGUpe3ZhciBmPW5ldyBkO3JldHVybiBjJiYoZi5maWxsPSJib3RoIixmLmR1cmF0aW9uPSJhdXRvIiksIm51bWJlciIhPXR5cGVvZiBifHxpc05hTihiKT92b2lkIDAhPT1iJiZPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhiKS5mb3JFYWNoKGZ1bmN0aW9uKGMpe2lmKCJhdXRvIiE9YltjXSl7aWYoKCJudW1iZXIiPT10eXBlb2YgZltjXXx8ImR1cmF0aW9uIj09YykmJigibnVtYmVyIiE9dHlwZW9mIGJbY118fGlzTmFOKGJbY10pKSlyZXR1cm47aWYoImZpbGwiPT1jJiYtMT09dS5pbmRleE9mKGJbY10pKXJldHVybjtpZigiZGlyZWN0aW9uIj09YyYmLTE9PXYuaW5kZXhPZihiW2NdKSlyZXR1cm47aWYoInBsYXliYWNrUmF0ZSI9PWMmJjEhPT1iW2NdJiZhLmlzRGVwcmVjYXRlZCgiQW5pbWF0aW9uRWZmZWN0VGltaW5nLnBsYXliYWNrUmF0ZSIsIjIwMTQtMTEtMjgiLCJVc2UgQW5pbWF0aW9uLnBsYXliYWNrUmF0ZSBpbnN0ZWFkLiIpKXJldHVybjtmW2NdPWJbY119fSk6Zi5kdXJhdGlvbj1iLGZ9ZnVuY3Rpb24gZyhhKXtyZXR1cm4ibnVtYmVyIj09dHlwZW9mIGEmJihhPWlzTmFOKGEpP3tkdXJhdGlvbjowfTp7ZHVyYXRpb246YX0pLGF9ZnVuY3Rpb24gaChiLGMpe3JldHVybiBiPWEubnVtZXJpY1RpbWluZ1RvT2JqZWN0KGIpLGYoYixjKX1mdW5jdGlvbiBpKGEsYixjLGQpe3JldHVybiAwPmF8fGE+MXx8MD5jfHxjPjE/dzpmdW5jdGlvbihlKXtmdW5jdGlvbiBmKGEsYixjKXtyZXR1cm4gMyphKigxLWMpKigxLWMpKmMrMypiKigxLWMpKmMqYytjKmMqY31pZigwPT1lfHwxPT1lKXJldHVybiBlO2Zvcih2YXIgZz0wLGg9MTs7KXt2YXIgaT0oZytoKS8yLGo9ZihhLGMsaSk7aWYoTWF0aC5hYnMoZS1qKTwxZS00KXJldHVybiBmKGIsZCxpKTtlPmo/Zz1pOmg9aX19fWZ1bmN0aW9uIGooYSxiKXtyZXR1cm4gZnVuY3Rpb24oYyl7aWYoYz49MSlyZXR1cm4gMTt2YXIgZD0xL2E7cmV0dXJuIGMrPWIqZCxjLWMlZH19ZnVuY3Rpb24gayhhKXtCfHwoQj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKS5zdHlsZSksQi5hbmltYXRpb25UaW1pbmdGdW5jdGlvbj0iIixCLmFuaW1hdGlvblRpbWluZ0Z1bmN0aW9uPWE7dmFyIGI9Qi5hbmltYXRpb25UaW1pbmdGdW5jdGlvbjtpZigiIj09YiYmZSgpKXRocm93IG5ldyBUeXBlRXJyb3IoYSsiIGlzIG5vdCBhIHZhbGlkIHZhbHVlIGZvciBlYXNpbmciKTt2YXIgYz1ELmV4ZWMoYik7aWYoYylyZXR1cm4gaS5hcHBseSh0aGlzLGMuc2xpY2UoMSkubWFwKE51bWJlcikpO3ZhciBkPUUuZXhlYyhiKTtpZihkKXJldHVybiBqKE51bWJlcihkWzFdKSx7c3RhcnQ6eCxtaWRkbGU6eSxlbmQ6en1bZFsyXV0pO3ZhciBmPUFbYl07cmV0dXJuIGY/Zjp3fWZ1bmN0aW9uIGwoYSl7cmV0dXJuIE1hdGguYWJzKG0oYSkvYS5wbGF5YmFja1JhdGUpfWZ1bmN0aW9uIG0oYSl7cmV0dXJuIGEuZHVyYXRpb24qYS5pdGVyYXRpb25zfWZ1bmN0aW9uIG4oYSxiLGMpe3JldHVybiBudWxsPT1iP0Y6YjxjLmRlbGF5P0c6Yj49Yy5kZWxheSthP0g6SX1mdW5jdGlvbiBvKGEsYixjLGQsZSl7c3dpdGNoKGQpe2Nhc2UgRzpyZXR1cm4iYmFja3dhcmRzIj09Ynx8ImJvdGgiPT1iPzA6bnVsbDtjYXNlIEk6cmV0dXJuIGMtZTtjYXNlIEg6cmV0dXJuImZvcndhcmRzIj09Ynx8ImJvdGgiPT1iP2E6bnVsbDtjYXNlIEY6cmV0dXJuIG51bGx9fWZ1bmN0aW9uIHAoYSxiLGMsZCl7cmV0dXJuKGQucGxheWJhY2tSYXRlPDA/Yi1hOmIpKmQucGxheWJhY2tSYXRlK2N9ZnVuY3Rpb24gcShhLGIsYyxkLGUpe3JldHVybiBjPT09MS8wfHxjPT09LSgxLzApfHxjLWQ9PWImJmUuaXRlcmF0aW9ucyYmKGUuaXRlcmF0aW9ucytlLml0ZXJhdGlvblN0YXJ0KSUxPT0wP2E6YyVhfWZ1bmN0aW9uIHIoYSxiLGMsZCl7cmV0dXJuIDA9PT1jPzA6Yj09YT9kLml0ZXJhdGlvblN0YXJ0K2QuaXRlcmF0aW9ucy0xOk1hdGguZmxvb3IoYy9hKX1mdW5jdGlvbiBzKGEsYixjLGQpe3ZhciBlPWElMj49MSxmPSJub3JtYWwiPT1kLmRpcmVjdGlvbnx8ZC5kaXJlY3Rpb249PShlPyJhbHRlcm5hdGUtcmV2ZXJzZSI6ImFsdGVybmF0ZSIpLGc9Zj9jOmItYyxoPWcvYjtyZXR1cm4gYipkLl9lYXNpbmdGdW5jdGlvbihoKX1mdW5jdGlvbiB0KGEsYixjKXt2YXIgZD1uKGEsYixjKSxlPW8oYSxjLmZpbGwsYixkLGMuZGVsYXkpO2lmKG51bGw9PT1lKXJldHVybiBudWxsO2lmKDA9PT1hKXJldHVybiBkPT09Rz8wOjE7dmFyIGY9Yy5pdGVyYXRpb25TdGFydCpjLmR1cmF0aW9uLGc9cChhLGUsZixjKSxoPXEoYy5kdXJhdGlvbixtKGMpLGcsZixjKSxpPXIoYy5kdXJhdGlvbixoLGcsYyk7cmV0dXJuIHMoaSxjLmR1cmF0aW9uLGgsYykvYy5kdXJhdGlvbn12YXIgdT0iYmFja3dhcmRzfGZvcndhcmRzfGJvdGh8bm9uZSIuc3BsaXQoInwiKSx2PSJyZXZlcnNlfGFsdGVybmF0ZXxhbHRlcm5hdGUtcmV2ZXJzZSIuc3BsaXQoInwiKSx3PWZ1bmN0aW9uKGEpe3JldHVybiBhfTtkLnByb3RvdHlwZT17X3NldE1lbWJlcjpmdW5jdGlvbihiLGMpe3RoaXNbIl8iK2JdPWMsdGhpcy5fZWZmZWN0JiYodGhpcy5fZWZmZWN0Ll90aW1pbmdJbnB1dFtiXT1jLHRoaXMuX2VmZmVjdC5fdGltaW5nPWEubm9ybWFsaXplVGltaW5nSW5wdXQodGhpcy5fZWZmZWN0Ll90aW1pbmdJbnB1dCksdGhpcy5fZWZmZWN0LmFjdGl2ZUR1cmF0aW9uPWEuY2FsY3VsYXRlQWN0aXZlRHVyYXRpb24odGhpcy5fZWZmZWN0Ll90aW1pbmcpLHRoaXMuX2VmZmVjdC5fYW5pbWF0aW9uJiZ0aGlzLl9lZmZlY3QuX2FuaW1hdGlvbi5fcmVidWlsZFVuZGVybHlpbmdBbmltYXRpb24oKSl9LGdldCBwbGF5YmFja1JhdGUoKXtyZXR1cm4gdGhpcy5fcGxheWJhY2tSYXRlfSxzZXQgZGVsYXkoYSl7dGhpcy5fc2V0TWVtYmVyKCJkZWxheSIsYSl9LGdldCBkZWxheSgpe3JldHVybiB0aGlzLl9kZWxheX0sc2V0IGVuZERlbGF5KGEpe3RoaXMuX3NldE1lbWJlcigiZW5kRGVsYXkiLGEpfSxnZXQgZW5kRGVsYXkoKXtyZXR1cm4gdGhpcy5fZW5kRGVsYXl9LHNldCBmaWxsKGEpe3RoaXMuX3NldE1lbWJlcigiZmlsbCIsYSl9LGdldCBmaWxsKCl7cmV0dXJuIHRoaXMuX2ZpbGx9LHNldCBpdGVyYXRpb25TdGFydChhKXtpZigoaXNOYU4oYSl8fDA+YSkmJmUoKSl0aHJvdyBuZXcgVHlwZUVycm9yKCJpdGVyYXRpb25TdGFydCBtdXN0IGJlIGEgbm9uLW5lZ2F0aXZlIG51bWJlciwgcmVjZWl2ZWQ6ICIrdGltaW5nLml0ZXJhdGlvblN0YXJ0KTt0aGlzLl9zZXRNZW1iZXIoIml0ZXJhdGlvblN0YXJ0IixhKX0sZ2V0IGl0ZXJhdGlvblN0YXJ0KCl7cmV0dXJuIHRoaXMuX2l0ZXJhdGlvblN0YXJ0fSxzZXQgZHVyYXRpb24oYSl7aWYoImF1dG8iIT1hJiYoaXNOYU4oYSl8fDA+YSkmJmUoKSl0aHJvdyBuZXcgVHlwZUVycm9yKCJkdXJhdGlvbiBtdXN0IGJlIG5vbi1uZWdhdGl2ZSBvciBhdXRvLCByZWNlaXZlZDogIithKTt0aGlzLl9zZXRNZW1iZXIoImR1cmF0aW9uIixhKX0sZ2V0IGR1cmF0aW9uKCl7cmV0dXJuIHRoaXMuX2R1cmF0aW9ufSxzZXQgZGlyZWN0aW9uKGEpe3RoaXMuX3NldE1lbWJlcigiZGlyZWN0aW9uIixhKX0sZ2V0IGRpcmVjdGlvbigpe3JldHVybiB0aGlzLl9kaXJlY3Rpb259LHNldCBlYXNpbmcoYSl7dGhpcy5fZWFzaW5nRnVuY3Rpb249ayhhKSx0aGlzLl9zZXRNZW1iZXIoImVhc2luZyIsYSl9LGdldCBlYXNpbmcoKXtyZXR1cm4gdGhpcy5fZWFzaW5nfSxzZXQgaXRlcmF0aW9ucyhhKXtpZigoaXNOYU4oYSl8fDA+YSkmJmUoKSl0aHJvdyBuZXcgVHlwZUVycm9yKCJpdGVyYXRpb25zIG11c3QgYmUgbm9uLW5lZ2F0aXZlLCByZWNlaXZlZDogIithKTt0aGlzLl9zZXRNZW1iZXIoIml0ZXJhdGlvbnMiLGEpfSxnZXQgaXRlcmF0aW9ucygpe3JldHVybiB0aGlzLl9pdGVyYXRpb25zfX07dmFyIHg9MSx5PS41LHo9MCxBPXtlYXNlOmkoLjI1LC4xLC4yNSwxKSwiZWFzZS1pbiI6aSguNDIsMCwxLDEpLCJlYXNlLW91dCI6aSgwLDAsLjU4LDEpLCJlYXNlLWluLW91dCI6aSguNDIsMCwuNTgsMSksInN0ZXAtc3RhcnQiOmooMSx4KSwic3RlcC1taWRkbGUiOmooMSx5KSwic3RlcC1lbmQiOmooMSx6KX0sQj1udWxsLEM9IlxccyooLT9cXGQrXFwuP1xcZCp8LT9cXC5cXGQrKVxccyoiLEQ9bmV3IFJlZ0V4cCgiY3ViaWMtYmV6aWVyXFwoIitDKyIsIitDKyIsIitDKyIsIitDKyJcXCkiKSxFPS9zdGVwc1woXHMqKFxkKylccyosXHMqKHN0YXJ0fG1pZGRsZXxlbmQpXHMqXCkvLEY9MCxHPTEsSD0yLEk9MzthLmNsb25lVGltaW5nSW5wdXQ9YyxhLm1ha2VUaW1pbmc9ZixhLm51bWVyaWNUaW1pbmdUb09iamVjdD1nLGEubm9ybWFsaXplVGltaW5nSW5wdXQ9aCxhLmNhbGN1bGF0ZUFjdGl2ZUR1cmF0aW9uPWwsYS5jYWxjdWxhdGVUaW1lRnJhY3Rpb249dCxhLmNhbGN1bGF0ZVBoYXNlPW4sYS50b1RpbWluZ0Z1bmN0aW9uPWt9KGMsZiksZnVuY3Rpb24oYSxiKXtmdW5jdGlvbiBjKGEsYil7cmV0dXJuIGEgaW4gaj9qW2FdW2JdfHxiOmJ9ZnVuY3Rpb24gZChhLGIsZCl7dmFyIGU9Z1thXTtpZihlKXtoLnN0eWxlW2FdPWI7Zm9yKHZhciBmIGluIGUpe3ZhciBpPWVbZl0saj1oLnN0eWxlW2ldO2RbaV09YyhpLGopfX1lbHNlIGRbYV09YyhhLGIpfWZ1bmN0aW9uIGUoYSl7dmFyIGI9W107Zm9yKHZhciBjIGluIGEpaWYoIShjIGluWyJlYXNpbmciLCJvZmZzZXQiLCJjb21wb3NpdGUiXSkpe3ZhciBkPWFbY107QXJyYXkuaXNBcnJheShkKXx8KGQ9W2RdKTtmb3IodmFyIGUsZj1kLmxlbmd0aCxnPTA7Zj5nO2crKyllPXt9LCJvZmZzZXQiaW4gYT9lLm9mZnNldD1hLm9mZnNldDoxPT1mP2Uub2Zmc2V0PTE6ZS5vZmZzZXQ9Zy8oZi0xKSwiZWFzaW5nImluIGEmJihlLmVhc2luZz1hLmVhc2luZyksImNvbXBvc2l0ZSJpbiBhJiYoZS5jb21wb3NpdGU9YS5jb21wb3NpdGUpLGVbY109ZFtnXSxiLnB1c2goZSl9cmV0dXJuIGIuc29ydChmdW5jdGlvbihhLGIpe3JldHVybiBhLm9mZnNldC1iLm9mZnNldH0pLGJ9ZnVuY3Rpb24gZihhKXtmdW5jdGlvbiBiKCl7dmFyIGE9Yy5sZW5ndGg7bnVsbD09Y1thLTFdLm9mZnNldCYmKGNbYS0xXS5vZmZzZXQ9MSksYT4xJiZudWxsPT1jWzBdLm9mZnNldCYmKGNbMF0ub2Zmc2V0PTApO2Zvcih2YXIgYj0wLGQ9Y1swXS5vZmZzZXQsZT0xO2E+ZTtlKyspe3ZhciBmPWNbZV0ub2Zmc2V0O2lmKG51bGwhPWYpe2Zvcih2YXIgZz0xO2UtYj5nO2crKyljW2IrZ10ub2Zmc2V0PWQrKGYtZCkqZy8oZS1iKTtiPWUsZD1mfX19aWYobnVsbD09YSlyZXR1cm5bXTt3aW5kb3cuU3ltYm9sJiZTeW1ib2wuaXRlcmF0b3ImJkFycmF5LnByb3RvdHlwZS5mcm9tJiZhW1N5bWJvbC5pdGVyYXRvcl0mJihhPUFycmF5LmZyb20oYSkpLEFycmF5LmlzQXJyYXkoYSl8fChhPWUoYSkpO2Zvcih2YXIgYz1hLm1hcChmdW5jdGlvbihhKXt2YXIgYj17fTtmb3IodmFyIGMgaW4gYSl7dmFyIGU9YVtjXTtpZigib2Zmc2V0Ij09Yyl7aWYobnVsbCE9ZSYmKGU9TnVtYmVyKGUpLCFpc0Zpbml0ZShlKSkpdGhyb3cgbmV3IFR5cGVFcnJvcigia2V5ZnJhbWUgb2Zmc2V0cyBtdXN0IGJlIG51bWJlcnMuIil9ZWxzZXtpZigiY29tcG9zaXRlIj09Yyl0aHJvd3t0eXBlOkRPTUV4Y2VwdGlvbi5OT1RfU1VQUE9SVEVEX0VSUixuYW1lOiJOb3RTdXBwb3J0ZWRFcnJvciIsbWVzc2FnZToiYWRkIGNvbXBvc2l0aW5nIGlzIG5vdCBzdXBwb3J0ZWQifTtlPSIiK2V9ZChjLGUsYil9cmV0dXJuIHZvaWQgMD09Yi5vZmZzZXQmJihiLm9mZnNldD1udWxsKSxifSksZj0hMCxnPS0oMS8wKSxoPTA7aDxjLmxlbmd0aDtoKyspe3ZhciBpPWNbaF0ub2Zmc2V0O2lmKG51bGwhPWkpe2lmKGc+aSl0aHJvd3tjb2RlOkRPTUV4Y2VwdGlvbi5JTlZBTElEX01PRElGSUNBVElPTl9FUlIsbmFtZToiSW52YWxpZE1vZGlmaWNhdGlvbkVycm9yIixtZXNzYWdlOiJLZXlmcmFtZXMgYXJlIG5vdCBsb29zZWx5IHNvcnRlZCBieSBvZmZzZXQuIFNvcnQgb3Igc3BlY2lmeSBvZmZzZXRzLiJ9O2c9aX1lbHNlIGY9ITF9cmV0dXJuIGM9Yy5maWx0ZXIoZnVuY3Rpb24oYSl7cmV0dXJuIGEub2Zmc2V0Pj0wJiZhLm9mZnNldDw9MX0pLGZ8fGIoKSxjfXZhciBnPXtiYWNrZ3JvdW5kOlsiYmFja2dyb3VuZEltYWdlIiwiYmFja2dyb3VuZFBvc2l0aW9uIiwiYmFja2dyb3VuZFNpemUiLCJiYWNrZ3JvdW5kUmVwZWF0IiwiYmFja2dyb3VuZEF0dGFjaG1lbnQiLCJiYWNrZ3JvdW5kT3JpZ2luIiwiYmFja2dyb3VuZENsaXAiLCJiYWNrZ3JvdW5kQ29sb3IiXSxib3JkZXI6WyJib3JkZXJUb3BDb2xvciIsImJvcmRlclRvcFN0eWxlIiwiYm9yZGVyVG9wV2lkdGgiLCJib3JkZXJSaWdodENvbG9yIiwiYm9yZGVyUmlnaHRTdHlsZSIsImJvcmRlclJpZ2h0V2lkdGgiLCJib3JkZXJCb3R0b21Db2xvciIsImJvcmRlckJvdHRvbVN0eWxlIiwiYm9yZGVyQm90dG9tV2lkdGgiLCJib3JkZXJMZWZ0Q29sb3IiLCJib3JkZXJMZWZ0U3R5bGUiLCJib3JkZXJMZWZ0V2lkdGgiXSxib3JkZXJCb3R0b206WyJib3JkZXJCb3R0b21XaWR0aCIsImJvcmRlckJvdHRvbVN0eWxlIiwiYm9yZGVyQm90dG9tQ29sb3IiXSxib3JkZXJDb2xvcjpbImJvcmRlclRvcENvbG9yIiwiYm9yZGVyUmlnaHRDb2xvciIsImJvcmRlckJvdHRvbUNvbG9yIiwiYm9yZGVyTGVmdENvbG9yIl0sYm9yZGVyTGVmdDpbImJvcmRlckxlZnRXaWR0aCIsImJvcmRlckxlZnRTdHlsZSIsImJvcmRlckxlZnRDb2xvciJdLGJvcmRlclJhZGl1czpbImJvcmRlclRvcExlZnRSYWRpdXMiLCJib3JkZXJUb3BSaWdodFJhZGl1cyIsImJvcmRlckJvdHRvbVJpZ2h0UmFkaXVzIiwiYm9yZGVyQm90dG9tTGVmdFJhZGl1cyJdLGJvcmRlclJpZ2h0OlsiYm9yZGVyUmlnaHRXaWR0aCIsImJvcmRlclJpZ2h0U3R5bGUiLCJib3JkZXJSaWdodENvbG9yIl0sYm9yZGVyVG9wOlsiYm9yZGVyVG9wV2lkdGgiLCJib3JkZXJUb3BTdHlsZSIsImJvcmRlclRvcENvbG9yIl0sYm9yZGVyV2lkdGg6WyJib3JkZXJUb3BXaWR0aCIsImJvcmRlclJpZ2h0V2lkdGgiLCJib3JkZXJCb3R0b21XaWR0aCIsImJvcmRlckxlZnRXaWR0aCJdLGZsZXg6WyJmbGV4R3JvdyIsImZsZXhTaHJpbmsiLCJmbGV4QmFzaXMiXSxmb250OlsiZm9udEZhbWlseSIsImZvbnRTaXplIiwiZm9udFN0eWxlIiwiZm9udFZhcmlhbnQiLCJmb250V2VpZ2h0IiwibGluZUhlaWdodCJdLG1hcmdpbjpbIm1hcmdpblRvcCIsIm1hcmdpblJpZ2h0IiwibWFyZ2luQm90dG9tIiwibWFyZ2luTGVmdCJdLG91dGxpbmU6WyJvdXRsaW5lQ29sb3IiLCJvdXRsaW5lU3R5bGUiLCJvdXRsaW5lV2lkdGgiXSxwYWRkaW5nOlsicGFkZGluZ1RvcCIsInBhZGRpbmdSaWdodCIsInBhZGRpbmdCb3R0b20iLCJwYWRkaW5nTGVmdCJdfSxoPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUygiaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCIsImRpdiIpLGk9e3RoaW46IjFweCIsbWVkaXVtOiIzcHgiLHRoaWNrOiI1cHgifSxqPXtib3JkZXJCb3R0b21XaWR0aDppLGJvcmRlckxlZnRXaWR0aDppLGJvcmRlclJpZ2h0V2lkdGg6aSxib3JkZXJUb3BXaWR0aDppLGZvbnRTaXplOnsieHgtc21hbGwiOiI2MCUiLCJ4LXNtYWxsIjoiNzUlIixzbWFsbDoiODklIixtZWRpdW06IjEwMCUiLGxhcmdlOiIxMjAlIiwieC1sYXJnZSI6IjE1MCUiLCJ4eC1sYXJnZSI6IjIwMCUifSxmb250V2VpZ2h0Ontub3JtYWw6IjQwMCIsYm9sZDoiNzAwIn0sb3V0bGluZVdpZHRoOmksdGV4dFNoYWRvdzp7bm9uZToiMHB4IDBweCAwcHggdHJhbnNwYXJlbnQifSxib3hTaGFkb3c6e25vbmU6IjBweCAwcHggMHB4IDBweCB0cmFuc3BhcmVudCJ9fTthLmNvbnZlcnRUb0FycmF5Rm9ybT1lLGEubm9ybWFsaXplS2V5ZnJhbWVzPWZ9KGMsZiksZnVuY3Rpb24oYSl7dmFyIGI9e307YS5pc0RlcHJlY2F0ZWQ9ZnVuY3Rpb24oYSxjLGQsZSl7dmFyIGY9ZT8iYXJlIjoiaXMiLGc9bmV3IERhdGUsaD1uZXcgRGF0ZShjKTtyZXR1cm4gaC5zZXRNb250aChoLmdldE1vbnRoKCkrMyksaD5nPyhhIGluIGJ8fGNvbnNvbGUud2FybigiV2ViIEFuaW1hdGlvbnM6ICIrYSsiICIrZisiIGRlcHJlY2F0ZWQgYW5kIHdpbGwgc3RvcCB3b3JraW5nIG9uICIraC50b0RhdGVTdHJpbmcoKSsiLiAiK2QpLGJbYV09ITAsITEpOiEwfSxhLmRlcHJlY2F0ZWQ9ZnVuY3Rpb24oYixjLGQsZSl7dmFyIGY9ZT8iYXJlIjoiaXMiO2lmKGEuaXNEZXByZWNhdGVkKGIsYyxkLGUpKXRocm93IG5ldyBFcnJvcihiKyIgIitmKyIgbm8gbG9uZ2VyIHN1cHBvcnRlZC4gIitkKX19KGMpLGZ1bmN0aW9uKCl7aWYoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmFuaW1hdGUpe3ZhciBhPWRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5hbmltYXRlKFtdLDApLGI9ITA7aWYoYSYmKGI9ITEsInBsYXl8Y3VycmVudFRpbWV8cGF1c2V8cmV2ZXJzZXxwbGF5YmFja1JhdGV8Y2FuY2VsfGZpbmlzaHxzdGFydFRpbWV8cGxheVN0YXRlIi5zcGxpdCgifCIpLmZvckVhY2goZnVuY3Rpb24oYyl7dm9pZCAwPT09YVtjXSYmKGI9ITApfSkpLCFiKXJldHVybn0hZnVuY3Rpb24oYSxiLGMpe2Z1bmN0aW9uIGQoYSl7Zm9yKHZhciBiPXt9LGM9MDtjPGEubGVuZ3RoO2MrKylmb3IodmFyIGQgaW4gYVtjXSlpZigib2Zmc2V0IiE9ZCYmImVhc2luZyIhPWQmJiJjb21wb3NpdGUiIT1kKXt2YXIgZT17b2Zmc2V0OmFbY10ub2Zmc2V0LGVhc2luZzphW2NdLmVhc2luZyx2YWx1ZTphW2NdW2RdfTtiW2RdPWJbZF18fFtdLGJbZF0ucHVzaChlKX1mb3IodmFyIGYgaW4gYil7dmFyIGc9YltmXTtpZigwIT1nWzBdLm9mZnNldHx8MSE9Z1tnLmxlbmd0aC0xXS5vZmZzZXQpdGhyb3d7dHlwZTpET01FeGNlcHRpb24uTk9UX1NVUFBPUlRFRF9FUlIsbmFtZToiTm90U3VwcG9ydGVkRXJyb3IiLG1lc3NhZ2U6IlBhcnRpYWwga2V5ZnJhbWVzIGFyZSBub3Qgc3VwcG9ydGVkIn19cmV0dXJuIGJ9ZnVuY3Rpb24gZShjKXt2YXIgZD1bXTtmb3IodmFyIGUgaW4gYylmb3IodmFyIGY9Y1tlXSxnPTA7ZzxmLmxlbmd0aC0xO2crKyl7dmFyIGg9ZltnXS5vZmZzZXQsaT1mW2crMV0ub2Zmc2V0LGo9ZltnXS52YWx1ZSxrPWZbZysxXS52YWx1ZSxsPWZbZ10uZWFzaW5nO2g9PWkmJigxPT1pP2o9azprPWopLGQucHVzaCh7c3RhcnRUaW1lOmgsZW5kVGltZTppLGVhc2luZzphLnRvVGltaW5nRnVuY3Rpb24obD9sOiJsaW5lYXIiKSxwcm9wZXJ0eTplLGludGVycG9sYXRpb246Yi5wcm9wZXJ0eUludGVycG9sYXRpb24oZSxqLGspfSl9cmV0dXJuIGQuc29ydChmdW5jdGlvbihhLGIpe3JldHVybiBhLnN0YXJ0VGltZS1iLnN0YXJ0VGltZX0pLGR9Yi5jb252ZXJ0RWZmZWN0SW5wdXQ9ZnVuY3Rpb24oYyl7dmFyIGY9YS5ub3JtYWxpemVLZXlmcmFtZXMoYyksZz1kKGYpLGg9ZShnKTtyZXR1cm4gZnVuY3Rpb24oYSxjKXtpZihudWxsIT1jKWguZmlsdGVyKGZ1bmN0aW9uKGEpe3JldHVybiAwPj1jJiYwPT1hLnN0YXJ0VGltZXx8Yz49MSYmMT09YS5lbmRUaW1lfHxjPj1hLnN0YXJ0VGltZSYmYzw9YS5lbmRUaW1lfSkuZm9yRWFjaChmdW5jdGlvbihkKXt2YXIgZT1jLWQuc3RhcnRUaW1lLGY9ZC5lbmRUaW1lLWQuc3RhcnRUaW1lLGc9MD09Zj8wOmQuZWFzaW5nKGUvZik7Yi5hcHBseShhLGQucHJvcGVydHksZC5pbnRlcnBvbGF0aW9uKGcpKX0pO2Vsc2UgZm9yKHZhciBkIGluIGcpIm9mZnNldCIhPWQmJiJlYXNpbmciIT1kJiYiY29tcG9zaXRlIiE9ZCYmYi5jbGVhcihhLGQpfX19KGMsZCxmKSxmdW5jdGlvbihhLGIsYyl7ZnVuY3Rpb24gZChhKXtyZXR1cm4gYS5yZXBsYWNlKC8tKC4pL2csZnVuY3Rpb24oYSxiKXtyZXR1cm4gYi50b1VwcGVyQ2FzZSgpfSl9ZnVuY3Rpb24gZShhLGIsYyl7aFtjXT1oW2NdfHxbXSxoW2NdLnB1c2goW2EsYl0pfWZ1bmN0aW9uIGYoYSxiLGMpe2Zvcih2YXIgZj0wO2Y8Yy5sZW5ndGg7ZisrKXt2YXIgZz1jW2ZdO2UoYSxiLGQoZykpfX1mdW5jdGlvbiBnKGMsZSxmKXt2YXIgZz1jOy8tLy50ZXN0KGMpJiYhYS5pc0RlcHJlY2F0ZWQoIkh5cGhlbmF0ZWQgcHJvcGVydHkgbmFtZXMiLCIyMDE2LTAzLTIyIiwiVXNlIGNhbWVsQ2FzZSBpbnN0ZWFkLiIsITApJiYoZz1kKGMpKSwiaW5pdGlhbCIhPWUmJiJpbml0aWFsIiE9Znx8KCJpbml0aWFsIj09ZSYmKGU9aVtnXSksImluaXRpYWwiPT1mJiYoZj1pW2ddKSk7Zm9yKHZhciBqPWU9PWY/W106aFtnXSxrPTA7aiYmazxqLmxlbmd0aDtrKyspe3ZhciBsPWpba11bMF0oZSksbT1qW2tdWzBdKGYpO2lmKHZvaWQgMCE9PWwmJnZvaWQgMCE9PW0pe3ZhciBuPWpba11bMV0obCxtKTtpZihuKXt2YXIgbz1iLkludGVycG9sYXRpb24uYXBwbHkobnVsbCxuKTtyZXR1cm4gZnVuY3Rpb24oYSl7cmV0dXJuIDA9PWE/ZToxPT1hP2Y6byhhKX19fX1yZXR1cm4gYi5JbnRlcnBvbGF0aW9uKCExLCEwLGZ1bmN0aW9uKGEpe3JldHVybiBhP2Y6ZX0pfXZhciBoPXt9O2IuYWRkUHJvcGVydGllc0hhbmRsZXI9Zjt2YXIgaT17YmFja2dyb3VuZENvbG9yOiJ0cmFuc3BhcmVudCIsYmFja2dyb3VuZFBvc2l0aW9uOiIwJSAwJSIsYm9yZGVyQm90dG9tQ29sb3I6ImN1cnJlbnRDb2xvciIsYm9yZGVyQm90dG9tTGVmdFJhZGl1czoiMHB4Iixib3JkZXJCb3R0b21SaWdodFJhZGl1czoiMHB4Iixib3JkZXJCb3R0b21XaWR0aDoiM3B4Iixib3JkZXJMZWZ0Q29sb3I6ImN1cnJlbnRDb2xvciIsYm9yZGVyTGVmdFdpZHRoOiIzcHgiLGJvcmRlclJpZ2h0Q29sb3I6ImN1cnJlbnRDb2xvciIsYm9yZGVyUmlnaHRXaWR0aDoiM3B4Iixib3JkZXJTcGFjaW5nOiIycHgiLGJvcmRlclRvcENvbG9yOiJjdXJyZW50Q29sb3IiLGJvcmRlclRvcExlZnRSYWRpdXM6IjBweCIsYm9yZGVyVG9wUmlnaHRSYWRpdXM6IjBweCIsYm9yZGVyVG9wV2lkdGg6IjNweCIsYm90dG9tOiJhdXRvIixjbGlwOiJyZWN0KDBweCwgMHB4LCAwcHgsIDBweCkiLGNvbG9yOiJibGFjayIsZm9udFNpemU6IjEwMCUiLGZvbnRXZWlnaHQ6IjQwMCIsaGVpZ2h0OiJhdXRvIixsZWZ0OiJhdXRvIixsZXR0ZXJTcGFjaW5nOiJub3JtYWwiLGxpbmVIZWlnaHQ6IjEyMCUiLG1hcmdpbkJvdHRvbToiMHB4IixtYXJnaW5MZWZ0OiIwcHgiLG1hcmdpblJpZ2h0OiIwcHgiLG1hcmdpblRvcDoiMHB4IixtYXhIZWlnaHQ6Im5vbmUiLG1heFdpZHRoOiJub25lIixtaW5IZWlnaHQ6IjBweCIsbWluV2lkdGg6IjBweCIsb3BhY2l0eToiMS4wIixvdXRsaW5lQ29sb3I6ImludmVydCIsb3V0bGluZU9mZnNldDoiMHB4IixvdXRsaW5lV2lkdGg6IjNweCIscGFkZGluZ0JvdHRvbToiMHB4IixwYWRkaW5nTGVmdDoiMHB4IixwYWRkaW5nUmlnaHQ6IjBweCIscGFkZGluZ1RvcDoiMHB4IixyaWdodDoiYXV0byIsdGV4dEluZGVudDoiMHB4Iix0ZXh0U2hhZG93OiIwcHggMHB4IDBweCB0cmFuc3BhcmVudCIsdG9wOiJhdXRvIix0cmFuc2Zvcm06IiIsdmVydGljYWxBbGlnbjoiMHB4Iix2aXNpYmlsaXR5OiJ2aXNpYmxlIix3aWR0aDoiYXV0byIsd29yZFNwYWNpbmc6Im5vcm1hbCIsekluZGV4OiJhdXRvIn07Yi5wcm9wZXJ0eUludGVycG9sYXRpb249Z30oYyxkLGYpLGZ1bmN0aW9uKGEsYixjKXtmdW5jdGlvbiBkKGIpe3ZhciBjPWEuY2FsY3VsYXRlQWN0aXZlRHVyYXRpb24oYiksZD1mdW5jdGlvbihkKXtyZXR1cm4gYS5jYWxjdWxhdGVUaW1lRnJhY3Rpb24oYyxkLGIpfTtyZXR1cm4gZC5fdG90YWxEdXJhdGlvbj1iLmRlbGF5K2MrYi5lbmREZWxheSxkLl9pc0N1cnJlbnQ9ZnVuY3Rpb24oZCl7dmFyIGU9YS5jYWxjdWxhdGVQaGFzZShjLGQsYik7cmV0dXJuIGU9PT1QaGFzZUFjdGl2ZXx8ZT09PVBoYXNlQmVmb3JlfSxkfWIuS2V5ZnJhbWVFZmZlY3Q9ZnVuY3Rpb24oYyxlLGYsZyl7dmFyIGgsaT1kKGEubm9ybWFsaXplVGltaW5nSW5wdXQoZikpLGo9Yi5jb252ZXJ0RWZmZWN0SW5wdXQoZSksaz1mdW5jdGlvbigpe2ooYyxoKX07cmV0dXJuIGsuX3VwZGF0ZT1mdW5jdGlvbihhKXtyZXR1cm4gaD1pKGEpLG51bGwhPT1ofSxrLl9jbGVhcj1mdW5jdGlvbigpe2ooYyxudWxsKX0say5faGFzU2FtZVRhcmdldD1mdW5jdGlvbihhKXtyZXR1cm4gYz09PWF9LGsuX2lzQ3VycmVudD1pLl9pc0N1cnJlbnQsay5fdG90YWxEdXJhdGlvbj1pLl90b3RhbER1cmF0aW9uLGsuX2lkPWcsa30sYi5OdWxsRWZmZWN0PWZ1bmN0aW9uKGEpe3ZhciBiPWZ1bmN0aW9uKCl7YSYmKGEoKSxhPW51bGwpfTtyZXR1cm4gYi5fdXBkYXRlPWZ1bmN0aW9uKCl7cmV0dXJuIG51bGx9LGIuX3RvdGFsRHVyYXRpb249MCxiLl9pc0N1cnJlbnQ9ZnVuY3Rpb24oKXtyZXR1cm4hMX0sYi5faGFzU2FtZVRhcmdldD1mdW5jdGlvbigpe3JldHVybiExfSxifX0oYyxkLGYpLGZ1bmN0aW9uKGEsYil7YS5hcHBseT1mdW5jdGlvbihiLGMsZCl7Yi5zdHlsZVthLnByb3BlcnR5TmFtZShjKV09ZH0sYS5jbGVhcj1mdW5jdGlvbihiLGMpe2Iuc3R5bGVbYS5wcm9wZXJ0eU5hbWUoYyldPSIifX0oZCxmKSxmdW5jdGlvbihhKXt3aW5kb3cuRWxlbWVudC5wcm90b3R5cGUuYW5pbWF0ZT1mdW5jdGlvbihiLGMpe3ZhciBkPSIiO3JldHVybiBjJiZjLmlkJiYoZD1jLmlkKSxhLnRpbWVsaW5lLl9wbGF5KGEuS2V5ZnJhbWVFZmZlY3QodGhpcyxiLGMsZCkpfX0oZCksZnVuY3Rpb24oYSxiKXtmdW5jdGlvbiBjKGEsYixkKXtpZigibnVtYmVyIj09dHlwZW9mIGEmJiJudW1iZXIiPT10eXBlb2YgYilyZXR1cm4gYSooMS1kKStiKmQ7aWYoImJvb2xlYW4iPT10eXBlb2YgYSYmImJvb2xlYW4iPT10eXBlb2YgYilyZXR1cm4uNT5kP2E6YjtpZihhLmxlbmd0aD09Yi5sZW5ndGgpe2Zvcih2YXIgZT1bXSxmPTA7ZjxhLmxlbmd0aDtmKyspZS5wdXNoKGMoYVtmXSxiW2ZdLGQpKTtyZXR1cm4gZX10aHJvdyJNaXNtYXRjaGVkIGludGVycG9sYXRpb24gYXJndW1lbnRzICIrYSsiOiIrYn1hLkludGVycG9sYXRpb249ZnVuY3Rpb24oYSxiLGQpe3JldHVybiBmdW5jdGlvbihlKXtyZXR1cm4gZChjKGEsYixlKSl9fX0oZCxmKSxmdW5jdGlvbihhLGIsYyl7YS5zZXF1ZW5jZU51bWJlcj0wO3ZhciBkPWZ1bmN0aW9uKGEsYixjKXt0aGlzLnRhcmdldD1hLHRoaXMuY3VycmVudFRpbWU9Yix0aGlzLnRpbWVsaW5lVGltZT1jLHRoaXMudHlwZT0iZmluaXNoIix0aGlzLmJ1YmJsZXM9ITEsdGhpcy5jYW5jZWxhYmxlPSExLHRoaXMuY3VycmVudFRhcmdldD1hLHRoaXMuZGVmYXVsdFByZXZlbnRlZD0hMSx0aGlzLmV2ZW50UGhhc2U9RXZlbnQuQVRfVEFSR0VULHRoaXMudGltZVN0YW1wPURhdGUubm93KCl9O2IuQW5pbWF0aW9uPWZ1bmN0aW9uKGIpe3RoaXMuaWQ9IiIsYiYmYi5faWQmJih0aGlzLmlkPWIuX2lkKSx0aGlzLl9zZXF1ZW5jZU51bWJlcj1hLnNlcXVlbmNlTnVtYmVyKyssdGhpcy5fY3VycmVudFRpbWU9MCx0aGlzLl9zdGFydFRpbWU9bnVsbCx0aGlzLl9wYXVzZWQ9ITEsdGhpcy5fcGxheWJhY2tSYXRlPTEsdGhpcy5faW5UaW1lbGluZT0hMCx0aGlzLl9maW5pc2hlZEZsYWc9ITAsdGhpcy5vbmZpbmlzaD1udWxsLHRoaXMuX2ZpbmlzaEhhbmRsZXJzPVtdLHRoaXMuX2VmZmVjdD1iLHRoaXMuX2luRWZmZWN0PXRoaXMuX2VmZmVjdC5fdXBkYXRlKDApLHRoaXMuX2lkbGU9ITAsdGhpcy5fY3VycmVudFRpbWVQZW5kaW5nPSExfSxiLkFuaW1hdGlvbi5wcm90b3R5cGU9e19lbnN1cmVBbGl2ZTpmdW5jdGlvbigpe3RoaXMucGxheWJhY2tSYXRlPDAmJjA9PT10aGlzLmN1cnJlbnRUaW1lP3RoaXMuX2luRWZmZWN0PXRoaXMuX2VmZmVjdC5fdXBkYXRlKC0xKTp0aGlzLl9pbkVmZmVjdD10aGlzLl9lZmZlY3QuX3VwZGF0ZSh0aGlzLmN1cnJlbnRUaW1lKSx0aGlzLl9pblRpbWVsaW5lfHwhdGhpcy5faW5FZmZlY3QmJnRoaXMuX2ZpbmlzaGVkRmxhZ3x8KHRoaXMuX2luVGltZWxpbmU9ITAsYi50aW1lbGluZS5fYW5pbWF0aW9ucy5wdXNoKHRoaXMpKX0sX3RpY2tDdXJyZW50VGltZTpmdW5jdGlvbihhLGIpe2EhPXRoaXMuX2N1cnJlbnRUaW1lJiYodGhpcy5fY3VycmVudFRpbWU9YSx0aGlzLl9pc0ZpbmlzaGVkJiYhYiYmKHRoaXMuX2N1cnJlbnRUaW1lPXRoaXMuX3BsYXliYWNrUmF0ZT4wP3RoaXMuX3RvdGFsRHVyYXRpb246MCksdGhpcy5fZW5zdXJlQWxpdmUoKSl9LGdldCBjdXJyZW50VGltZSgpe3JldHVybiB0aGlzLl9pZGxlfHx0aGlzLl9jdXJyZW50VGltZVBlbmRpbmc/bnVsbDp0aGlzLl9jdXJyZW50VGltZX0sc2V0IGN1cnJlbnRUaW1lKGEpe2E9K2EsaXNOYU4oYSl8fChiLnJlc3RhcnQoKSx0aGlzLl9wYXVzZWR8fG51bGw9PXRoaXMuX3N0YXJ0VGltZXx8KHRoaXMuX3N0YXJ0VGltZT10aGlzLl90aW1lbGluZS5jdXJyZW50VGltZS1hL3RoaXMuX3BsYXliYWNrUmF0ZSksdGhpcy5fY3VycmVudFRpbWVQZW5kaW5nPSExLHRoaXMuX2N1cnJlbnRUaW1lIT1hJiYodGhpcy5fdGlja0N1cnJlbnRUaW1lKGEsITApLGIuaW52YWxpZGF0ZUVmZmVjdHMoKSkpfSxnZXQgc3RhcnRUaW1lKCl7cmV0dXJuIHRoaXMuX3N0YXJ0VGltZX0sc2V0IHN0YXJ0VGltZShhKXthPSthLGlzTmFOKGEpfHx0aGlzLl9wYXVzZWR8fHRoaXMuX2lkbGV8fCh0aGlzLl9zdGFydFRpbWU9YSx0aGlzLl90aWNrQ3VycmVudFRpbWUoKHRoaXMuX3RpbWVsaW5lLmN1cnJlbnRUaW1lLXRoaXMuX3N0YXJ0VGltZSkqdGhpcy5wbGF5YmFja1JhdGUpLGIuaW52YWxpZGF0ZUVmZmVjdHMoKSl9LGdldCBwbGF5YmFja1JhdGUoKXtyZXR1cm4gdGhpcy5fcGxheWJhY2tSYXRlfSxzZXQgcGxheWJhY2tSYXRlKGEpe2lmKGEhPXRoaXMuX3BsYXliYWNrUmF0ZSl7dmFyIGI9dGhpcy5jdXJyZW50VGltZTt0aGlzLl9wbGF5YmFja1JhdGU9YSx0aGlzLl9zdGFydFRpbWU9bnVsbCwicGF1c2VkIiE9dGhpcy5wbGF5U3RhdGUmJiJpZGxlIiE9dGhpcy5wbGF5U3RhdGUmJnRoaXMucGxheSgpLG51bGwhPWImJih0aGlzLmN1cnJlbnRUaW1lPWIpfX0sZ2V0IF9pc0ZpbmlzaGVkKCl7cmV0dXJuIXRoaXMuX2lkbGUmJih0aGlzLl9wbGF5YmFja1JhdGU+MCYmdGhpcy5fY3VycmVudFRpbWU+PXRoaXMuX3RvdGFsRHVyYXRpb258fHRoaXMuX3BsYXliYWNrUmF0ZTwwJiZ0aGlzLl9jdXJyZW50VGltZTw9MCl9LGdldCBfdG90YWxEdXJhdGlvbigpe3JldHVybiB0aGlzLl9lZmZlY3QuX3RvdGFsRHVyYXRpb259LGdldCBwbGF5U3RhdGUoKXtyZXR1cm4gdGhpcy5faWRsZT8iaWRsZSI6bnVsbD09dGhpcy5fc3RhcnRUaW1lJiYhdGhpcy5fcGF1c2VkJiYwIT10aGlzLnBsYXliYWNrUmF0ZXx8dGhpcy5fY3VycmVudFRpbWVQZW5kaW5nPyJwZW5kaW5nIjp0aGlzLl9wYXVzZWQ/InBhdXNlZCI6dGhpcy5faXNGaW5pc2hlZD8iZmluaXNoZWQiOiJydW5uaW5nIn0scGxheTpmdW5jdGlvbigpe3RoaXMuX3BhdXNlZD0hMSwodGhpcy5faXNGaW5pc2hlZHx8dGhpcy5faWRsZSkmJih0aGlzLl9jdXJyZW50VGltZT10aGlzLl9wbGF5YmFja1JhdGU+MD8wOnRoaXMuX3RvdGFsRHVyYXRpb24sdGhpcy5fc3RhcnRUaW1lPW51bGwpLHRoaXMuX2ZpbmlzaGVkRmxhZz0hMSx0aGlzLl9pZGxlPSExLHRoaXMuX2Vuc3VyZUFsaXZlKCksYi5pbnZhbGlkYXRlRWZmZWN0cygpfSxwYXVzZTpmdW5jdGlvbigpe3RoaXMuX2lzRmluaXNoZWR8fHRoaXMuX3BhdXNlZHx8dGhpcy5faWRsZXx8KHRoaXMuX2N1cnJlbnRUaW1lUGVuZGluZz0hMCksdGhpcy5fc3RhcnRUaW1lPW51bGwsdGhpcy5fcGF1c2VkPSEwfSxmaW5pc2g6ZnVuY3Rpb24oKXt0aGlzLl9pZGxlfHwodGhpcy5jdXJyZW50VGltZT10aGlzLl9wbGF5YmFja1JhdGU+MD90aGlzLl90b3RhbER1cmF0aW9uOjAsdGhpcy5fc3RhcnRUaW1lPXRoaXMuX3RvdGFsRHVyYXRpb24tdGhpcy5jdXJyZW50VGltZSx0aGlzLl9jdXJyZW50VGltZVBlbmRpbmc9ITEsYi5pbnZhbGlkYXRlRWZmZWN0cygpKX0sY2FuY2VsOmZ1bmN0aW9uKCl7dGhpcy5faW5FZmZlY3QmJih0aGlzLl9pbkVmZmVjdD0hMSx0aGlzLl9pZGxlPSEwLHRoaXMuX2ZpbmlzaGVkRmxhZz0hMCx0aGlzLmN1cnJlbnRUaW1lPTAsdGhpcy5fc3RhcnRUaW1lPW51bGwsdGhpcy5fZWZmZWN0Ll91cGRhdGUobnVsbCksYi5pbnZhbGlkYXRlRWZmZWN0cygpKX0scmV2ZXJzZTpmdW5jdGlvbigpe3RoaXMucGxheWJhY2tSYXRlKj0tMSx0aGlzLnBsYXkoKX0sYWRkRXZlbnRMaXN0ZW5lcjpmdW5jdGlvbihhLGIpeyJmdW5jdGlvbiI9PXR5cGVvZiBiJiYiZmluaXNoIj09YSYmdGhpcy5fZmluaXNoSGFuZGxlcnMucHVzaChiKX0scmVtb3ZlRXZlbnRMaXN0ZW5lcjpmdW5jdGlvbihhLGIpe2lmKCJmaW5pc2giPT1hKXt2YXIgYz10aGlzLl9maW5pc2hIYW5kbGVycy5pbmRleE9mKGIpO2M+PTAmJnRoaXMuX2ZpbmlzaEhhbmRsZXJzLnNwbGljZShjLDEpfX0sX2ZpcmVFdmVudHM6ZnVuY3Rpb24oYSl7aWYodGhpcy5faXNGaW5pc2hlZCl7aWYoIXRoaXMuX2ZpbmlzaGVkRmxhZyl7dmFyIGI9bmV3IGQodGhpcyx0aGlzLl9jdXJyZW50VGltZSxhKSxjPXRoaXMuX2ZpbmlzaEhhbmRsZXJzLmNvbmNhdCh0aGlzLm9uZmluaXNoP1t0aGlzLm9uZmluaXNoXTpbXSk7c2V0VGltZW91dChmdW5jdGlvbigpe2MuZm9yRWFjaChmdW5jdGlvbihhKXthLmNhbGwoYi50YXJnZXQsYil9KX0sMCksdGhpcy5fZmluaXNoZWRGbGFnPSEwfX1lbHNlIHRoaXMuX2ZpbmlzaGVkRmxhZz0hMX0sX3RpY2s6ZnVuY3Rpb24oYSxiKXt0aGlzLl9pZGxlfHx0aGlzLl9wYXVzZWR8fChudWxsPT10aGlzLl9zdGFydFRpbWU/YiYmKHRoaXMuc3RhcnRUaW1lPWEtdGhpcy5fY3VycmVudFRpbWUvdGhpcy5wbGF5YmFja1JhdGUpOnRoaXMuX2lzRmluaXNoZWR8fHRoaXMuX3RpY2tDdXJyZW50VGltZSgoYS10aGlzLl9zdGFydFRpbWUpKnRoaXMucGxheWJhY2tSYXRlKSksYiYmKHRoaXMuX2N1cnJlbnRUaW1lUGVuZGluZz0hMSx0aGlzLl9maXJlRXZlbnRzKGEpKX0sZ2V0IF9uZWVkc1RpY2soKXtyZXR1cm4gdGhpcy5wbGF5U3RhdGUgaW57cGVuZGluZzoxLHJ1bm5pbmc6MX18fCF0aGlzLl9maW5pc2hlZEZsYWd9fX0oYyxkLGYpLGZ1bmN0aW9uKGEsYixjKXtmdW5jdGlvbiBkKGEpe3ZhciBiPWo7aj1bXSxhPHAuY3VycmVudFRpbWUmJihhPXAuY3VycmVudFRpbWUpLGgoYSwhMCksYi5mb3JFYWNoKGZ1bmN0aW9uKGIpe2JbMV0oYSl9KSxnKCksbD12b2lkIDB9ZnVuY3Rpb24gZShhLGIpe3JldHVybiBhLl9zZXF1ZW5jZU51bWJlci1iLl9zZXF1ZW5jZU51bWJlcn1mdW5jdGlvbiBmKCl7dGhpcy5fYW5pbWF0aW9ucz1bXSx0aGlzLmN1cnJlbnRUaW1lPXdpbmRvdy5wZXJmb3JtYW5jZSYmcGVyZm9ybWFuY2Uubm93P3BlcmZvcm1hbmNlLm5vdygpOjB9ZnVuY3Rpb24gZygpe28uZm9yRWFjaChmdW5jdGlvbihhKXthKCl9KSxvLmxlbmd0aD0wfWZ1bmN0aW9uIGgoYSxjKXtuPSExO3ZhciBkPWIudGltZWxpbmU7ZC5jdXJyZW50VGltZT1hLGQuX2FuaW1hdGlvbnMuc29ydChlKSxtPSExO3ZhciBmPWQuX2FuaW1hdGlvbnM7ZC5fYW5pbWF0aW9ucz1bXTt2YXIgZz1bXSxoPVtdO2Y9Zi5maWx0ZXIoZnVuY3Rpb24oYil7Yi5fdGljayhhLGMpLGIuX2luRWZmZWN0P2gucHVzaChiLl9lZmZlY3QpOmcucHVzaChiLl9lZmZlY3QpLGIuX25lZWRzVGljayYmKG09ITApO3ZhciBkPWIuX2luRWZmZWN0fHxiLl9uZWVkc1RpY2s7cmV0dXJuIGIuX2luVGltZWxpbmU9ZCxkfSksby5wdXNoLmFwcGx5KG8sZyksby5wdXNoLmFwcGx5KG8saCksZC5fYW5pbWF0aW9ucy5wdXNoLmFwcGx5KGQuX2FuaW1hdGlvbnMsZiksbSYmcmVxdWVzdEFuaW1hdGlvbkZyYW1lKGZ1bmN0aW9uKCl7fSl9dmFyIGk9d2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZSxqPVtdLGs9MDt3aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lPWZ1bmN0aW9uKGEpe3ZhciBiPWsrKztyZXR1cm4gMD09ai5sZW5ndGgmJmkoZCksai5wdXNoKFtiLGFdKSxifSx3aW5kb3cuY2FuY2VsQW5pbWF0aW9uRnJhbWU9ZnVuY3Rpb24oYSl7ai5mb3JFYWNoKGZ1bmN0aW9uKGIpe2JbMF09PWEmJihiWzFdPWZ1bmN0aW9uKCl7fSl9KX0sZi5wcm90b3R5cGU9e19wbGF5OmZ1bmN0aW9uKGMpe2MuX3RpbWluZz1hLm5vcm1hbGl6ZVRpbWluZ0lucHV0KGMudGltaW5nKTt2YXIgZD1uZXcgYi5BbmltYXRpb24oYyk7cmV0dXJuIGQuX2lkbGU9ITEsZC5fdGltZWxpbmU9dGhpcyx0aGlzLl9hbmltYXRpb25zLnB1c2goZCksYi5yZXN0YXJ0KCksYi5pbnZhbGlkYXRlRWZmZWN0cygpLGR9fTt2YXIgbD12b2lkIDAsbT0hMSxuPSExO2IucmVzdGFydD1mdW5jdGlvbigpe3JldHVybiBtfHwobT0hMCxyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoZnVuY3Rpb24oKXt9KSxuPSEwKSxufSxiLmludmFsaWRhdGVFZmZlY3RzPWZ1bmN0aW9uKCl7aChiLnRpbWVsaW5lLmN1cnJlbnRUaW1lLCExKSxnKCl9O3ZhciBvPVtdLHA9bmV3IGY7Yi50aW1lbGluZT1wfShjLGQsZiksZnVuY3Rpb24oYSl7ZnVuY3Rpb24gYihhLGIpe3ZhciBjPWEuZXhlYyhiKTtyZXR1cm4gYz8oYz1hLmlnbm9yZUNhc2U/Y1swXS50b0xvd2VyQ2FzZSgpOmNbMF0sW2MsYi5zdWJzdHIoYy5sZW5ndGgpXSk6dm9pZCAwfWZ1bmN0aW9uIGMoYSxiKXtiPWIucmVwbGFjZSgvXlxzKi8sIiIpO3ZhciBjPWEoYik7cmV0dXJuIGM/W2NbMF0sY1sxXS5yZXBsYWNlKC9eXHMqLywiIildOnZvaWQgMH1mdW5jdGlvbiBkKGEsZCxlKXthPWMuYmluZChudWxsLGEpO2Zvcih2YXIgZj1bXTs7KXt2YXIgZz1hKGUpO2lmKCFnKXJldHVybltmLGVdO2lmKGYucHVzaChnWzBdKSxlPWdbMV0sZz1iKGQsZSksIWd8fCIiPT1nWzFdKXJldHVybltmLGVdO2U9Z1sxXX19ZnVuY3Rpb24gZShhLGIpe2Zvcih2YXIgYz0wLGQ9MDtkPGIubGVuZ3RoJiYoIS9cc3wsLy50ZXN0KGJbZF0pfHwwIT1jKTtkKyspaWYoIigiPT1iW2RdKWMrKztlbHNlIGlmKCIpIj09YltkXSYmKGMtLSwwPT1jJiZkKyssMD49YykpYnJlYWs7dmFyIGU9YShiLnN1YnN0cigwLGQpKTtyZXR1cm4gdm9pZCAwPT1lP3ZvaWQgMDpbZSxiLnN1YnN0cihkKV19ZnVuY3Rpb24gZihhLGIpe2Zvcih2YXIgYz1hLGQ9YjtjJiZkOyljPmQ/YyU9ZDpkJT1jO3JldHVybiBjPWEqYi8oYytkKX1mdW5jdGlvbiBnKGEpe3JldHVybiBmdW5jdGlvbihiKXt2YXIgYz1hKGIpO3JldHVybiBjJiYoY1swXT12b2lkIDApLGN9fWZ1bmN0aW9uIGgoYSxiKXtyZXR1cm4gZnVuY3Rpb24oYyl7dmFyIGQ9YShjKTtyZXR1cm4gZD9kOltiLGNdfX1mdW5jdGlvbiBpKGIsYyl7Zm9yKHZhciBkPVtdLGU9MDtlPGIubGVuZ3RoO2UrKyl7dmFyIGY9YS5jb25zdW1lVHJpbW1lZChiW2VdLGMpO2lmKCFmfHwiIj09ZlswXSlyZXR1cm47dm9pZCAwIT09ZlswXSYmZC5wdXNoKGZbMF0pLGM9ZlsxXX1yZXR1cm4iIj09Yz9kOnZvaWQgMH1mdW5jdGlvbiBqKGEsYixjLGQsZSl7Zm9yKHZhciBnPVtdLGg9W10saT1bXSxqPWYoZC5sZW5ndGgsZS5sZW5ndGgpLGs9MDtqPms7aysrKXt2YXIgbD1iKGRbayVkLmxlbmd0aF0sZVtrJWUubGVuZ3RoXSk7aWYoIWwpcmV0dXJuO2cucHVzaChsWzBdKSxoLnB1c2gobFsxXSksaS5wdXNoKGxbMl0pfXJldHVybltnLGgsZnVuY3Rpb24oYil7dmFyIGQ9Yi5tYXAoZnVuY3Rpb24oYSxiKXtyZXR1cm4gaVtiXShhKX0pLmpvaW4oYyk7cmV0dXJuIGE/YShkKTpkfV19ZnVuY3Rpb24gayhhLGIsYyl7Zm9yKHZhciBkPVtdLGU9W10sZj1bXSxnPTAsaD0wO2g8Yy5sZW5ndGg7aCsrKWlmKCJmdW5jdGlvbiI9PXR5cGVvZiBjW2hdKXt2YXIgaT1jW2hdKGFbZ10sYltnKytdKTtkLnB1c2goaVswXSksZS5wdXNoKGlbMV0pLGYucHVzaChpWzJdKX1lbHNlIWZ1bmN0aW9uKGEpe2QucHVzaCghMSksZS5wdXNoKCExKSxmLnB1c2goZnVuY3Rpb24oKXtyZXR1cm4gY1thXX0pfShoKTtyZXR1cm5bZCxlLGZ1bmN0aW9uKGEpe2Zvcih2YXIgYj0iIixjPTA7YzxhLmxlbmd0aDtjKyspYis9ZltjXShhW2NdKTtyZXR1cm4gYn1dfWEuY29uc3VtZVRva2VuPWIsYS5jb25zdW1lVHJpbW1lZD1jLGEuY29uc3VtZVJlcGVhdGVkPWQsYS5jb25zdW1lUGFyZW50aGVzaXNlZD1lLGEuaWdub3JlPWcsYS5vcHRpb25hbD1oLGEuY29uc3VtZUxpc3Q9aSxhLm1lcmdlTmVzdGVkUmVwZWF0ZWQ9ai5iaW5kKG51bGwsbnVsbCksYS5tZXJnZVdyYXBwZWROZXN0ZWRSZXBlYXRlZD1qLGEubWVyZ2VMaXN0PWt9KGQpLGZ1bmN0aW9uKGEpe2Z1bmN0aW9uIGIoYil7ZnVuY3Rpb24gYyhiKXt2YXIgYz1hLmNvbnN1bWVUb2tlbigvXmluc2V0L2ksYik7aWYoYylyZXR1cm4gZC5pbnNldD0hMCxjO3ZhciBjPWEuY29uc3VtZUxlbmd0aE9yUGVyY2VudChiKTtpZihjKXJldHVybiBkLmxlbmd0aHMucHVzaChjWzBdKSxjO3ZhciBjPWEuY29uc3VtZUNvbG9yKGIpO3JldHVybiBjPyhkLmNvbG9yPWNbMF0sYyk6dm9pZCAwfXZhciBkPXtpbnNldDohMSxsZW5ndGhzOltdLGNvbG9yOm51bGx9LGU9YS5jb25zdW1lUmVwZWF0ZWQoYywvXi8sYik7cmV0dXJuIGUmJmVbMF0ubGVuZ3RoP1tkLGVbMV1dOnZvaWQgMH1mdW5jdGlvbiBjKGMpe3ZhciBkPWEuY29uc3VtZVJlcGVhdGVkKGIsL14sLyxjKTtyZXR1cm4gZCYmIiI9PWRbMV0/ZFswXTp2b2lkIDB9ZnVuY3Rpb24gZChiLGMpe2Zvcig7Yi5sZW5ndGhzLmxlbmd0aDxNYXRoLm1heChiLmxlbmd0aHMubGVuZ3RoLGMubGVuZ3Rocy5sZW5ndGgpOyliLmxlbmd0aHMucHVzaCh7cHg6MH0pO2Zvcig7Yy5sZW5ndGhzLmxlbmd0aDxNYXRoLm1heChiLmxlbmd0aHMubGVuZ3RoLGMubGVuZ3Rocy5sZW5ndGgpOyljLmxlbmd0aHMucHVzaCh7cHg6MH0pO2lmKGIuaW5zZXQ9PWMuaW5zZXQmJiEhYi5jb2xvcj09ISFjLmNvbG9yKXtmb3IodmFyIGQsZT1bXSxmPVtbXSwwXSxnPVtbXSwwXSxoPTA7aDxiLmxlbmd0aHMubGVuZ3RoO2grKyl7dmFyIGk9YS5tZXJnZURpbWVuc2lvbnMoYi5sZW5ndGhzW2hdLGMubGVuZ3Roc1toXSwyPT1oKTtmWzBdLnB1c2goaVswXSksZ1swXS5wdXNoKGlbMV0pLGUucHVzaChpWzJdKX1pZihiLmNvbG9yJiZjLmNvbG9yKXt2YXIgaj1hLm1lcmdlQ29sb3JzKGIuY29sb3IsYy5jb2xvcik7ZlsxXT1qWzBdLGdbMV09alsxXSxkPWpbMl19cmV0dXJuW2YsZyxmdW5jdGlvbihhKXtmb3IodmFyIGM9Yi5pbnNldD8iaW5zZXQgIjoiICIsZj0wO2Y8ZS5sZW5ndGg7ZisrKWMrPWVbZl0oYVswXVtmXSkrIiAiO3JldHVybiBkJiYoYys9ZChhWzFdKSksY31dfX1mdW5jdGlvbiBlKGIsYyxkLGUpe2Z1bmN0aW9uIGYoYSl7cmV0dXJue2luc2V0OmEsY29sb3I6WzAsMCwwLDBdLGxlbmd0aHM6W3tweDowfSx7cHg6MH0se3B4OjB9LHtweDowfV19fWZvcih2YXIgZz1bXSxoPVtdLGk9MDtpPGQubGVuZ3RofHxpPGUubGVuZ3RoO2krKyl7dmFyIGo9ZFtpXXx8ZihlW2ldLmluc2V0KSxrPWVbaV18fGYoZFtpXS5pbnNldCk7Zy5wdXNoKGopLGgucHVzaChrKX1yZXR1cm4gYS5tZXJnZU5lc3RlZFJlcGVhdGVkKGIsYyxnLGgpfXZhciBmPWUuYmluZChudWxsLGQsIiwgIik7YS5hZGRQcm9wZXJ0aWVzSGFuZGxlcihjLGYsWyJib3gtc2hhZG93IiwidGV4dC1zaGFkb3ciXSl9KGQpLGZ1bmN0aW9uKGEsYil7ZnVuY3Rpb24gYyhhKXtyZXR1cm4gYS50b0ZpeGVkKDMpLnJlcGxhY2UoIi4wMDAiLCIiKX1mdW5jdGlvbiBkKGEsYixjKXtyZXR1cm4gTWF0aC5taW4oYixNYXRoLm1heChhLGMpKX1mdW5jdGlvbiBlKGEpe3JldHVybi9eXHMqWy0rXT8oXGQqXC4pP1xkK1xzKiQvLnRlc3QoYSk/TnVtYmVyKGEpOnZvaWQgMH1mdW5jdGlvbiBmKGEsYil7cmV0dXJuW2EsYixjXX1mdW5jdGlvbiBnKGEsYil7cmV0dXJuIDAhPWE/aSgwLDEvMCkoYSxiKTp2b2lkIDB9ZnVuY3Rpb24gaChhLGIpe3JldHVyblthLGIsZnVuY3Rpb24oYSl7cmV0dXJuIE1hdGgucm91bmQoZCgxLDEvMCxhKSl9XX1mdW5jdGlvbiBpKGEsYil7cmV0dXJuIGZ1bmN0aW9uKGUsZil7cmV0dXJuW2UsZixmdW5jdGlvbihlKXtyZXR1cm4gYyhkKGEsYixlKSl9XX19ZnVuY3Rpb24gaihhLGIpe3JldHVyblthLGIsTWF0aC5yb3VuZF19YS5jbGFtcD1kLGEuYWRkUHJvcGVydGllc0hhbmRsZXIoZSxpKDAsMS8wKSxbImJvcmRlci1pbWFnZS13aWR0aCIsImxpbmUtaGVpZ2h0Il0pLGEuYWRkUHJvcGVydGllc0hhbmRsZXIoZSxpKDAsMSksWyJvcGFjaXR5Iiwic2hhcGUtaW1hZ2UtdGhyZXNob2xkIl0pLGEuYWRkUHJvcGVydGllc0hhbmRsZXIoZSxnLFsiZmxleC1ncm93IiwiZmxleC1zaHJpbmsiXSksYS5hZGRQcm9wZXJ0aWVzSGFuZGxlcihlLGgsWyJvcnBoYW5zIiwid2lkb3dzIl0pLGEuYWRkUHJvcGVydGllc0hhbmRsZXIoZSxqLFsiei1pbmRleCJdKSxhLnBhcnNlTnVtYmVyPWUsYS5tZXJnZU51bWJlcnM9ZixhLm51bWJlclRvU3RyaW5nPWN9KGQsZiksZnVuY3Rpb24oYSxiKXtmdW5jdGlvbiBjKGEsYil7cmV0dXJuInZpc2libGUiPT1hfHwidmlzaWJsZSI9PWI/WzAsMSxmdW5jdGlvbihjKXtyZXR1cm4gMD49Yz9hOmM+PTE/YjoidmlzaWJsZSJ9XTp2b2lkIDB9YS5hZGRQcm9wZXJ0aWVzSGFuZGxlcihTdHJpbmcsYyxbInZpc2liaWxpdHkiXSl9KGQpLGZ1bmN0aW9uKGEsYil7ZnVuY3Rpb24gYyhhKXthPWEudHJpbSgpLGYuZmlsbFN0eWxlPSIjMDAwIixmLmZpbGxTdHlsZT1hO3ZhciBiPWYuZmlsbFN0eWxlO2lmKGYuZmlsbFN0eWxlPSIjZmZmIixmLmZpbGxTdHlsZT1hLGI9PWYuZmlsbFN0eWxlKXtmLmZpbGxSZWN0KDAsMCwxLDEpO3ZhciBjPWYuZ2V0SW1hZ2VEYXRhKDAsMCwxLDEpLmRhdGE7Zi5jbGVhclJlY3QoMCwwLDEsMSk7dmFyIGQ9Y1szXS8yNTU7cmV0dXJuW2NbMF0qZCxjWzFdKmQsY1syXSpkLGRdfX1mdW5jdGlvbiBkKGIsYyl7cmV0dXJuW2IsYyxmdW5jdGlvbihiKXtmdW5jdGlvbiBjKGEpe3JldHVybiBNYXRoLm1heCgwLE1hdGgubWluKDI1NSxhKSl9aWYoYlszXSlmb3IodmFyIGQ9MDszPmQ7ZCsrKWJbZF09TWF0aC5yb3VuZChjKGJbZF0vYlszXSkpO3JldHVybiBiWzNdPWEubnVtYmVyVG9TdHJpbmcoYS5jbGFtcCgwLDEsYlszXSkpLCJyZ2JhKCIrYi5qb2luKCIsIikrIikifV19dmFyIGU9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiwiY2FudmFzIik7ZS53aWR0aD1lLmhlaWdodD0xO3ZhciBmPWUuZ2V0Q29udGV4dCgiMmQiKTthLmFkZFByb3BlcnRpZXNIYW5kbGVyKGMsZCxbImJhY2tncm91bmQtY29sb3IiLCJib3JkZXItYm90dG9tLWNvbG9yIiwiYm9yZGVyLWxlZnQtY29sb3IiLCJib3JkZXItcmlnaHQtY29sb3IiLCJib3JkZXItdG9wLWNvbG9yIiwiY29sb3IiLCJvdXRsaW5lLWNvbG9yIiwidGV4dC1kZWNvcmF0aW9uLWNvbG9yIl0pLGEuY29uc3VtZUNvbG9yPWEuY29uc3VtZVBhcmVudGhlc2lzZWQuYmluZChudWxsLGMpLGEubWVyZ2VDb2xvcnM9ZH0oZCxmKSxmdW5jdGlvbihhLGIpe2Z1bmN0aW9uIGMoYSxiKXtpZihiPWIudHJpbSgpLnRvTG93ZXJDYXNlKCksIjAiPT1iJiYicHgiLnNlYXJjaChhKT49MClyZXR1cm57cHg6MH07aWYoL15bXihdKiR8XmNhbGMvLnRlc3QoYikpe2I9Yi5yZXBsYWNlKC9jYWxjXCgvZywiKCIpO3ZhciBjPXt9O2I9Yi5yZXBsYWNlKGEsZnVuY3Rpb24oYSl7cmV0dXJuIGNbYV09bnVsbCwiVSIrYX0pO2Zvcih2YXIgZD0iVSgiK2Euc291cmNlKyIpIixlPWIucmVwbGFjZSgvWy0rXT8oXGQqXC4pP1xkKy9nLCJOIikucmVwbGFjZShuZXcgUmVnRXhwKCJOIitkLCJnIiksIkQiKS5yZXBsYWNlKC9cc1srLV1ccy9nLCJPIikucmVwbGFjZSgvXHMvZywiIiksZj1bL05cKihEKS9nLC8oTnxEKVsqXC9dTi9nLC8oTnxEKU9cMS9nLC9cKChOfEQpXCkvZ10sZz0wO2c8Zi5sZW5ndGg7KWZbZ10udGVzdChlKT8oZT1lLnJlcGxhY2UoZltnXSwiJDEiKSxnPTApOmcrKztpZigiRCI9PWUpe2Zvcih2YXIgaCBpbiBjKXt2YXIgaT1ldmFsKGIucmVwbGFjZShuZXcgUmVnRXhwKCJVIitoLCJnIiksIiIpLnJlcGxhY2UobmV3IFJlZ0V4cChkLCJnIiksIiowIikpO2lmKCFpc0Zpbml0ZShpKSlyZXR1cm47Y1toXT1pfXJldHVybiBjfX19ZnVuY3Rpb24gZChhLGIpe3JldHVybiBlKGEsYiwhMCl9ZnVuY3Rpb24gZShiLGMsZCl7dmFyIGUsZj1bXTtmb3IoZSBpbiBiKWYucHVzaChlKTtmb3IoZSBpbiBjKWYuaW5kZXhPZihlKTwwJiZmLnB1c2goZSk7cmV0dXJuIGI9Zi5tYXAoZnVuY3Rpb24oYSl7cmV0dXJuIGJbYV18fDB9KSxjPWYubWFwKGZ1bmN0aW9uKGEpe3JldHVybiBjW2FdfHwwfSksW2IsYyxmdW5jdGlvbihiKXt2YXIgYz1iLm1hcChmdW5jdGlvbihjLGUpe3JldHVybiAxPT1iLmxlbmd0aCYmZCYmKGM9TWF0aC5tYXgoYywwKSksYS5udW1iZXJUb1N0cmluZyhjKStmW2VdfSkuam9pbigiICsgIik7cmV0dXJuIGIubGVuZ3RoPjE/ImNhbGMoIitjKyIpIjpjfV19dmFyIGY9InB4fGVtfGV4fGNofHJlbXx2d3x2aHx2bWlufHZtYXh8Y218bW18aW58cHR8cGMiLGc9Yy5iaW5kKG51bGwsbmV3IFJlZ0V4cChmLCJnIikpLGg9Yy5iaW5kKG51bGwsbmV3IFJlZ0V4cChmKyJ8JSIsImciKSksaT1jLmJpbmQobnVsbCwvZGVnfHJhZHxncmFkfHR1cm4vZyk7YS5wYXJzZUxlbmd0aD1nLGEucGFyc2VMZW5ndGhPclBlcmNlbnQ9aCxhLmNvbnN1bWVMZW5ndGhPclBlcmNlbnQ9YS5jb25zdW1lUGFyZW50aGVzaXNlZC5iaW5kKG51bGwsaCksYS5wYXJzZUFuZ2xlPWksYS5tZXJnZURpbWVuc2lvbnM9ZTt2YXIgaj1hLmNvbnN1bWVQYXJlbnRoZXNpc2VkLmJpbmQobnVsbCxnKSxrPWEuY29uc3VtZVJlcGVhdGVkLmJpbmQodm9pZCAwLGosL14vKSxsPWEuY29uc3VtZVJlcGVhdGVkLmJpbmQodm9pZCAwLGssL14sLyk7YS5jb25zdW1lU2l6ZVBhaXJMaXN0PWw7dmFyIG09ZnVuY3Rpb24oYSl7dmFyIGI9bChhKTtyZXR1cm4gYiYmIiI9PWJbMV0/YlswXTp2b2lkIDB9LG49YS5tZXJnZU5lc3RlZFJlcGVhdGVkLmJpbmQodm9pZCAwLGQsIiAiKSxvPWEubWVyZ2VOZXN0ZWRSZXBlYXRlZC5iaW5kKHZvaWQgMCxuLCIsIik7YS5tZXJnZU5vbk5lZ2F0aXZlU2l6ZVBhaXI9bixhLmFkZFByb3BlcnRpZXNIYW5kbGVyKG0sbyxbImJhY2tncm91bmQtc2l6ZSJdKSxhLmFkZFByb3BlcnRpZXNIYW5kbGVyKGgsZCxbImJvcmRlci1ib3R0b20td2lkdGgiLCJib3JkZXItaW1hZ2Utd2lkdGgiLCJib3JkZXItbGVmdC13aWR0aCIsImJvcmRlci1yaWdodC13aWR0aCIsImJvcmRlci10b3Atd2lkdGgiLCJmbGV4LWJhc2lzIiwiZm9udC1zaXplIiwiaGVpZ2h0IiwibGluZS1oZWlnaHQiLCJtYXgtaGVpZ2h0IiwibWF4LXdpZHRoIiwib3V0bGluZS13aWR0aCIsIndpZHRoIl0pLGEuYWRkUHJvcGVydGllc0hhbmRsZXIoaCxlLFsiYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1cyIsImJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzIiwiYm9yZGVyLXRvcC1sZWZ0LXJhZGl1cyIsImJvcmRlci10b3AtcmlnaHQtcmFkaXVzIiwiYm90dG9tIiwibGVmdCIsImxldHRlci1zcGFjaW5nIiwibWFyZ2luLWJvdHRvbSIsIm1hcmdpbi1sZWZ0IiwibWFyZ2luLXJpZ2h0IiwibWFyZ2luLXRvcCIsIm1pbi1oZWlnaHQiLCJtaW4td2lkdGgiLCJvdXRsaW5lLW9mZnNldCIsInBhZGRpbmctYm90dG9tIiwicGFkZGluZy1sZWZ0IiwicGFkZGluZy1yaWdodCIsInBhZGRpbmctdG9wIiwicGVyc3BlY3RpdmUiLCJyaWdodCIsInNoYXBlLW1hcmdpbiIsInRleHQtaW5kZW50IiwidG9wIiwidmVydGljYWwtYWxpZ24iLCJ3b3JkLXNwYWNpbmciXSl9KGQsZiksZnVuY3Rpb24oYSxiKXtmdW5jdGlvbiBjKGIpe3JldHVybiBhLmNvbnN1bWVMZW5ndGhPclBlcmNlbnQoYil8fGEuY29uc3VtZVRva2VuKC9eYXV0by8sYil9ZnVuY3Rpb24gZChiKXt2YXIgZD1hLmNvbnN1bWVMaXN0KFthLmlnbm9yZShhLmNvbnN1bWVUb2tlbi5iaW5kKG51bGwsL15yZWN0LykpLGEuaWdub3JlKGEuY29uc3VtZVRva2VuLmJpbmQobnVsbCwvXlwoLykpLGEuY29uc3VtZVJlcGVhdGVkLmJpbmQobnVsbCxjLC9eLC8pLGEuaWdub3JlKGEuY29uc3VtZVRva2VuLmJpbmQobnVsbCwvXlwpLykpXSxiKTtyZXR1cm4gZCYmND09ZFswXS5sZW5ndGg/ZFswXTp2b2lkIDB9ZnVuY3Rpb24gZShiLGMpe3JldHVybiJhdXRvIj09Ynx8ImF1dG8iPT1jP1shMCwhMSxmdW5jdGlvbihkKXt2YXIgZT1kP2I6YztpZigiYXV0byI9PWUpcmV0dXJuImF1dG8iO3ZhciBmPWEubWVyZ2VEaW1lbnNpb25zKGUsZSk7cmV0dXJuIGZbMl0oZlswXSl9XTphLm1lcmdlRGltZW5zaW9ucyhiLGMpfWZ1bmN0aW9uIGYoYSl7cmV0dXJuInJlY3QoIithKyIpIn12YXIgZz1hLm1lcmdlV3JhcHBlZE5lc3RlZFJlcGVhdGVkLmJpbmQobnVsbCxmLGUsIiwgIik7YS5wYXJzZUJveD1kLGEubWVyZ2VCb3hlcz1nLGEuYWRkUHJvcGVydGllc0hhbmRsZXIoZCxnLFsiY2xpcCJdKX0oZCxmKSxmdW5jdGlvbihhLGIpe2Z1bmN0aW9uIGMoYSl7cmV0dXJuIGZ1bmN0aW9uKGIpe3ZhciBjPTA7cmV0dXJuIGEubWFwKGZ1bmN0aW9uKGEpe3JldHVybiBhPT09az9iW2MrK106YX0pfX1mdW5jdGlvbiBkKGEpe3JldHVybiBhfWZ1bmN0aW9uIGUoYil7aWYoYj1iLnRvTG93ZXJDYXNlKCkudHJpbSgpLCJub25lIj09YilyZXR1cm5bXTtmb3IodmFyIGMsZD0vXHMqKFx3KylcKChbXildKilcKS9nLGU9W10sZj0wO2M9ZC5leGVjKGIpOyl7aWYoYy5pbmRleCE9ZilyZXR1cm47Zj1jLmluZGV4K2NbMF0ubGVuZ3RoO3ZhciBnPWNbMV0saD1uW2ddO2lmKCFoKXJldHVybjt2YXIgaT1jWzJdLnNwbGl0KCIsIiksaj1oWzBdO2lmKGoubGVuZ3RoPGkubGVuZ3RoKXJldHVybjtmb3IodmFyIGs9W10sbz0wO288ai5sZW5ndGg7bysrKXt2YXIgcCxxPWlbb10scj1qW29dO2lmKHA9cT97QTpmdW5jdGlvbihiKXtyZXR1cm4iMCI9PWIudHJpbSgpP206YS5wYXJzZUFuZ2xlKGIpfSxOOmEucGFyc2VOdW1iZXIsVDphLnBhcnNlTGVuZ3RoT3JQZXJjZW50LEw6YS5wYXJzZUxlbmd0aH1bci50b1VwcGVyQ2FzZSgpXShxKTp7YTptLG46a1swXSx0Omx9W3JdLHZvaWQgMD09PXApcmV0dXJuO2sucHVzaChwKX1pZihlLnB1c2goe3Q6ZyxkOmt9KSxkLmxhc3RJbmRleD09Yi5sZW5ndGgpcmV0dXJuIGV9fWZ1bmN0aW9uIGYoYSl7cmV0dXJuIGEudG9GaXhlZCg2KS5yZXBsYWNlKCIuMDAwMDAwIiwiIil9ZnVuY3Rpb24gZyhiLGMpe2lmKGIuZGVjb21wb3NpdGlvblBhaXIhPT1jKXtiLmRlY29tcG9zaXRpb25QYWlyPWM7dmFyIGQ9YS5tYWtlTWF0cml4RGVjb21wb3NpdGlvbihiKX1pZihjLmRlY29tcG9zaXRpb25QYWlyIT09Yil7Yy5kZWNvbXBvc2l0aW9uUGFpcj1iO3ZhciBlPWEubWFrZU1hdHJpeERlY29tcG9zaXRpb24oYyl9cmV0dXJuIG51bGw9PWRbMF18fG51bGw9PWVbMF0/W1shMV0sWyEwXSxmdW5jdGlvbihhKXtyZXR1cm4gYT9jWzBdLmQ6YlswXS5kfV06KGRbMF0ucHVzaCgwKSxlWzBdLnB1c2goMSksW2QsZSxmdW5jdGlvbihiKXt2YXIgYz1hLnF1YXQoZFswXVszXSxlWzBdWzNdLGJbNV0pLGc9YS5jb21wb3NlTWF0cml4KGJbMF0sYlsxXSxiWzJdLGMsYls0XSksaD1nLm1hcChmKS5qb2luKCIsIik7cmV0dXJuIGh9XSl9ZnVuY3Rpb24gaChhKXtyZXR1cm4gYS5yZXBsYWNlKC9beHldLywiIil9ZnVuY3Rpb24gaShhKXtyZXR1cm4gYS5yZXBsYWNlKC8oeHx5fHp8M2QpPyQvLCIzZCIpfWZ1bmN0aW9uIGooYixjKXt2YXIgZD1hLm1ha2VNYXRyaXhEZWNvbXBvc2l0aW9uJiYhMCxlPSExO2lmKCFiLmxlbmd0aHx8IWMubGVuZ3RoKXtiLmxlbmd0aHx8KGU9ITAsYj1jLGM9W10pO2Zvcih2YXIgZj0wO2Y8Yi5sZW5ndGg7ZisrKXt2YXIgaj1iW2ZdLnQsaz1iW2ZdLmQsbD0ic2NhbGUiPT1qLnN1YnN0cigwLDUpPzE6MDtjLnB1c2goe3Q6aixkOmsubWFwKGZ1bmN0aW9uKGEpe2lmKCJudW1iZXIiPT10eXBlb2YgYSlyZXR1cm4gbDt2YXIgYj17fTtmb3IodmFyIGMgaW4gYSliW2NdPWw7cmV0dXJuIGJ9KX0pfX12YXIgbT1mdW5jdGlvbihhLGIpe3JldHVybiJwZXJzcGVjdGl2ZSI9PWEmJiJwZXJzcGVjdGl2ZSI9PWJ8fCgibWF0cml4Ij09YXx8Im1hdHJpeDNkIj09YSkmJigibWF0cml4Ij09Ynx8Im1hdHJpeDNkIj09Yil9LG89W10scD1bXSxxPVtdO2lmKGIubGVuZ3RoIT1jLmxlbmd0aCl7aWYoIWQpcmV0dXJuO3ZhciByPWcoYixjKTtvPVtyWzBdXSxwPVtyWzFdXSxxPVtbIm1hdHJpeCIsW3JbMl1dXV19ZWxzZSBmb3IodmFyIGY9MDtmPGIubGVuZ3RoO2YrKyl7dmFyIGoscz1iW2ZdLnQsdD1jW2ZdLnQsdT1iW2ZdLmQsdj1jW2ZdLmQsdz1uW3NdLHg9blt0XTtpZihtKHMsdCkpe2lmKCFkKXJldHVybjt2YXIgcj1nKFtiW2ZdXSxbY1tmXV0pO28ucHVzaChyWzBdKSxwLnB1c2goclsxXSkscS5wdXNoKFsibWF0cml4IixbclsyXV1dKX1lbHNle2lmKHM9PXQpaj1zO2Vsc2UgaWYod1syXSYmeFsyXSYmaChzKT09aCh0KSlqPWgocyksdT13WzJdKHUpLHY9eFsyXSh2KTtlbHNle2lmKCF3WzFdfHwheFsxXXx8aShzKSE9aSh0KSl7aWYoIWQpcmV0dXJuO3ZhciByPWcoYixjKTtvPVtyWzBdXSxwPVtyWzFdXSxxPVtbIm1hdHJpeCIsW3JbMl1dXV07YnJlYWt9aj1pKHMpLHU9d1sxXSh1KSx2PXhbMV0odil9Zm9yKHZhciB5PVtdLHo9W10sQT1bXSxCPTA7Qjx1Lmxlbmd0aDtCKyspe3ZhciBDPSJudW1iZXIiPT10eXBlb2YgdVtCXT9hLm1lcmdlTnVtYmVyczphLm1lcmdlRGltZW5zaW9ucyxyPUModVtCXSx2W0JdKTt5W0JdPXJbMF0seltCXT1yWzFdLEEucHVzaChyWzJdKX1vLnB1c2goeSkscC5wdXNoKHopLHEucHVzaChbaixBXSl9fWlmKGUpe3ZhciBEPW87bz1wLHA9RH1yZXR1cm5bbyxwLGZ1bmN0aW9uKGEpe3JldHVybiBhLm1hcChmdW5jdGlvbihhLGIpe3ZhciBjPWEubWFwKGZ1bmN0aW9uKGEsYyl7cmV0dXJuIHFbYl1bMV1bY10oYSl9KS5qb2luKCIsIik7cmV0dXJuIm1hdHJpeCI9PXFbYl1bMF0mJjE2PT1jLnNwbGl0KCIsIikubGVuZ3RoJiYocVtiXVswXT0ibWF0cml4M2QiKSxxW2JdWzBdKyIoIitjKyIpIn0pLmpvaW4oIiAiKX1dfXZhciBrPW51bGwsbD17cHg6MH0sbT17ZGVnOjB9LG49e21hdHJpeDpbIk5OTk5OTiIsW2ssaywwLDAsayxrLDAsMCwwLDAsMSwwLGssaywwLDFdLGRdLG1hdHJpeDNkOlsiTk5OTk5OTk5OTk5OTk5OTiIsZF0scm90YXRlOlsiQSJdLHJvdGF0ZXg6WyJBIl0scm90YXRleTpbIkEiXSxyb3RhdGV6OlsiQSJdLHJvdGF0ZTNkOlsiTk5OQSJdLHBlcnNwZWN0aXZlOlsiTCJdLHNjYWxlOlsiTm4iLGMoW2ssaywxXSksZF0sc2NhbGV4OlsiTiIsYyhbaywxLDFdKSxjKFtrLDFdKV0sc2NhbGV5OlsiTiIsYyhbMSxrLDFdKSxjKFsxLGtdKV0sc2NhbGV6OlsiTiIsYyhbMSwxLGtdKV0sc2NhbGUzZDpbIk5OTiIsZF0sc2tldzpbIkFhIixudWxsLGRdLHNrZXd4OlsiQSIsbnVsbCxjKFtrLG1dKV0sc2tld3k6WyJBIixudWxsLGMoW20sa10pXSx0cmFuc2xhdGU6WyJUdCIsYyhbayxrLGxdKSxkXSx0cmFuc2xhdGV4OlsiVCIsYyhbayxsLGxdKSxjKFtrLGxdKV0sdHJhbnNsYXRleTpbIlQiLGMoW2wsayxsXSksYyhbbCxrXSldLHRyYW5zbGF0ZXo6WyJMIixjKFtsLGwsa10pXSx0cmFuc2xhdGUzZDpbIlRUTCIsZF19O2EuYWRkUHJvcGVydGllc0hhbmRsZXIoZSxqLFsidHJhbnNmb3JtIl0pfShkLGYpLGZ1bmN0aW9uKGEsYil7ZnVuY3Rpb24gYyhhLGIpe2IuY29uY2F0KFthXSkuZm9yRWFjaChmdW5jdGlvbihiKXtiIGluIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zdHlsZSYmKGRbYV09Yil9KX12YXIgZD17fTtjKCJ0cmFuc2Zvcm0iLFsid2Via2l0VHJhbnNmb3JtIiwibXNUcmFuc2Zvcm0iXSksYygidHJhbnNmb3JtT3JpZ2luIixbIndlYmtpdFRyYW5zZm9ybU9yaWdpbiJdKSxjKCJwZXJzcGVjdGl2ZSIsWyJ3ZWJraXRQZXJzcGVjdGl2ZSJdKSxjKCJwZXJzcGVjdGl2ZU9yaWdpbiIsWyJ3ZWJraXRQZXJzcGVjdGl2ZU9yaWdpbiJdKSxhLnByb3BlcnR5TmFtZT1mdW5jdGlvbihhKXtyZXR1cm4gZFthXXx8YX19KGQsZil9KCksIWZ1bmN0aW9uKCl7aWYodm9pZCAwPT09ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IikuYW5pbWF0ZShbXSkub25jYW5jZWwpe3ZhciBhO2lmKHdpbmRvdy5wZXJmb3JtYW5jZSYmcGVyZm9ybWFuY2Uubm93KXZhciBhPWZ1bmN0aW9uKCl7cmV0dXJuIHBlcmZvcm1hbmNlLm5vdygpfTtlbHNlIHZhciBhPWZ1bmN0aW9uKCl7cmV0dXJuIERhdGUubm93KCl9O3ZhciBiPWZ1bmN0aW9uKGEsYixjKXt0aGlzLnRhcmdldD1hLHRoaXMuY3VycmVudFRpbWU9Yix0aGlzLnRpbWVsaW5lVGltZT1jLHRoaXMudHlwZT0iY2FuY2VsIix0aGlzLmJ1YmJsZXM9ITEsdGhpcy5jYW5jZWxhYmxlPSExLHRoaXMuY3VycmVudFRhcmdldD1hLHRoaXMuZGVmYXVsdFByZXZlbnRlZD0hMSx0aGlzLmV2ZW50UGhhc2U9RXZlbnQuQVRfVEFSR0VULHRoaXMudGltZVN0YW1wPURhdGUubm93KCl9LGM9d2luZG93LkVsZW1lbnQucHJvdG90eXBlLmFuaW1hdGU7d2luZG93LkVsZW1lbnQucHJvdG90eXBlLmFuaW1hdGU9ZnVuY3Rpb24oZCxlKXt2YXIgZj1jLmNhbGwodGhpcyxkLGUpO2YuX2NhbmNlbEhhbmRsZXJzPVtdLGYub25jYW5jZWw9bnVsbDt2YXIgZz1mLmNhbmNlbDtmLmNhbmNlbD1mdW5jdGlvbigpe2cuY2FsbCh0aGlzKTt2YXIgYz1uZXcgYih0aGlzLG51bGwsYSgpKSxkPXRoaXMuX2NhbmNlbEhhbmRsZXJzLmNvbmNhdCh0aGlzLm9uY2FuY2VsP1t0aGlzLm9uY2FuY2VsXTpbXSk7c2V0VGltZW91dChmdW5jdGlvbigpe2QuZm9yRWFjaChmdW5jdGlvbihhKXthLmNhbGwoYy50YXJnZXQsYyl9KX0sMCl9O3ZhciBoPWYuYWRkRXZlbnRMaXN0ZW5lcjtmLmFkZEV2ZW50TGlzdGVuZXI9ZnVuY3Rpb24oYSxiKXsiZnVuY3Rpb24iPT10eXBlb2YgYiYmImNhbmNlbCI9PWE/dGhpcy5fY2FuY2VsSGFuZGxlcnMucHVzaChiKTpoLmNhbGwodGhpcyxhLGIpfTt2YXIgaT1mLnJlbW92ZUV2ZW50TGlzdGVuZXI7cmV0dXJuIGYucmVtb3ZlRXZlbnRMaXN0ZW5lcj1mdW5jdGlvbihhLGIpe2lmKCJjYW5jZWwiPT1hKXt2YXIgYz10aGlzLl9jYW5jZWxIYW5kbGVycy5pbmRleE9mKGIpO2M+PTAmJnRoaXMuX2NhbmNlbEhhbmRsZXJzLnNwbGljZShjLDEpfWVsc2UgaS5jYWxsKHRoaXMsYSxiKX0sZn19fSgpLGZ1bmN0aW9uKGEpe3ZhciBiPWRvY3VtZW50LmRvY3VtZW50RWxlbWVudCxjPW51bGwsZD0hMTt0cnl7dmFyIGU9Z2V0Q29tcHV0ZWRTdHlsZShiKS5nZXRQcm9wZXJ0eVZhbHVlKCJvcGFjaXR5IiksZj0iMCI9PWU/IjEiOiIwIjtjPWIuYW5pbWF0ZSh7b3BhY2l0eTpbZixmXX0se2R1cmF0aW9uOjF9KSxjLmN1cnJlbnRUaW1lPTAsZD1nZXRDb21wdXRlZFN0eWxlKGIpLmdldFByb3BlcnR5VmFsdWUoIm9wYWNpdHkiKT09Zn1jYXRjaChnKXt9ZmluYWxseXtjJiZjLmNhbmNlbCgpfWlmKCFkKXt2YXIgaD13aW5kb3cuRWxlbWVudC5wcm90b3R5cGUuYW5pbWF0ZTt3aW5kb3cuRWxlbWVudC5wcm90b3R5cGUuYW5pbWF0ZT1mdW5jdGlvbihiLGMpe3JldHVybiB3aW5kb3cuU3ltYm9sJiZTeW1ib2wuaXRlcmF0b3ImJkFycmF5LnByb3RvdHlwZS5mcm9tJiZiW1N5bWJvbC5pdGVyYXRvcl0mJihiPUFycmF5LmZyb20oYikpLEFycmF5LmlzQXJyYXkoYil8fG51bGw9PT1ifHwoYj1hLmNvbnZlcnRUb0FycmF5Rm9ybShiKSksaC5jYWxsKHRoaXMsYixjKX19fShjKSwhZnVuY3Rpb24oYSxiLGMpe2Z1bmN0aW9uIGQoYSl7dmFyIGI9d2luZG93LmRvY3VtZW50LnRpbWVsaW5lO2IuY3VycmVudFRpbWU9YSxiLl9kaXNjYXJkQW5pbWF0aW9ucygpLDA9PWIuX2FuaW1hdGlvbnMubGVuZ3RoP2Y9ITE6cmVxdWVzdEFuaW1hdGlvbkZyYW1lKGQpOwp9dmFyIGU9d2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZTt3aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lPWZ1bmN0aW9uKGEpe3JldHVybiBlKGZ1bmN0aW9uKGIpe3dpbmRvdy5kb2N1bWVudC50aW1lbGluZS5fdXBkYXRlQW5pbWF0aW9uc1Byb21pc2VzKCksYShiKSx3aW5kb3cuZG9jdW1lbnQudGltZWxpbmUuX3VwZGF0ZUFuaW1hdGlvbnNQcm9taXNlcygpfSl9LGIuQW5pbWF0aW9uVGltZWxpbmU9ZnVuY3Rpb24oKXt0aGlzLl9hbmltYXRpb25zPVtdLHRoaXMuY3VycmVudFRpbWU9dm9pZCAwfSxiLkFuaW1hdGlvblRpbWVsaW5lLnByb3RvdHlwZT17Z2V0QW5pbWF0aW9uczpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9kaXNjYXJkQW5pbWF0aW9ucygpLHRoaXMuX2FuaW1hdGlvbnMuc2xpY2UoKX0sX3VwZGF0ZUFuaW1hdGlvbnNQcm9taXNlczpmdW5jdGlvbigpe2IuYW5pbWF0aW9uc1dpdGhQcm9taXNlcz1iLmFuaW1hdGlvbnNXaXRoUHJvbWlzZXMuZmlsdGVyKGZ1bmN0aW9uKGEpe3JldHVybiBhLl91cGRhdGVQcm9taXNlcygpfSl9LF9kaXNjYXJkQW5pbWF0aW9uczpmdW5jdGlvbigpe3RoaXMuX3VwZGF0ZUFuaW1hdGlvbnNQcm9taXNlcygpLHRoaXMuX2FuaW1hdGlvbnM9dGhpcy5fYW5pbWF0aW9ucy5maWx0ZXIoZnVuY3Rpb24oYSl7cmV0dXJuImZpbmlzaGVkIiE9YS5wbGF5U3RhdGUmJiJpZGxlIiE9YS5wbGF5U3RhdGV9KX0sX3BsYXk6ZnVuY3Rpb24oYSl7dmFyIGM9bmV3IGIuQW5pbWF0aW9uKGEsdGhpcyk7cmV0dXJuIHRoaXMuX2FuaW1hdGlvbnMucHVzaChjKSxiLnJlc3RhcnRXZWJBbmltYXRpb25zTmV4dFRpY2soKSxjLl91cGRhdGVQcm9taXNlcygpLGMuX2FuaW1hdGlvbi5wbGF5KCksYy5fdXBkYXRlUHJvbWlzZXMoKSxjfSxwbGF5OmZ1bmN0aW9uKGEpe3JldHVybiBhJiZhLnJlbW92ZSgpLHRoaXMuX3BsYXkoYSl9fTt2YXIgZj0hMTtiLnJlc3RhcnRXZWJBbmltYXRpb25zTmV4dFRpY2s9ZnVuY3Rpb24oKXtmfHwoZj0hMCxyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoZCkpfTt2YXIgZz1uZXcgYi5BbmltYXRpb25UaW1lbGluZTtiLnRpbWVsaW5lPWc7dHJ5e09iamVjdC5kZWZpbmVQcm9wZXJ0eSh3aW5kb3cuZG9jdW1lbnQsInRpbWVsaW5lIix7Y29uZmlndXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBnfX0pfWNhdGNoKGgpe310cnl7d2luZG93LmRvY3VtZW50LnRpbWVsaW5lPWd9Y2F0Y2goaCl7fX0oYyxlLGYpLGZ1bmN0aW9uKGEsYixjKXtiLmFuaW1hdGlvbnNXaXRoUHJvbWlzZXM9W10sYi5BbmltYXRpb249ZnVuY3Rpb24oYixjKXtpZih0aGlzLmlkPSIiLGImJmIuX2lkJiYodGhpcy5pZD1iLl9pZCksdGhpcy5lZmZlY3Q9YixiJiYoYi5fYW5pbWF0aW9uPXRoaXMpLCFjKXRocm93IG5ldyBFcnJvcigiQW5pbWF0aW9uIHdpdGggbnVsbCB0aW1lbGluZSBpcyBub3Qgc3VwcG9ydGVkIik7dGhpcy5fdGltZWxpbmU9Yyx0aGlzLl9zZXF1ZW5jZU51bWJlcj1hLnNlcXVlbmNlTnVtYmVyKyssdGhpcy5faG9sZFRpbWU9MCx0aGlzLl9wYXVzZWQ9ITEsdGhpcy5faXNHcm91cD0hMSx0aGlzLl9hbmltYXRpb249bnVsbCx0aGlzLl9jaGlsZEFuaW1hdGlvbnM9W10sdGhpcy5fY2FsbGJhY2s9bnVsbCx0aGlzLl9vbGRQbGF5U3RhdGU9ImlkbGUiLHRoaXMuX3JlYnVpbGRVbmRlcmx5aW5nQW5pbWF0aW9uKCksdGhpcy5fYW5pbWF0aW9uLmNhbmNlbCgpLHRoaXMuX3VwZGF0ZVByb21pc2VzKCl9LGIuQW5pbWF0aW9uLnByb3RvdHlwZT17X3VwZGF0ZVByb21pc2VzOmZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5fb2xkUGxheVN0YXRlLGI9dGhpcy5wbGF5U3RhdGU7cmV0dXJuIHRoaXMuX3JlYWR5UHJvbWlzZSYmYiE9PWEmJigiaWRsZSI9PWI/KHRoaXMuX3JlamVjdFJlYWR5UHJvbWlzZSgpLHRoaXMuX3JlYWR5UHJvbWlzZT12b2lkIDApOiJwZW5kaW5nIj09YT90aGlzLl9yZXNvbHZlUmVhZHlQcm9taXNlKCk6InBlbmRpbmciPT1iJiYodGhpcy5fcmVhZHlQcm9taXNlPXZvaWQgMCkpLHRoaXMuX2ZpbmlzaGVkUHJvbWlzZSYmYiE9PWEmJigiaWRsZSI9PWI/KHRoaXMuX3JlamVjdEZpbmlzaGVkUHJvbWlzZSgpLHRoaXMuX2ZpbmlzaGVkUHJvbWlzZT12b2lkIDApOiJmaW5pc2hlZCI9PWI/dGhpcy5fcmVzb2x2ZUZpbmlzaGVkUHJvbWlzZSgpOiJmaW5pc2hlZCI9PWEmJih0aGlzLl9maW5pc2hlZFByb21pc2U9dm9pZCAwKSksdGhpcy5fb2xkUGxheVN0YXRlPXRoaXMucGxheVN0YXRlLHRoaXMuX3JlYWR5UHJvbWlzZXx8dGhpcy5fZmluaXNoZWRQcm9taXNlfSxfcmVidWlsZFVuZGVybHlpbmdBbmltYXRpb246ZnVuY3Rpb24oKXt0aGlzLl91cGRhdGVQcm9taXNlcygpO3ZhciBhLGMsZCxlLGY9ISF0aGlzLl9hbmltYXRpb247ZiYmKGE9dGhpcy5wbGF5YmFja1JhdGUsYz10aGlzLl9wYXVzZWQsZD10aGlzLnN0YXJ0VGltZSxlPXRoaXMuY3VycmVudFRpbWUsdGhpcy5fYW5pbWF0aW9uLmNhbmNlbCgpLHRoaXMuX2FuaW1hdGlvbi5fd3JhcHBlcj1udWxsLHRoaXMuX2FuaW1hdGlvbj1udWxsKSwoIXRoaXMuZWZmZWN0fHx0aGlzLmVmZmVjdCBpbnN0YW5jZW9mIHdpbmRvdy5LZXlmcmFtZUVmZmVjdCkmJih0aGlzLl9hbmltYXRpb249Yi5uZXdVbmRlcmx5aW5nQW5pbWF0aW9uRm9yS2V5ZnJhbWVFZmZlY3QodGhpcy5lZmZlY3QpLGIuYmluZEFuaW1hdGlvbkZvcktleWZyYW1lRWZmZWN0KHRoaXMpKSwodGhpcy5lZmZlY3QgaW5zdGFuY2VvZiB3aW5kb3cuU2VxdWVuY2VFZmZlY3R8fHRoaXMuZWZmZWN0IGluc3RhbmNlb2Ygd2luZG93Lkdyb3VwRWZmZWN0KSYmKHRoaXMuX2FuaW1hdGlvbj1iLm5ld1VuZGVybHlpbmdBbmltYXRpb25Gb3JHcm91cCh0aGlzLmVmZmVjdCksYi5iaW5kQW5pbWF0aW9uRm9yR3JvdXAodGhpcykpLHRoaXMuZWZmZWN0JiZ0aGlzLmVmZmVjdC5fb25zYW1wbGUmJmIuYmluZEFuaW1hdGlvbkZvckN1c3RvbUVmZmVjdCh0aGlzKSxmJiYoMSE9YSYmKHRoaXMucGxheWJhY2tSYXRlPWEpLG51bGwhPT1kP3RoaXMuc3RhcnRUaW1lPWQ6bnVsbCE9PWU/dGhpcy5jdXJyZW50VGltZT1lOm51bGwhPT10aGlzLl9ob2xkVGltZSYmKHRoaXMuY3VycmVudFRpbWU9dGhpcy5faG9sZFRpbWUpLGMmJnRoaXMucGF1c2UoKSksdGhpcy5fdXBkYXRlUHJvbWlzZXMoKX0sX3VwZGF0ZUNoaWxkcmVuOmZ1bmN0aW9uKCl7aWYodGhpcy5lZmZlY3QmJiJpZGxlIiE9dGhpcy5wbGF5U3RhdGUpe3ZhciBhPXRoaXMuZWZmZWN0Ll90aW1pbmcuZGVsYXk7dGhpcy5fY2hpbGRBbmltYXRpb25zLmZvckVhY2goZnVuY3Rpb24oYyl7dGhpcy5fYXJyYW5nZUNoaWxkcmVuKGMsYSksdGhpcy5lZmZlY3QgaW5zdGFuY2VvZiB3aW5kb3cuU2VxdWVuY2VFZmZlY3QmJihhKz1iLmdyb3VwQ2hpbGREdXJhdGlvbihjLmVmZmVjdCkpfS5iaW5kKHRoaXMpKX19LF9zZXRFeHRlcm5hbEFuaW1hdGlvbjpmdW5jdGlvbihhKXtpZih0aGlzLmVmZmVjdCYmdGhpcy5faXNHcm91cClmb3IodmFyIGI9MDtiPHRoaXMuZWZmZWN0LmNoaWxkcmVuLmxlbmd0aDtiKyspdGhpcy5lZmZlY3QuY2hpbGRyZW5bYl0uX2FuaW1hdGlvbj1hLHRoaXMuX2NoaWxkQW5pbWF0aW9uc1tiXS5fc2V0RXh0ZXJuYWxBbmltYXRpb24oYSl9LF9jb25zdHJ1Y3RDaGlsZEFuaW1hdGlvbnM6ZnVuY3Rpb24oKXtpZih0aGlzLmVmZmVjdCYmdGhpcy5faXNHcm91cCl7dmFyIGE9dGhpcy5lZmZlY3QuX3RpbWluZy5kZWxheTt0aGlzLl9yZW1vdmVDaGlsZEFuaW1hdGlvbnMoKSx0aGlzLmVmZmVjdC5jaGlsZHJlbi5mb3JFYWNoKGZ1bmN0aW9uKGMpe3ZhciBkPXdpbmRvdy5kb2N1bWVudC50aW1lbGluZS5fcGxheShjKTt0aGlzLl9jaGlsZEFuaW1hdGlvbnMucHVzaChkKSxkLnBsYXliYWNrUmF0ZT10aGlzLnBsYXliYWNrUmF0ZSx0aGlzLl9wYXVzZWQmJmQucGF1c2UoKSxjLl9hbmltYXRpb249dGhpcy5lZmZlY3QuX2FuaW1hdGlvbix0aGlzLl9hcnJhbmdlQ2hpbGRyZW4oZCxhKSx0aGlzLmVmZmVjdCBpbnN0YW5jZW9mIHdpbmRvdy5TZXF1ZW5jZUVmZmVjdCYmKGErPWIuZ3JvdXBDaGlsZER1cmF0aW9uKGMpKX0uYmluZCh0aGlzKSl9fSxfYXJyYW5nZUNoaWxkcmVuOmZ1bmN0aW9uKGEsYil7bnVsbD09PXRoaXMuc3RhcnRUaW1lP2EuY3VycmVudFRpbWU9dGhpcy5jdXJyZW50VGltZS1iL3RoaXMucGxheWJhY2tSYXRlOmEuc3RhcnRUaW1lIT09dGhpcy5zdGFydFRpbWUrYi90aGlzLnBsYXliYWNrUmF0ZSYmKGEuc3RhcnRUaW1lPXRoaXMuc3RhcnRUaW1lK2IvdGhpcy5wbGF5YmFja1JhdGUpfSxnZXQgdGltZWxpbmUoKXtyZXR1cm4gdGhpcy5fdGltZWxpbmV9LGdldCBwbGF5U3RhdGUoKXtyZXR1cm4gdGhpcy5fYW5pbWF0aW9uP3RoaXMuX2FuaW1hdGlvbi5wbGF5U3RhdGU6ImlkbGUifSxnZXQgZmluaXNoZWQoKXtyZXR1cm4gd2luZG93LlByb21pc2U/KHRoaXMuX2ZpbmlzaGVkUHJvbWlzZXx8KC0xPT1iLmFuaW1hdGlvbnNXaXRoUHJvbWlzZXMuaW5kZXhPZih0aGlzKSYmYi5hbmltYXRpb25zV2l0aFByb21pc2VzLnB1c2godGhpcyksdGhpcy5fZmluaXNoZWRQcm9taXNlPW5ldyBQcm9taXNlKGZ1bmN0aW9uKGEsYil7dGhpcy5fcmVzb2x2ZUZpbmlzaGVkUHJvbWlzZT1mdW5jdGlvbigpe2EodGhpcyl9LHRoaXMuX3JlamVjdEZpbmlzaGVkUHJvbWlzZT1mdW5jdGlvbigpe2Ioe3R5cGU6RE9NRXhjZXB0aW9uLkFCT1JUX0VSUixuYW1lOiJBYm9ydEVycm9yIn0pfX0uYmluZCh0aGlzKSksImZpbmlzaGVkIj09dGhpcy5wbGF5U3RhdGUmJnRoaXMuX3Jlc29sdmVGaW5pc2hlZFByb21pc2UoKSksdGhpcy5fZmluaXNoZWRQcm9taXNlKTooY29uc29sZS53YXJuKCJBbmltYXRpb24gUHJvbWlzZXMgcmVxdWlyZSBKYXZhU2NyaXB0IFByb21pc2UgY29uc3RydWN0b3IiKSxudWxsKX0sZ2V0IHJlYWR5KCl7cmV0dXJuIHdpbmRvdy5Qcm9taXNlPyh0aGlzLl9yZWFkeVByb21pc2V8fCgtMT09Yi5hbmltYXRpb25zV2l0aFByb21pc2VzLmluZGV4T2YodGhpcykmJmIuYW5pbWF0aW9uc1dpdGhQcm9taXNlcy5wdXNoKHRoaXMpLHRoaXMuX3JlYWR5UHJvbWlzZT1uZXcgUHJvbWlzZShmdW5jdGlvbihhLGIpe3RoaXMuX3Jlc29sdmVSZWFkeVByb21pc2U9ZnVuY3Rpb24oKXthKHRoaXMpfSx0aGlzLl9yZWplY3RSZWFkeVByb21pc2U9ZnVuY3Rpb24oKXtiKHt0eXBlOkRPTUV4Y2VwdGlvbi5BQk9SVF9FUlIsbmFtZToiQWJvcnRFcnJvciJ9KX19LmJpbmQodGhpcykpLCJwZW5kaW5nIiE9PXRoaXMucGxheVN0YXRlJiZ0aGlzLl9yZXNvbHZlUmVhZHlQcm9taXNlKCkpLHRoaXMuX3JlYWR5UHJvbWlzZSk6KGNvbnNvbGUud2FybigiQW5pbWF0aW9uIFByb21pc2VzIHJlcXVpcmUgSmF2YVNjcmlwdCBQcm9taXNlIGNvbnN0cnVjdG9yIiksbnVsbCl9LGdldCBvbmZpbmlzaCgpe3JldHVybiB0aGlzLl9hbmltYXRpb24ub25maW5pc2h9LHNldCBvbmZpbmlzaChhKXsiZnVuY3Rpb24iPT10eXBlb2YgYT90aGlzLl9hbmltYXRpb24ub25maW5pc2g9ZnVuY3Rpb24oYil7Yi50YXJnZXQ9dGhpcyxhLmNhbGwodGhpcyxiKX0uYmluZCh0aGlzKTp0aGlzLl9hbmltYXRpb24ub25maW5pc2g9YX0sZ2V0IG9uY2FuY2VsKCl7cmV0dXJuIHRoaXMuX2FuaW1hdGlvbi5vbmNhbmNlbH0sc2V0IG9uY2FuY2VsKGEpeyJmdW5jdGlvbiI9PXR5cGVvZiBhP3RoaXMuX2FuaW1hdGlvbi5vbmNhbmNlbD1mdW5jdGlvbihiKXtiLnRhcmdldD10aGlzLGEuY2FsbCh0aGlzLGIpfS5iaW5kKHRoaXMpOnRoaXMuX2FuaW1hdGlvbi5vbmNhbmNlbD1hfSxnZXQgY3VycmVudFRpbWUoKXt0aGlzLl91cGRhdGVQcm9taXNlcygpO3ZhciBhPXRoaXMuX2FuaW1hdGlvbi5jdXJyZW50VGltZTtyZXR1cm4gdGhpcy5fdXBkYXRlUHJvbWlzZXMoKSxhfSxzZXQgY3VycmVudFRpbWUoYSl7dGhpcy5fdXBkYXRlUHJvbWlzZXMoKSx0aGlzLl9hbmltYXRpb24uY3VycmVudFRpbWU9aXNGaW5pdGUoYSk/YTpNYXRoLnNpZ24oYSkqTnVtYmVyLk1BWF9WQUxVRSx0aGlzLl9yZWdpc3RlcigpLHRoaXMuX2ZvckVhY2hDaGlsZChmdW5jdGlvbihiLGMpe2IuY3VycmVudFRpbWU9YS1jfSksdGhpcy5fdXBkYXRlUHJvbWlzZXMoKX0sZ2V0IHN0YXJ0VGltZSgpe3JldHVybiB0aGlzLl9hbmltYXRpb24uc3RhcnRUaW1lfSxzZXQgc3RhcnRUaW1lKGEpe3RoaXMuX3VwZGF0ZVByb21pc2VzKCksdGhpcy5fYW5pbWF0aW9uLnN0YXJ0VGltZT1pc0Zpbml0ZShhKT9hOk1hdGguc2lnbihhKSpOdW1iZXIuTUFYX1ZBTFVFLHRoaXMuX3JlZ2lzdGVyKCksdGhpcy5fZm9yRWFjaENoaWxkKGZ1bmN0aW9uKGIsYyl7Yi5zdGFydFRpbWU9YStjfSksdGhpcy5fdXBkYXRlUHJvbWlzZXMoKX0sZ2V0IHBsYXliYWNrUmF0ZSgpe3JldHVybiB0aGlzLl9hbmltYXRpb24ucGxheWJhY2tSYXRlfSxzZXQgcGxheWJhY2tSYXRlKGEpe3RoaXMuX3VwZGF0ZVByb21pc2VzKCk7dmFyIGI9dGhpcy5jdXJyZW50VGltZTt0aGlzLl9hbmltYXRpb24ucGxheWJhY2tSYXRlPWEsdGhpcy5fZm9yRWFjaENoaWxkKGZ1bmN0aW9uKGIpe2IucGxheWJhY2tSYXRlPWF9KSwicGF1c2VkIiE9dGhpcy5wbGF5U3RhdGUmJiJpZGxlIiE9dGhpcy5wbGF5U3RhdGUmJnRoaXMucGxheSgpLG51bGwhPT1iJiYodGhpcy5jdXJyZW50VGltZT1iKSx0aGlzLl91cGRhdGVQcm9taXNlcygpfSxwbGF5OmZ1bmN0aW9uKCl7dGhpcy5fdXBkYXRlUHJvbWlzZXMoKSx0aGlzLl9wYXVzZWQ9ITEsdGhpcy5fYW5pbWF0aW9uLnBsYXkoKSwtMT09dGhpcy5fdGltZWxpbmUuX2FuaW1hdGlvbnMuaW5kZXhPZih0aGlzKSYmdGhpcy5fdGltZWxpbmUuX2FuaW1hdGlvbnMucHVzaCh0aGlzKSx0aGlzLl9yZWdpc3RlcigpLGIuYXdhaXRTdGFydFRpbWUodGhpcyksdGhpcy5fZm9yRWFjaENoaWxkKGZ1bmN0aW9uKGEpe3ZhciBiPWEuY3VycmVudFRpbWU7YS5wbGF5KCksYS5jdXJyZW50VGltZT1ifSksdGhpcy5fdXBkYXRlUHJvbWlzZXMoKX0scGF1c2U6ZnVuY3Rpb24oKXt0aGlzLl91cGRhdGVQcm9taXNlcygpLHRoaXMuY3VycmVudFRpbWUmJih0aGlzLl9ob2xkVGltZT10aGlzLmN1cnJlbnRUaW1lKSx0aGlzLl9hbmltYXRpb24ucGF1c2UoKSx0aGlzLl9yZWdpc3RlcigpLHRoaXMuX2ZvckVhY2hDaGlsZChmdW5jdGlvbihhKXthLnBhdXNlKCl9KSx0aGlzLl9wYXVzZWQ9ITAsdGhpcy5fdXBkYXRlUHJvbWlzZXMoKX0sZmluaXNoOmZ1bmN0aW9uKCl7dGhpcy5fdXBkYXRlUHJvbWlzZXMoKSx0aGlzLl9hbmltYXRpb24uZmluaXNoKCksdGhpcy5fcmVnaXN0ZXIoKSx0aGlzLl91cGRhdGVQcm9taXNlcygpfSxjYW5jZWw6ZnVuY3Rpb24oKXt0aGlzLl91cGRhdGVQcm9taXNlcygpLHRoaXMuX2FuaW1hdGlvbi5jYW5jZWwoKSx0aGlzLl9yZWdpc3RlcigpLHRoaXMuX3JlbW92ZUNoaWxkQW5pbWF0aW9ucygpLHRoaXMuX3VwZGF0ZVByb21pc2VzKCl9LHJldmVyc2U6ZnVuY3Rpb24oKXt0aGlzLl91cGRhdGVQcm9taXNlcygpO3ZhciBhPXRoaXMuY3VycmVudFRpbWU7dGhpcy5fYW5pbWF0aW9uLnJldmVyc2UoKSx0aGlzLl9mb3JFYWNoQ2hpbGQoZnVuY3Rpb24oYSl7YS5yZXZlcnNlKCl9KSxudWxsIT09YSYmKHRoaXMuY3VycmVudFRpbWU9YSksdGhpcy5fdXBkYXRlUHJvbWlzZXMoKX0sYWRkRXZlbnRMaXN0ZW5lcjpmdW5jdGlvbihhLGIpe3ZhciBjPWI7ImZ1bmN0aW9uIj09dHlwZW9mIGImJihjPWZ1bmN0aW9uKGEpe2EudGFyZ2V0PXRoaXMsYi5jYWxsKHRoaXMsYSl9LmJpbmQodGhpcyksYi5fd3JhcHBlcj1jKSx0aGlzLl9hbmltYXRpb24uYWRkRXZlbnRMaXN0ZW5lcihhLGMpfSxyZW1vdmVFdmVudExpc3RlbmVyOmZ1bmN0aW9uKGEsYil7dGhpcy5fYW5pbWF0aW9uLnJlbW92ZUV2ZW50TGlzdGVuZXIoYSxiJiZiLl93cmFwcGVyfHxiKX0sX3JlbW92ZUNoaWxkQW5pbWF0aW9uczpmdW5jdGlvbigpe2Zvcig7dGhpcy5fY2hpbGRBbmltYXRpb25zLmxlbmd0aDspdGhpcy5fY2hpbGRBbmltYXRpb25zLnBvcCgpLmNhbmNlbCgpfSxfZm9yRWFjaENoaWxkOmZ1bmN0aW9uKGIpe3ZhciBjPTA7aWYodGhpcy5lZmZlY3QuY2hpbGRyZW4mJnRoaXMuX2NoaWxkQW5pbWF0aW9ucy5sZW5ndGg8dGhpcy5lZmZlY3QuY2hpbGRyZW4ubGVuZ3RoJiZ0aGlzLl9jb25zdHJ1Y3RDaGlsZEFuaW1hdGlvbnMoKSx0aGlzLl9jaGlsZEFuaW1hdGlvbnMuZm9yRWFjaChmdW5jdGlvbihhKXtiLmNhbGwodGhpcyxhLGMpLHRoaXMuZWZmZWN0IGluc3RhbmNlb2Ygd2luZG93LlNlcXVlbmNlRWZmZWN0JiYoYys9YS5lZmZlY3QuYWN0aXZlRHVyYXRpb24pfS5iaW5kKHRoaXMpKSwicGVuZGluZyIhPXRoaXMucGxheVN0YXRlKXt2YXIgZD10aGlzLmVmZmVjdC5fdGltaW5nLGU9dGhpcy5jdXJyZW50VGltZTtudWxsIT09ZSYmKGU9YS5jYWxjdWxhdGVUaW1lRnJhY3Rpb24oYS5jYWxjdWxhdGVBY3RpdmVEdXJhdGlvbihkKSxlLGQpKSwobnVsbD09ZXx8aXNOYU4oZSkpJiZ0aGlzLl9yZW1vdmVDaGlsZEFuaW1hdGlvbnMoKX19fSx3aW5kb3cuQW5pbWF0aW9uPWIuQW5pbWF0aW9ufShjLGUsZiksZnVuY3Rpb24oYSxiLGMpe2Z1bmN0aW9uIGQoYil7dGhpcy5fZnJhbWVzPWEubm9ybWFsaXplS2V5ZnJhbWVzKGIpfWZ1bmN0aW9uIGUoKXtmb3IodmFyIGE9ITE7aS5sZW5ndGg7KXt2YXIgYj1pLnNoaWZ0KCk7Yi5fdXBkYXRlQ2hpbGRyZW4oKSxhPSEwfXJldHVybiBhfXZhciBmPWZ1bmN0aW9uKGEpe2lmKGEuX2FuaW1hdGlvbj12b2lkIDAsYSBpbnN0YW5jZW9mIHdpbmRvdy5TZXF1ZW5jZUVmZmVjdHx8YSBpbnN0YW5jZW9mIHdpbmRvdy5Hcm91cEVmZmVjdClmb3IodmFyIGI9MDtiPGEuY2hpbGRyZW4ubGVuZ3RoO2IrKylmKGEuY2hpbGRyZW5bYl0pfTtiLnJlbW92ZU11bHRpPWZ1bmN0aW9uKGEpe2Zvcih2YXIgYj1bXSxjPTA7YzxhLmxlbmd0aDtjKyspe3ZhciBkPWFbY107ZC5fcGFyZW50PygtMT09Yi5pbmRleE9mKGQuX3BhcmVudCkmJmIucHVzaChkLl9wYXJlbnQpLGQuX3BhcmVudC5jaGlsZHJlbi5zcGxpY2UoZC5fcGFyZW50LmNoaWxkcmVuLmluZGV4T2YoZCksMSksZC5fcGFyZW50PW51bGwsZihkKSk6ZC5fYW5pbWF0aW9uJiZkLl9hbmltYXRpb24uZWZmZWN0PT1kJiYoZC5fYW5pbWF0aW9uLmNhbmNlbCgpLGQuX2FuaW1hdGlvbi5lZmZlY3Q9bmV3IEtleWZyYW1lRWZmZWN0KG51bGwsW10pLGQuX2FuaW1hdGlvbi5fY2FsbGJhY2smJihkLl9hbmltYXRpb24uX2NhbGxiYWNrLl9hbmltYXRpb249bnVsbCksZC5fYW5pbWF0aW9uLl9yZWJ1aWxkVW5kZXJseWluZ0FuaW1hdGlvbigpLGYoZCkpfWZvcihjPTA7YzxiLmxlbmd0aDtjKyspYltjXS5fcmVidWlsZCgpfSxiLktleWZyYW1lRWZmZWN0PWZ1bmN0aW9uKGIsYyxlLGYpe3JldHVybiB0aGlzLnRhcmdldD1iLHRoaXMuX3BhcmVudD1udWxsLGU9YS5udW1lcmljVGltaW5nVG9PYmplY3QoZSksdGhpcy5fdGltaW5nSW5wdXQ9YS5jbG9uZVRpbWluZ0lucHV0KGUpLHRoaXMuX3RpbWluZz1hLm5vcm1hbGl6ZVRpbWluZ0lucHV0KGUpLHRoaXMudGltaW5nPWEubWFrZVRpbWluZyhlLCExLHRoaXMpLHRoaXMudGltaW5nLl9lZmZlY3Q9dGhpcywiZnVuY3Rpb24iPT10eXBlb2YgYz8oYS5kZXByZWNhdGVkKCJDdXN0b20gS2V5ZnJhbWVFZmZlY3QiLCIyMDE1LTA2LTIyIiwiVXNlIEtleWZyYW1lRWZmZWN0Lm9uc2FtcGxlIGluc3RlYWQuIiksdGhpcy5fbm9ybWFsaXplZEtleWZyYW1lcz1jKTp0aGlzLl9ub3JtYWxpemVkS2V5ZnJhbWVzPW5ldyBkKGMpLHRoaXMuX2tleWZyYW1lcz1jLHRoaXMuYWN0aXZlRHVyYXRpb249YS5jYWxjdWxhdGVBY3RpdmVEdXJhdGlvbih0aGlzLl90aW1pbmcpLHRoaXMuX2lkPWYsdGhpc30sYi5LZXlmcmFtZUVmZmVjdC5wcm90b3R5cGU9e2dldEZyYW1lczpmdW5jdGlvbigpe3JldHVybiJmdW5jdGlvbiI9PXR5cGVvZiB0aGlzLl9ub3JtYWxpemVkS2V5ZnJhbWVzP3RoaXMuX25vcm1hbGl6ZWRLZXlmcmFtZXM6dGhpcy5fbm9ybWFsaXplZEtleWZyYW1lcy5fZnJhbWVzfSxzZXQgb25zYW1wbGUoYSl7aWYoImZ1bmN0aW9uIj09dHlwZW9mIHRoaXMuZ2V0RnJhbWVzKCkpdGhyb3cgbmV3IEVycm9yKCJTZXR0aW5nIG9uc2FtcGxlIG9uIGN1c3RvbSBlZmZlY3QgS2V5ZnJhbWVFZmZlY3QgaXMgbm90IHN1cHBvcnRlZC4iKTt0aGlzLl9vbnNhbXBsZT1hLHRoaXMuX2FuaW1hdGlvbiYmdGhpcy5fYW5pbWF0aW9uLl9yZWJ1aWxkVW5kZXJseWluZ0FuaW1hdGlvbigpfSxnZXQgcGFyZW50KCl7cmV0dXJuIHRoaXMuX3BhcmVudH0sY2xvbmU6ZnVuY3Rpb24oKXtpZigiZnVuY3Rpb24iPT10eXBlb2YgdGhpcy5nZXRGcmFtZXMoKSl0aHJvdyBuZXcgRXJyb3IoIkNsb25pbmcgY3VzdG9tIGVmZmVjdHMgaXMgbm90IHN1cHBvcnRlZC4iKTt2YXIgYj1uZXcgS2V5ZnJhbWVFZmZlY3QodGhpcy50YXJnZXQsW10sYS5jbG9uZVRpbWluZ0lucHV0KHRoaXMuX3RpbWluZ0lucHV0KSx0aGlzLl9pZCk7cmV0dXJuIGIuX25vcm1hbGl6ZWRLZXlmcmFtZXM9dGhpcy5fbm9ybWFsaXplZEtleWZyYW1lcyxiLl9rZXlmcmFtZXM9dGhpcy5fa2V5ZnJhbWVzLGJ9LHJlbW92ZTpmdW5jdGlvbigpe2IucmVtb3ZlTXVsdGkoW3RoaXNdKX19O3ZhciBnPUVsZW1lbnQucHJvdG90eXBlLmFuaW1hdGU7RWxlbWVudC5wcm90b3R5cGUuYW5pbWF0ZT1mdW5jdGlvbihhLGMpe3ZhciBkPSIiO3JldHVybiBjJiZjLmlkJiYoZD1jLmlkKSxiLnRpbWVsaW5lLl9wbGF5KG5ldyBiLktleWZyYW1lRWZmZWN0KHRoaXMsYSxjLGQpKX07dmFyIGg9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiwiZGl2Iik7Yi5uZXdVbmRlcmx5aW5nQW5pbWF0aW9uRm9yS2V5ZnJhbWVFZmZlY3Q9ZnVuY3Rpb24oYSl7aWYoYSl7dmFyIGI9YS50YXJnZXR8fGgsYz1hLl9rZXlmcmFtZXM7ImZ1bmN0aW9uIj09dHlwZW9mIGMmJihjPVtdKTt2YXIgZD1hLl90aW1pbmdJbnB1dDtkLmlkPWEuX2lkfWVsc2UgdmFyIGI9aCxjPVtdLGQ9MDtyZXR1cm4gZy5hcHBseShiLFtjLGRdKX0sYi5iaW5kQW5pbWF0aW9uRm9yS2V5ZnJhbWVFZmZlY3Q9ZnVuY3Rpb24oYSl7YS5lZmZlY3QmJiJmdW5jdGlvbiI9PXR5cGVvZiBhLmVmZmVjdC5fbm9ybWFsaXplZEtleWZyYW1lcyYmYi5iaW5kQW5pbWF0aW9uRm9yQ3VzdG9tRWZmZWN0KGEpfTt2YXIgaT1bXTtiLmF3YWl0U3RhcnRUaW1lPWZ1bmN0aW9uKGEpe251bGw9PT1hLnN0YXJ0VGltZSYmYS5faXNHcm91cCYmKDA9PWkubGVuZ3RoJiZyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoZSksaS5wdXNoKGEpKX07dmFyIGo9d2luZG93LmdldENvbXB1dGVkU3R5bGU7T2JqZWN0LmRlZmluZVByb3BlcnR5KHdpbmRvdywiZ2V0Q29tcHV0ZWRTdHlsZSIse2NvbmZpZ3VyYWJsZTohMCxlbnVtZXJhYmxlOiEwLHZhbHVlOmZ1bmN0aW9uKCl7d2luZG93LmRvY3VtZW50LnRpbWVsaW5lLl91cGRhdGVBbmltYXRpb25zUHJvbWlzZXMoKTt2YXIgYT1qLmFwcGx5KHRoaXMsYXJndW1lbnRzKTtyZXR1cm4gZSgpJiYoYT1qLmFwcGx5KHRoaXMsYXJndW1lbnRzKSksd2luZG93LmRvY3VtZW50LnRpbWVsaW5lLl91cGRhdGVBbmltYXRpb25zUHJvbWlzZXMoKSxhfX0pLHdpbmRvdy5LZXlmcmFtZUVmZmVjdD1iLktleWZyYW1lRWZmZWN0LHdpbmRvdy5FbGVtZW50LnByb3RvdHlwZS5nZXRBbmltYXRpb25zPWZ1bmN0aW9uKCl7cmV0dXJuIGRvY3VtZW50LnRpbWVsaW5lLmdldEFuaW1hdGlvbnMoKS5maWx0ZXIoZnVuY3Rpb24oYSl7cmV0dXJuIG51bGwhPT1hLmVmZmVjdCYmYS5lZmZlY3QudGFyZ2V0PT10aGlzfS5iaW5kKHRoaXMpKX19KGMsZSxmKSxmdW5jdGlvbihhLGIsYyl7ZnVuY3Rpb24gZChhKXthLl9yZWdpc3RlcmVkfHwoYS5fcmVnaXN0ZXJlZD0hMCxnLnB1c2goYSksaHx8KGg9ITAscmVxdWVzdEFuaW1hdGlvbkZyYW1lKGUpKSl9ZnVuY3Rpb24gZShhKXt2YXIgYj1nO2c9W10sYi5zb3J0KGZ1bmN0aW9uKGEsYil7cmV0dXJuIGEuX3NlcXVlbmNlTnVtYmVyLWIuX3NlcXVlbmNlTnVtYmVyfSksYj1iLmZpbHRlcihmdW5jdGlvbihhKXthKCk7dmFyIGI9YS5fYW5pbWF0aW9uP2EuX2FuaW1hdGlvbi5wbGF5U3RhdGU6ImlkbGUiO3JldHVybiJydW5uaW5nIiE9YiYmInBlbmRpbmciIT1iJiYoYS5fcmVnaXN0ZXJlZD0hMSksYS5fcmVnaXN0ZXJlZH0pLGcucHVzaC5hcHBseShnLGIpLGcubGVuZ3RoPyhoPSEwLHJlcXVlc3RBbmltYXRpb25GcmFtZShlKSk6aD0hMX12YXIgZj0oZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiwiZGl2IiksMCk7Yi5iaW5kQW5pbWF0aW9uRm9yQ3VzdG9tRWZmZWN0PWZ1bmN0aW9uKGIpe3ZhciBjLGU9Yi5lZmZlY3QudGFyZ2V0LGc9ImZ1bmN0aW9uIj09dHlwZW9mIGIuZWZmZWN0LmdldEZyYW1lcygpO2M9Zz9iLmVmZmVjdC5nZXRGcmFtZXMoKTpiLmVmZmVjdC5fb25zYW1wbGU7dmFyIGg9Yi5lZmZlY3QudGltaW5nLGk9bnVsbDtoPWEubm9ybWFsaXplVGltaW5nSW5wdXQoaCk7dmFyIGo9ZnVuY3Rpb24oKXt2YXIgZD1qLl9hbmltYXRpb24/ai5fYW5pbWF0aW9uLmN1cnJlbnRUaW1lOm51bGw7bnVsbCE9PWQmJihkPWEuY2FsY3VsYXRlVGltZUZyYWN0aW9uKGEuY2FsY3VsYXRlQWN0aXZlRHVyYXRpb24oaCksZCxoKSxpc05hTihkKSYmKGQ9bnVsbCkpLGQhPT1pJiYoZz9jKGQsZSxiLmVmZmVjdCk6YyhkLGIuZWZmZWN0LGIuZWZmZWN0Ll9hbmltYXRpb24pKSxpPWR9O2ouX2FuaW1hdGlvbj1iLGouX3JlZ2lzdGVyZWQ9ITEsai5fc2VxdWVuY2VOdW1iZXI9ZisrLGIuX2NhbGxiYWNrPWosZChqKX07dmFyIGc9W10saD0hMTtiLkFuaW1hdGlvbi5wcm90b3R5cGUuX3JlZ2lzdGVyPWZ1bmN0aW9uKCl7dGhpcy5fY2FsbGJhY2smJmQodGhpcy5fY2FsbGJhY2spfX0oYyxlLGYpLGZ1bmN0aW9uKGEsYixjKXtmdW5jdGlvbiBkKGEpe3JldHVybiBhLl90aW1pbmcuZGVsYXkrYS5hY3RpdmVEdXJhdGlvbithLl90aW1pbmcuZW5kRGVsYXl9ZnVuY3Rpb24gZShiLGMsZCl7dGhpcy5faWQ9ZCx0aGlzLl9wYXJlbnQ9bnVsbCx0aGlzLmNoaWxkcmVuPWJ8fFtdLHRoaXMuX3JlcGFyZW50KHRoaXMuY2hpbGRyZW4pLGM9YS5udW1lcmljVGltaW5nVG9PYmplY3QoYyksdGhpcy5fdGltaW5nSW5wdXQ9YS5jbG9uZVRpbWluZ0lucHV0KGMpLHRoaXMuX3RpbWluZz1hLm5vcm1hbGl6ZVRpbWluZ0lucHV0KGMsITApLHRoaXMudGltaW5nPWEubWFrZVRpbWluZyhjLCEwLHRoaXMpLHRoaXMudGltaW5nLl9lZmZlY3Q9dGhpcywiYXV0byI9PT10aGlzLl90aW1pbmcuZHVyYXRpb24mJih0aGlzLl90aW1pbmcuZHVyYXRpb249dGhpcy5hY3RpdmVEdXJhdGlvbil9d2luZG93LlNlcXVlbmNlRWZmZWN0PWZ1bmN0aW9uKCl7ZS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9LHdpbmRvdy5Hcm91cEVmZmVjdD1mdW5jdGlvbigpe2UuYXBwbHkodGhpcyxhcmd1bWVudHMpfSxlLnByb3RvdHlwZT17X2lzQW5jZXN0b3I6ZnVuY3Rpb24oYSl7Zm9yKHZhciBiPXRoaXM7bnVsbCE9PWI7KXtpZihiPT1hKXJldHVybiEwO2I9Yi5fcGFyZW50fXJldHVybiExfSxfcmVidWlsZDpmdW5jdGlvbigpe2Zvcih2YXIgYT10aGlzO2E7KSJhdXRvIj09PWEudGltaW5nLmR1cmF0aW9uJiYoYS5fdGltaW5nLmR1cmF0aW9uPWEuYWN0aXZlRHVyYXRpb24pLGE9YS5fcGFyZW50O3RoaXMuX2FuaW1hdGlvbiYmdGhpcy5fYW5pbWF0aW9uLl9yZWJ1aWxkVW5kZXJseWluZ0FuaW1hdGlvbigpfSxfcmVwYXJlbnQ6ZnVuY3Rpb24oYSl7Yi5yZW1vdmVNdWx0aShhKTtmb3IodmFyIGM9MDtjPGEubGVuZ3RoO2MrKylhW2NdLl9wYXJlbnQ9dGhpc30sX3B1dENoaWxkOmZ1bmN0aW9uKGEsYil7Zm9yKHZhciBjPWI/IkNhbm5vdCBhcHBlbmQgYW4gYW5jZXN0b3Igb3Igc2VsZiI6IkNhbm5vdCBwcmVwZW5kIGFuIGFuY2VzdG9yIG9yIHNlbGYiLGQ9MDtkPGEubGVuZ3RoO2QrKylpZih0aGlzLl9pc0FuY2VzdG9yKGFbZF0pKXRocm93e3R5cGU6RE9NRXhjZXB0aW9uLkhJRVJBUkNIWV9SRVFVRVNUX0VSUixuYW1lOiJIaWVyYXJjaHlSZXF1ZXN0RXJyb3IiLG1lc3NhZ2U6Y307Zm9yKHZhciBkPTA7ZDxhLmxlbmd0aDtkKyspYj90aGlzLmNoaWxkcmVuLnB1c2goYVtkXSk6dGhpcy5jaGlsZHJlbi51bnNoaWZ0KGFbZF0pO3RoaXMuX3JlcGFyZW50KGEpLHRoaXMuX3JlYnVpbGQoKX0sYXBwZW5kOmZ1bmN0aW9uKCl7dGhpcy5fcHV0Q2hpbGQoYXJndW1lbnRzLCEwKX0scHJlcGVuZDpmdW5jdGlvbigpe3RoaXMuX3B1dENoaWxkKGFyZ3VtZW50cywhMSl9LGdldCBwYXJlbnQoKXtyZXR1cm4gdGhpcy5fcGFyZW50fSxnZXQgZmlyc3RDaGlsZCgpe3JldHVybiB0aGlzLmNoaWxkcmVuLmxlbmd0aD90aGlzLmNoaWxkcmVuWzBdOm51bGx9LGdldCBsYXN0Q2hpbGQoKXtyZXR1cm4gdGhpcy5jaGlsZHJlbi5sZW5ndGg/dGhpcy5jaGlsZHJlblt0aGlzLmNoaWxkcmVuLmxlbmd0aC0xXTpudWxsfSxjbG9uZTpmdW5jdGlvbigpe2Zvcih2YXIgYj1hLmNsb25lVGltaW5nSW5wdXQodGhpcy5fdGltaW5nSW5wdXQpLGM9W10sZD0wO2Q8dGhpcy5jaGlsZHJlbi5sZW5ndGg7ZCsrKWMucHVzaCh0aGlzLmNoaWxkcmVuW2RdLmNsb25lKCkpO3JldHVybiB0aGlzIGluc3RhbmNlb2YgR3JvdXBFZmZlY3Q/bmV3IEdyb3VwRWZmZWN0KGMsYik6bmV3IFNlcXVlbmNlRWZmZWN0KGMsYil9LHJlbW92ZTpmdW5jdGlvbigpe2IucmVtb3ZlTXVsdGkoW3RoaXNdKX19LHdpbmRvdy5TZXF1ZW5jZUVmZmVjdC5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShlLnByb3RvdHlwZSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHdpbmRvdy5TZXF1ZW5jZUVmZmVjdC5wcm90b3R5cGUsImFjdGl2ZUR1cmF0aW9uIix7Z2V0OmZ1bmN0aW9uKCl7dmFyIGE9MDtyZXR1cm4gdGhpcy5jaGlsZHJlbi5mb3JFYWNoKGZ1bmN0aW9uKGIpe2ErPWQoYil9KSxNYXRoLm1heChhLDApfX0pLHdpbmRvdy5Hcm91cEVmZmVjdC5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShlLnByb3RvdHlwZSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHdpbmRvdy5Hcm91cEVmZmVjdC5wcm90b3R5cGUsImFjdGl2ZUR1cmF0aW9uIix7Z2V0OmZ1bmN0aW9uKCl7dmFyIGE9MDtyZXR1cm4gdGhpcy5jaGlsZHJlbi5mb3JFYWNoKGZ1bmN0aW9uKGIpe2E9TWF0aC5tYXgoYSxkKGIpKX0pLGF9fSksYi5uZXdVbmRlcmx5aW5nQW5pbWF0aW9uRm9yR3JvdXA9ZnVuY3Rpb24oYyl7dmFyIGQsZT1udWxsLGY9ZnVuY3Rpb24oYil7dmFyIGM9ZC5fd3JhcHBlcjtyZXR1cm4gYyYmInBlbmRpbmciIT1jLnBsYXlTdGF0ZSYmYy5lZmZlY3Q/bnVsbD09Yj92b2lkIGMuX3JlbW92ZUNoaWxkQW5pbWF0aW9ucygpOjA9PWImJmMucGxheWJhY2tSYXRlPDAmJihlfHwoZT1hLm5vcm1hbGl6ZVRpbWluZ0lucHV0KGMuZWZmZWN0LnRpbWluZykpLGI9YS5jYWxjdWxhdGVUaW1lRnJhY3Rpb24oYS5jYWxjdWxhdGVBY3RpdmVEdXJhdGlvbihlKSwtMSxlKSxpc05hTihiKXx8bnVsbD09Yik/KGMuX2ZvckVhY2hDaGlsZChmdW5jdGlvbihhKXthLmN1cnJlbnRUaW1lPS0xfSksdm9pZCBjLl9yZW1vdmVDaGlsZEFuaW1hdGlvbnMoKSk6dm9pZCAwOnZvaWQgMH0sZz1uZXcgS2V5ZnJhbWVFZmZlY3QobnVsbCxbXSxjLl90aW1pbmcsYy5faWQpO3JldHVybiBnLm9uc2FtcGxlPWYsZD1iLnRpbWVsaW5lLl9wbGF5KGcpfSxiLmJpbmRBbmltYXRpb25Gb3JHcm91cD1mdW5jdGlvbihhKXthLl9hbmltYXRpb24uX3dyYXBwZXI9YSxhLl9pc0dyb3VwPSEwLGIuYXdhaXRTdGFydFRpbWUoYSksYS5fY29uc3RydWN0Q2hpbGRBbmltYXRpb25zKCksYS5fc2V0RXh0ZXJuYWxBbmltYXRpb24oYSl9LGIuZ3JvdXBDaGlsZER1cmF0aW9uPWR9KGMsZSxmKSxiWyJ0cnVlIl09YX0oe30sZnVuY3Rpb24oKXtyZXR1cm4gdGhpc30oKSk7Cjwvc2NyaXB0PjxzY3JpcHQ+LyoqCkBsaWNlbnNlIEBub2NvbXBpbGUKQ29weXJpZ2h0IChjKSAyMDE4IFRoZSBQb2x5bWVyIFByb2plY3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KVGhpcyBjb2RlIG1heSBvbmx5IGJlIHVzZWQgdW5kZXIgdGhlIEJTRCBzdHlsZSBsaWNlbnNlIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9MSUNFTlNFLnR4dApUaGUgY29tcGxldGUgc2V0IG9mIGF1dGhvcnMgbWF5IGJlIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9BVVRIT1JTLnR4dApUaGUgY29tcGxldGUgc2V0IG9mIGNvbnRyaWJ1dG9ycyBtYXkgYmUgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0NPTlRSSUJVVE9SUy50eHQKQ29kZSBkaXN0cmlidXRlZCBieSBHb29nbGUgYXMgcGFydCBvZiB0aGUgcG9seW1lciBwcm9qZWN0IGlzIGFsc28Kc3ViamVjdCB0byBhbiBhZGRpdGlvbmFsIElQIHJpZ2h0cyBncmFudCBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vUEFURU5UUy50eHQKKi8KKGZ1bmN0aW9uKCl7LyoKCiBDb3B5cmlnaHQgKGMpIDIwMTYgVGhlIFBvbHltZXIgUHJvamVjdCBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogVGhpcyBjb2RlIG1heSBvbmx5IGJlIHVzZWQgdW5kZXIgdGhlIEJTRCBzdHlsZSBsaWNlbnNlIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9MSUNFTlNFLnR4dAogVGhlIGNvbXBsZXRlIHNldCBvZiBhdXRob3JzIG1heSBiZSBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQVVUSE9SUy50eHQKIFRoZSBjb21wbGV0ZSBzZXQgb2YgY29udHJpYnV0b3JzIG1heSBiZSBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQ09OVFJJQlVUT1JTLnR4dAogQ29kZSBkaXN0cmlidXRlZCBieSBHb29nbGUgYXMgcGFydCBvZiB0aGUgcG9seW1lciBwcm9qZWN0IGlzIGFsc28KIHN1YmplY3QgdG8gYW4gYWRkaXRpb25hbCBJUCByaWdodHMgZ3JhbnQgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL1BBVEVOVFMudHh0CiovCid1c2Ugc3RyaWN0Jzt2YXIgbixwPSJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93JiZ3aW5kb3c9PT10aGlzP3RoaXM6InVuZGVmaW5lZCIhPXR5cGVvZiBnbG9iYWwmJm51bGwhPWdsb2JhbD9nbG9iYWw6dGhpcyxhYT0iZnVuY3Rpb24iPT10eXBlb2YgT2JqZWN0LmRlZmluZVByb3BlcnRpZXM/T2JqZWN0LmRlZmluZVByb3BlcnR5OmZ1bmN0aW9uKGEsYixjKXthIT1BcnJheS5wcm90b3R5cGUmJmEhPU9iamVjdC5wcm90b3R5cGUmJihhW2JdPWMudmFsdWUpfTtmdW5jdGlvbiBiYSgpe2JhPWZ1bmN0aW9uKCl7fTtwLlN5bWJvbHx8KHAuU3ltYm9sPWNhKX12YXIgY2E9ZnVuY3Rpb24oKXt2YXIgYT0wO3JldHVybiBmdW5jdGlvbihiKXtyZXR1cm4ianNjb21wX3N5bWJvbF8iKyhifHwiIikrYSsrfX0oKTsKZnVuY3Rpb24gZGEoKXtiYSgpO3ZhciBhPXAuU3ltYm9sLml0ZXJhdG9yO2F8fChhPXAuU3ltYm9sLml0ZXJhdG9yPXAuU3ltYm9sKCJpdGVyYXRvciIpKTsiZnVuY3Rpb24iIT10eXBlb2YgQXJyYXkucHJvdG90eXBlW2FdJiZhYShBcnJheS5wcm90b3R5cGUsYSx7Y29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuIGVhKHRoaXMpfX0pO2RhPWZ1bmN0aW9uKCl7fX1mdW5jdGlvbiBlYShhKXt2YXIgYj0wO3JldHVybiBmYShmdW5jdGlvbigpe3JldHVybiBiPGEubGVuZ3RoP3tkb25lOiExLHZhbHVlOmFbYisrXX06e2RvbmU6ITB9fSl9ZnVuY3Rpb24gZmEoYSl7ZGEoKTthPXtuZXh0OmF9O2FbcC5TeW1ib2wuaXRlcmF0b3JdPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9O3JldHVybiBhfWZ1bmN0aW9uIGlhKGEpe2RhKCk7dmFyIGI9YVtTeW1ib2wuaXRlcmF0b3JdO3JldHVybiBiP2IuY2FsbChhKTplYShhKX0KZnVuY3Rpb24gamEoYSl7Zm9yKHZhciBiLGM9W107IShiPWEubmV4dCgpKS5kb25lOyljLnB1c2goYi52YWx1ZSk7cmV0dXJuIGN9CihmdW5jdGlvbigpe2lmKCFmdW5jdGlvbigpe3ZhciBhPWRvY3VtZW50LmNyZWF0ZUV2ZW50KCJFdmVudCIpO2EuaW5pdEV2ZW50KCJmb28iLCEwLCEwKTthLnByZXZlbnREZWZhdWx0KCk7cmV0dXJuIGEuZGVmYXVsdFByZXZlbnRlZH0oKSl7dmFyIGE9RXZlbnQucHJvdG90eXBlLnByZXZlbnREZWZhdWx0O0V2ZW50LnByb3RvdHlwZS5wcmV2ZW50RGVmYXVsdD1mdW5jdGlvbigpe3RoaXMuY2FuY2VsYWJsZSYmKGEuY2FsbCh0aGlzKSxPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywiZGVmYXVsdFByZXZlbnRlZCIse2dldDpmdW5jdGlvbigpe3JldHVybiEwfSxjb25maWd1cmFibGU6ITB9KSl9fXZhciBiPS9UcmlkZW50Ly50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpO2lmKCF3aW5kb3cuQ3VzdG9tRXZlbnR8fGImJiJmdW5jdGlvbiIhPT10eXBlb2Ygd2luZG93LkN1c3RvbUV2ZW50KXdpbmRvdy5DdXN0b21FdmVudD1mdW5jdGlvbihhLGIpe2I9Ynx8e307dmFyIGM9ZG9jdW1lbnQuY3JlYXRlRXZlbnQoIkN1c3RvbUV2ZW50Iik7CmMuaW5pdEN1c3RvbUV2ZW50KGEsISFiLmJ1YmJsZXMsISFiLmNhbmNlbGFibGUsYi5kZXRhaWwpO3JldHVybiBjfSx3aW5kb3cuQ3VzdG9tRXZlbnQucHJvdG90eXBlPXdpbmRvdy5FdmVudC5wcm90b3R5cGU7aWYoIXdpbmRvdy5FdmVudHx8YiYmImZ1bmN0aW9uIiE9PXR5cGVvZiB3aW5kb3cuRXZlbnQpe3ZhciBjPXdpbmRvdy5FdmVudDt3aW5kb3cuRXZlbnQ9ZnVuY3Rpb24oYSxiKXtiPWJ8fHt9O3ZhciBjPWRvY3VtZW50LmNyZWF0ZUV2ZW50KCJFdmVudCIpO2MuaW5pdEV2ZW50KGEsISFiLmJ1YmJsZXMsISFiLmNhbmNlbGFibGUpO3JldHVybiBjfTtpZihjKWZvcih2YXIgZCBpbiBjKXdpbmRvdy5FdmVudFtkXT1jW2RdO3dpbmRvdy5FdmVudC5wcm90b3R5cGU9Yy5wcm90b3R5cGV9aWYoIXdpbmRvdy5Nb3VzZUV2ZW50fHxiJiYiZnVuY3Rpb24iIT09dHlwZW9mIHdpbmRvdy5Nb3VzZUV2ZW50KXtiPXdpbmRvdy5Nb3VzZUV2ZW50O3dpbmRvdy5Nb3VzZUV2ZW50PWZ1bmN0aW9uKGEsCmIpe2I9Ynx8e307dmFyIGM9ZG9jdW1lbnQuY3JlYXRlRXZlbnQoIk1vdXNlRXZlbnQiKTtjLmluaXRNb3VzZUV2ZW50KGEsISFiLmJ1YmJsZXMsISFiLmNhbmNlbGFibGUsYi52aWV3fHx3aW5kb3csYi5kZXRhaWwsYi5zY3JlZW5YLGIuc2NyZWVuWSxiLmNsaWVudFgsYi5jbGllbnRZLGIuY3RybEtleSxiLmFsdEtleSxiLnNoaWZ0S2V5LGIubWV0YUtleSxiLmJ1dHRvbixiLnJlbGF0ZWRUYXJnZXQpO3JldHVybiBjfTtpZihiKWZvcihkIGluIGIpd2luZG93Lk1vdXNlRXZlbnRbZF09YltkXTt3aW5kb3cuTW91c2VFdmVudC5wcm90b3R5cGU9Yi5wcm90b3R5cGV9QXJyYXkuZnJvbXx8KEFycmF5LmZyb209ZnVuY3Rpb24oYSl7cmV0dXJuW10uc2xpY2UuY2FsbChhKX0pO09iamVjdC5hc3NpZ258fChPYmplY3QuYXNzaWduPWZ1bmN0aW9uKGEsYil7Zm9yKHZhciBjPVtdLnNsaWNlLmNhbGwoYXJndW1lbnRzLDEpLGQ9MCxlO2Q8Yy5sZW5ndGg7ZCsrKWlmKGU9Y1tkXSlmb3IodmFyIGY9CmEsbT1lLHE9T2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMobSkseD0wO3g8cS5sZW5ndGg7eCsrKWU9cVt4XSxmW2VdPW1bZV07cmV0dXJuIGF9KX0pKHdpbmRvdy5XZWJDb21wb25lbnRzKTsoZnVuY3Rpb24oKXtmdW5jdGlvbiBhKCl7fWZ1bmN0aW9uIGIoYSxiKXtpZighYS5jaGlsZE5vZGVzLmxlbmd0aClyZXR1cm5bXTtzd2l0Y2goYS5ub2RlVHlwZSl7Y2FzZSBOb2RlLkRPQ1VNRU5UX05PREU6cmV0dXJuIHVhLmNhbGwoYSxiKTtjYXNlIE5vZGUuRE9DVU1FTlRfRlJBR01FTlRfTk9ERTpyZXR1cm4gbGIuY2FsbChhLGIpO2RlZmF1bHQ6cmV0dXJuIFUuY2FsbChhLGIpfX12YXIgYz0idW5kZWZpbmVkIj09PXR5cGVvZiBIVE1MVGVtcGxhdGVFbGVtZW50LGQ9IShkb2N1bWVudC5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCkuY2xvbmVOb2RlKClpbnN0YW5jZW9mIERvY3VtZW50RnJhZ21lbnQpLGU9ITE7L1RyaWRlbnQvLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCkmJmZ1bmN0aW9uKCl7ZnVuY3Rpb24gYShhLGIpe2lmKGEgaW5zdGFuY2VvZiBEb2N1bWVudEZyYWdtZW50KWZvcih2YXIgZDtkPWEuZmlyc3RDaGlsZDspYy5jYWxsKHRoaXMsZCxiKTtlbHNlIGMuY2FsbCh0aGlzLAphLGIpO3JldHVybiBhfWU9ITA7dmFyIGI9Tm9kZS5wcm90b3R5cGUuY2xvbmVOb2RlO05vZGUucHJvdG90eXBlLmNsb25lTm9kZT1mdW5jdGlvbihhKXthPWIuY2FsbCh0aGlzLGEpO3RoaXMgaW5zdGFuY2VvZiBEb2N1bWVudEZyYWdtZW50JiYoYS5fX3Byb3RvX189RG9jdW1lbnRGcmFnbWVudC5wcm90b3R5cGUpO3JldHVybiBhfTtEb2N1bWVudEZyYWdtZW50LnByb3RvdHlwZS5xdWVyeVNlbGVjdG9yQWxsPUhUTUxFbGVtZW50LnByb3RvdHlwZS5xdWVyeVNlbGVjdG9yQWxsO0RvY3VtZW50RnJhZ21lbnQucHJvdG90eXBlLnF1ZXJ5U2VsZWN0b3I9SFRNTEVsZW1lbnQucHJvdG90eXBlLnF1ZXJ5U2VsZWN0b3I7T2JqZWN0LmRlZmluZVByb3BlcnRpZXMoRG9jdW1lbnRGcmFnbWVudC5wcm90b3R5cGUse25vZGVUeXBlOntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gTm9kZS5ET0NVTUVOVF9GUkFHTUVOVF9OT0RFfSxjb25maWd1cmFibGU6ITB9LGxvY2FsTmFtZTp7Z2V0OmZ1bmN0aW9uKCl7fSwKY29uZmlndXJhYmxlOiEwfSxub2RlTmFtZTp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIiNkb2N1bWVudC1mcmFnbWVudCJ9LGNvbmZpZ3VyYWJsZTohMH19KTt2YXIgYz1Ob2RlLnByb3RvdHlwZS5pbnNlcnRCZWZvcmU7Tm9kZS5wcm90b3R5cGUuaW5zZXJ0QmVmb3JlPWE7dmFyIGQ9Tm9kZS5wcm90b3R5cGUuYXBwZW5kQ2hpbGQ7Tm9kZS5wcm90b3R5cGUuYXBwZW5kQ2hpbGQ9ZnVuY3Rpb24oYil7YiBpbnN0YW5jZW9mIERvY3VtZW50RnJhZ21lbnQ/YS5jYWxsKHRoaXMsYixudWxsKTpkLmNhbGwodGhpcyxiKTtyZXR1cm4gYn07dmFyIGY9Tm9kZS5wcm90b3R5cGUucmVtb3ZlQ2hpbGQsZz1Ob2RlLnByb3RvdHlwZS5yZXBsYWNlQ2hpbGQ7Tm9kZS5wcm90b3R5cGUucmVwbGFjZUNoaWxkPWZ1bmN0aW9uKGIsYyl7YiBpbnN0YW5jZW9mIERvY3VtZW50RnJhZ21lbnQ/KGEuY2FsbCh0aGlzLGIsYyksZi5jYWxsKHRoaXMsYykpOmcuY2FsbCh0aGlzLGIsYyk7cmV0dXJuIGN9O0RvY3VtZW50LnByb3RvdHlwZS5jcmVhdGVEb2N1bWVudEZyYWdtZW50PQpmdW5jdGlvbigpe3ZhciBhPXRoaXMuY3JlYXRlRWxlbWVudCgiZGYiKTthLl9fcHJvdG9fXz1Eb2N1bWVudEZyYWdtZW50LnByb3RvdHlwZTtyZXR1cm4gYX07dmFyIGg9RG9jdW1lbnQucHJvdG90eXBlLmltcG9ydE5vZGU7RG9jdW1lbnQucHJvdG90eXBlLmltcG9ydE5vZGU9ZnVuY3Rpb24oYSxiKXtiPWguY2FsbCh0aGlzLGEsYnx8ITEpO2EgaW5zdGFuY2VvZiBEb2N1bWVudEZyYWdtZW50JiYoYi5fX3Byb3RvX189RG9jdW1lbnRGcmFnbWVudC5wcm90b3R5cGUpO3JldHVybiBifX0oKTt2YXIgZj1Ob2RlLnByb3RvdHlwZS5jbG9uZU5vZGUsZz1Eb2N1bWVudC5wcm90b3R5cGUuY3JlYXRlRWxlbWVudCxoPURvY3VtZW50LnByb3RvdHlwZS5pbXBvcnROb2RlLGs9Tm9kZS5wcm90b3R5cGUucmVtb3ZlQ2hpbGQsbD1Ob2RlLnByb3RvdHlwZS5hcHBlbmRDaGlsZCxtPU5vZGUucHJvdG90eXBlLnJlcGxhY2VDaGlsZCxxPURPTVBhcnNlci5wcm90b3R5cGUucGFyc2VGcm9tU3RyaW5nLAp4PU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iod2luZG93LkhUTUxFbGVtZW50LnByb3RvdHlwZSwiaW5uZXJIVE1MIil8fHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5pbm5lckhUTUx9LHNldDpmdW5jdGlvbihhKXt0aGlzLmlubmVySFRNTD1hfX0sTT1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHdpbmRvdy5Ob2RlLnByb3RvdHlwZSwiY2hpbGROb2RlcyIpfHx7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY2hpbGROb2Rlc319LFU9RWxlbWVudC5wcm90b3R5cGUucXVlcnlTZWxlY3RvckFsbCx1YT1Eb2N1bWVudC5wcm90b3R5cGUucXVlcnlTZWxlY3RvckFsbCxsYj1Eb2N1bWVudEZyYWdtZW50LnByb3RvdHlwZS5xdWVyeVNlbGVjdG9yQWxsLG1iPWZ1bmN0aW9uKCl7aWYoIWMpe3ZhciBhPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRlbXBsYXRlIiksYj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ0ZW1wbGF0ZSIpO2IuY29udGVudC5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSk7CmEuY29udGVudC5hcHBlbmRDaGlsZChiKTthPWEuY2xvbmVOb2RlKCEwKTtyZXR1cm4gMD09PWEuY29udGVudC5jaGlsZE5vZGVzLmxlbmd0aHx8MD09PWEuY29udGVudC5maXJzdENoaWxkLmNvbnRlbnQuY2hpbGROb2Rlcy5sZW5ndGh8fGR9fSgpO2lmKGMpe3ZhciBTPWRvY3VtZW50LmltcGxlbWVudGF0aW9uLmNyZWF0ZUhUTUxEb2N1bWVudCgidGVtcGxhdGUiKSxDPSEwLFY9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3R5bGUiKTtWLnRleHRDb250ZW50PSJ0ZW1wbGF0ZXtkaXNwbGF5Om5vbmU7fSI7dmFyIGhhPWRvY3VtZW50LmhlYWQ7aGEuaW5zZXJ0QmVmb3JlKFYsaGEuZmlyc3RFbGVtZW50Q2hpbGQpO2EucHJvdG90eXBlPU9iamVjdC5jcmVhdGUoSFRNTEVsZW1lbnQucHJvdG90eXBlKTt2YXIgdmE9IWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLmhhc093blByb3BlcnR5KCJpbm5lckhUTUwiKTthLkc9ZnVuY3Rpb24oYil7aWYoIWIuY29udGVudCYmYi5uYW1lc3BhY2VVUkk9PT0KZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50Lm5hbWVzcGFjZVVSSSl7Yi5jb250ZW50PVMuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpO2Zvcih2YXIgYztjPWIuZmlyc3RDaGlsZDspbC5jYWxsKGIuY29udGVudCxjKTtpZih2YSliLl9fcHJvdG9fXz1hLnByb3RvdHlwZTtlbHNlIGlmKGIuY2xvbmVOb2RlPWZ1bmN0aW9uKGIpe3JldHVybiBhLmEodGhpcyxiKX0sQyl0cnl7UChiKSxXKGIpfWNhdGNoKFRnKXtDPSExfWEuQyhiLmNvbnRlbnQpfX07dmFyIFg9e29wdGlvbjpbInNlbGVjdCJdLHRoZWFkOlsidGFibGUiXSxjb2w6WyJjb2xncm91cCIsInRhYmxlIl0sdHI6WyJ0Ym9keSIsInRhYmxlIl0sdGg6WyJ0ciIsInRib2R5IiwidGFibGUiXSx0ZDpbInRyIiwidGJvZHkiLCJ0YWJsZSJdfSxQPWZ1bmN0aW9uKGIpe09iamVjdC5kZWZpbmVQcm9wZXJ0eShiLCJpbm5lckhUTUwiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbmIodGhpcyl9LHNldDpmdW5jdGlvbihiKXt2YXIgYz1YWygvPChbYS16XVteL1wwPlx4MjBcdFxyXG5cZl0rKS9pLmV4ZWMoYil8fApbIiIsIiJdKVsxXS50b0xvd2VyQ2FzZSgpXTtpZihjKWZvcih2YXIgZD0wO2Q8Yy5sZW5ndGg7ZCsrKWI9IjwiK2NbZF0rIj4iK2IrIjwvIitjW2RdKyI+IjtTLmJvZHkuaW5uZXJIVE1MPWI7Zm9yKGEuQyhTKTt0aGlzLmNvbnRlbnQuZmlyc3RDaGlsZDspay5jYWxsKHRoaXMuY29udGVudCx0aGlzLmNvbnRlbnQuZmlyc3RDaGlsZCk7Yj1TLmJvZHk7aWYoYylmb3IoZD0wO2Q8Yy5sZW5ndGg7ZCsrKWI9Yi5sYXN0Q2hpbGQ7Zm9yKDtiLmZpcnN0Q2hpbGQ7KWwuY2FsbCh0aGlzLmNvbnRlbnQsYi5maXJzdENoaWxkKX0sY29uZmlndXJhYmxlOiEwfSl9LFc9ZnVuY3Rpb24oYSl7T2JqZWN0LmRlZmluZVByb3BlcnR5KGEsIm91dGVySFRNTCIse2dldDpmdW5jdGlvbigpe3JldHVybiI8dGVtcGxhdGU+Iit0aGlzLmlubmVySFRNTCsiPC90ZW1wbGF0ZT4ifSxzZXQ6ZnVuY3Rpb24oYSl7aWYodGhpcy5wYXJlbnROb2RlKXtTLmJvZHkuaW5uZXJIVE1MPWE7Zm9yKGE9dGhpcy5vd25lckRvY3VtZW50LmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKTtTLmJvZHkuZmlyc3RDaGlsZDspbC5jYWxsKGEsClMuYm9keS5maXJzdENoaWxkKTttLmNhbGwodGhpcy5wYXJlbnROb2RlLGEsdGhpcyl9ZWxzZSB0aHJvdyBFcnJvcigiRmFpbGVkIHRvIHNldCB0aGUgJ291dGVySFRNTCcgcHJvcGVydHkgb24gJ0VsZW1lbnQnOiBUaGlzIGVsZW1lbnQgaGFzIG5vIHBhcmVudCBub2RlLiIpO30sY29uZmlndXJhYmxlOiEwfSl9O1AoYS5wcm90b3R5cGUpO1coYS5wcm90b3R5cGUpO2EuQz1mdW5jdGlvbihjKXtjPWIoYywidGVtcGxhdGUiKTtmb3IodmFyIGQ9MCxlPWMubGVuZ3RoLGY7ZDxlJiYoZj1jW2RdKTtkKyspYS5HKGYpfTtkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJET01Db250ZW50TG9hZGVkIixmdW5jdGlvbigpe2EuQyhkb2N1bWVudCl9KTtEb2N1bWVudC5wcm90b3R5cGUuY3JlYXRlRWxlbWVudD1mdW5jdGlvbigpe3ZhciBiPWcuYXBwbHkodGhpcyxhcmd1bWVudHMpOyJ0ZW1wbGF0ZSI9PT1iLmxvY2FsTmFtZSYmYS5HKGIpO3JldHVybiBifTtET01QYXJzZXIucHJvdG90eXBlLnBhcnNlRnJvbVN0cmluZz0KZnVuY3Rpb24oKXt2YXIgYj1xLmFwcGx5KHRoaXMsYXJndW1lbnRzKTthLkMoYik7cmV0dXJuIGJ9O09iamVjdC5kZWZpbmVQcm9wZXJ0eShIVE1MRWxlbWVudC5wcm90b3R5cGUsImlubmVySFRNTCIse2dldDpmdW5jdGlvbigpe3JldHVybiBuYih0aGlzKX0sc2V0OmZ1bmN0aW9uKGIpe3guc2V0LmNhbGwodGhpcyxiKTthLkModGhpcyl9LGNvbmZpZ3VyYWJsZTohMCxlbnVtZXJhYmxlOiEwfSk7dmFyIFZlPS9bJlx1MDBBMCJdL2cseWM9L1smXHUwMEEwPD5dL2csemM9ZnVuY3Rpb24oYSl7c3dpdGNoKGEpe2Nhc2UgIiYiOnJldHVybiImYW1wOyI7Y2FzZSAiPCI6cmV0dXJuIiZsdDsiO2Nhc2UgIj4iOnJldHVybiImZ3Q7IjtjYXNlICciJzpyZXR1cm4iJnF1b3Q7IjtjYXNlICJcdTAwYTAiOnJldHVybiImbmJzcDsifX07Vj1mdW5jdGlvbihhKXtmb3IodmFyIGI9e30sYz0wO2M8YS5sZW5ndGg7YysrKWJbYVtjXV09ITA7cmV0dXJuIGJ9O3ZhciBXZT1WKCJhcmVhIGJhc2UgYnIgY29sIGNvbW1hbmQgZW1iZWQgaHIgaW1nIGlucHV0IGtleWdlbiBsaW5rIG1ldGEgcGFyYW0gc291cmNlIHRyYWNrIHdiciIuc3BsaXQoIiAiKSksClhlPVYoInN0eWxlIHNjcmlwdCB4bXAgaWZyYW1lIG5vZW1iZWQgbm9mcmFtZXMgcGxhaW50ZXh0IG5vc2NyaXB0Ii5zcGxpdCgiICIpKSxuYj1mdW5jdGlvbihhLGIpeyJ0ZW1wbGF0ZSI9PT1hLmxvY2FsTmFtZSYmKGE9YS5jb250ZW50KTtmb3IodmFyIGM9IiIsZD1iP2IoYSk6TS5nZXQuY2FsbChhKSxlPTAsZj1kLmxlbmd0aCxnO2U8ZiYmKGc9ZFtlXSk7ZSsrKXthOnt2YXIgaD1nO3ZhciBrPWE7dmFyIGw9Yjtzd2l0Y2goaC5ub2RlVHlwZSl7Y2FzZSBOb2RlLkVMRU1FTlRfTk9ERTpmb3IodmFyIFA9aC5sb2NhbE5hbWUsbT0iPCIrUCxXPWguYXR0cmlidXRlcyxxPTA7az1XW3FdO3ErKyltKz0iICIray5uYW1lKyc9Iicray52YWx1ZS5yZXBsYWNlKFZlLHpjKSsnIic7bSs9Ij4iO2g9V2VbUF0/bTptK25iKGgsbCkrIjwvIitQKyI+IjticmVhayBhO2Nhc2UgTm9kZS5URVhUX05PREU6aD1oLmRhdGE7aD1rJiZYZVtrLmxvY2FsTmFtZV0/aDpoLnJlcGxhY2UoeWMsemMpO2JyZWFrIGE7CmNhc2UgTm9kZS5DT01NRU5UX05PREU6aD0iXHgzYyEtLSIraC5kYXRhKyItLVx4M2UiO2JyZWFrIGE7ZGVmYXVsdDp0aHJvdyB3aW5kb3cuY29uc29sZS5lcnJvcihoKSxFcnJvcigibm90IGltcGxlbWVudGVkIik7fX1jKz1ofXJldHVybiBjfX1pZihjfHxtYil7YS5hPWZ1bmN0aW9uKGEsYil7dmFyIGM9Zi5jYWxsKGEsITEpO3RoaXMuRyYmdGhpcy5HKGMpO2ImJihsLmNhbGwoYy5jb250ZW50LGYuY2FsbChhLmNvbnRlbnQsITApKSxvYihjLmNvbnRlbnQsYS5jb250ZW50KSk7cmV0dXJuIGN9O3ZhciBvYj1mdW5jdGlvbihjLGQpe2lmKGQucXVlcnlTZWxlY3RvckFsbCYmKGQ9YihkLCJ0ZW1wbGF0ZSIpLDAhPT1kLmxlbmd0aCkpe2M9YihjLCJ0ZW1wbGF0ZSIpO2Zvcih2YXIgZT0wLGY9Yy5sZW5ndGgsZyxoO2U8ZjtlKyspaD1kW2VdLGc9Y1tlXSxhJiZhLkcmJmEuRyhoKSxtLmNhbGwoZy5wYXJlbnROb2RlLFllLmNhbGwoaCwhMCksZyl9fSxZZT1Ob2RlLnByb3RvdHlwZS5jbG9uZU5vZGU9CmZ1bmN0aW9uKGIpe2lmKCFlJiZkJiZ0aGlzIGluc3RhbmNlb2YgRG9jdW1lbnRGcmFnbWVudClpZihiKXZhciBjPVplLmNhbGwodGhpcy5vd25lckRvY3VtZW50LHRoaXMsITApO2Vsc2UgcmV0dXJuIHRoaXMub3duZXJEb2N1bWVudC5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCk7ZWxzZSB0aGlzLm5vZGVUeXBlPT09Tm9kZS5FTEVNRU5UX05PREUmJiJ0ZW1wbGF0ZSI9PT10aGlzLmxvY2FsTmFtZSYmdGhpcy5uYW1lc3BhY2VVUkk9PWRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5uYW1lc3BhY2VVUkk/Yz1hLmEodGhpcyxiKTpjPWYuY2FsbCh0aGlzLGIpO2ImJm9iKGMsdGhpcyk7cmV0dXJuIGN9LFplPURvY3VtZW50LnByb3RvdHlwZS5pbXBvcnROb2RlPWZ1bmN0aW9uKGMsZCl7ZD1kfHwhMTtpZigidGVtcGxhdGUiPT09Yy5sb2NhbE5hbWUpcmV0dXJuIGEuYShjLGQpO3ZhciBlPWguY2FsbCh0aGlzLGMsZCk7aWYoZCl7b2IoZSxjKTtjPWIoZSwnc2NyaXB0Om5vdChbdHlwZV0pLHNjcmlwdFt0eXBlPSJhcHBsaWNhdGlvbi9qYXZhc2NyaXB0Il0sc2NyaXB0W3R5cGU9InRleHQvamF2YXNjcmlwdCJdJyk7CmZvcih2YXIgZixrPTA7azxjLmxlbmd0aDtrKyspe2Y9Y1trXTtkPWcuY2FsbChkb2N1bWVudCwic2NyaXB0Iik7ZC50ZXh0Q29udGVudD1mLnRleHRDb250ZW50O2Zvcih2YXIgbD1mLmF0dHJpYnV0ZXMsUD0wLFc7UDxsLmxlbmd0aDtQKyspVz1sW1BdLGQuc2V0QXR0cmlidXRlKFcubmFtZSxXLnZhbHVlKTttLmNhbGwoZi5wYXJlbnROb2RlLGQsZil9fXJldHVybiBlfX1jJiYod2luZG93LkhUTUxUZW1wbGF0ZUVsZW1lbnQ9YSl9KSgpO3ZhciBrYT1zZXRUaW1lb3V0O2Z1bmN0aW9uIGxhKCl7fWZ1bmN0aW9uIG1hKGEsYil7cmV0dXJuIGZ1bmN0aW9uKCl7YS5hcHBseShiLGFyZ3VtZW50cyl9fWZ1bmN0aW9uIHIoYSl7aWYoISh0aGlzIGluc3RhbmNlb2YgcikpdGhyb3cgbmV3IFR5cGVFcnJvcigiUHJvbWlzZXMgbXVzdCBiZSBjb25zdHJ1Y3RlZCB2aWEgbmV3Iik7aWYoImZ1bmN0aW9uIiE9PXR5cGVvZiBhKXRocm93IG5ldyBUeXBlRXJyb3IoIm5vdCBhIGZ1bmN0aW9uIik7dGhpcy51PTA7dGhpcy5tYT0hMTt0aGlzLmg9dm9pZCAwO3RoaXMuST1bXTtuYShhLHRoaXMpfQpmdW5jdGlvbiBvYShhLGIpe2Zvcig7Mz09PWEudTspYT1hLmg7MD09PWEudT9hLkkucHVzaChiKTooYS5tYT0hMCxwYShmdW5jdGlvbigpe3ZhciBjPTE9PT1hLnU/Yi5OYTpiLk9hO2lmKG51bGw9PT1jKSgxPT09YS51P3FhOnJhKShiLmdhLGEuaCk7ZWxzZXt0cnl7dmFyIGQ9YyhhLmgpfWNhdGNoKGUpe3JhKGIuZ2EsZSk7cmV0dXJufXFhKGIuZ2EsZCl9fSkpfWZ1bmN0aW9uIHFhKGEsYil7dHJ5e2lmKGI9PT1hKXRocm93IG5ldyBUeXBlRXJyb3IoIkEgcHJvbWlzZSBjYW5ub3QgYmUgcmVzb2x2ZWQgd2l0aCBpdHNlbGYuIik7aWYoYiYmKCJvYmplY3QiPT09dHlwZW9mIGJ8fCJmdW5jdGlvbiI9PT10eXBlb2YgYikpe3ZhciBjPWIudGhlbjtpZihiIGluc3RhbmNlb2Ygcil7YS51PTM7YS5oPWI7c2EoYSk7cmV0dXJufWlmKCJmdW5jdGlvbiI9PT10eXBlb2YgYyl7bmEobWEoYyxiKSxhKTtyZXR1cm59fWEudT0xO2EuaD1iO3NhKGEpfWNhdGNoKGQpe3JhKGEsZCl9fQpmdW5jdGlvbiByYShhLGIpe2EudT0yO2EuaD1iO3NhKGEpfWZ1bmN0aW9uIHNhKGEpezI9PT1hLnUmJjA9PT1hLkkubGVuZ3RoJiZwYShmdW5jdGlvbigpe2EubWF8fCJ1bmRlZmluZWQiIT09dHlwZW9mIGNvbnNvbGUmJmNvbnNvbGUmJmNvbnNvbGUud2FybigiUG9zc2libGUgVW5oYW5kbGVkIFByb21pc2UgUmVqZWN0aW9uOiIsYS5oKX0pO2Zvcih2YXIgYj0wLGM9YS5JLmxlbmd0aDtiPGM7YisrKW9hKGEsYS5JW2JdKTthLkk9bnVsbH1mdW5jdGlvbiB0YShhLGIsYyl7dGhpcy5OYT0iZnVuY3Rpb24iPT09dHlwZW9mIGE/YTpudWxsO3RoaXMuT2E9ImZ1bmN0aW9uIj09PXR5cGVvZiBiP2I6bnVsbDt0aGlzLmdhPWN9ZnVuY3Rpb24gbmEoYSxiKXt2YXIgYz0hMTt0cnl7YShmdW5jdGlvbihhKXtjfHwoYz0hMCxxYShiLGEpKX0sZnVuY3Rpb24oYSl7Y3x8KGM9ITAscmEoYixhKSl9KX1jYXRjaChkKXtjfHwoYz0hMCxyYShiLGQpKX19CnIucHJvdG90eXBlWyJjYXRjaCJdPWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLnRoZW4obnVsbCxhKX07ci5wcm90b3R5cGUudGhlbj1mdW5jdGlvbihhLGIpe3ZhciBjPW5ldyB0aGlzLmNvbnN0cnVjdG9yKGxhKTtvYSh0aGlzLG5ldyB0YShhLGIsYykpO3JldHVybiBjfTtyLnByb3RvdHlwZVsiZmluYWxseSJdPWZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMuY29uc3RydWN0b3I7cmV0dXJuIHRoaXMudGhlbihmdW5jdGlvbihjKXtyZXR1cm4gYi5yZXNvbHZlKGEoKSkudGhlbihmdW5jdGlvbigpe3JldHVybiBjfSl9LGZ1bmN0aW9uKGMpe3JldHVybiBiLnJlc29sdmUoYSgpKS50aGVuKGZ1bmN0aW9uKCl7cmV0dXJuIGIucmVqZWN0KGMpfSl9KX07CmZ1bmN0aW9uIHdhKGEpe3JldHVybiBuZXcgcihmdW5jdGlvbihiLGMpe2Z1bmN0aW9uIGQoYSxnKXt0cnl7aWYoZyYmKCJvYmplY3QiPT09dHlwZW9mIGd8fCJmdW5jdGlvbiI9PT10eXBlb2YgZykpe3ZhciBoPWcudGhlbjtpZigiZnVuY3Rpb24iPT09dHlwZW9mIGgpe2guY2FsbChnLGZ1bmN0aW9uKGIpe2QoYSxiKX0sYyk7cmV0dXJufX1lW2FdPWc7MD09PS0tZiYmYihlKX1jYXRjaChtKXtjKG0pfX1pZighYXx8InVuZGVmaW5lZCI9PT10eXBlb2YgYS5sZW5ndGgpdGhyb3cgbmV3IFR5cGVFcnJvcigiUHJvbWlzZS5hbGwgYWNjZXB0cyBhbiBhcnJheSIpO3ZhciBlPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGEpO2lmKDA9PT1lLmxlbmd0aClyZXR1cm4gYihbXSk7Zm9yKHZhciBmPWUubGVuZ3RoLGc9MDtnPGUubGVuZ3RoO2crKylkKGcsZVtnXSl9KX0KZnVuY3Rpb24geGEoYSl7cmV0dXJuIGEmJiJvYmplY3QiPT09dHlwZW9mIGEmJmEuY29uc3RydWN0b3I9PT1yP2E6bmV3IHIoZnVuY3Rpb24oYil7YihhKX0pfWZ1bmN0aW9uIHlhKGEpe3JldHVybiBuZXcgcihmdW5jdGlvbihiLGMpe2MoYSl9KX1mdW5jdGlvbiB6YShhKXtyZXR1cm4gbmV3IHIoZnVuY3Rpb24oYixjKXtmb3IodmFyIGQ9MCxlPWEubGVuZ3RoO2Q8ZTtkKyspYVtkXS50aGVuKGIsYyl9KX12YXIgcGE9ImZ1bmN0aW9uIj09PXR5cGVvZiBzZXRJbW1lZGlhdGUmJmZ1bmN0aW9uKGEpe3NldEltbWVkaWF0ZShhKX18fGZ1bmN0aW9uKGEpe2thKGEsMCl9Oy8qCgpDb3B5cmlnaHQgKGMpIDIwMTcgVGhlIFBvbHltZXIgUHJvamVjdCBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgpUaGlzIGNvZGUgbWF5IG9ubHkgYmUgdXNlZCB1bmRlciB0aGUgQlNEIHN0eWxlIGxpY2Vuc2UgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0xJQ0VOU0UudHh0ClRoZSBjb21wbGV0ZSBzZXQgb2YgYXV0aG9ycyBtYXkgYmUgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0FVVEhPUlMudHh0ClRoZSBjb21wbGV0ZSBzZXQgb2YgY29udHJpYnV0b3JzIG1heSBiZSBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQ09OVFJJQlVUT1JTLnR4dApDb2RlIGRpc3RyaWJ1dGVkIGJ5IEdvb2dsZSBhcyBwYXJ0IG9mIHRoZSBwb2x5bWVyIHByb2plY3QgaXMgYWxzbwpzdWJqZWN0IHRvIGFuIGFkZGl0aW9uYWwgSVAgcmlnaHRzIGdyYW50IGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9QQVRFTlRTLnR4dAoqLwppZighd2luZG93LlByb21pc2Upe3dpbmRvdy5Qcm9taXNlPXI7ci5wcm90b3R5cGUudGhlbj1yLnByb3RvdHlwZS50aGVuO3IuYWxsPXdhO3IucmFjZT16YTtyLnJlc29sdmU9eGE7ci5yZWplY3Q9eWE7dmFyIEFhPWRvY3VtZW50LmNyZWF0ZVRleHROb2RlKCIiKSxCYT1bXTsobmV3IE11dGF0aW9uT2JzZXJ2ZXIoZnVuY3Rpb24oKXtmb3IodmFyIGE9QmEubGVuZ3RoLGI9MDtiPGE7YisrKUJhW2JdKCk7QmEuc3BsaWNlKDAsYSl9KSkub2JzZXJ2ZShBYSx7Y2hhcmFjdGVyRGF0YTohMH0pO3BhPWZ1bmN0aW9uKGEpe0JhLnB1c2goYSk7QWEudGV4dENvbnRlbnQ9MDxBYS50ZXh0Q29udGVudC5sZW5ndGg/IiI6ImEifX07KGZ1bmN0aW9uKGEpe2Z1bmN0aW9uIGIoYSxiKXtpZigiZnVuY3Rpb24iPT09dHlwZW9mIHdpbmRvdy5DdXN0b21FdmVudClyZXR1cm4gbmV3IEN1c3RvbUV2ZW50KGEsYik7dmFyIGM9ZG9jdW1lbnQuY3JlYXRlRXZlbnQoIkN1c3RvbUV2ZW50Iik7Yy5pbml0Q3VzdG9tRXZlbnQoYSwhIWIuYnViYmxlcywhIWIuY2FuY2VsYWJsZSxiLmRldGFpbCk7cmV0dXJuIGN9ZnVuY3Rpb24gYyhhKXtpZihNKXJldHVybiBhLm93bmVyRG9jdW1lbnQhPT1kb2N1bWVudD9hLm93bmVyRG9jdW1lbnQ6bnVsbDt2YXIgYj1hLl9faW1wb3J0RG9jO2lmKCFiJiZhLnBhcmVudE5vZGUpe2I9YS5wYXJlbnROb2RlO2lmKCJmdW5jdGlvbiI9PT10eXBlb2YgYi5jbG9zZXN0KWI9Yi5jbG9zZXN0KCJsaW5rW3JlbD1pbXBvcnRdIik7ZWxzZSBmb3IoOyFoKGIpJiYoYj1iLnBhcmVudE5vZGUpOyk7YS5fX2ltcG9ydERvYz1ifXJldHVybiBifWZ1bmN0aW9uIGQoYSl7dmFyIGI9bShkb2N1bWVudCwibGlua1tyZWw9aW1wb3J0XTpub3QoW2ltcG9ydC1kZXBlbmRlbmN5XSkiKSwKYz1iLmxlbmd0aDtjP3EoYixmdW5jdGlvbihiKXtyZXR1cm4gZyhiLGZ1bmN0aW9uKCl7MD09PS0tYyYmYSgpfSl9KTphKCl9ZnVuY3Rpb24gZShhKXtmdW5jdGlvbiBiKCl7ImxvYWRpbmciIT09ZG9jdW1lbnQucmVhZHlTdGF0ZSYmZG9jdW1lbnQuYm9keSYmKGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoInJlYWR5c3RhdGVjaGFuZ2UiLGIpLGEoKSl9ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigicmVhZHlzdGF0ZWNoYW5nZSIsYik7YigpfWZ1bmN0aW9uIGYoYSl7ZShmdW5jdGlvbigpe3JldHVybiBkKGZ1bmN0aW9uKCl7cmV0dXJuIGEmJmEoKX0pfSl9ZnVuY3Rpb24gZyhhLGIpe2lmKGEuX19sb2FkZWQpYiYmYigpO2Vsc2UgaWYoInNjcmlwdCI9PT1hLmxvY2FsTmFtZSYmIWEuc3JjfHwic3R5bGUiPT09YS5sb2NhbE5hbWUmJiFhLmZpcnN0Q2hpbGQpYS5fX2xvYWRlZD0hMCxiJiZiKCk7ZWxzZXt2YXIgYz1mdW5jdGlvbihkKXthLnJlbW92ZUV2ZW50TGlzdGVuZXIoZC50eXBlLApjKTthLl9fbG9hZGVkPSEwO2ImJmIoKX07YS5hZGRFdmVudExpc3RlbmVyKCJsb2FkIixjKTtoYSYmInN0eWxlIj09PWEubG9jYWxOYW1lfHxhLmFkZEV2ZW50TGlzdGVuZXIoImVycm9yIixjKX19ZnVuY3Rpb24gaChhKXtyZXR1cm4gYS5ub2RlVHlwZT09PU5vZGUuRUxFTUVOVF9OT0RFJiYibGluayI9PT1hLmxvY2FsTmFtZSYmImltcG9ydCI9PT1hLnJlbH1mdW5jdGlvbiBrKCl7dmFyIGE9dGhpczt0aGlzLmE9e307dGhpcy5iPTA7dGhpcy5jPW5ldyBNdXRhdGlvbk9ic2VydmVyKGZ1bmN0aW9uKGIpe3JldHVybiBhLkphKGIpfSk7dGhpcy5jLm9ic2VydmUoZG9jdW1lbnQuaGVhZCx7Y2hpbGRMaXN0OiEwLHN1YnRyZWU6ITB9KTt0aGlzLmxvYWRJbXBvcnRzKGRvY3VtZW50KX1mdW5jdGlvbiBsKGEpe3EobShhLCJ0ZW1wbGF0ZSIpLGZ1bmN0aW9uKGEpe3EobShhLmNvbnRlbnQsJ3NjcmlwdDpub3QoW3R5cGVdKSxzY3JpcHRbdHlwZT0iYXBwbGljYXRpb24vamF2YXNjcmlwdCJdLHNjcmlwdFt0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiXSxzY3JpcHRbdHlwZT0ibW9kdWxlIl0nKSwKZnVuY3Rpb24oYSl7dmFyIGI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic2NyaXB0Iik7cShhLmF0dHJpYnV0ZXMsZnVuY3Rpb24oYSl7cmV0dXJuIGIuc2V0QXR0cmlidXRlKGEubmFtZSxhLnZhbHVlKX0pO2IudGV4dENvbnRlbnQ9YS50ZXh0Q29udGVudDthLnBhcmVudE5vZGUucmVwbGFjZUNoaWxkKGIsYSl9KTtsKGEuY29udGVudCl9KX1mdW5jdGlvbiBtKGEsYil7cmV0dXJuIGEuY2hpbGROb2Rlcy5sZW5ndGg/YS5xdWVyeVNlbGVjdG9yQWxsKGIpOlV9ZnVuY3Rpb24gcShhLGIsYyl7dmFyIGQ9YT9hLmxlbmd0aDowLGU9Yz8tMToxO2ZvcihjPWM/ZC0xOjA7YzxkJiYwPD1jO2MrPWUpYihhW2NdLGMpfXZhciB4PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImxpbmsiKSxNPSJpbXBvcnQiaW4geCxVPXgucXVlcnlTZWxlY3RvckFsbCgiKiIpLHVhPW51bGw7ITE9PT0iY3VycmVudFNjcmlwdCJpbiBkb2N1bWVudCYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGRvY3VtZW50LCJjdXJyZW50U2NyaXB0IiwKe2dldDpmdW5jdGlvbigpe3JldHVybiB1YXx8KCJjb21wbGV0ZSIhPT1kb2N1bWVudC5yZWFkeVN0YXRlP2RvY3VtZW50LnNjcmlwdHNbZG9jdW1lbnQuc2NyaXB0cy5sZW5ndGgtMV06bnVsbCl9LGNvbmZpZ3VyYWJsZTohMH0pO3ZhciBsYj0vKHVybFwoKShbXildKikoXCkpL2csbWI9LyhAaW1wb3J0W1xzXSsoPyF1cmxcKCkpKFteO10qKSg7KS9nLFM9Lyg8bGlua1tePl0qKShyZWw9Wyd8Il0/c3R5bGVzaGVldFsnfCJdP1tePl0qPikvZyxDPXtFYTpmdW5jdGlvbihhLGIpe2EuaHJlZiYmYS5zZXRBdHRyaWJ1dGUoImhyZWYiLEMuWChhLmdldEF0dHJpYnV0ZSgiaHJlZiIpLGIpKTthLnNyYyYmYS5zZXRBdHRyaWJ1dGUoInNyYyIsQy5YKGEuZ2V0QXR0cmlidXRlKCJzcmMiKSxiKSk7aWYoInN0eWxlIj09PWEubG9jYWxOYW1lKXt2YXIgYz1DLnFhKGEudGV4dENvbnRlbnQsYixsYik7YS50ZXh0Q29udGVudD1DLnFhKGMsYixtYil9fSxxYTpmdW5jdGlvbihhLGIsYyl7cmV0dXJuIGEucmVwbGFjZShjLApmdW5jdGlvbihhLGMsZCxlKXthPWQucmVwbGFjZSgvWyInXS9nLCIiKTtiJiYoYT1DLlgoYSxiKSk7cmV0dXJuIGMrIiciK2ErIiciK2V9KX0sWDpmdW5jdGlvbihhLGIpe2lmKHZvaWQgMD09PUMuYWEpe0MuYWE9ITE7dHJ5e3ZhciBjPW5ldyBVUkwoImIiLCJodHRwOi8vYSIpO2MucGF0aG5hbWU9ImMlMjBkIjtDLmFhPSJodHRwOi8vYS9jJTIwZCI9PT1jLmhyZWZ9Y2F0Y2goeWMpe319aWYoQy5hYSlyZXR1cm4obmV3IFVSTChhLGIpKS5ocmVmO2M9Qy54YTtjfHwoYz1kb2N1bWVudC5pbXBsZW1lbnRhdGlvbi5jcmVhdGVIVE1MRG9jdW1lbnQoInRlbXAiKSxDLnhhPWMsYy5qYT1jLmNyZWF0ZUVsZW1lbnQoImJhc2UiKSxjLmhlYWQuYXBwZW5kQ2hpbGQoYy5qYSksYy5pYT1jLmNyZWF0ZUVsZW1lbnQoImEiKSk7Yy5qYS5ocmVmPWI7Yy5pYS5ocmVmPWE7cmV0dXJuIGMuaWEuaHJlZnx8YX19LFY9e2FzeW5jOiEwLGxvYWQ6ZnVuY3Rpb24oYSxiLGMpe2lmKGEpaWYoYS5tYXRjaCgvXmRhdGE6Lykpe2E9CmEuc3BsaXQoIiwiKTt2YXIgZD1hWzFdO2Q9LTE8YVswXS5pbmRleE9mKCI7YmFzZTY0Iik/YXRvYihkKTpkZWNvZGVVUklDb21wb25lbnQoZCk7YihkKX1lbHNle3ZhciBlPW5ldyBYTUxIdHRwUmVxdWVzdDtlLm9wZW4oIkdFVCIsYSxWLmFzeW5jKTtlLm9ubG9hZD1mdW5jdGlvbigpe3ZhciBhPWUucmVzcG9uc2VVUkx8fGUuZ2V0UmVzcG9uc2VIZWFkZXIoIkxvY2F0aW9uIik7YSYmMD09PWEuaW5kZXhPZigiLyIpJiYoYT0obG9jYXRpb24ub3JpZ2lufHxsb2NhdGlvbi5wcm90b2NvbCsiLy8iK2xvY2F0aW9uLmhvc3QpK2EpO3ZhciBkPWUucmVzcG9uc2V8fGUucmVzcG9uc2VUZXh0OzMwND09PWUuc3RhdHVzfHwwPT09ZS5zdGF0dXN8fDIwMDw9ZS5zdGF0dXMmJjMwMD5lLnN0YXR1cz9iKGQsYSk6YyhkKX07ZS5zZW5kKCl9ZWxzZSBjKCJlcnJvcjogaHJlZiBtdXN0IGJlIHNwZWNpZmllZCIpfX0saGE9L1RyaWRlbnQvLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCl8fC9FZGdlXC9cZC4vaS50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpOwprLnByb3RvdHlwZS5sb2FkSW1wb3J0cz1mdW5jdGlvbihhKXt2YXIgYj10aGlzO2E9bShhLCJsaW5rW3JlbD1pbXBvcnRdIik7cShhLGZ1bmN0aW9uKGEpe3JldHVybiBiLmcoYSl9KX07ay5wcm90b3R5cGUuZz1mdW5jdGlvbihhKXt2YXIgYj10aGlzLGM9YS5ocmVmO2lmKHZvaWQgMCE9PXRoaXMuYVtjXSl7dmFyIGQ9dGhpcy5hW2NdO2QmJmQuX19sb2FkZWQmJihhLl9faW1wb3J0PWQsdGhpcy5mKGEpKX1lbHNlIHRoaXMuYisrLHRoaXMuYVtjXT0icGVuZGluZyIsVi5sb2FkKGMsZnVuY3Rpb24oYSxkKXthPWIuS2EoYSxkfHxjKTtiLmFbY109YTtiLmItLTtiLmxvYWRJbXBvcnRzKGEpO2IubCgpfSxmdW5jdGlvbigpe2IuYVtjXT1udWxsO2IuYi0tO2IubCgpfSl9O2sucHJvdG90eXBlLkthPWZ1bmN0aW9uKGEsYil7aWYoIWEpcmV0dXJuIGRvY3VtZW50LmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKTtoYSYmKGE9YS5yZXBsYWNlKFMsZnVuY3Rpb24oYSxiLGMpe3JldHVybi0xPT09CmEuaW5kZXhPZigidHlwZT0iKT9iKyIgdHlwZT1pbXBvcnQtZGlzYWJsZSAiK2M6YX0pKTt2YXIgYz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ0ZW1wbGF0ZSIpO2MuaW5uZXJIVE1MPWE7aWYoYy5jb250ZW50KWE9Yy5jb250ZW50LGwoYSk7ZWxzZSBmb3IoYT1kb2N1bWVudC5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCk7Yy5maXJzdENoaWxkOylhLmFwcGVuZENoaWxkKGMuZmlyc3RDaGlsZCk7aWYoYz1hLnF1ZXJ5U2VsZWN0b3IoImJhc2UiKSliPUMuWChjLmdldEF0dHJpYnV0ZSgiaHJlZiIpLGIpLGMucmVtb3ZlQXR0cmlidXRlKCJocmVmIik7Yz1tKGEsJ2xpbmtbcmVsPWltcG9ydF0sbGlua1tyZWw9c3R5bGVzaGVldF1baHJlZl1bdHlwZT1pbXBvcnQtZGlzYWJsZV0sc3R5bGU6bm90KFt0eXBlXSksbGlua1tyZWw9c3R5bGVzaGVldF1baHJlZl06bm90KFt0eXBlXSksc2NyaXB0Om5vdChbdHlwZV0pLHNjcmlwdFt0eXBlPSJhcHBsaWNhdGlvbi9qYXZhc2NyaXB0Il0sc2NyaXB0W3R5cGU9InRleHQvamF2YXNjcmlwdCJdLHNjcmlwdFt0eXBlPSJtb2R1bGUiXScpOwp2YXIgZD0wO3EoYyxmdW5jdGlvbihhKXtnKGEpO0MuRWEoYSxiKTthLnNldEF0dHJpYnV0ZSgiaW1wb3J0LWRlcGVuZGVuY3kiLCIiKTtpZigic2NyaXB0Ij09PWEubG9jYWxOYW1lJiYhYS5zcmMmJmEudGV4dENvbnRlbnQpe2lmKCJtb2R1bGUiPT09YS50eXBlKXRocm93IEVycm9yKCJJbmxpbmUgbW9kdWxlIHNjcmlwdHMgYXJlIG5vdCBzdXBwb3J0ZWQgaW4gSFRNTCBJbXBvcnRzLiIpO2Euc2V0QXR0cmlidXRlKCJzcmMiLCJkYXRhOnRleHQvamF2YXNjcmlwdDtjaGFyc2V0PXV0Zi04LCIrZW5jb2RlVVJJQ29tcG9uZW50KGEudGV4dENvbnRlbnQrKCJcbi8vIyBzb3VyY2VVUkw9IitiKyhkPyItIitkOiIiKSsiLmpzXG4iKSkpO2EudGV4dENvbnRlbnQ9IiI7ZCsrfX0pO3JldHVybiBhfTtrLnByb3RvdHlwZS5sPWZ1bmN0aW9uKCl7dmFyIGE9dGhpcztpZighdGhpcy5iKXt0aGlzLmMuZGlzY29ubmVjdCgpO3RoaXMuZmxhdHRlbihkb2N1bWVudCk7dmFyIGI9ITEsYz0hMSxkPWZ1bmN0aW9uKCl7YyYmCmImJihhLmxvYWRJbXBvcnRzKGRvY3VtZW50KSxhLmJ8fChhLmMub2JzZXJ2ZShkb2N1bWVudC5oZWFkLHtjaGlsZExpc3Q6ITAsc3VidHJlZTohMH0pLGEuZGEoKSkpfTt0aGlzLk1hKGZ1bmN0aW9uKCl7Yz0hMDtkKCl9KTt0aGlzLkxhKGZ1bmN0aW9uKCl7Yj0hMDtkKCl9KX19O2sucHJvdG90eXBlLmZsYXR0ZW49ZnVuY3Rpb24oYSl7dmFyIGI9dGhpczthPW0oYSwibGlua1tyZWw9aW1wb3J0XSIpO3EoYSxmdW5jdGlvbihhKXt2YXIgYz1iLmFbYS5ocmVmXTsoYS5fX2ltcG9ydD1jKSYmYy5ub2RlVHlwZT09PU5vZGUuRE9DVU1FTlRfRlJBR01FTlRfTk9ERSYmKGIuYVthLmhyZWZdPWEsYS5yZWFkeVN0YXRlPSJsb2FkaW5nIixhLl9faW1wb3J0PWEsYi5mbGF0dGVuKGMpLGEuYXBwZW5kQ2hpbGQoYykpfSl9O2sucHJvdG90eXBlLkxhPWZ1bmN0aW9uKGEpe2Z1bmN0aW9uIGIoZSl7aWYoZTxkKXt2YXIgZj1jW2VdLGg9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic2NyaXB0Iik7Zi5yZW1vdmVBdHRyaWJ1dGUoImltcG9ydC1kZXBlbmRlbmN5Iik7CnEoZi5hdHRyaWJ1dGVzLGZ1bmN0aW9uKGEpe3JldHVybiBoLnNldEF0dHJpYnV0ZShhLm5hbWUsYS52YWx1ZSl9KTt1YT1oO2YucGFyZW50Tm9kZS5yZXBsYWNlQ2hpbGQoaCxmKTtnKGgsZnVuY3Rpb24oKXt1YT1udWxsO2IoZSsxKX0pfWVsc2UgYSgpfXZhciBjPW0oZG9jdW1lbnQsInNjcmlwdFtpbXBvcnQtZGVwZW5kZW5jeV0iKSxkPWMubGVuZ3RoO2IoMCl9O2sucHJvdG90eXBlLk1hPWZ1bmN0aW9uKGEpe3ZhciBiPW0oZG9jdW1lbnQsInN0eWxlW2ltcG9ydC1kZXBlbmRlbmN5XSxsaW5rW3JlbD1zdHlsZXNoZWV0XVtpbXBvcnQtZGVwZW5kZW5jeV0iKSxkPWIubGVuZ3RoO2lmKGQpe3ZhciBlPWhhJiYhIWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoImxpbmtbcmVsPXN0eWxlc2hlZXRdW2hyZWZdW3R5cGU9aW1wb3J0LWRpc2FibGVdIik7cShiLGZ1bmN0aW9uKGIpe2coYixmdW5jdGlvbigpe2IucmVtb3ZlQXR0cmlidXRlKCJpbXBvcnQtZGVwZW5kZW5jeSIpOzA9PT0tLWQmJgphKCl9KTtpZihlJiZiLnBhcmVudE5vZGUhPT1kb2N1bWVudC5oZWFkKXt2YXIgZj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KGIubG9jYWxOYW1lKTtmLl9fYXBwbGllZEVsZW1lbnQ9YjtmLnNldEF0dHJpYnV0ZSgidHlwZSIsImltcG9ydC1wbGFjZWhvbGRlciIpO2IucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoZixiLm5leHRTaWJsaW5nKTtmb3IoZj1jKGIpO2YmJmMoZik7KWY9YyhmKTtmLnBhcmVudE5vZGUhPT1kb2N1bWVudC5oZWFkJiYoZj1udWxsKTtkb2N1bWVudC5oZWFkLmluc2VydEJlZm9yZShiLGYpO2IucmVtb3ZlQXR0cmlidXRlKCJ0eXBlIil9fSl9ZWxzZSBhKCl9O2sucHJvdG90eXBlLmRhPWZ1bmN0aW9uKCl7dmFyIGE9dGhpcyxiPW0oZG9jdW1lbnQsImxpbmtbcmVsPWltcG9ydF0iKTtxKGIsZnVuY3Rpb24oYil7cmV0dXJuIGEuZihiKX0sITApfTtrLnByb3RvdHlwZS5mPWZ1bmN0aW9uKGEpe2EuX19sb2FkZWR8fChhLl9fbG9hZGVkPSEwLGEuaW1wb3J0JiYoYS5pbXBvcnQucmVhZHlTdGF0ZT0KImNvbXBsZXRlIiksYS5kaXNwYXRjaEV2ZW50KGIoYS5pbXBvcnQ/ImxvYWQiOiJlcnJvciIse2J1YmJsZXM6ITEsY2FuY2VsYWJsZTohMSxkZXRhaWw6dm9pZCAwfSkpKX07ay5wcm90b3R5cGUuSmE9ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcztxKGEsZnVuY3Rpb24oYSl7cmV0dXJuIHEoYS5hZGRlZE5vZGVzLGZ1bmN0aW9uKGEpe2EmJmEubm9kZVR5cGU9PT1Ob2RlLkVMRU1FTlRfTk9ERSYmKGgoYSk/Yi5nKGEpOmIubG9hZEltcG9ydHMoYSkpfSl9KX07dmFyIHZhPW51bGw7aWYoTSl4PW0oZG9jdW1lbnQsImxpbmtbcmVsPWltcG9ydF0iKSxxKHgsZnVuY3Rpb24oYSl7YS5pbXBvcnQmJiJsb2FkaW5nIj09PWEuaW1wb3J0LnJlYWR5U3RhdGV8fChhLl9fbG9hZGVkPSEwKX0pLHg9ZnVuY3Rpb24oYSl7YT1hLnRhcmdldDtoKGEpJiYoYS5fX2xvYWRlZD0hMCl9LGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLHgsITApLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoImVycm9yIiwKeCwhMCk7ZWxzZXt2YXIgWD1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKE5vZGUucHJvdG90eXBlLCJiYXNlVVJJIik7T2JqZWN0LmRlZmluZVByb3BlcnR5KCghWHx8WC5jb25maWd1cmFibGU/Tm9kZTpFbGVtZW50KS5wcm90b3R5cGUsImJhc2VVUkkiLHtnZXQ6ZnVuY3Rpb24oKXt2YXIgYT1oKHRoaXMpP3RoaXM6Yyh0aGlzKTtyZXR1cm4gYT9hLmhyZWY6WCYmWC5nZXQ/WC5nZXQuY2FsbCh0aGlzKTooZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiYmFzZSIpfHx3aW5kb3cubG9jYXRpb24pLmhyZWZ9LGNvbmZpZ3VyYWJsZTohMCxlbnVtZXJhYmxlOiEwfSk7T2JqZWN0LmRlZmluZVByb3BlcnR5KEhUTUxMaW5rRWxlbWVudC5wcm90b3R5cGUsImltcG9ydCIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9faW1wb3J0fHxudWxsfSxjb25maWd1cmFibGU6ITAsZW51bWVyYWJsZTohMH0pO2UoZnVuY3Rpb24oKXt2YT1uZXcga30pfWYoZnVuY3Rpb24oKXtyZXR1cm4gZG9jdW1lbnQuZGlzcGF0Y2hFdmVudChiKCJIVE1MSW1wb3J0c0xvYWRlZCIsCntjYW5jZWxhYmxlOiEwLGJ1YmJsZXM6ITAsZGV0YWlsOnZvaWQgMH0pKX0pO2EudXNlTmF0aXZlPU07YS53aGVuUmVhZHk9ZjthLmltcG9ydEZvckVsZW1lbnQ9YzthLmxvYWRJbXBvcnRzPWZ1bmN0aW9uKGEpe3ZhJiZ2YS5sb2FkSW1wb3J0cyhhKX19KSh3aW5kb3cuSFRNTEltcG9ydHM9d2luZG93LkhUTUxJbXBvcnRzfHx7fSk7LyoKCiBDb3B5cmlnaHQgKGMpIDIwMTQgVGhlIFBvbHltZXIgUHJvamVjdCBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogVGhpcyBjb2RlIG1heSBvbmx5IGJlIHVzZWQgdW5kZXIgdGhlIEJTRCBzdHlsZSBsaWNlbnNlIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9MSUNFTlNFLnR4dAogVGhlIGNvbXBsZXRlIHNldCBvZiBhdXRob3JzIG1heSBiZSBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQVVUSE9SUy50eHQKIFRoZSBjb21wbGV0ZSBzZXQgb2YgY29udHJpYnV0b3JzIG1heSBiZSBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQ09OVFJJQlVUT1JTLnR4dAogQ29kZSBkaXN0cmlidXRlZCBieSBHb29nbGUgYXMgcGFydCBvZiB0aGUgcG9seW1lciBwcm9qZWN0IGlzIGFsc28KIHN1YmplY3QgdG8gYW4gYWRkaXRpb25hbCBJUCByaWdodHMgZ3JhbnQgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL1BBVEVOVFMudHh0CiovCndpbmRvdy5XZWJDb21wb25lbnRzPXdpbmRvdy5XZWJDb21wb25lbnRzfHx7ZmxhZ3M6e319O3ZhciBDYT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdzY3JpcHRbc3JjKj0id2ViY29tcG9uZW50cy1saXRlLmpzIl0nKSxEYT0vd2MtKC4rKS8sdD17fTtpZighdC5ub09wdHMpe2xvY2F0aW9uLnNlYXJjaC5zbGljZSgxKS5zcGxpdCgiJiIpLmZvckVhY2goZnVuY3Rpb24oYSl7YT1hLnNwbGl0KCI9Iik7dmFyIGI7YVswXSYmKGI9YVswXS5tYXRjaChEYSkpJiYodFtiWzFdXT1hWzFdfHwhMCl9KTtpZihDYSlmb3IodmFyIEVhPTAsRmE9dm9pZCAwO0ZhPUNhLmF0dHJpYnV0ZXNbRWFdO0VhKyspInNyYyIhPT1GYS5uYW1lJiYodFtGYS5uYW1lXT1GYS52YWx1ZXx8ITApO2lmKHQubG9nJiZ0LmxvZy5zcGxpdCl7dmFyIEdhPXQubG9nLnNwbGl0KCIsIik7dC5sb2c9e307R2EuZm9yRWFjaChmdW5jdGlvbihhKXt0LmxvZ1thXT0hMH0pfWVsc2UgdC5sb2c9e319CndpbmRvdy5XZWJDb21wb25lbnRzLmZsYWdzPXQ7dmFyIEhhPXQuc2hhZHlkb207SGEmJih3aW5kb3cuU2hhZHlET009d2luZG93LlNoYWR5RE9NfHx7fSx3aW5kb3cuU2hhZHlET00uZm9yY2U9SGEpO3ZhciBJYT10LnJlZ2lzdGVyfHx0LmNlO0lhJiZ3aW5kb3cuY3VzdG9tRWxlbWVudHMmJih3aW5kb3cuY3VzdG9tRWxlbWVudHMuZm9yY2VQb2x5ZmlsbD1JYSk7LyoKCkNvcHlyaWdodCAoYykgMjAxNiBUaGUgUG9seW1lciBQcm9qZWN0IEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuClRoaXMgY29kZSBtYXkgb25seSBiZSB1c2VkIHVuZGVyIHRoZSBCU0Qgc3R5bGUgbGljZW5zZSBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vTElDRU5TRS50eHQKVGhlIGNvbXBsZXRlIHNldCBvZiBhdXRob3JzIG1heSBiZSBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQVVUSE9SUy50eHQKVGhlIGNvbXBsZXRlIHNldCBvZiBjb250cmlidXRvcnMgbWF5IGJlIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9DT05UUklCVVRPUlMudHh0CkNvZGUgZGlzdHJpYnV0ZWQgYnkgR29vZ2xlIGFzIHBhcnQgb2YgdGhlIHBvbHltZXIgcHJvamVjdCBpcyBhbHNvCnN1YmplY3QgdG8gYW4gYWRkaXRpb25hbCBJUCByaWdodHMgZ3JhbnQgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL1BBVEVOVFMudHh0CiovCmZ1bmN0aW9uIEphKCl7dGhpcy5wYT10aGlzLnJvb3Q9bnVsbDt0aGlzLlQ9ITE7dGhpcy5EPXRoaXMuUD10aGlzLmNhPXRoaXMuYXNzaWduZWRTbG90PXRoaXMuYXNzaWduZWROb2Rlcz10aGlzLkg9bnVsbDt0aGlzLmNoaWxkTm9kZXM9dGhpcy5uZXh0U2libGluZz10aGlzLnByZXZpb3VzU2libGluZz10aGlzLmxhc3RDaGlsZD10aGlzLmZpcnN0Q2hpbGQ9dGhpcy5wYXJlbnROb2RlPXRoaXMuSz12b2lkIDA7dGhpcy5rYT10aGlzLmxhPSExO3RoaXMuTz17fX1KYS5wcm90b3R5cGUudG9KU09OPWZ1bmN0aW9uKCl7cmV0dXJue319O2Z1bmN0aW9uIHUoYSl7YS5fX3NoYWR5fHwoYS5fX3NoYWR5PW5ldyBKYSk7cmV0dXJuIGEuX19zaGFkeX1mdW5jdGlvbiB2KGEpe3JldHVybiBhJiZhLl9fc2hhZHl9O3ZhciB3PXdpbmRvdy5TaGFkeURPTXx8e307dy5HYT0hKCFFbGVtZW50LnByb3RvdHlwZS5hdHRhY2hTaGFkb3d8fCFOb2RlLnByb3RvdHlwZS5nZXRSb290Tm9kZSk7dmFyIEthPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoTm9kZS5wcm90b3R5cGUsImZpcnN0Q2hpbGQiKTt3Lm09ISEoS2EmJkthLmNvbmZpZ3VyYWJsZSYmS2EuZ2V0KTt3LmVhPXcuZm9yY2V8fCF3LkdhO3cuSj13Lm5vUGF0Y2h8fCExO3cub2E9dy5wcmVmZXJQZXJmb3JtYW5jZTtmdW5jdGlvbiB5KGEpe3JldHVybihhPXYoYSkpJiZ2b2lkIDAhPT1hLmZpcnN0Q2hpbGR9ZnVuY3Rpb24geihhKXtyZXR1cm4iU2hhZHlSb290Ij09PWEuemF9ZnVuY3Rpb24gTGEoYSl7cmV0dXJuKGE9KGE9dihhKSkmJmEucm9vdCkmJk1hKGEpfQp2YXIgTmE9RWxlbWVudC5wcm90b3R5cGUsT2E9TmEubWF0Y2hlc3x8TmEubWF0Y2hlc1NlbGVjdG9yfHxOYS5tb3pNYXRjaGVzU2VsZWN0b3J8fE5hLm1zTWF0Y2hlc1NlbGVjdG9yfHxOYS5vTWF0Y2hlc1NlbGVjdG9yfHxOYS53ZWJraXRNYXRjaGVzU2VsZWN0b3IsUGE9ZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoIiIpLFFhPTAsUmE9W107KG5ldyBNdXRhdGlvbk9ic2VydmVyKGZ1bmN0aW9uKCl7Zm9yKDtSYS5sZW5ndGg7KXRyeXtSYS5zaGlmdCgpKCl9Y2F0Y2goYSl7dGhyb3cgUGEudGV4dENvbnRlbnQ9UWErKyxhO319KSkub2JzZXJ2ZShQYSx7Y2hhcmFjdGVyRGF0YTohMH0pO2Z1bmN0aW9uIFNhKGEpe1JhLnB1c2goYSk7UGEudGV4dENvbnRlbnQ9UWErK312YXIgVGE9ISFkb2N1bWVudC5jb250YWlucztmdW5jdGlvbiBVYShhLGIpe2Zvcig7Yjspe2lmKGI9PWEpcmV0dXJuITA7Yj1iLl9fc2hhZHlfcGFyZW50Tm9kZX1yZXR1cm4hMX0KZnVuY3Rpb24gVmEoYSl7Zm9yKHZhciBiPWEubGVuZ3RoLTE7MDw9YjtiLS0pe3ZhciBjPWFbYl0sZD1jLmdldEF0dHJpYnV0ZSgiaWQiKXx8Yy5nZXRBdHRyaWJ1dGUoIm5hbWUiKTtkJiYibGVuZ3RoIiE9PWQmJmlzTmFOKGQpJiYoYVtkXT1jKX1hLml0ZW09ZnVuY3Rpb24oYil7cmV0dXJuIGFbYl19O2EubmFtZWRJdGVtPWZ1bmN0aW9uKGIpe2lmKCJsZW5ndGgiIT09YiYmaXNOYU4oYikmJmFbYl0pcmV0dXJuIGFbYl07Zm9yKHZhciBjPWlhKGEpLGQ9Yy5uZXh0KCk7IWQuZG9uZTtkPWMubmV4dCgpKWlmKGQ9ZC52YWx1ZSwoZC5nZXRBdHRyaWJ1dGUoImlkIil8fGQuZ2V0QXR0cmlidXRlKCJuYW1lIikpPT1iKXJldHVybiBkO3JldHVybiBudWxsfTtyZXR1cm4gYX0KZnVuY3Rpb24gQShhLGIsYyxkKXtjPXZvaWQgMD09PWM/IiI6Yztmb3IodmFyIGUgaW4gYil7dmFyIGY9YltlXTtpZighKGQmJjA8PWQuaW5kZXhPZihlKSkpe2YuY29uZmlndXJhYmxlPSEwO3ZhciBnPWMrZTtpZihmLnZhbHVlKWFbZ109Zi52YWx1ZTtlbHNlIHRyeXtPYmplY3QuZGVmaW5lUHJvcGVydHkoYSxnLGYpfWNhdGNoKGgpe319fX1mdW5jdGlvbiBCKGEpe3ZhciBiPXt9O09iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKGEpLmZvckVhY2goZnVuY3Rpb24oYyl7YltjXT1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGEsYyl9KTtyZXR1cm4gYn07dmFyIFdhPVtdLFhhO2Z1bmN0aW9uIFlhKGEpe1hhfHwoWGE9ITAsU2EoWmEpKTtXYS5wdXNoKGEpfWZ1bmN0aW9uIFphKCl7WGE9ITE7Zm9yKHZhciBhPSEhV2EubGVuZ3RoO1dhLmxlbmd0aDspV2Euc2hpZnQoKSgpO3JldHVybiBhfVphLmxpc3Q9V2E7ZnVuY3Rpb24gJGEoKXt0aGlzLmE9ITE7dGhpcy5hZGRlZE5vZGVzPVtdO3RoaXMucmVtb3ZlZE5vZGVzPVtdO3RoaXMuUz1uZXcgU2V0fWZ1bmN0aW9uIGFiKGEpe2EuYXx8KGEuYT0hMCxTYShmdW5jdGlvbigpe2EuZmx1c2goKX0pKX0kYS5wcm90b3R5cGUuZmx1c2g9ZnVuY3Rpb24oKXtpZih0aGlzLmEpe3RoaXMuYT0hMTt2YXIgYT10aGlzLnRha2VSZWNvcmRzKCk7YS5sZW5ndGgmJnRoaXMuUy5mb3JFYWNoKGZ1bmN0aW9uKGIpe2IoYSl9KX19OyRhLnByb3RvdHlwZS50YWtlUmVjb3Jkcz1mdW5jdGlvbigpe2lmKHRoaXMuYWRkZWROb2Rlcy5sZW5ndGh8fHRoaXMucmVtb3ZlZE5vZGVzLmxlbmd0aCl7dmFyIGE9W3thZGRlZE5vZGVzOnRoaXMuYWRkZWROb2RlcyxyZW1vdmVkTm9kZXM6dGhpcy5yZW1vdmVkTm9kZXN9XTt0aGlzLmFkZGVkTm9kZXM9W107dGhpcy5yZW1vdmVkTm9kZXM9W107cmV0dXJuIGF9cmV0dXJuW119OwpmdW5jdGlvbiBiYihhLGIpe3ZhciBjPXUoYSk7Yy5IfHwoYy5IPW5ldyAkYSk7Yy5ILlMuYWRkKGIpO3ZhciBkPWMuSDtyZXR1cm57eWE6YixGOmQsQWE6YSx0YWtlUmVjb3JkczpmdW5jdGlvbigpe3JldHVybiBkLnRha2VSZWNvcmRzKCl9fX1mdW5jdGlvbiBjYihhKXt2YXIgYj1hJiZhLkY7YiYmKGIuUy5kZWxldGUoYS55YSksYi5TLnNpemV8fCh1KGEuQWEpLkg9bnVsbCkpfQpmdW5jdGlvbiBkYihhLGIpe3ZhciBjPWIuZ2V0Um9vdE5vZGUoKTtyZXR1cm4gYS5tYXAoZnVuY3Rpb24oYSl7dmFyIGI9Yz09PWEudGFyZ2V0LmdldFJvb3ROb2RlKCk7aWYoYiYmYS5hZGRlZE5vZGVzKXtpZihiPUFycmF5LmZyb20oYS5hZGRlZE5vZGVzKS5maWx0ZXIoZnVuY3Rpb24oYSl7cmV0dXJuIGM9PT1hLmdldFJvb3ROb2RlKCl9KSxiLmxlbmd0aClyZXR1cm4gYT1PYmplY3QuY3JlYXRlKGEpLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhLCJhZGRlZE5vZGVzIix7dmFsdWU6Yixjb25maWd1cmFibGU6ITB9KSxhfWVsc2UgaWYoYilyZXR1cm4gYX0pLmZpbHRlcihmdW5jdGlvbihhKXtyZXR1cm4gYX0pfTt2YXIgZWI9L1smXHUwMEEwIl0vZyxmYj0vWyZcdTAwQTA8Pl0vZztmdW5jdGlvbiBnYihhKXtzd2l0Y2goYSl7Y2FzZSAiJiI6cmV0dXJuIiZhbXA7IjtjYXNlICI8IjpyZXR1cm4iJmx0OyI7Y2FzZSAiPiI6cmV0dXJuIiZndDsiO2Nhc2UgJyInOnJldHVybiImcXVvdDsiO2Nhc2UgIlx1MDBhMCI6cmV0dXJuIiZuYnNwOyJ9fWZ1bmN0aW9uIGhiKGEpe2Zvcih2YXIgYj17fSxjPTA7YzxhLmxlbmd0aDtjKyspYlthW2NdXT0hMDtyZXR1cm4gYn12YXIgaWI9aGIoImFyZWEgYmFzZSBiciBjb2wgY29tbWFuZCBlbWJlZCBociBpbWcgaW5wdXQga2V5Z2VuIGxpbmsgbWV0YSBwYXJhbSBzb3VyY2UgdHJhY2sgd2JyIi5zcGxpdCgiICIpKSxqYj1oYigic3R5bGUgc2NyaXB0IHhtcCBpZnJhbWUgbm9lbWJlZCBub2ZyYW1lcyBwbGFpbnRleHQgbm9zY3JpcHQiLnNwbGl0KCIgIikpOwpmdW5jdGlvbiBrYihhLGIpeyJ0ZW1wbGF0ZSI9PT1hLmxvY2FsTmFtZSYmKGE9YS5jb250ZW50KTtmb3IodmFyIGM9IiIsZD1iP2IoYSk6YS5jaGlsZE5vZGVzLGU9MCxmPWQubGVuZ3RoLGc9dm9pZCAwO2U8ZiYmKGc9ZFtlXSk7ZSsrKXthOnt2YXIgaD1nO3ZhciBrPWEsbD1iO3N3aXRjaChoLm5vZGVUeXBlKXtjYXNlIE5vZGUuRUxFTUVOVF9OT0RFOms9aC5sb2NhbE5hbWU7Zm9yKHZhciBtPSI8IitrLHE9aC5hdHRyaWJ1dGVzLHg9MCxNO009cVt4XTt4KyspbSs9IiAiK00ubmFtZSsnPSInK00udmFsdWUucmVwbGFjZShlYixnYikrJyInO20rPSI+IjtoPWliW2tdP206bStrYihoLGwpKyI8LyIraysiPiI7YnJlYWsgYTtjYXNlIE5vZGUuVEVYVF9OT0RFOmg9aC5kYXRhO2g9ayYmamJbay5sb2NhbE5hbWVdP2g6aC5yZXBsYWNlKGZiLGdiKTticmVhayBhO2Nhc2UgTm9kZS5DT01NRU5UX05PREU6aD0iXHgzYyEtLSIraC5kYXRhKyItLVx4M2UiO2JyZWFrIGE7ZGVmYXVsdDp0aHJvdyB3aW5kb3cuY29uc29sZS5lcnJvcihoKSwKRXJyb3IoIm5vdCBpbXBsZW1lbnRlZCIpO319Yys9aH1yZXR1cm4gY307dmFyIHBiPXcubSxxYj17cXVlcnlTZWxlY3RvcjpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5fX3NoYWR5X25hdGl2ZV9xdWVyeVNlbGVjdG9yKGEpfSxxdWVyeVNlbGVjdG9yQWxsOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLl9fc2hhZHlfbmF0aXZlX3F1ZXJ5U2VsZWN0b3JBbGwoYSl9fSxyYj17fTtmdW5jdGlvbiBzYihhKXtyYlthXT1mdW5jdGlvbihiKXtyZXR1cm4gYlsiX19zaGFkeV9uYXRpdmVfIithXX19ZnVuY3Rpb24gdGIoYSxiKXtBKGEsYiwiX19zaGFkeV9uYXRpdmVfIik7Zm9yKHZhciBjIGluIGIpc2IoYyl9ZnVuY3Rpb24gRChhLGIpe2I9dm9pZCAwPT09Yj9bXTpiO2Zvcih2YXIgYz0wO2M8Yi5sZW5ndGg7YysrKXt2YXIgZD1iW2NdLGU9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihhLGQpO2UmJihPYmplY3QuZGVmaW5lUHJvcGVydHkoYSwiX19zaGFkeV9uYXRpdmVfIitkLGUpLGUudmFsdWU/cWJbZF18fChxYltkXT1lLnZhbHVlKTpzYihkKSl9fQp2YXIgRT1kb2N1bWVudC5jcmVhdGVUcmVlV2Fsa2VyKGRvY3VtZW50LE5vZGVGaWx0ZXIuU0hPV19BTEwsbnVsbCwhMSksRj1kb2N1bWVudC5jcmVhdGVUcmVlV2Fsa2VyKGRvY3VtZW50LE5vZGVGaWx0ZXIuU0hPV19FTEVNRU5ULG51bGwsITEpLHViPWRvY3VtZW50LmltcGxlbWVudGF0aW9uLmNyZWF0ZUhUTUxEb2N1bWVudCgiaW5lcnQiKTtmdW5jdGlvbiB2YihhKXtmb3IodmFyIGI7Yj1hLl9fc2hhZHlfbmF0aXZlX2ZpcnN0Q2hpbGQ7KWEuX19zaGFkeV9uYXRpdmVfcmVtb3ZlQ2hpbGQoYil9dmFyIHdiPVsiZmlyc3RFbGVtZW50Q2hpbGQiLCJsYXN0RWxlbWVudENoaWxkIiwiY2hpbGRyZW4iLCJjaGlsZEVsZW1lbnRDb3VudCJdLHhiPVsicXVlcnlTZWxlY3RvciIsInF1ZXJ5U2VsZWN0b3JBbGwiXTsKZnVuY3Rpb24geWIoKXt2YXIgYT1bImRpc3BhdGNoRXZlbnQiLCJhZGRFdmVudExpc3RlbmVyIiwicmVtb3ZlRXZlbnRMaXN0ZW5lciJdO3dpbmRvdy5FdmVudFRhcmdldD9EKHdpbmRvdy5FdmVudFRhcmdldC5wcm90b3R5cGUsYSk6KEQoTm9kZS5wcm90b3R5cGUsYSksRChXaW5kb3cucHJvdG90eXBlLGEpKTtwYj9EKE5vZGUucHJvdG90eXBlLCJwYXJlbnROb2RlIGZpcnN0Q2hpbGQgbGFzdENoaWxkIHByZXZpb3VzU2libGluZyBuZXh0U2libGluZyBjaGlsZE5vZGVzIHBhcmVudEVsZW1lbnQgdGV4dENvbnRlbnQiLnNwbGl0KCIgIikpOnRiKE5vZGUucHJvdG90eXBlLHtwYXJlbnROb2RlOntnZXQ6ZnVuY3Rpb24oKXtFLmN1cnJlbnROb2RlPXRoaXM7cmV0dXJuIEUucGFyZW50Tm9kZSgpfX0sZmlyc3RDaGlsZDp7Z2V0OmZ1bmN0aW9uKCl7RS5jdXJyZW50Tm9kZT10aGlzO3JldHVybiBFLmZpcnN0Q2hpbGQoKX19LGxhc3RDaGlsZDp7Z2V0OmZ1bmN0aW9uKCl7RS5jdXJyZW50Tm9kZT0KdGhpcztyZXR1cm4gRS5sYXN0Q2hpbGQoKX19LHByZXZpb3VzU2libGluZzp7Z2V0OmZ1bmN0aW9uKCl7RS5jdXJyZW50Tm9kZT10aGlzO3JldHVybiBFLnByZXZpb3VzU2libGluZygpfX0sbmV4dFNpYmxpbmc6e2dldDpmdW5jdGlvbigpe0UuY3VycmVudE5vZGU9dGhpcztyZXR1cm4gRS5uZXh0U2libGluZygpfX0sY2hpbGROb2Rlczp7Z2V0OmZ1bmN0aW9uKCl7dmFyIGE9W107RS5jdXJyZW50Tm9kZT10aGlzO2Zvcih2YXIgYz1FLmZpcnN0Q2hpbGQoKTtjOylhLnB1c2goYyksYz1FLm5leHRTaWJsaW5nKCk7cmV0dXJuIGF9fSxwYXJlbnRFbGVtZW50OntnZXQ6ZnVuY3Rpb24oKXtGLmN1cnJlbnROb2RlPXRoaXM7cmV0dXJuIEYucGFyZW50Tm9kZSgpfX0sdGV4dENvbnRlbnQ6e2dldDpmdW5jdGlvbigpe3N3aXRjaCh0aGlzLm5vZGVUeXBlKXtjYXNlIE5vZGUuRUxFTUVOVF9OT0RFOmNhc2UgTm9kZS5ET0NVTUVOVF9GUkFHTUVOVF9OT0RFOmZvcih2YXIgYT1kb2N1bWVudC5jcmVhdGVUcmVlV2Fsa2VyKHRoaXMsCk5vZGVGaWx0ZXIuU0hPV19URVhULG51bGwsITEpLGM9IiIsZDtkPWEubmV4dE5vZGUoKTspYys9ZC5ub2RlVmFsdWU7cmV0dXJuIGM7ZGVmYXVsdDpyZXR1cm4gdGhpcy5ub2RlVmFsdWV9fSxzZXQ6ZnVuY3Rpb24oYSl7aWYoInVuZGVmaW5lZCI9PT10eXBlb2YgYXx8bnVsbD09PWEpYT0iIjtzd2l0Y2godGhpcy5ub2RlVHlwZSl7Y2FzZSBOb2RlLkVMRU1FTlRfTk9ERTpjYXNlIE5vZGUuRE9DVU1FTlRfRlJBR01FTlRfTk9ERTp2Yih0aGlzKTsoMDxhLmxlbmd0aHx8dGhpcy5ub2RlVHlwZT09PU5vZGUuRUxFTUVOVF9OT0RFKSYmdGhpcy5fX3NoYWR5X25hdGl2ZV9pbnNlcnRCZWZvcmUoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoYSksdm9pZCAwKTticmVhaztkZWZhdWx0OnRoaXMubm9kZVZhbHVlPWF9fX19KTtEKE5vZGUucHJvdG90eXBlLCJhcHBlbmRDaGlsZCBpbnNlcnRCZWZvcmUgcmVtb3ZlQ2hpbGQgcmVwbGFjZUNoaWxkIGNsb25lTm9kZSBjb250YWlucyIuc3BsaXQoIiAiKSk7CmE9e2ZpcnN0RWxlbWVudENoaWxkOntnZXQ6ZnVuY3Rpb24oKXtGLmN1cnJlbnROb2RlPXRoaXM7cmV0dXJuIEYuZmlyc3RDaGlsZCgpfX0sbGFzdEVsZW1lbnRDaGlsZDp7Z2V0OmZ1bmN0aW9uKCl7Ri5jdXJyZW50Tm9kZT10aGlzO3JldHVybiBGLmxhc3RDaGlsZCgpfX0sY2hpbGRyZW46e2dldDpmdW5jdGlvbigpe3ZhciBhPVtdO0YuY3VycmVudE5vZGU9dGhpcztmb3IodmFyIGM9Ri5maXJzdENoaWxkKCk7YzspYS5wdXNoKGMpLGM9Ri5uZXh0U2libGluZygpO3JldHVybiBWYShhKX19LGNoaWxkRWxlbWVudENvdW50OntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5jaGlsZHJlbj90aGlzLmNoaWxkcmVuLmxlbmd0aDowfX19O3BiPyhEKEVsZW1lbnQucHJvdG90eXBlLHdiKSxEKEVsZW1lbnQucHJvdG90eXBlLFsicHJldmlvdXNFbGVtZW50U2libGluZyIsIm5leHRFbGVtZW50U2libGluZyIsImlubmVySFRNTCJdKSxPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEhUTUxFbGVtZW50LnByb3RvdHlwZSwKImNoaWxkcmVuIikmJkQoSFRNTEVsZW1lbnQucHJvdG90eXBlLFsiY2hpbGRyZW4iXSksT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihIVE1MRWxlbWVudC5wcm90b3R5cGUsImlubmVySFRNTCIpJiZEKEhUTUxFbGVtZW50LnByb3RvdHlwZSxbImlubmVySFRNTCJdKSk6KHRiKEVsZW1lbnQucHJvdG90eXBlLGEpLHRiKEVsZW1lbnQucHJvdG90eXBlLHtwcmV2aW91c0VsZW1lbnRTaWJsaW5nOntnZXQ6ZnVuY3Rpb24oKXtGLmN1cnJlbnROb2RlPXRoaXM7cmV0dXJuIEYucHJldmlvdXNTaWJsaW5nKCl9fSxuZXh0RWxlbWVudFNpYmxpbmc6e2dldDpmdW5jdGlvbigpe0YuY3VycmVudE5vZGU9dGhpcztyZXR1cm4gRi5uZXh0U2libGluZygpfX0saW5uZXJIVE1MOntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4ga2IodGhpcyxmdW5jdGlvbihhKXtyZXR1cm4gYS5fX3NoYWR5X25hdGl2ZV9jaGlsZE5vZGVzfSl9LHNldDpmdW5jdGlvbihhKXt2YXIgYj0idGVtcGxhdGUiPT09dGhpcy5sb2NhbE5hbWU/CnRoaXMuY29udGVudDp0aGlzO3ZiKGIpO3ZhciBkPXRoaXMubG9jYWxOYW1lfHwiZGl2IjtkPXRoaXMubmFtZXNwYWNlVVJJJiZ0aGlzLm5hbWVzcGFjZVVSSSE9PXViLm5hbWVzcGFjZVVSST91Yi5jcmVhdGVFbGVtZW50TlModGhpcy5uYW1lc3BhY2VVUkksZCk6dWIuY3JlYXRlRWxlbWVudChkKTtkLmlubmVySFRNTD1hO2ZvcihhPSJ0ZW1wbGF0ZSI9PT10aGlzLmxvY2FsTmFtZT9kLmNvbnRlbnQ6ZDtkPWEuX19zaGFkeV9uYXRpdmVfZmlyc3RDaGlsZDspYi5fX3NoYWR5X25hdGl2ZV9pbnNlcnRCZWZvcmUoZCx2b2lkIDApfX19KSk7RChFbGVtZW50LnByb3RvdHlwZSwic2V0QXR0cmlidXRlIGdldEF0dHJpYnV0ZSBoYXNBdHRyaWJ1dGUgcmVtb3ZlQXR0cmlidXRlIGZvY3VzIGJsdXIiLnNwbGl0KCIgIikpO0QoRWxlbWVudC5wcm90b3R5cGUseGIpO0QoSFRNTEVsZW1lbnQucHJvdG90eXBlLFsiZm9jdXMiLCJibHVyIiwiY29udGFpbnMiXSk7cGImJkQoSFRNTEVsZW1lbnQucHJvdG90eXBlLApbInBhcmVudEVsZW1lbnQiLCJjaGlsZHJlbiIsImlubmVySFRNTCJdKTt3aW5kb3cuSFRNTFRlbXBsYXRlRWxlbWVudCYmRCh3aW5kb3cuSFRNTFRlbXBsYXRlRWxlbWVudC5wcm90b3R5cGUsWyJpbm5lckhUTUwiXSk7cGI/RChEb2N1bWVudEZyYWdtZW50LnByb3RvdHlwZSx3Yik6dGIoRG9jdW1lbnRGcmFnbWVudC5wcm90b3R5cGUsYSk7RChEb2N1bWVudEZyYWdtZW50LnByb3RvdHlwZSx4Yik7cGI/KEQoRG9jdW1lbnQucHJvdG90eXBlLHdiKSxEKERvY3VtZW50LnByb3RvdHlwZSxbImFjdGl2ZUVsZW1lbnQiXSkpOnRiKERvY3VtZW50LnByb3RvdHlwZSxhKTtEKERvY3VtZW50LnByb3RvdHlwZSxbImltcG9ydE5vZGUiLCJnZXRFbGVtZW50QnlJZCJdKTtEKERvY3VtZW50LnByb3RvdHlwZSx4Yil9O3ZhciB6Yj1CKHtnZXQgY2hpbGROb2Rlcygpe3JldHVybiB0aGlzLl9fc2hhZHlfY2hpbGROb2Rlc30sZ2V0IGZpcnN0Q2hpbGQoKXtyZXR1cm4gdGhpcy5fX3NoYWR5X2ZpcnN0Q2hpbGR9LGdldCBsYXN0Q2hpbGQoKXtyZXR1cm4gdGhpcy5fX3NoYWR5X2xhc3RDaGlsZH0sZ2V0IHRleHRDb250ZW50KCl7cmV0dXJuIHRoaXMuX19zaGFkeV90ZXh0Q29udGVudH0sc2V0IHRleHRDb250ZW50KGEpe3RoaXMuX19zaGFkeV90ZXh0Q29udGVudD1hfSxnZXQgY2hpbGRFbGVtZW50Q291bnQoKXtyZXR1cm4gdGhpcy5fX3NoYWR5X2NoaWxkRWxlbWVudENvdW50fSxnZXQgY2hpbGRyZW4oKXtyZXR1cm4gdGhpcy5fX3NoYWR5X2NoaWxkcmVufSxnZXQgZmlyc3RFbGVtZW50Q2hpbGQoKXtyZXR1cm4gdGhpcy5fX3NoYWR5X2ZpcnN0RWxlbWVudENoaWxkfSxnZXQgbGFzdEVsZW1lbnRDaGlsZCgpe3JldHVybiB0aGlzLl9fc2hhZHlfbGFzdEVsZW1lbnRDaGlsZH0sZ2V0IGlubmVySFRNTCgpe3JldHVybiB0aGlzLl9fc2hhZHlfaW5uZXJIVE1MfSwKc2V0IGlubmVySFRNTChhKXtyZXR1cm4gdGhpcy5fX3NoYWR5X2lubmVySFRNTD1hfSxnZXQgc2hhZG93Um9vdCgpe3JldHVybiB0aGlzLl9fc2hhZHlfc2hhZG93Um9vdH19KSxBYj1CKHtnZXQgcGFyZW50RWxlbWVudCgpe3JldHVybiB0aGlzLl9fc2hhZHlfcGFyZW50RWxlbWVudH0sZ2V0IHBhcmVudE5vZGUoKXtyZXR1cm4gdGhpcy5fX3NoYWR5X3BhcmVudE5vZGV9LGdldCBuZXh0U2libGluZygpe3JldHVybiB0aGlzLl9fc2hhZHlfbmV4dFNpYmxpbmd9LGdldCBwcmV2aW91c1NpYmxpbmcoKXtyZXR1cm4gdGhpcy5fX3NoYWR5X3ByZXZpb3VzU2libGluZ30sZ2V0IG5leHRFbGVtZW50U2libGluZygpe3JldHVybiB0aGlzLl9fc2hhZHlfbmV4dEVsZW1lbnRTaWJsaW5nfSxnZXQgcHJldmlvdXNFbGVtZW50U2libGluZygpe3JldHVybiB0aGlzLl9fc2hhZHlfcHJldmlvdXNFbGVtZW50U2libGluZ30sZ2V0IGNsYXNzTmFtZSgpe3JldHVybiB0aGlzLl9fc2hhZHlfY2xhc3NOYW1lfSwKc2V0IGNsYXNzTmFtZShhKXtyZXR1cm4gdGhpcy5fX3NoYWR5X2NsYXNzTmFtZT1hfX0pLEJiO2ZvcihCYiBpbiB6Yil6YltCYl0uZW51bWVyYWJsZT0hMTtmb3IodmFyIENiIGluIEFiKUFiW0NiXS5lbnVtZXJhYmxlPSExO3ZhciBEYj13Lm18fHcuSixFYj1EYj9mdW5jdGlvbigpe306ZnVuY3Rpb24oYSl7dmFyIGI9dShhKTtiLmxhfHwoYi5sYT0hMCxBKGEsQWIpKX0sRmI9RGI/ZnVuY3Rpb24oKXt9OmZ1bmN0aW9uKGEpe3ZhciBiPXUoYSk7Yi5rYXx8KGIua2E9ITAsQShhLHpiKSl9O3ZhciBHYj0iX19ldmVudFdyYXBwZXJzIitEYXRlLm5vdygpLEhiPWZ1bmN0aW9uKCl7dmFyIGE9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihFdmVudC5wcm90b3R5cGUsImNvbXBvc2VkIik7cmV0dXJuIGE/ZnVuY3Rpb24oYil7cmV0dXJuIGEuZ2V0LmNhbGwoYil9Om51bGx9KCksSWI9e2JsdXI6ITAsZm9jdXM6ITAsZm9jdXNpbjohMCxmb2N1c291dDohMCxjbGljazohMCxkYmxjbGljazohMCxtb3VzZWRvd246ITAsbW91c2VlbnRlcjohMCxtb3VzZWxlYXZlOiEwLG1vdXNlbW92ZTohMCxtb3VzZW91dDohMCxtb3VzZW92ZXI6ITAsbW91c2V1cDohMCx3aGVlbDohMCxiZWZvcmVpbnB1dDohMCxpbnB1dDohMCxrZXlkb3duOiEwLGtleXVwOiEwLGNvbXBvc2l0aW9uc3RhcnQ6ITAsY29tcG9zaXRpb251cGRhdGU6ITAsY29tcG9zaXRpb25lbmQ6ITAsdG91Y2hzdGFydDohMCx0b3VjaGVuZDohMCx0b3VjaG1vdmU6ITAsdG91Y2hjYW5jZWw6ITAscG9pbnRlcm92ZXI6ITAsCnBvaW50ZXJlbnRlcjohMCxwb2ludGVyZG93bjohMCxwb2ludGVybW92ZTohMCxwb2ludGVydXA6ITAscG9pbnRlcmNhbmNlbDohMCxwb2ludGVyb3V0OiEwLHBvaW50ZXJsZWF2ZTohMCxnb3Rwb2ludGVyY2FwdHVyZTohMCxsb3N0cG9pbnRlcmNhcHR1cmU6ITAsZHJhZ3N0YXJ0OiEwLGRyYWc6ITAsZHJhZ2VudGVyOiEwLGRyYWdsZWF2ZTohMCxkcmFnb3ZlcjohMCxkcm9wOiEwLGRyYWdlbmQ6ITAsRE9NQWN0aXZhdGU6ITAsRE9NRm9jdXNJbjohMCxET01Gb2N1c091dDohMCxrZXlwcmVzczohMH0sSmI9e0RPTUF0dHJNb2RpZmllZDohMCxET01BdHRyaWJ1dGVOYW1lQ2hhbmdlZDohMCxET01DaGFyYWN0ZXJEYXRhTW9kaWZpZWQ6ITAsRE9NRWxlbWVudE5hbWVDaGFuZ2VkOiEwLERPTU5vZGVJbnNlcnRlZDohMCxET01Ob2RlSW5zZXJ0ZWRJbnRvRG9jdW1lbnQ6ITAsRE9NTm9kZVJlbW92ZWQ6ITAsRE9NTm9kZVJlbW92ZWRGcm9tRG9jdW1lbnQ6ITAsRE9NU3VidHJlZU1vZGlmaWVkOiEwfTsKZnVuY3Rpb24gS2IoYSl7cmV0dXJuIGEgaW5zdGFuY2VvZiBOb2RlP2EuX19zaGFkeV9nZXRSb290Tm9kZSgpOmF9ZnVuY3Rpb24gTGIoYSxiKXt2YXIgYz1bXSxkPWE7Zm9yKGE9S2IoYSk7ZDspYy5wdXNoKGQpLGQuX19zaGFkeV9hc3NpZ25lZFNsb3Q/ZD1kLl9fc2hhZHlfYXNzaWduZWRTbG90OmQubm9kZVR5cGU9PT1Ob2RlLkRPQ1VNRU5UX0ZSQUdNRU5UX05PREUmJmQuaG9zdCYmKGJ8fGQhPT1hKT9kPWQuaG9zdDpkPWQuX19zaGFkeV9wYXJlbnROb2RlO2NbYy5sZW5ndGgtMV09PT1kb2N1bWVudCYmYy5wdXNoKHdpbmRvdyk7cmV0dXJuIGN9ZnVuY3Rpb24gTWIoYSl7YS5fX2NvbXBvc2VkUGF0aHx8KGEuX19jb21wb3NlZFBhdGg9TGIoYS50YXJnZXQsITApKTtyZXR1cm4gYS5fX2NvbXBvc2VkUGF0aH0KZnVuY3Rpb24gTmIoYSxiKXtpZigheilyZXR1cm4gYTthPUxiKGEsITApO2Zvcih2YXIgYz0wLGQsZT12b2lkIDAsZixnPXZvaWQgMDtjPGIubGVuZ3RoO2MrKylpZihkPWJbY10sZj1LYihkKSxmIT09ZSYmKGc9YS5pbmRleE9mKGYpLGU9ZiksIXooZil8fC0xPGcpcmV0dXJuIGR9ZnVuY3Rpb24gT2IoYSl7ZnVuY3Rpb24gYihiLGQpe2I9bmV3IGEoYixkKTtiLl9fY29tcG9zZWQ9ZCYmISFkLmNvbXBvc2VkO3JldHVybiBifWIuX19wcm90b19fPWE7Yi5wcm90b3R5cGU9YS5wcm90b3R5cGU7cmV0dXJuIGJ9dmFyIFBiPXtmb2N1czohMCxibHVyOiEwfTtmdW5jdGlvbiBRYihhKXtyZXR1cm4gYS5fX3RhcmdldCE9PWEudGFyZ2V0fHxhLl9fcmVsYXRlZFRhcmdldCE9PWEucmVsYXRlZFRhcmdldH0KZnVuY3Rpb24gUmIoYSxiLGMpe2lmKGM9Yi5fX2hhbmRsZXJzJiZiLl9faGFuZGxlcnNbYS50eXBlXSYmYi5fX2hhbmRsZXJzW2EudHlwZV1bY10pZm9yKHZhciBkPTAsZTsoZT1jW2RdKSYmKCFRYihhKXx8YS50YXJnZXQhPT1hLnJlbGF0ZWRUYXJnZXQpJiYoZS5jYWxsKGIsYSksIWEuX19pbW1lZGlhdGVQcm9wYWdhdGlvblN0b3BwZWQpO2QrKyk7fQpmdW5jdGlvbiBTYihhKXt2YXIgYj1hLmNvbXBvc2VkUGF0aCgpO09iamVjdC5kZWZpbmVQcm9wZXJ0eShhLCJjdXJyZW50VGFyZ2V0Iix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGR9LGNvbmZpZ3VyYWJsZTohMH0pO2Zvcih2YXIgYz1iLmxlbmd0aC0xOzA8PWM7Yy0tKXt2YXIgZD1iW2NdO1JiKGEsZCwiY2FwdHVyZSIpO2lmKGEuWilyZXR1cm59T2JqZWN0LmRlZmluZVByb3BlcnR5KGEsImV2ZW50UGhhc2UiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gRXZlbnQuQVRfVEFSR0VUfX0pO3ZhciBlO2ZvcihjPTA7YzxiLmxlbmd0aDtjKyspe2Q9YltjXTt2YXIgZj12KGQpO2Y9ZiYmZi5yb290O2lmKDA9PT1jfHxmJiZmPT09ZSlpZihSYihhLGQsImJ1YmJsZSIpLGQhPT13aW5kb3cmJihlPWQuX19zaGFkeV9nZXRSb290Tm9kZSgpKSxhLlopYnJlYWt9fQpmdW5jdGlvbiBUYihhLGIsYyxkLGUsZil7Zm9yKHZhciBnPTA7ZzxhLmxlbmd0aDtnKyspe3ZhciBoPWFbZ10saz1oLnR5cGUsbD1oLmNhcHR1cmUsbT1oLm9uY2UscT1oLnBhc3NpdmU7aWYoYj09PWgubm9kZSYmYz09PWsmJmQ9PT1sJiZlPT09bSYmZj09PXEpcmV0dXJuIGd9cmV0dXJuLTF9CmZ1bmN0aW9uIFViKGEsYixjKXtpZihiKXt2YXIgZD10eXBlb2YgYjtpZigiZnVuY3Rpb24iPT09ZHx8Im9iamVjdCI9PT1kKWlmKCJvYmplY3QiIT09ZHx8Yi5oYW5kbGVFdmVudCYmImZ1bmN0aW9uIj09PXR5cGVvZiBiLmhhbmRsZUV2ZW50KXtpZihKYlthXSlyZXR1cm4gdGhpcy5fX3NoYWR5X25hdGl2ZV9hZGRFdmVudExpc3RlbmVyKGEsYixjKTtpZihjJiYib2JqZWN0Ij09PXR5cGVvZiBjKXt2YXIgZT0hIWMuY2FwdHVyZTt2YXIgZj0hIWMub25jZTt2YXIgZz0hIWMucGFzc2l2ZX1lbHNlIGU9ISFjLGc9Zj0hMTt2YXIgaD1jJiZjLiR8fHRoaXMsaz1iW0diXTtpZihrKXtpZigtMTxUYihrLGgsYSxlLGYsZykpcmV0dXJufWVsc2UgYltHYl09W107az1mdW5jdGlvbihlKXtmJiZ0aGlzLl9fc2hhZHlfcmVtb3ZlRXZlbnRMaXN0ZW5lcihhLGIsYyk7ZS5fX3RhcmdldHx8VmIoZSk7aWYoaCE9PXRoaXMpe3ZhciBnPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZSwiY3VycmVudFRhcmdldCIpOwpPYmplY3QuZGVmaW5lUHJvcGVydHkoZSwiY3VycmVudFRhcmdldCIse2dldDpmdW5jdGlvbigpe3JldHVybiBofSxjb25maWd1cmFibGU6ITB9KX1lLl9fcHJldmlvdXNDdXJyZW50VGFyZ2V0PWUuY3VycmVudFRhcmdldDtpZigheihoKXx8LTEhPWUuY29tcG9zZWRQYXRoKCkuaW5kZXhPZihoKSlpZihlLmNvbXBvc2VkfHwtMTxlLmNvbXBvc2VkUGF0aCgpLmluZGV4T2YoaCkpaWYoUWIoZSkmJmUudGFyZ2V0PT09ZS5yZWxhdGVkVGFyZ2V0KWUuZXZlbnRQaGFzZT09PUV2ZW50LkJVQkJMSU5HX1BIQVNFJiZlLnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpO2Vsc2UgaWYoZS5ldmVudFBoYXNlPT09RXZlbnQuQ0FQVFVSSU5HX1BIQVNFfHxlLmJ1YmJsZXN8fGUudGFyZ2V0PT09aHx8aCBpbnN0YW5jZW9mIFdpbmRvdyl7dmFyIGs9ImZ1bmN0aW9uIj09PWQ/Yi5jYWxsKGgsZSk6Yi5oYW5kbGVFdmVudCYmYi5oYW5kbGVFdmVudChlKTtoIT09dGhpcyYmKGc/KE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLAoiY3VycmVudFRhcmdldCIsZyksZz1udWxsKTpkZWxldGUgZS5jdXJyZW50VGFyZ2V0KTtyZXR1cm4ga319O2JbR2JdLnB1c2goe25vZGU6aCx0eXBlOmEsY2FwdHVyZTplLG9uY2U6ZixwYXNzaXZlOmcsWWE6a30pO1BiW2FdPyh0aGlzLl9faGFuZGxlcnM9dGhpcy5fX2hhbmRsZXJzfHx7fSx0aGlzLl9faGFuZGxlcnNbYV09dGhpcy5fX2hhbmRsZXJzW2FdfHx7Y2FwdHVyZTpbXSxidWJibGU6W119LHRoaXMuX19oYW5kbGVyc1thXVtlPyJjYXB0dXJlIjoiYnViYmxlIl0ucHVzaChrKSk6dGhpcy5fX3NoYWR5X25hdGl2ZV9hZGRFdmVudExpc3RlbmVyKGEsayxjKX19fQpmdW5jdGlvbiBXYihhLGIsYyl7aWYoYil7aWYoSmJbYV0pcmV0dXJuIHRoaXMuX19zaGFkeV9uYXRpdmVfcmVtb3ZlRXZlbnRMaXN0ZW5lcihhLGIsYyk7aWYoYyYmIm9iamVjdCI9PT10eXBlb2YgYyl7dmFyIGQ9ISFjLmNhcHR1cmU7dmFyIGU9ISFjLm9uY2U7dmFyIGY9ISFjLnBhc3NpdmV9ZWxzZSBkPSEhYyxmPWU9ITE7dmFyIGc9YyYmYy4kfHx0aGlzLGg9dm9pZCAwO3ZhciBrPW51bGw7dHJ5e2s9YltHYl19Y2F0Y2gobCl7fWsmJihlPVRiKGssZyxhLGQsZSxmKSwtMTxlJiYoaD1rLnNwbGljZShlLDEpWzBdLllhLGsubGVuZ3RofHwoYltHYl09dm9pZCAwKSkpO3RoaXMuX19zaGFkeV9uYXRpdmVfcmVtb3ZlRXZlbnRMaXN0ZW5lcihhLGh8fGIsYyk7aCYmUGJbYV0mJnRoaXMuX19oYW5kbGVycyYmdGhpcy5fX2hhbmRsZXJzW2FdJiYoYT10aGlzLl9faGFuZGxlcnNbYV1bZD8iY2FwdHVyZSI6ImJ1YmJsZSJdLGg9YS5pbmRleE9mKGgpLC0xPGgmJmEuc3BsaWNlKGgsMSkpfX0KZnVuY3Rpb24gWGIoKXtmb3IodmFyIGEgaW4gUGIpd2luZG93Ll9fc2hhZHlfbmF0aXZlX2FkZEV2ZW50TGlzdGVuZXIoYSxmdW5jdGlvbihhKXthLl9fdGFyZ2V0fHwoVmIoYSksU2IoYSkpfSwhMCl9CnZhciBZYj1CKHtnZXQgY29tcG9zZWQoKXt2b2lkIDA9PT10aGlzLl9fY29tcG9zZWQmJihIYj90aGlzLl9fY29tcG9zZWQ9ImZvY3VzaW4iPT09dGhpcy50eXBlfHwiZm9jdXNvdXQiPT09dGhpcy50eXBlfHxIYih0aGlzKTohMSE9PXRoaXMuaXNUcnVzdGVkJiYodGhpcy5fX2NvbXBvc2VkPUliW3RoaXMudHlwZV0pKTtyZXR1cm4gdGhpcy5fX2NvbXBvc2VkfHwhMX0sY29tcG9zZWRQYXRoOmZ1bmN0aW9uKCl7dGhpcy5fX2NvbXBvc2VkUGF0aHx8KHRoaXMuX19jb21wb3NlZFBhdGg9TGIodGhpcy5fX3RhcmdldCx0aGlzLmNvbXBvc2VkKSk7cmV0dXJuIHRoaXMuX19jb21wb3NlZFBhdGh9LGdldCB0YXJnZXQoKXtyZXR1cm4gTmIodGhpcy5jdXJyZW50VGFyZ2V0fHx0aGlzLl9fcHJldmlvdXNDdXJyZW50VGFyZ2V0LHRoaXMuY29tcG9zZWRQYXRoKCkpfSxnZXQgcmVsYXRlZFRhcmdldCgpe2lmKCF0aGlzLl9fcmVsYXRlZFRhcmdldClyZXR1cm4gbnVsbDt0aGlzLl9fcmVsYXRlZFRhcmdldENvbXBvc2VkUGF0aHx8Cih0aGlzLl9fcmVsYXRlZFRhcmdldENvbXBvc2VkUGF0aD1MYih0aGlzLl9fcmVsYXRlZFRhcmdldCwhMCkpO3JldHVybiBOYih0aGlzLmN1cnJlbnRUYXJnZXR8fHRoaXMuX19wcmV2aW91c0N1cnJlbnRUYXJnZXQsdGhpcy5fX3JlbGF0ZWRUYXJnZXRDb21wb3NlZFBhdGgpfSxzdG9wUHJvcGFnYXRpb246ZnVuY3Rpb24oKXtFdmVudC5wcm90b3R5cGUuc3RvcFByb3BhZ2F0aW9uLmNhbGwodGhpcyk7dGhpcy5aPSEwfSxzdG9wSW1tZWRpYXRlUHJvcGFnYXRpb246ZnVuY3Rpb24oKXtFdmVudC5wcm90b3R5cGUuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uLmNhbGwodGhpcyk7dGhpcy5aPXRoaXMuX19pbW1lZGlhdGVQcm9wYWdhdGlvblN0b3BwZWQ9ITB9fSk7CmZ1bmN0aW9uIFZiKGEpe2EuX190YXJnZXQ9YS50YXJnZXQ7YS5fX3JlbGF0ZWRUYXJnZXQ9YS5yZWxhdGVkVGFyZ2V0O2lmKHcubSl7dmFyIGI9T2JqZWN0LmdldFByb3RvdHlwZU9mKGEpO2lmKCFPYmplY3QuaGFzT3duUHJvcGVydHkoYiwiX19zaGFkeV9wYXRjaGVkUHJvdG8iKSl7dmFyIGM9T2JqZWN0LmNyZWF0ZShiKTtjLl9fc2hhZHlfc291cmNlUHJvdG89YjtBKGMsWWIpO2IuX19zaGFkeV9wYXRjaGVkUHJvdG89Y31hLl9fcHJvdG9fXz1iLl9fc2hhZHlfcGF0Y2hlZFByb3RvfWVsc2UgQShhLFliKX12YXIgWmI9T2IoRXZlbnQpLCRiPU9iKEN1c3RvbUV2ZW50KSxhYz1PYihNb3VzZUV2ZW50KTsKZnVuY3Rpb24gYmMoKXtpZighSGImJk9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoRXZlbnQucHJvdG90eXBlLCJpc1RydXN0ZWQiKSl7dmFyIGE9ZnVuY3Rpb24oKXt2YXIgYT1uZXcgTW91c2VFdmVudCgiY2xpY2siLHtidWJibGVzOiEwLGNhbmNlbGFibGU6ITAsY29tcG9zZWQ6ITB9KTt0aGlzLl9fc2hhZHlfZGlzcGF0Y2hFdmVudChhKX07RWxlbWVudC5wcm90b3R5cGUuY2xpY2s/RWxlbWVudC5wcm90b3R5cGUuY2xpY2s9YTpIVE1MRWxlbWVudC5wcm90b3R5cGUuY2xpY2smJihIVE1MRWxlbWVudC5wcm90b3R5cGUuY2xpY2s9YSl9fXZhciBjYz1PYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhEb2N1bWVudC5wcm90b3R5cGUpLmZpbHRlcihmdW5jdGlvbihhKXtyZXR1cm4ib24iPT09YS5zdWJzdHJpbmcoMCwyKX0pO2Z1bmN0aW9uIGRjKGEsYil7cmV0dXJue2luZGV4OmEsTDpbXSxSOmJ9fQpmdW5jdGlvbiBlYyhhLGIsYyxkKXt2YXIgZT0wLGY9MCxnPTAsaD0wLGs9TWF0aC5taW4oYi1lLGQtZik7aWYoMD09ZSYmMD09ZilhOntmb3IoZz0wO2c8aztnKyspaWYoYVtnXSE9PWNbZ10pYnJlYWsgYTtnPWt9aWYoYj09YS5sZW5ndGgmJmQ9PWMubGVuZ3RoKXtoPWEubGVuZ3RoO2Zvcih2YXIgbD1jLmxlbmd0aCxtPTA7bTxrLWcmJmZjKGFbLS1oXSxjWy0tbF0pOyltKys7aD1tfWUrPWc7Zis9ZztiLT1oO2QtPWg7aWYoMD09Yi1lJiYwPT1kLWYpcmV0dXJuW107aWYoZT09Yil7Zm9yKGI9ZGMoZSwwKTtmPGQ7KWIuTC5wdXNoKGNbZisrXSk7cmV0dXJuW2JdfWlmKGY9PWQpcmV0dXJuW2RjKGUsYi1lKV07az1lO2c9ZjtkPWQtZysxO2g9Yi1rKzE7Yj1BcnJheShkKTtmb3IobD0wO2w8ZDtsKyspYltsXT1BcnJheShoKSxiW2xdWzBdPWw7Zm9yKGw9MDtsPGg7bCsrKWJbMF1bbF09bDtmb3IobD0xO2w8ZDtsKyspZm9yKG09MTttPGg7bSsrKWlmKGFbayttLTFdPT09Y1tnK2wtMV0pYltsXVttXT0KYltsLTFdW20tMV07ZWxzZXt2YXIgcT1iW2wtMV1bbV0rMSx4PWJbbF1bbS0xXSsxO2JbbF1bbV09cTx4P3E6eH1rPWIubGVuZ3RoLTE7Zz1iWzBdLmxlbmd0aC0xO2Q9YltrXVtnXTtmb3IoYT1bXTswPGt8fDA8ZzspMD09az8oYS5wdXNoKDIpLGctLSk6MD09Zz8oYS5wdXNoKDMpLGstLSk6KGg9YltrLTFdW2ctMV0sbD1iW2stMV1bZ10sbT1iW2tdW2ctMV0scT1sPG0/bDxoP2w6aDptPGg/bTpoLHE9PWg/KGg9PWQ/YS5wdXNoKDApOihhLnB1c2goMSksZD1oKSxrLS0sZy0tKTpxPT1sPyhhLnB1c2goMyksay0tLGQ9bCk6KGEucHVzaCgyKSxnLS0sZD1tKSk7YS5yZXZlcnNlKCk7Yj12b2lkIDA7az1bXTtmb3IoZz0wO2c8YS5sZW5ndGg7ZysrKXN3aXRjaChhW2ddKXtjYXNlIDA6YiYmKGsucHVzaChiKSxiPXZvaWQgMCk7ZSsrO2YrKzticmVhaztjYXNlIDE6Ynx8KGI9ZGMoZSwwKSk7Yi5SKys7ZSsrO2IuTC5wdXNoKGNbZl0pO2YrKzticmVhaztjYXNlIDI6Ynx8KGI9ZGMoZSwwKSk7CmIuUisrO2UrKzticmVhaztjYXNlIDM6Ynx8KGI9ZGMoZSwwKSksYi5MLnB1c2goY1tmXSksZisrfWImJmsucHVzaChiKTtyZXR1cm4ga31mdW5jdGlvbiBmYyhhLGIpe3JldHVybiBhPT09Yn07ZnVuY3Rpb24gZ2MoYSxiLGMpe0ViKGEpO2M9Y3x8bnVsbDt2YXIgZD11KGEpLGU9dShiKSxmPWM/dShjKTpudWxsO2QucHJldmlvdXNTaWJsaW5nPWM/Zi5wcmV2aW91c1NpYmxpbmc6Yi5fX3NoYWR5X2xhc3RDaGlsZDtpZihmPXYoZC5wcmV2aW91c1NpYmxpbmcpKWYubmV4dFNpYmxpbmc9YTtpZihmPXYoZC5uZXh0U2libGluZz1jKSlmLnByZXZpb3VzU2libGluZz1hO2QucGFyZW50Tm9kZT1iO2M/Yz09PWUuZmlyc3RDaGlsZCYmKGUuZmlyc3RDaGlsZD1hKTooZS5sYXN0Q2hpbGQ9YSxlLmZpcnN0Q2hpbGR8fChlLmZpcnN0Q2hpbGQ9YSkpO2UuY2hpbGROb2Rlcz1udWxsfQpmdW5jdGlvbiBoYyhhLGIsYyl7RmIoYik7dmFyIGQ9dShiKTt2b2lkIDAhPT1kLmZpcnN0Q2hpbGQmJihkLmNoaWxkTm9kZXM9bnVsbCk7aWYoYS5ub2RlVHlwZT09PU5vZGUuRE9DVU1FTlRfRlJBR01FTlRfTk9ERSl7ZD1hLl9fc2hhZHlfY2hpbGROb2Rlcztmb3IodmFyIGU9MDtlPGQubGVuZ3RoO2UrKylnYyhkW2VdLGIsYyk7YT11KGEpO2I9dm9pZCAwIT09YS5maXJzdENoaWxkP251bGw6dm9pZCAwO2EuZmlyc3RDaGlsZD1hLmxhc3RDaGlsZD1iO2EuY2hpbGROb2Rlcz1ifWVsc2UgZ2MoYSxiLGMpfQpmdW5jdGlvbiBpYyhhLGIpe3ZhciBjPXUoYSk7Yj11KGIpO2E9PT1iLmZpcnN0Q2hpbGQmJihiLmZpcnN0Q2hpbGQ9Yy5uZXh0U2libGluZyk7YT09PWIubGFzdENoaWxkJiYoYi5sYXN0Q2hpbGQ9Yy5wcmV2aW91c1NpYmxpbmcpO2E9Yy5wcmV2aW91c1NpYmxpbmc7dmFyIGQ9Yy5uZXh0U2libGluZzthJiYodShhKS5uZXh0U2libGluZz1kKTtkJiYodShkKS5wcmV2aW91c1NpYmxpbmc9YSk7Yy5wYXJlbnROb2RlPWMucHJldmlvdXNTaWJsaW5nPWMubmV4dFNpYmxpbmc9dm9pZCAwO3ZvaWQgMCE9PWIuY2hpbGROb2RlcyYmKGIuY2hpbGROb2Rlcz1udWxsKX0KZnVuY3Rpb24gamMoYSl7dmFyIGI9dShhKTtpZih2b2lkIDA9PT1iLmZpcnN0Q2hpbGQpe2IuY2hpbGROb2Rlcz1udWxsO3ZhciBjPWIuZmlyc3RDaGlsZD1hLl9fc2hhZHlfbmF0aXZlX2ZpcnN0Q2hpbGR8fG51bGw7Yi5sYXN0Q2hpbGQ9YS5fX3NoYWR5X25hdGl2ZV9sYXN0Q2hpbGR8fG51bGw7RmIoYSk7Yj1jO2ZvcihjPXZvaWQgMDtiO2I9Yi5fX3NoYWR5X25hdGl2ZV9uZXh0U2libGluZyl7dmFyIGQ9dShiKTtkLnBhcmVudE5vZGU9YTtkLm5leHRTaWJsaW5nPWIuX19zaGFkeV9uYXRpdmVfbmV4dFNpYmxpbmd8fG51bGw7ZC5wcmV2aW91c1NpYmxpbmc9Y3x8bnVsbDtjPWI7RWIoYil9fX07dmFyIGtjPW51bGw7ZnVuY3Rpb24gRygpe2tjfHwoa2M9d2luZG93LlNoYWR5Q1NTJiZ3aW5kb3cuU2hhZHlDU1MuU2NvcGluZ1NoaW0pO3JldHVybiBrY3x8bnVsbH1mdW5jdGlvbiBsYyhhLGIpe3ZhciBjPUcoKTtjJiZjLnVuc2NvcGVOb2RlKGEsYil9ZnVuY3Rpb24gbWMoYSxiKXt2YXIgYz1HKCk7aWYoIWMpcmV0dXJuITA7aWYoYS5ub2RlVHlwZT09PU5vZGUuRE9DVU1FTlRfRlJBR01FTlRfTk9ERSl7Yz0hMDthPWEuX19zaGFkeV9jaGlsZE5vZGVzO2Zvcih2YXIgZD0wO2MmJmQ8YS5sZW5ndGg7ZCsrKWM9YyYmbWMoYVtkXSxiKTtyZXR1cm4gY31yZXR1cm4gYS5ub2RlVHlwZSE9PU5vZGUuRUxFTUVOVF9OT0RFPyEwOmMuY3VycmVudFNjb3BlRm9yTm9kZShhKT09PWJ9ZnVuY3Rpb24gbmMoYSl7aWYoYS5ub2RlVHlwZSE9PU5vZGUuRUxFTUVOVF9OT0RFKXJldHVybiIiO3ZhciBiPUcoKTtyZXR1cm4gYj9iLmN1cnJlbnRTY29wZUZvck5vZGUoYSk6IiJ9CmZ1bmN0aW9uIG9jKGEsYil7aWYoYSl7YS5ub2RlVHlwZT09PU5vZGUuRUxFTUVOVF9OT0RFJiZiKGEpO2E9YS5fX3NoYWR5X2NoaWxkTm9kZXM7Zm9yKHZhciBjPTAsZDtjPGEubGVuZ3RoO2MrKylkPWFbY10sZC5ub2RlVHlwZT09PU5vZGUuRUxFTUVOVF9OT0RFJiZvYyhkLGIpfX07dmFyIHBjPXdpbmRvdy5kb2N1bWVudCxxYz13Lm9hLHJjPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoTm9kZS5wcm90b3R5cGUsImlzQ29ubmVjdGVkIiksc2M9cmMmJnJjLmdldDtmdW5jdGlvbiB0YyhhKXtmb3IodmFyIGI7Yj1hLl9fc2hhZHlfZmlyc3RDaGlsZDspYS5fX3NoYWR5X3JlbW92ZUNoaWxkKGIpfWZ1bmN0aW9uIHVjKGEpe3ZhciBiPXYoYSk7aWYoYiYmdm9pZCAwIT09Yi5LKXtiPWEuX19zaGFkeV9jaGlsZE5vZGVzO2Zvcih2YXIgYz0wLGQ9Yi5sZW5ndGgsZT12b2lkIDA7YzxkJiYoZT1iW2NdKTtjKyspdWMoZSl9aWYoYT12KGEpKWEuSz12b2lkIDB9ZnVuY3Rpb24gdmMoYSl7dmFyIGI9YTthJiYic2xvdCI9PT1hLmxvY2FsTmFtZSYmKGI9KGI9KGI9dihhKSkmJmIuRCkmJmIubGVuZ3RoP2JbMF06dmMoYS5fX3NoYWR5X25leHRTaWJsaW5nKSk7cmV0dXJuIGJ9CmZ1bmN0aW9uIHdjKGEsYixjKXtpZihhPShhPXYoYSkpJiZhLkgpYiYmYS5hZGRlZE5vZGVzLnB1c2goYiksYyYmYS5yZW1vdmVkTm9kZXMucHVzaChjKSxhYihhKX0KdmFyIENjPUIoe2dldCBwYXJlbnROb2RlKCl7dmFyIGE9dih0aGlzKTthPWEmJmEucGFyZW50Tm9kZTtyZXR1cm4gdm9pZCAwIT09YT9hOnRoaXMuX19zaGFkeV9uYXRpdmVfcGFyZW50Tm9kZX0sZ2V0IGZpcnN0Q2hpbGQoKXt2YXIgYT12KHRoaXMpO2E9YSYmYS5maXJzdENoaWxkO3JldHVybiB2b2lkIDAhPT1hP2E6dGhpcy5fX3NoYWR5X25hdGl2ZV9maXJzdENoaWxkfSxnZXQgbGFzdENoaWxkKCl7dmFyIGE9dih0aGlzKTthPWEmJmEubGFzdENoaWxkO3JldHVybiB2b2lkIDAhPT1hP2E6dGhpcy5fX3NoYWR5X25hdGl2ZV9sYXN0Q2hpbGR9LGdldCBuZXh0U2libGluZygpe3ZhciBhPXYodGhpcyk7YT1hJiZhLm5leHRTaWJsaW5nO3JldHVybiB2b2lkIDAhPT1hP2E6dGhpcy5fX3NoYWR5X25hdGl2ZV9uZXh0U2libGluZ30sZ2V0IHByZXZpb3VzU2libGluZygpe3ZhciBhPXYodGhpcyk7YT1hJiZhLnByZXZpb3VzU2libGluZztyZXR1cm4gdm9pZCAwIT09YT9hOnRoaXMuX19zaGFkeV9uYXRpdmVfcHJldmlvdXNTaWJsaW5nfSwKZ2V0IGNoaWxkTm9kZXMoKXtpZih5KHRoaXMpKXt2YXIgYT12KHRoaXMpO2lmKCFhLmNoaWxkTm9kZXMpe2EuY2hpbGROb2Rlcz1bXTtmb3IodmFyIGI9dGhpcy5fX3NoYWR5X2ZpcnN0Q2hpbGQ7YjtiPWIuX19zaGFkeV9uZXh0U2libGluZylhLmNoaWxkTm9kZXMucHVzaChiKX12YXIgYz1hLmNoaWxkTm9kZXN9ZWxzZSBjPXRoaXMuX19zaGFkeV9uYXRpdmVfY2hpbGROb2RlcztjLml0ZW09ZnVuY3Rpb24oYSl7cmV0dXJuIGNbYV19O3JldHVybiBjfSxnZXQgcGFyZW50RWxlbWVudCgpe3ZhciBhPXYodGhpcyk7KGE9YSYmYS5wYXJlbnROb2RlKSYmYS5ub2RlVHlwZSE9PU5vZGUuRUxFTUVOVF9OT0RFJiYoYT1udWxsKTtyZXR1cm4gdm9pZCAwIT09YT9hOnRoaXMuX19zaGFkeV9uYXRpdmVfcGFyZW50RWxlbWVudH0sZ2V0IGlzQ29ubmVjdGVkKCl7aWYoc2MmJnNjLmNhbGwodGhpcykpcmV0dXJuITA7aWYodGhpcy5ub2RlVHlwZT09Tm9kZS5ET0NVTUVOVF9GUkFHTUVOVF9OT0RFKXJldHVybiExOwp2YXIgYT10aGlzLm93bmVyRG9jdW1lbnQ7aWYoVGEpe2lmKGEuX19zaGFkeV9uYXRpdmVfY29udGFpbnModGhpcykpcmV0dXJuITB9ZWxzZSBpZihhLmRvY3VtZW50RWxlbWVudCYmYS5kb2N1bWVudEVsZW1lbnQuX19zaGFkeV9uYXRpdmVfY29udGFpbnModGhpcykpcmV0dXJuITA7Zm9yKGE9dGhpczthJiYhKGEgaW5zdGFuY2VvZiBEb2N1bWVudCk7KWE9YS5fX3NoYWR5X3BhcmVudE5vZGV8fCh6KGEpP2EuaG9zdDp2b2lkIDApO3JldHVybiEhKGEmJmEgaW5zdGFuY2VvZiBEb2N1bWVudCl9LGdldCB0ZXh0Q29udGVudCgpe2lmKHkodGhpcykpe2Zvcih2YXIgYT1bXSxiPTAsYz10aGlzLl9fc2hhZHlfY2hpbGROb2RlcyxkO2Q9Y1tiXTtiKyspZC5ub2RlVHlwZSE9PU5vZGUuQ09NTUVOVF9OT0RFJiZhLnB1c2goZC5fX3NoYWR5X3RleHRDb250ZW50KTtyZXR1cm4gYS5qb2luKCIiKX1yZXR1cm4gdGhpcy5fX3NoYWR5X25hdGl2ZV90ZXh0Q29udGVudH0sc2V0IHRleHRDb250ZW50KGEpe2lmKCJ1bmRlZmluZWQiPT09CnR5cGVvZiBhfHxudWxsPT09YSlhPSIiO3N3aXRjaCh0aGlzLm5vZGVUeXBlKXtjYXNlIE5vZGUuRUxFTUVOVF9OT0RFOmNhc2UgTm9kZS5ET0NVTUVOVF9GUkFHTUVOVF9OT0RFOmlmKCF5KHRoaXMpJiZ3Lm0pe3ZhciBiPXRoaXMuX19zaGFkeV9maXJzdENoaWxkOyhiIT10aGlzLl9fc2hhZHlfbGFzdENoaWxkfHxiJiZiLm5vZGVUeXBlIT1Ob2RlLlRFWFRfTk9ERSkmJnRjKHRoaXMpO3RoaXMuX19zaGFkeV9uYXRpdmVfdGV4dENvbnRlbnQ9YX1lbHNlIHRjKHRoaXMpLCgwPGEubGVuZ3RofHx0aGlzLm5vZGVUeXBlPT09Tm9kZS5FTEVNRU5UX05PREUpJiZ0aGlzLl9fc2hhZHlfaW5zZXJ0QmVmb3JlKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKGEpKTticmVhaztkZWZhdWx0OnRoaXMubm9kZVZhbHVlPWF9fSxpbnNlcnRCZWZvcmU6ZnVuY3Rpb24oYSxiKXtpZih0aGlzLm93bmVyRG9jdW1lbnQhPT1wYyYmYS5vd25lckRvY3VtZW50IT09cGMpcmV0dXJuIHRoaXMuX19zaGFkeV9uYXRpdmVfaW5zZXJ0QmVmb3JlKGEsCmIpLGE7aWYoYT09PXRoaXMpdGhyb3cgRXJyb3IoIkZhaWxlZCB0byBleGVjdXRlICdhcHBlbmRDaGlsZCcgb24gJ05vZGUnOiBUaGUgbmV3IGNoaWxkIGVsZW1lbnQgY29udGFpbnMgdGhlIHBhcmVudC4iKTtpZihiKXt2YXIgYz12KGIpO2M9YyYmYy5wYXJlbnROb2RlO2lmKHZvaWQgMCE9PWMmJmMhPT10aGlzfHx2b2lkIDA9PT1jJiZiLl9fc2hhZHlfbmF0aXZlX3BhcmVudE5vZGUhPT10aGlzKXRocm93IEVycm9yKCJGYWlsZWQgdG8gZXhlY3V0ZSAnaW5zZXJ0QmVmb3JlJyBvbiAnTm9kZSc6IFRoZSBub2RlIGJlZm9yZSB3aGljaCB0aGUgbmV3IG5vZGUgaXMgdG8gYmUgaW5zZXJ0ZWQgaXMgbm90IGEgY2hpbGQgb2YgdGhpcyBub2RlLiIpO31pZihiPT09YSlyZXR1cm4gYTt2YXIgZD1bXSxlPShjPXhjKHRoaXMpKT9jLmhvc3QubG9jYWxOYW1lOm5jKHRoaXMpLGY9YS5fX3NoYWR5X3BhcmVudE5vZGU7aWYoZil7dmFyIGc9bmMoYSk7Zi5fX3NoYWR5X3JlbW92ZUNoaWxkKGEsISFjfHwKIXhjKGEpKX1mPSEwO3ZhciBoPSghcWN8fHZvaWQgMD09PWEuX19ub0luc2VydGlvblBvaW50KSYmIW1jKGEsZSksaz1jJiYhYS5fX25vSW5zZXJ0aW9uUG9pbnQmJighcWN8fGEubm9kZVR5cGU9PT1Ob2RlLkRPQ1VNRU5UX0ZSQUdNRU5UX05PREUpO2lmKGt8fGgpaCYmKGc9Z3x8bmMoYSkpLG9jKGEsZnVuY3Rpb24oYSl7ayYmInNsb3QiPT09YS5sb2NhbE5hbWUmJmQucHVzaChhKTtpZihoKXt2YXIgYj1nO0coKSYmKGImJmxjKGEsYiksKGI9RygpKSYmYi5zY29wZU5vZGUoYSxlKSl9fSk7aWYoInNsb3QiPT09dGhpcy5sb2NhbE5hbWV8fGQubGVuZ3RoKWQubGVuZ3RoJiYoYy5jPWMuY3x8W10sYy5hPWMuYXx8W10sYy5iPWMuYnx8e30sYy5jLnB1c2guYXBwbHkoYy5jLGQgaW5zdGFuY2VvZiBBcnJheT9kOmphKGlhKGQpKSkpLGMmJkFjKGMpO3kodGhpcykmJihoYyhhLHRoaXMsYiksYz12KHRoaXMpLExhKHRoaXMpPyhBYyhjLnJvb3QpLGY9ITEpOmMucm9vdCYmKGY9ITEpKTtmPwooYz16KHRoaXMpP3RoaXMuaG9zdDp0aGlzLGI/KGI9dmMoYiksYy5fX3NoYWR5X25hdGl2ZV9pbnNlcnRCZWZvcmUoYSxiKSk6Yy5fX3NoYWR5X25hdGl2ZV9hcHBlbmRDaGlsZChhKSk6YS5vd25lckRvY3VtZW50IT09dGhpcy5vd25lckRvY3VtZW50JiZ0aGlzLm93bmVyRG9jdW1lbnQuYWRvcHROb2RlKGEpO3djKHRoaXMsYSk7cmV0dXJuIGF9LGFwcGVuZENoaWxkOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLl9fc2hhZHlfaW5zZXJ0QmVmb3JlKGEpfSxyZW1vdmVDaGlsZDpmdW5jdGlvbihhLGIpe2I9dm9pZCAwPT09Yj8hMTpiO2lmKHRoaXMub3duZXJEb2N1bWVudCE9PXBjKXJldHVybiB0aGlzLl9fc2hhZHlfbmF0aXZlX3JlbW92ZUNoaWxkKGEpO2lmKGEuX19zaGFkeV9wYXJlbnROb2RlIT09dGhpcyl0aHJvdyBFcnJvcigiVGhlIG5vZGUgdG8gYmUgcmVtb3ZlZCBpcyBub3QgYSBjaGlsZCBvZiB0aGlzIG5vZGU6ICIrYSk7dmFyIGM9eGMoYSksZD1jJiZCYyhjLGEpLGU9dih0aGlzKTsKaWYoeSh0aGlzKSYmKGljKGEsdGhpcyksTGEodGhpcykpKXtBYyhlLnJvb3QpO3ZhciBmPSEwfWlmKEcoKSYmIWImJmMpe3ZhciBnPW5jKGEpO29jKGEsZnVuY3Rpb24oYSl7bGMoYSxnKX0pfXVjKGEpO2MmJigoYj10aGlzJiYic2xvdCI9PT10aGlzLmxvY2FsTmFtZSkmJihmPSEwKSwoZHx8YikmJkFjKGMpKTtmfHwoZj16KHRoaXMpP3RoaXMuaG9zdDp0aGlzLCghZS5yb290JiYic2xvdCIhPT1hLmxvY2FsTmFtZXx8Zj09PWEuX19zaGFkeV9uYXRpdmVfcGFyZW50Tm9kZSkmJmYuX19zaGFkeV9uYXRpdmVfcmVtb3ZlQ2hpbGQoYSkpO3djKHRoaXMsbnVsbCxhKTtyZXR1cm4gYX0scmVwbGFjZUNoaWxkOmZ1bmN0aW9uKGEsYil7dGhpcy5fX3NoYWR5X2luc2VydEJlZm9yZShhLGIpO3RoaXMuX19zaGFkeV9yZW1vdmVDaGlsZChiKTtyZXR1cm4gYX0sY2xvbmVOb2RlOmZ1bmN0aW9uKGEpe2lmKCJ0ZW1wbGF0ZSI9PXRoaXMubG9jYWxOYW1lKXJldHVybiB0aGlzLl9fc2hhZHlfbmF0aXZlX2Nsb25lTm9kZShhKTsKdmFyIGI9dGhpcy5fX3NoYWR5X25hdGl2ZV9jbG9uZU5vZGUoITEpO2lmKGEmJmIubm9kZVR5cGUhPT1Ob2RlLkFUVFJJQlVURV9OT0RFKXthPXRoaXMuX19zaGFkeV9jaGlsZE5vZGVzO2Zvcih2YXIgYz0wLGQ7YzxhLmxlbmd0aDtjKyspZD1hW2NdLl9fc2hhZHlfY2xvbmVOb2RlKCEwKSxiLl9fc2hhZHlfYXBwZW5kQ2hpbGQoZCl9cmV0dXJuIGJ9LGdldFJvb3ROb2RlOmZ1bmN0aW9uKGEpe2lmKHRoaXMmJnRoaXMubm9kZVR5cGUpe3ZhciBiPXUodGhpcyksYz1iLks7dm9pZCAwPT09YyYmKHoodGhpcyk/KGM9dGhpcyxiLks9Yyk6KGM9KGM9dGhpcy5fX3NoYWR5X3BhcmVudE5vZGUpP2MuX19zaGFkeV9nZXRSb290Tm9kZShhKTp0aGlzLGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5fX3NoYWR5X25hdGl2ZV9jb250YWlucyh0aGlzKSYmKGIuSz1jKSkpO3JldHVybiBjfX0sY29udGFpbnM6ZnVuY3Rpb24oYSl7cmV0dXJuIFVhKHRoaXMsYSl9fSk7ZnVuY3Rpb24gRGMoYSxiLGMpe3ZhciBkPVtdO0VjKGEuX19zaGFkeV9jaGlsZE5vZGVzLGIsYyxkKTtyZXR1cm4gZH1mdW5jdGlvbiBFYyhhLGIsYyxkKXtmb3IodmFyIGU9MCxmPWEubGVuZ3RoLGc9dm9pZCAwO2U8ZiYmKGc9YVtlXSk7ZSsrKXt2YXIgaDtpZihoPWcubm9kZVR5cGU9PT1Ob2RlLkVMRU1FTlRfTk9ERSl7aD1nO3ZhciBrPWIsbD1jLG09ZCxxPWsoaCk7cSYmbS5wdXNoKGgpO2wmJmwocSk/aD1xOihFYyhoLl9fc2hhZHlfY2hpbGROb2RlcyxrLGwsbSksaD12b2lkIDApfWlmKGgpYnJlYWt9fQp2YXIgRmM9Qih7Z2V0IGZpcnN0RWxlbWVudENoaWxkKCl7dmFyIGE9dih0aGlzKTtpZihhJiZ2b2lkIDAhPT1hLmZpcnN0Q2hpbGQpe2ZvcihhPXRoaXMuX19zaGFkeV9maXJzdENoaWxkO2EmJmEubm9kZVR5cGUhPT1Ob2RlLkVMRU1FTlRfTk9ERTspYT1hLl9fc2hhZHlfbmV4dFNpYmxpbmc7cmV0dXJuIGF9cmV0dXJuIHRoaXMuX19zaGFkeV9uYXRpdmVfZmlyc3RFbGVtZW50Q2hpbGR9LGdldCBsYXN0RWxlbWVudENoaWxkKCl7dmFyIGE9dih0aGlzKTtpZihhJiZ2b2lkIDAhPT1hLmxhc3RDaGlsZCl7Zm9yKGE9dGhpcy5fX3NoYWR5X2xhc3RDaGlsZDthJiZhLm5vZGVUeXBlIT09Tm9kZS5FTEVNRU5UX05PREU7KWE9YS5fX3NoYWR5X3ByZXZpb3VzU2libGluZztyZXR1cm4gYX1yZXR1cm4gdGhpcy5fX3NoYWR5X25hdGl2ZV9sYXN0RWxlbWVudENoaWxkfSxnZXQgY2hpbGRyZW4oKXtyZXR1cm4geSh0aGlzKT9WYShBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwodGhpcy5fX3NoYWR5X2NoaWxkTm9kZXMsCmZ1bmN0aW9uKGEpe3JldHVybiBhLm5vZGVUeXBlPT09Tm9kZS5FTEVNRU5UX05PREV9KSk6dGhpcy5fX3NoYWR5X25hdGl2ZV9jaGlsZHJlbn0sZ2V0IGNoaWxkRWxlbWVudENvdW50KCl7dmFyIGE9dGhpcy5fX3NoYWR5X2NoaWxkcmVuO3JldHVybiBhP2EubGVuZ3RoOjB9fSksR2M9Qih7cXVlcnlTZWxlY3RvcjpmdW5jdGlvbihhKXtyZXR1cm4gRGModGhpcyxmdW5jdGlvbihiKXtyZXR1cm4gT2EuY2FsbChiLGEpfSxmdW5jdGlvbihhKXtyZXR1cm4hIWF9KVswXXx8bnVsbH0scXVlcnlTZWxlY3RvckFsbDpmdW5jdGlvbihhLGIpe2lmKGIpe2I9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwodGhpcy5fX3NoYWR5X25hdGl2ZV9xdWVyeVNlbGVjdG9yQWxsKGEpKTt2YXIgYz10aGlzLl9fc2hhZHlfZ2V0Um9vdE5vZGUoKTtyZXR1cm4gYi5maWx0ZXIoZnVuY3Rpb24oYSl7cmV0dXJuIGEuX19zaGFkeV9nZXRSb290Tm9kZSgpPT1jfSl9cmV0dXJuIERjKHRoaXMsZnVuY3Rpb24oYil7cmV0dXJuIE9hLmNhbGwoYiwKYSl9KX19KSxIYz13Lm9hP09iamVjdC5hc3NpZ24oe30sRmMpOkZjO09iamVjdC5hc3NpZ24oRmMsR2MpO3ZhciBJYz1CKHtnZXRFbGVtZW50QnlJZDpmdW5jdGlvbihhKXtyZXR1cm4iIj09PWE/bnVsbDpEYyh0aGlzLGZ1bmN0aW9uKGIpe3JldHVybiBiLmlkPT1hfSxmdW5jdGlvbihhKXtyZXR1cm4hIWF9KVswXXx8bnVsbH19KTt2YXIgSmM9Qih7Z2V0IGFjdGl2ZUVsZW1lbnQoKXt2YXIgYT13Lm0/ZG9jdW1lbnQuX19zaGFkeV9uYXRpdmVfYWN0aXZlRWxlbWVudDpkb2N1bWVudC5hY3RpdmVFbGVtZW50O2lmKCFhfHwhYS5ub2RlVHlwZSlyZXR1cm4gbnVsbDt2YXIgYj0hIXoodGhpcyk7aWYoISh0aGlzPT09ZG9jdW1lbnR8fGImJnRoaXMuaG9zdCE9PWEmJnRoaXMuaG9zdC5fX3NoYWR5X25hdGl2ZV9jb250YWlucyhhKSkpcmV0dXJuIG51bGw7Zm9yKGI9eGMoYSk7YiYmYiE9PXRoaXM7KWE9Yi5ob3N0LGI9eGMoYSk7cmV0dXJuIHRoaXM9PT1kb2N1bWVudD9iP251bGw6YTpiPT09dGhpcz9hOm51bGx9fSk7dmFyIEtjPWRvY3VtZW50LmltcGxlbWVudGF0aW9uLmNyZWF0ZUhUTUxEb2N1bWVudCgiaW5lcnQiKSxMYz1CKHtnZXQgaW5uZXJIVE1MKCl7cmV0dXJuIHkodGhpcyk/a2IoInRlbXBsYXRlIj09PXRoaXMubG9jYWxOYW1lP3RoaXMuY29udGVudDp0aGlzLGZ1bmN0aW9uKGEpe3JldHVybiBhLl9fc2hhZHlfY2hpbGROb2Rlc30pOnRoaXMuX19zaGFkeV9uYXRpdmVfaW5uZXJIVE1MfSxzZXQgaW5uZXJIVE1MKGEpe2lmKCJ0ZW1wbGF0ZSI9PT10aGlzLmxvY2FsTmFtZSl0aGlzLl9fc2hhZHlfbmF0aXZlX2lubmVySFRNTD1hO2Vsc2V7dGModGhpcyk7dmFyIGI9dGhpcy5sb2NhbE5hbWV8fCJkaXYiO2I9dGhpcy5uYW1lc3BhY2VVUkkmJnRoaXMubmFtZXNwYWNlVVJJIT09S2MubmFtZXNwYWNlVVJJP0tjLmNyZWF0ZUVsZW1lbnROUyh0aGlzLm5hbWVzcGFjZVVSSSxiKTpLYy5jcmVhdGVFbGVtZW50KGIpO2Zvcih3Lm0/Yi5fX3NoYWR5X25hdGl2ZV9pbm5lckhUTUw9YTpiLmlubmVySFRNTD0KYTthPWIuX19zaGFkeV9maXJzdENoaWxkOyl0aGlzLl9fc2hhZHlfaW5zZXJ0QmVmb3JlKGEpfX19KTt2YXIgTWM9Qih7YWRkRXZlbnRMaXN0ZW5lcjpmdW5jdGlvbihhLGIsYyl7Im9iamVjdCIhPT10eXBlb2YgYyYmKGM9e2NhcHR1cmU6ISFjfSk7Yy4kPXRoaXM7dGhpcy5ob3N0Ll9fc2hhZHlfYWRkRXZlbnRMaXN0ZW5lcihhLGIsYyl9LHJlbW92ZUV2ZW50TGlzdGVuZXI6ZnVuY3Rpb24oYSxiLGMpeyJvYmplY3QiIT09dHlwZW9mIGMmJihjPXtjYXB0dXJlOiEhY30pO2MuJD10aGlzO3RoaXMuaG9zdC5fX3NoYWR5X3JlbW92ZUV2ZW50TGlzdGVuZXIoYSxiLGMpfX0pO2Z1bmN0aW9uIE5jKGEsYil7QShhLE1jLGIpO0EoYSxKYyxiKTtBKGEsTGMsYik7QShhLEZjLGIpO3cuSiYmIWI/KEEoYSxDYyxiKSxBKGEsSWMsYikpOncubXx8KEEoYSxBYiksQShhLHpiKSl9O3ZhciBPYz17fSxQYz13LmRlZmVyQ29ubmVjdGlvbkNhbGxiYWNrcyYmImxvYWRpbmciPT09ZG9jdW1lbnQucmVhZHlTdGF0ZSxRYztmdW5jdGlvbiBSYyhhKXt2YXIgYj1bXTtkbyBiLnVuc2hpZnQoYSk7d2hpbGUoYT1hLl9fc2hhZHlfcGFyZW50Tm9kZSk7cmV0dXJuIGJ9CmZ1bmN0aW9uIFNjKGEsYixjKXtpZihhIT09T2MpdGhyb3cgbmV3IFR5cGVFcnJvcigiSWxsZWdhbCBjb25zdHJ1Y3RvciIpO3RoaXMuemE9IlNoYWR5Um9vdCI7dGhpcy5ob3N0PWI7dGhpcy5tb2RlPWMmJmMubW9kZTtqYyhiKTthPXUoYik7YS5yb290PXRoaXM7YS5wYT0iY2xvc2VkIiE9PXRoaXMubW9kZT90aGlzOm51bGw7YT11KHRoaXMpO2EuZmlyc3RDaGlsZD1hLmxhc3RDaGlsZD1hLnBhcmVudE5vZGU9YS5uZXh0U2libGluZz1hLnByZXZpb3VzU2libGluZz1udWxsO2EuY2hpbGROb2Rlcz1bXTt0aGlzLmJhPXRoaXMuQj0hMTt0aGlzLmM9dGhpcy5iPXRoaXMuYT1udWxsO2lmKHcucHJlZmVyUGVyZm9ybWFuY2UpZm9yKDthPWIuX19zaGFkeV9uYXRpdmVfZmlyc3RDaGlsZDspYi5fX3NoYWR5X25hdGl2ZV9yZW1vdmVDaGlsZChhKTtlbHNlIEFjKHRoaXMpfWZ1bmN0aW9uIEFjKGEpe2EuQnx8KGEuQj0hMCxZYShmdW5jdGlvbigpe3JldHVybiBUYyhhKX0pKX0KZnVuY3Rpb24gVGMoYSl7dmFyIGI7aWYoYj1hLkIpe2Zvcih2YXIgYzthOylhOnthLkImJihjPWEpLGI9YTthPWIuaG9zdC5fX3NoYWR5X2dldFJvb3ROb2RlKCk7aWYoeihhKSYmKGI9dihiLmhvc3QpKSYmMDxiLk4pYnJlYWsgYTthPXZvaWQgMH1iPWN9KGM9YikmJmMuX3JlbmRlclNlbGYoKX0KU2MucHJvdG90eXBlLl9yZW5kZXJTZWxmPWZ1bmN0aW9uKCl7dmFyIGE9UGM7UGM9ITA7dGhpcy5CPSExO2lmKHRoaXMuYSl7VWModGhpcyk7Zm9yKHZhciBiPTAsYztiPHRoaXMuYS5sZW5ndGg7YisrKXtjPXRoaXMuYVtiXTt2YXIgZD12KGMpLGU9ZC5hc3NpZ25lZE5vZGVzO2QuYXNzaWduZWROb2Rlcz1bXTtkLkQ9W107aWYoZC5jYT1lKWZvcihkPTA7ZDxlLmxlbmd0aDtkKyspe3ZhciBmPXYoZVtkXSk7Zi5QPWYuYXNzaWduZWRTbG90O2YuYXNzaWduZWRTbG90PT09YyYmKGYuYXNzaWduZWRTbG90PW51bGwpfX1mb3IoYj10aGlzLmhvc3QuX19zaGFkeV9maXJzdENoaWxkO2I7Yj1iLl9fc2hhZHlfbmV4dFNpYmxpbmcpVmModGhpcyxiKTtmb3IoYj0wO2I8dGhpcy5hLmxlbmd0aDtiKyspe2M9dGhpcy5hW2JdO2U9dihjKTtpZighZS5hc3NpZ25lZE5vZGVzLmxlbmd0aClmb3IoZD1jLl9fc2hhZHlfZmlyc3RDaGlsZDtkO2Q9ZC5fX3NoYWR5X25leHRTaWJsaW5nKVZjKHRoaXMsCmQsYyk7KGQ9KGQ9dihjLl9fc2hhZHlfcGFyZW50Tm9kZSkpJiZkLnJvb3QpJiYoTWEoZCl8fGQuQikmJmQuX3JlbmRlclNlbGYoKTtXYyh0aGlzLGUuRCxlLmFzc2lnbmVkTm9kZXMpO2lmKGQ9ZS5jYSl7Zm9yKGY9MDtmPGQubGVuZ3RoO2YrKyl2KGRbZl0pLlA9bnVsbDtlLmNhPW51bGw7ZC5sZW5ndGg+ZS5hc3NpZ25lZE5vZGVzLmxlbmd0aCYmKGUuVD0hMCl9ZS5UJiYoZS5UPSExLFhjKHRoaXMsYykpfWM9dGhpcy5hO2I9W107Zm9yKGU9MDtlPGMubGVuZ3RoO2UrKylkPWNbZV0uX19zaGFkeV9wYXJlbnROb2RlLChmPXYoZCkpJiZmLnJvb3R8fCEoMD5iLmluZGV4T2YoZCkpfHxiLnB1c2goZCk7Zm9yKGM9MDtjPGIubGVuZ3RoO2MrKyl7Zj1iW2NdO2U9Zj09PXRoaXM/dGhpcy5ob3N0OmY7ZD1bXTtmPWYuX19zaGFkeV9jaGlsZE5vZGVzO2Zvcih2YXIgZz0wO2c8Zi5sZW5ndGg7ZysrKXt2YXIgaD1mW2ddO2lmKCJzbG90Ij09aC5sb2NhbE5hbWUpe2g9dihoKS5EO2Zvcih2YXIgaz0KMDtrPGgubGVuZ3RoO2srKylkLnB1c2goaFtrXSl9ZWxzZSBkLnB1c2goaCl9Zj1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChlLl9fc2hhZHlfbmF0aXZlX2NoaWxkTm9kZXMpO2c9ZWMoZCxkLmxlbmd0aCxmLGYubGVuZ3RoKTtrPWg9MDtmb3IodmFyIGw9dm9pZCAwO2g8Zy5sZW5ndGgmJihsPWdbaF0pO2grKyl7Zm9yKHZhciBtPTAscT12b2lkIDA7bTxsLkwubGVuZ3RoJiYocT1sLkxbbV0pO20rKylxLl9fc2hhZHlfbmF0aXZlX3BhcmVudE5vZGU9PT1lJiZlLl9fc2hhZHlfbmF0aXZlX3JlbW92ZUNoaWxkKHEpLGYuc3BsaWNlKGwuaW5kZXgraywxKTtrLT1sLlJ9az0wO2ZvcihsPXZvaWQgMDtrPGcubGVuZ3RoJiYobD1nW2tdKTtrKyspZm9yKGg9ZltsLmluZGV4XSxtPWwuaW5kZXg7bTxsLmluZGV4K2wuUjttKyspcT1kW21dLGUuX19zaGFkeV9uYXRpdmVfaW5zZXJ0QmVmb3JlKHEsaCksZi5zcGxpY2UobSwwLHEpfX1pZighdy5wcmVmZXJQZXJmb3JtYW5jZSYmIXRoaXMuYmEpZm9yKGI9CnRoaXMuaG9zdC5fX3NoYWR5X2NoaWxkTm9kZXMsYz0wLGU9Yi5sZW5ndGg7YzxlO2MrKylkPWJbY10sZj12KGQpLGQuX19zaGFkeV9uYXRpdmVfcGFyZW50Tm9kZSE9PXRoaXMuaG9zdHx8InNsb3QiIT09ZC5sb2NhbE5hbWUmJmYuYXNzaWduZWRTbG90fHx0aGlzLmhvc3QuX19zaGFkeV9uYXRpdmVfcmVtb3ZlQ2hpbGQoZCk7dGhpcy5iYT0hMDtQYz1hO1FjJiZRYygpfTtmdW5jdGlvbiBWYyhhLGIsYyl7dmFyIGQ9dShiKSxlPWQuUDtkLlA9bnVsbDtjfHwoYz0oYT1hLmJbYi5fX3NoYWR5X3Nsb3R8fCJfX2NhdGNoYWxsIl0pJiZhWzBdKTtjPyh1KGMpLmFzc2lnbmVkTm9kZXMucHVzaChiKSxkLmFzc2lnbmVkU2xvdD1jKTpkLmFzc2lnbmVkU2xvdD12b2lkIDA7ZSE9PWQuYXNzaWduZWRTbG90JiZkLmFzc2lnbmVkU2xvdCYmKHUoZC5hc3NpZ25lZFNsb3QpLlQ9ITApfQpmdW5jdGlvbiBXYyhhLGIsYyl7Zm9yKHZhciBkPTAsZT12b2lkIDA7ZDxjLmxlbmd0aCYmKGU9Y1tkXSk7ZCsrKWlmKCJzbG90Ij09ZS5sb2NhbE5hbWUpe3ZhciBmPXYoZSkuYXNzaWduZWROb2RlcztmJiZmLmxlbmd0aCYmV2MoYSxiLGYpfWVsc2UgYi5wdXNoKGNbZF0pfWZ1bmN0aW9uIFhjKGEsYil7Yi5fX3NoYWR5X25hdGl2ZV9kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgic2xvdGNoYW5nZSIpKTtiPXYoYik7Yi5hc3NpZ25lZFNsb3QmJlhjKGEsYi5hc3NpZ25lZFNsb3QpfQpmdW5jdGlvbiBVYyhhKXtpZihhLmMmJmEuYy5sZW5ndGgpe2Zvcih2YXIgYj1hLmMsYyxkPTA7ZDxiLmxlbmd0aDtkKyspe3ZhciBlPWJbZF07amMoZSk7dmFyIGY9ZS5fX3NoYWR5X3BhcmVudE5vZGU7amMoZik7Zj12KGYpO2YuTj0oZi5OfHwwKSsxO2Y9WWMoZSk7YS5iW2ZdPyhjPWN8fHt9LGNbZl09ITAsYS5iW2ZdLnB1c2goZSkpOmEuYltmXT1bZV07YS5hLnB1c2goZSl9aWYoYylmb3IodmFyIGcgaW4gYylhLmJbZ109WmMoYS5iW2ddKTthLmM9W119fWZ1bmN0aW9uIFljKGEpe3ZhciBiPWEubmFtZXx8YS5nZXRBdHRyaWJ1dGUoIm5hbWUiKXx8Il9fY2F0Y2hhbGwiO3JldHVybiBhLndhPWJ9CmZ1bmN0aW9uIFpjKGEpe3JldHVybiBhLnNvcnQoZnVuY3Rpb24oYSxjKXthPVJjKGEpO2Zvcih2YXIgYj1SYyhjKSxlPTA7ZTxhLmxlbmd0aDtlKyspe2M9YVtlXTt2YXIgZj1iW2VdO2lmKGMhPT1mKXJldHVybiBhPUFycmF5LmZyb20oYy5fX3NoYWR5X3BhcmVudE5vZGUuX19zaGFkeV9jaGlsZE5vZGVzKSxhLmluZGV4T2YoYyktYS5pbmRleE9mKGYpfX0pfQpmdW5jdGlvbiBCYyhhLGIpe2lmKGEuYSl7VWMoYSk7dmFyIGM9YS5iLGQ7Zm9yKGQgaW4gYylmb3IodmFyIGU9Y1tkXSxmPTA7ZjxlLmxlbmd0aDtmKyspe3ZhciBnPWVbZl07aWYoVWEoYixnKSl7ZS5zcGxpY2UoZiwxKTt2YXIgaD1hLmEuaW5kZXhPZihnKTswPD1oJiYoYS5hLnNwbGljZShoLDEpLChoPXYoZy5fX3NoYWR5X3BhcmVudE5vZGUpKSYmaC5OJiZoLk4tLSk7Zi0tO2c9dihnKTtpZihoPWcuRClmb3IodmFyIGs9MDtrPGgubGVuZ3RoO2srKyl7dmFyIGw9aFtrXSxtPWwuX19zaGFkeV9uYXRpdmVfcGFyZW50Tm9kZTttJiZtLl9fc2hhZHlfbmF0aXZlX3JlbW92ZUNoaWxkKGwpfWcuRD1bXTtnLmFzc2lnbmVkTm9kZXM9W107aD0hMH19cmV0dXJuIGh9fWZ1bmN0aW9uIE1hKGEpe1VjKGEpO3JldHVybiEoIWEuYXx8IWEuYS5sZW5ndGgpfQooZnVuY3Rpb24oYSl7YS5fX3Byb3RvX189RG9jdW1lbnRGcmFnbWVudC5wcm90b3R5cGU7TmMoYSwiX19zaGFkeV8iKTtOYyhhKTtPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhLHtub2RlVHlwZTp7dmFsdWU6Tm9kZS5ET0NVTUVOVF9GUkFHTUVOVF9OT0RFLGNvbmZpZ3VyYWJsZTohMH0sbm9kZU5hbWU6e3ZhbHVlOiIjZG9jdW1lbnQtZnJhZ21lbnQiLGNvbmZpZ3VyYWJsZTohMH0sbm9kZVZhbHVlOnt2YWx1ZTpudWxsLGNvbmZpZ3VyYWJsZTohMH19KTtbImxvY2FsTmFtZSIsIm5hbWVzcGFjZVVSSSIsInByZWZpeCJdLmZvckVhY2goZnVuY3Rpb24oYil7T2JqZWN0LmRlZmluZVByb3BlcnR5KGEsYix7dmFsdWU6dm9pZCAwLGNvbmZpZ3VyYWJsZTohMH0pfSk7WyJvd25lckRvY3VtZW50IiwiYmFzZVVSSSIsImlzQ29ubmVjdGVkIl0uZm9yRWFjaChmdW5jdGlvbihiKXtPYmplY3QuZGVmaW5lUHJvcGVydHkoYSxiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5ob3N0W2JdfSwKY29uZmlndXJhYmxlOiEwfSl9KX0pKFNjLnByb3RvdHlwZSk7CmlmKHdpbmRvdy5jdXN0b21FbGVtZW50cyYmdy5lYSYmIXcucHJlZmVyUGVyZm9ybWFuY2Upe3ZhciAkYz1uZXcgTWFwO1FjPWZ1bmN0aW9uKCl7dmFyIGE9W107JGMuZm9yRWFjaChmdW5jdGlvbihiLGMpe2EucHVzaChbYyxiXSl9KTskYy5jbGVhcigpO2Zvcih2YXIgYj0wO2I8YS5sZW5ndGg7YisrKXt2YXIgYz1hW2JdWzBdO2FbYl1bMV0/Yy51YSgpOmMudmEoKX19O1BjJiZkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJyZWFkeXN0YXRlY2hhbmdlIixmdW5jdGlvbigpe1BjPSExO1FjKCl9LHtvbmNlOiEwfSk7dmFyIGFkPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD0wLGU9Il9faXNDb25uZWN0ZWQiK2QrKztpZihifHxjKWEucHJvdG90eXBlLmNvbm5lY3RlZENhbGxiYWNrPWEucHJvdG90eXBlLnVhPWZ1bmN0aW9uKCl7UGM/JGMuc2V0KHRoaXMsITApOnRoaXNbZV18fCh0aGlzW2VdPSEwLGImJmIuY2FsbCh0aGlzKSl9LGEucHJvdG90eXBlLmRpc2Nvbm5lY3RlZENhbGxiYWNrPQphLnByb3RvdHlwZS52YT1mdW5jdGlvbigpe1BjP3RoaXMuaXNDb25uZWN0ZWR8fCRjLnNldCh0aGlzLCExKTp0aGlzW2VdJiYodGhpc1tlXT0hMSxjJiZjLmNhbGwodGhpcykpfTtyZXR1cm4gYX0sYmQ9d2luZG93LmN1c3RvbUVsZW1lbnRzLmRlZmluZTtPYmplY3QuZGVmaW5lUHJvcGVydHkod2luZG93LkN1c3RvbUVsZW1lbnRSZWdpc3RyeS5wcm90b3R5cGUsImRlZmluZSIse3ZhbHVlOmZ1bmN0aW9uKGEsYil7dmFyIGM9Yi5wcm90b3R5cGUuY29ubmVjdGVkQ2FsbGJhY2ssZD1iLnByb3RvdHlwZS5kaXNjb25uZWN0ZWRDYWxsYmFjaztiZC5jYWxsKHdpbmRvdy5jdXN0b21FbGVtZW50cyxhLGFkKGIsYyxkKSk7Yi5wcm90b3R5cGUuY29ubmVjdGVkQ2FsbGJhY2s9YztiLnByb3RvdHlwZS5kaXNjb25uZWN0ZWRDYWxsYmFjaz1kfX0pfWZ1bmN0aW9uIHhjKGEpe2E9YS5fX3NoYWR5X2dldFJvb3ROb2RlKCk7aWYoeihhKSlyZXR1cm4gYX07ZnVuY3Rpb24gY2QoYSl7dGhpcy5ub2RlPWF9bj1jZC5wcm90b3R5cGU7bi5hZGRFdmVudExpc3RlbmVyPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gdGhpcy5ub2RlLl9fc2hhZHlfYWRkRXZlbnRMaXN0ZW5lcihhLGIsYyl9O24ucmVtb3ZlRXZlbnRMaXN0ZW5lcj1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIHRoaXMubm9kZS5fX3NoYWR5X3JlbW92ZUV2ZW50TGlzdGVuZXIoYSxiLGMpfTtuLmFwcGVuZENoaWxkPWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLm5vZGUuX19zaGFkeV9hcHBlbmRDaGlsZChhKX07bi5pbnNlcnRCZWZvcmU9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gdGhpcy5ub2RlLl9fc2hhZHlfaW5zZXJ0QmVmb3JlKGEsYil9O24ucmVtb3ZlQ2hpbGQ9ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMubm9kZS5fX3NoYWR5X3JlbW92ZUNoaWxkKGEpfTtuLnJlcGxhY2VDaGlsZD1mdW5jdGlvbihhLGIpe3JldHVybiB0aGlzLm5vZGUuX19zaGFkeV9yZXBsYWNlQ2hpbGQoYSxiKX07Cm4uY2xvbmVOb2RlPWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLm5vZGUuX19zaGFkeV9jbG9uZU5vZGUoYSl9O24uZ2V0Um9vdE5vZGU9ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMubm9kZS5fX3NoYWR5X2dldFJvb3ROb2RlKGEpfTtuLmNvbnRhaW5zPWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLm5vZGUuX19zaGFkeV9jb250YWlucyhhKX07bi5kaXNwYXRjaEV2ZW50PWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLm5vZGUuX19zaGFkeV9kaXNwYXRjaEV2ZW50KGEpfTtuLnNldEF0dHJpYnV0ZT1mdW5jdGlvbihhLGIpe3RoaXMubm9kZS5fX3NoYWR5X3NldEF0dHJpYnV0ZShhLGIpfTtuLmdldEF0dHJpYnV0ZT1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5ub2RlLl9fc2hhZHlfbmF0aXZlX2dldEF0dHJpYnV0ZShhKX07bi5oYXNBdHRyaWJ1dGU9ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMubm9kZS5fX3NoYWR5X25hdGl2ZV9oYXNBdHRyaWJ1dGUoYSl9O24ucmVtb3ZlQXR0cmlidXRlPWZ1bmN0aW9uKGEpe3RoaXMubm9kZS5fX3NoYWR5X3JlbW92ZUF0dHJpYnV0ZShhKX07Cm4uYXR0YWNoU2hhZG93PWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLm5vZGUuX19zaGFkeV9hdHRhY2hTaGFkb3coYSl9O24uZm9jdXM9ZnVuY3Rpb24oKXt0aGlzLm5vZGUuX19zaGFkeV9uYXRpdmVfZm9jdXMoKX07bi5ibHVyPWZ1bmN0aW9uKCl7dGhpcy5ub2RlLl9fc2hhZHlfYmx1cigpfTtuLmltcG9ydE5vZGU9ZnVuY3Rpb24oYSxiKXtpZih0aGlzLm5vZGUubm9kZVR5cGU9PT1Ob2RlLkRPQ1VNRU5UX05PREUpcmV0dXJuIHRoaXMubm9kZS5fX3NoYWR5X2ltcG9ydE5vZGUoYSxiKX07bi5nZXRFbGVtZW50QnlJZD1mdW5jdGlvbihhKXtpZih0aGlzLm5vZGUubm9kZVR5cGU9PT1Ob2RlLkRPQ1VNRU5UX05PREUpcmV0dXJuIHRoaXMubm9kZS5fX3NoYWR5X2dldEVsZW1lbnRCeUlkKGEpfTtuLnF1ZXJ5U2VsZWN0b3I9ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMubm9kZS5fX3NoYWR5X3F1ZXJ5U2VsZWN0b3IoYSl9OwpuLnF1ZXJ5U2VsZWN0b3JBbGw9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gdGhpcy5ub2RlLl9fc2hhZHlfcXVlcnlTZWxlY3RvckFsbChhLGIpfTtuLmFzc2lnbmVkTm9kZXM9ZnVuY3Rpb24oYSl7aWYoInNsb3QiPT09dGhpcy5ub2RlLmxvY2FsTmFtZSlyZXR1cm4gdGhpcy5ub2RlLl9fc2hhZHlfYXNzaWduZWROb2RlcyhhKX07CnAuT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoY2QucHJvdG90eXBlLHthY3RpdmVFbGVtZW50Ontjb25maWd1cmFibGU6ITAsZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtpZih6KHRoaXMubm9kZSl8fHRoaXMubm9kZS5ub2RlVHlwZT09PU5vZGUuRE9DVU1FTlRfTk9ERSlyZXR1cm4gdGhpcy5ub2RlLl9fc2hhZHlfYWN0aXZlRWxlbWVudH19LF9hY3RpdmVFbGVtZW50Ontjb25maWd1cmFibGU6ITAsZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5hY3RpdmVFbGVtZW50fX0saG9zdDp7Y29uZmlndXJhYmxlOiEwLGVudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7aWYoeih0aGlzLm5vZGUpKXJldHVybiB0aGlzLm5vZGUuaG9zdH19LHBhcmVudE5vZGU6e2NvbmZpZ3VyYWJsZTohMCxlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLm5vZGUuX19zaGFkeV9wYXJlbnROb2RlfX0sZmlyc3RDaGlsZDp7Y29uZmlndXJhYmxlOiEwLAplbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLm5vZGUuX19zaGFkeV9maXJzdENoaWxkfX0sbGFzdENoaWxkOntjb25maWd1cmFibGU6ITAsZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5ub2RlLl9fc2hhZHlfbGFzdENoaWxkfX0sbmV4dFNpYmxpbmc6e2NvbmZpZ3VyYWJsZTohMCxlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLm5vZGUuX19zaGFkeV9uZXh0U2libGluZ319LHByZXZpb3VzU2libGluZzp7Y29uZmlndXJhYmxlOiEwLGVudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubm9kZS5fX3NoYWR5X3ByZXZpb3VzU2libGluZ319LGNoaWxkTm9kZXM6e2NvbmZpZ3VyYWJsZTohMCxlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLm5vZGUuX19zaGFkeV9jaGlsZE5vZGVzfX0scGFyZW50RWxlbWVudDp7Y29uZmlndXJhYmxlOiEwLGVudW1lcmFibGU6ITAsCmdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLm5vZGUuX19zaGFkeV9wYXJlbnRFbGVtZW50fX0sZmlyc3RFbGVtZW50Q2hpbGQ6e2NvbmZpZ3VyYWJsZTohMCxlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLm5vZGUuX19zaGFkeV9maXJzdEVsZW1lbnRDaGlsZH19LGxhc3RFbGVtZW50Q2hpbGQ6e2NvbmZpZ3VyYWJsZTohMCxlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLm5vZGUuX19zaGFkeV9sYXN0RWxlbWVudENoaWxkfX0sbmV4dEVsZW1lbnRTaWJsaW5nOntjb25maWd1cmFibGU6ITAsZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5ub2RlLl9fc2hhZHlfbmV4dEVsZW1lbnRTaWJsaW5nfX0scHJldmlvdXNFbGVtZW50U2libGluZzp7Y29uZmlndXJhYmxlOiEwLGVudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubm9kZS5fX3NoYWR5X3ByZXZpb3VzRWxlbWVudFNpYmxpbmd9fSwKY2hpbGRyZW46e2NvbmZpZ3VyYWJsZTohMCxlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLm5vZGUuX19zaGFkeV9jaGlsZHJlbn19LGNoaWxkRWxlbWVudENvdW50Ontjb25maWd1cmFibGU6ITAsZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5ub2RlLl9fc2hhZHlfY2hpbGRFbGVtZW50Q291bnR9fSxzaGFkb3dSb290Ontjb25maWd1cmFibGU6ITAsZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5ub2RlLl9fc2hhZHlfc2hhZG93Um9vdH19LGFzc2lnbmVkU2xvdDp7Y29uZmlndXJhYmxlOiEwLGVudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubm9kZS5fX3NoYWR5X2Fzc2lnbmVkU2xvdH19LGlzQ29ubmVjdGVkOntjb25maWd1cmFibGU6ITAsZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5ub2RlLl9fc2hhZHlfaXNDb25uZWN0ZWR9fSxpbm5lckhUTUw6e2NvbmZpZ3VyYWJsZTohMCwKZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5ub2RlLl9fc2hhZHlfaW5uZXJIVE1MfSxzZXQ6ZnVuY3Rpb24oYSl7dGhpcy5ub2RlLl9fc2hhZHlfaW5uZXJIVE1MPWF9fSx0ZXh0Q29udGVudDp7Y29uZmlndXJhYmxlOiEwLGVudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubm9kZS5fX3NoYWR5X3RleHRDb250ZW50fSxzZXQ6ZnVuY3Rpb24oYSl7dGhpcy5ub2RlLl9fc2hhZHlfdGV4dENvbnRlbnQ9YX19LHNsb3Q6e2NvbmZpZ3VyYWJsZTohMCxlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLm5vZGUuX19zaGFkeV9zbG90fSxzZXQ6ZnVuY3Rpb24oYSl7dGhpcy5ub2RlLl9fc2hhZHlfc2xvdD1hfX19KTsKY2MuZm9yRWFjaChmdW5jdGlvbihhKXtPYmplY3QuZGVmaW5lUHJvcGVydHkoY2QucHJvdG90eXBlLGEse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLm5vZGVbIl9fc2hhZHlfIithXX0sc2V0OmZ1bmN0aW9uKGIpe3RoaXMubm9kZVsiX19zaGFkeV8iK2FdPWJ9LGNvbmZpZ3VyYWJsZTohMH0pfSk7dmFyIGRkPW5ldyBXZWFrTWFwO2Z1bmN0aW9uIGVkKGEpe2lmKHooYSl8fGEgaW5zdGFuY2VvZiBjZClyZXR1cm4gYTt2YXIgYj1kZC5nZXQoYSk7Ynx8KGI9bmV3IGNkKGEpLGRkLnNldChhLGIpKTtyZXR1cm4gYn07dmFyIGZkPUIoe2Rpc3BhdGNoRXZlbnQ6ZnVuY3Rpb24oYSl7WmEoKTtyZXR1cm4gdGhpcy5fX3NoYWR5X25hdGl2ZV9kaXNwYXRjaEV2ZW50KGEpfSxhZGRFdmVudExpc3RlbmVyOlViLHJlbW92ZUV2ZW50TGlzdGVuZXI6V2J9KTt2YXIgZ2Q9Qih7Z2V0IGFzc2lnbmVkU2xvdCgpe3ZhciBhPXRoaXMuX19zaGFkeV9wYXJlbnROb2RlOyhhPWEmJmEuX19zaGFkeV9zaGFkb3dSb290KSYmVGMoYSk7cmV0dXJuKGE9dih0aGlzKSkmJmEuYXNzaWduZWRTbG90fHxudWxsfX0pO3ZhciBoZD13aW5kb3cuZG9jdW1lbnQ7ZnVuY3Rpb24gaWQoYSxiKXtpZigic2xvdCI9PT1iKWE9YS5fX3NoYWR5X3BhcmVudE5vZGUsTGEoYSkmJkFjKHYoYSkucm9vdCk7ZWxzZSBpZigic2xvdCI9PT1hLmxvY2FsTmFtZSYmIm5hbWUiPT09YiYmKGI9eGMoYSkpKXtpZihiLmEpe1VjKGIpO3ZhciBjPWEud2EsZD1ZYyhhKTtpZihkIT09Yyl7Yz1iLmJbY107dmFyIGU9Yy5pbmRleE9mKGEpOzA8PWUmJmMuc3BsaWNlKGUsMSk7Yz1iLmJbZF18fChiLmJbZF09W10pO2MucHVzaChhKTsxPGMubGVuZ3RoJiYoYi5iW2RdPVpjKGMpKX19QWMoYil9fQp2YXIgamQ9Qih7Z2V0IHByZXZpb3VzRWxlbWVudFNpYmxpbmcoKXt2YXIgYT12KHRoaXMpO2lmKGEmJnZvaWQgMCE9PWEucHJldmlvdXNTaWJsaW5nKXtmb3IoYT10aGlzLl9fc2hhZHlfcHJldmlvdXNTaWJsaW5nO2EmJmEubm9kZVR5cGUhPT1Ob2RlLkVMRU1FTlRfTk9ERTspYT1hLl9fc2hhZHlfcHJldmlvdXNTaWJsaW5nO3JldHVybiBhfXJldHVybiB0aGlzLl9fc2hhZHlfbmF0aXZlX3ByZXZpb3VzRWxlbWVudFNpYmxpbmd9LGdldCBuZXh0RWxlbWVudFNpYmxpbmcoKXt2YXIgYT12KHRoaXMpO2lmKGEmJnZvaWQgMCE9PWEubmV4dFNpYmxpbmcpe2ZvcihhPXRoaXMuX19zaGFkeV9uZXh0U2libGluZzthJiZhLm5vZGVUeXBlIT09Tm9kZS5FTEVNRU5UX05PREU7KWE9YS5fX3NoYWR5X25leHRTaWJsaW5nO3JldHVybiBhfXJldHVybiB0aGlzLl9fc2hhZHlfbmF0aXZlX25leHRFbGVtZW50U2libGluZ30sZ2V0IHNsb3QoKXtyZXR1cm4gdGhpcy5nZXRBdHRyaWJ1dGUoInNsb3QiKX0sCnNldCBzbG90KGEpe3RoaXMuX19zaGFkeV9zZXRBdHRyaWJ1dGUoInNsb3QiLGEpfSxnZXQgc2hhZG93Um9vdCgpe3ZhciBhPXYodGhpcyk7cmV0dXJuIGEmJmEucGF8fG51bGx9LGdldCBjbGFzc05hbWUoKXtyZXR1cm4gdGhpcy5nZXRBdHRyaWJ1dGUoImNsYXNzIil8fCIifSxzZXQgY2xhc3NOYW1lKGEpe3RoaXMuX19zaGFkeV9zZXRBdHRyaWJ1dGUoImNsYXNzIixhKX0sc2V0QXR0cmlidXRlOmZ1bmN0aW9uKGEsYil7aWYodGhpcy5vd25lckRvY3VtZW50IT09aGQpdGhpcy5fX3NoYWR5X25hdGl2ZV9zZXRBdHRyaWJ1dGUoYSxiKTtlbHNle3ZhciBjOyhjPUcoKSkmJiJjbGFzcyI9PT1hPyhjLnNldEVsZW1lbnRDbGFzcyh0aGlzLGIpLGM9ITApOmM9ITE7Y3x8KHRoaXMuX19zaGFkeV9uYXRpdmVfc2V0QXR0cmlidXRlKGEsYiksaWQodGhpcyxhKSl9fSxyZW1vdmVBdHRyaWJ1dGU6ZnV
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment