Repository: thibo73800/capsnet-traffic-sign-classifier Branch: master Commit: 21a1fbce2ad2 Files: 19 Total size: 921.6 KB Directory structure: gitextract_oohy2z2g/ ├── .floydignore ├── .gitignore ├── LICENSE ├── README.md ├── Traffic_Sign_Classifier.ipynb ├── _config.yml ├── caps_net.py ├── data_handler.py ├── floyd_requirements.txt ├── floyd_run.txt ├── logger.py ├── model.py ├── model_base.py ├── settings/ │ └── hyperparameters.json ├── signnames.csv ├── test.py ├── test_web_images.py ├── train.py └── utils.py ================================================ FILE CONTENTS ================================================ ================================================ FILE: .floydignore ================================================ # Directories and files to ignore when uploading code to floyd images/* dataset/* outputs/* .git .eggs eggs lib lib64 parts sdist var *.pyc *.swp .DS_Store ================================================ FILE: .gitignore ================================================ # Byte-compiled / optimized / DLL files __pycache__/ *.py[cod] *$py.class outputs/* dataset/* # C extensions *.so # Distribution / packaging .Python env/ build/ develop-eggs/ dist/ downloads/ eggs/ .eggs/ lib/ lib64/ parts/ sdist/ var/ wheels/ *.egg-info/ .installed.cfg *.egg # PyInstaller # Usually these files are written by a python script from a template # before PyInstaller builds the exe, so as to inject date/other infos into it. *.manifest *.spec # Installer logs pip-log.txt pip-delete-this-directory.txt # Unit test / coverage reports htmlcov/ .tox/ .coverage .coverage.* .cache nosetests.xml coverage.xml *.cover .hypothesis/ # Translations *.mo *.pot # Django stuff: *.log local_settings.py # Flask stuff: instance/ .webassets-cache # Scrapy stuff: .scrapy # Sphinx documentation docs/_build/ # PyBuilder target/ # Jupyter Notebook .ipynb_checkpoints # pyenv .python-version # celery beat schedule file celerybeat-schedule # SageMath parsed files *.sage.py # dotenv .env # virtualenv .venv venv/ ENV/ # Spyder project settings .spyderproject .spyproject # Rope project settings .ropeproject # mkdocs documentation /site # mypy .mypy_cache/ ================================================ FILE: LICENSE ================================================ Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 1. Definitions. "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. 2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. 3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. 4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: (a) You must give any other recipients of the Work or Derivative Works a copy of this License; and (b) You must cause any modified files to carry prominent notices stating that You changed the files; and (c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and (d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. 6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. 7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. 8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. 9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. END OF TERMS AND CONDITIONS APPENDIX: How to apply the Apache License to your work. To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives. Copyright [yyyy] [name of copyright owner] Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ================================================ FILE: README.md ================================================ # Capsnet - Traffic sign classifier - Tensorflow A Tensorflow implementation of CapsNet(Capsules Net) apply on the German traffic sign dataset [![Contributions welcome](https://img.shields.io/badge/contributions-welcome-brightgreen.svg?style=plastic)](CONTRIBUTING.md) [![License](https://img.shields.io/badge/license-Apache%202.0-blue.svg?style=plastic)](https://opensource.org/licenses/Apache-2.0) ![completion](https://img.shields.io/badge/completion%20state-80%25-blue.svg?style=plastic) This implementation is based on this paper: Dynamic Routing Between Capsules (https://arxiv.org/abs/1710.09829) from Sara Sabour, Nicholas Frosst and Geoffrey E. Hinton. This repository is a work in progress implementation of a Capsules Net. Since I am using a different dataset (Not MNIST) some details in the architecture are different. The code for the CapsNet is located in the following file: caps_net.py while the whole model is created inside the model.py file. The two main methods used to build the CapsNet are conv_caps_layer and fully_connected_caps_layer ## Requirements - Python 3 - NumPy 1.13.1 - Tensorflow 1.3.0 - docopt 0.6.2 - Sklearn: 0.18.1 - Matplotlib ## Install $> git clone https://github.com/thibo73800/capsnet_traffic_sign_classifier.git $> cd capsnet_traffic_sign_classifier.git $> wget https://d17h27t6h515a5.cloudfront.net/topher/2017/February/5898cd6f_traffic-signs-data/traffic-signs-data.zip $> unzip traffic-signs-data.zip $> mkdir dataset $> mv *.p dataset/ $> rm traffic-signs-data.zip ## Train $> python train.py -h $> python train.py dataset/ During the training, the checkpoint is saved by default into the outputs/checkpoints/ folder. The exact path and name of the checkpoint is print during the training. ## Test In order to measure the accuracy and the loss on the Test dataset you need to used the test.py script as follow: $> python test.py outputs/checkpoints/ckpt_name dataset/ ## Metrics / Tensorboard Accuracy: Checkpoints and tensorboard files are stored inside the outputs folder. Exemple of some prediction: ================================================ FILE: Traffic_Sign_Classifier.ipynb ================================================ { "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "---\n", "## Step 0: Load The Data" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "(34799, 32, 32, 3)\n", "(34799,)\n" ] } ], "source": [ "# Load pickled data\n", "import pickle\n", "\n", "# TODO: Fill this in based on where you saved the training and testing data\n", "\n", "training_file = \"dataset/train.p\"\n", "validation_file= \"dataset/valid.p\"\n", "testing_file = \"dataset/test.p\"\n", "\n", "with open(training_file, mode='rb') as f:\n", " train = pickle.load(f)\n", "with open(validation_file, mode='rb') as f:\n", " valid = pickle.load(f)\n", "with open(testing_file, mode='rb') as f:\n", " test = pickle.load(f)\n", " \n", "X_train, y_train = train['features'], train['labels']\n", "X_valid, y_valid = valid['features'], valid['labels']\n", "X_test, y_test = test['features'], test['labels']\n", "\n", "# Print the shape of variables\n", "print(X_train.shape)\n", "print(y_train.shape)\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "---\n", "\n", "## Step 1: Dataset Summary & Exploration\n", "\n", "The pickled data is a dictionary with 4 key/value pairs:\n", "\n", "- `'features'` is a 4D array containing raw pixel data of the traffic sign images, (num examples, width, height, channels).\n", "- `'labels'` is a 1D array containing the label/class id of the traffic sign. The file `signnames.csv` contains id -> name mappings for each id.\n", "- `'sizes'` is a list containing tuples, (width, height) representing the original width and height the image.\n", "- `'coords'` is a list containing tuples, (x1, y1, x2, y2) representing coordinates of a bounding box around the sign in the image. **THESE COORDINATES ASSUME THE ORIGINAL IMAGE. THE PICKLED DATA CONTAINS RESIZED VERSIONS (32 by 32) OF THESE IMAGES**\n", "\n", "Complete the basic data summary below. Use python, numpy and/or pandas methods to calculate the data summary rather than hard coding the results. For example, the [pandas shape method](http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.shape.html) might be useful for calculating some of the summary results. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Provide a Basic Summary of the Data Set Using Python, Numpy and/or Pandas" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Number of training examples = 34799\n", "Number of testing examples = 12630\n", "Image data shape = (32, 32, 3)\n", "Number of classes = 43\n" ] } ], "source": [ "### Replace each question mark with the appropriate value. \n", "### Use python, pandas or numpy methods rather than hard coding the results\n", "\n", "# TODO: Number of training example\n", "n_train = X_train.shape[0]\n", "\n", "# TODO: Number of validation example\n", "n_validation = X_valid.shape[0]\n", "\n", "# TODO: Number of testing example.\n", "n_test = X_test.shape[0]\n", "\n", "# TODO: What's the shape of an traffic sign image?\n", "image_shape = X_train.shape[1:]\n", "\n", "# TODO: How many unique classes/labels there are in the dataset.\n", "n_classes = len(set(y_train))\n", "\n", "print(\"Number of training examples =\", n_train)\n", "print(\"Number of testing examples =\", n_test)\n", "print(\"Image data shape =\", image_shape)\n", "print(\"Number of classes =\", n_classes)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Include an exploratory visualization of the dataset" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Visualize the German Traffic Signs Dataset using the pickled file(s). This is open ended, suggestions include: plotting traffic sign images, plotting the count of each sign, etc. \n", "\n", "The [Matplotlib](http://matplotlib.org/) [examples](http://matplotlib.org/examples/index.html) and [gallery](http://matplotlib.org/gallery.html) pages are a great resource for doing visualizations in Python.\n", "\n", "**NOTE:** It's recommended you start with something simple first. If you wish to do more, come back to it after you've completed the rest of the sections. It can be interesting to look at the distribution of classes in the training, validation and test set. Is the distribution the same? Are there more examples of some classes than others?" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA2QAAANeCAYAAAB9Cc0DAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xm8ZWdV5//v2uecO9StSqqSqiSVVJIikAAJhIBhiICi\nGExQG5SfIiKCguivHbDb/nUj3b8W/Wm/0J+obTu0jIkDk0YkIIghJEYQgSSEkIGQkLlSQ2q4Nd7h\nnLOf/uPsgls3d63n3Htu3X2q6vN+vepV997nPHs/Zw9r7+cMa1lKSQAAAACAlVfUPQAAAAAAOFEx\nIQMAAACAmjAhAwAAAICaMCEDAAAAgJowIQMAAACAmjAhAwAAAICanNATMjM7YGbnHYXlmpm938z2\nmNmXlnv5ixzLVWb2W0F7dhuY2WYzS2bWXP4RYlBm9ikze33d48DyITYRm44HxCYcDwY5js3snCqW\nNZZ7XEdDFU+fUvc4TkQDTcjM7EEz22FmE3P+9iYzu3Hgka2AlNLqlNL9R2HRL5J0uaRNKaXnHYXl\nL5ujuA2Glpn9uJndY2b7quP3ajM7KXh8MrODVVA9YGbvWaFxvt3M/ir3uJTSlSmlq5ew/OM28BKb\nXMSmIUZs+tbyj9vYhPpV14ep6pzZXr04tNp7/FKP46rvw1Us61brvtHM3rTUseP4tRzvkDUkvWUZ\nlnM8OVfSgymlg4vtyCu9y8vZnv8q6btTSidJOk9SU5L7Sn3lWVVQXZ1SGopgWr3bcUK/y51BbHoi\nYtOQIDYBtfqhlNJqSc+RdKmk/zb/AYMex0c7ZhKTjy/LETD/f0n/yczWLtRoZt9pZl82s73V/9/p\nLah61eLXzOyu6iM17zezsaptnZl9wswer9o+YWab5vR9g5ndb2b7zewBM3tt9fenmNk/V+vfaWYf\nntPnW6/CVa+Q/ImZ/UO1jC+a2ZPnPPZl1SuXe83sT6tlPuHiZ2ZvlPQeSZdVr778RvX3nzWz+8xs\nt5lda2ZnzhvHL5jZvZLuXWCZnzKzX5z3t6+a2Y9UPz/NzK6rln2Pmf3YvEWsC57X3G0wbmbvNLOH\nquf5OTMbX2A8J5vZe81sq5ltMbPfsurt+Gh7L7Ccf2dmd5rZZPWq0dOrv/8XM/vbeY/9n2b2R32s\n/w1m9nkz+wMz2yXp7fPXW71itW3On7qSluXV2Oo4+tNqnx2oxnKGmf1hddx+3cyePefxZ5rZNdVx\n/YCZ/XL19yskvU3Sq6vlfLX6+41m9ttm9nlJhySdZ/NecauOtbur/X2XmT1ngXHeVP341Wr5r57T\nNzpOf97M7q322Z+YmVVtfe/3FURsOvI5EJuITcSm4YhNGBIppS2SPiXpGVL+ODazwsz+WxWLdpjZ\nX5jZyVXb4Y9Qv9HMHpb02Tl/a5rZb0t6saQ/ro7tP66O1XfOHVN1fP+HhcZrC8RkC65lZvbTc865\n+83s5+Yt7/+p4tVjZvYzy7NVsSQppSX/k/SgpO+T9HeSfqv625sk3Vj9fIqkPZJep94rfa+pfj81\nWN4dks6u+n5+znJPlfQqSaskrZH0N5L+vmqbkLRP0lOr3zdKuqj6+YOS/qt6k88xSS+as74k6SnV\nz1dJ2iXpedVY/1rSh6q29dXyf6Rqe4uktqQ3Oc/jDZI+N+f375W0U71XYkYl/S9JN80bx3XVcx5f\nYHk/Jenzc36/UNJktawJSY9I+ulqbM+u1nVh7nktsA3+RNKNks5S792F76zWsbl6XLN63Ecl/Xm1\n7tMkfUnSz+W297zndIGkg+p9fKol6T9Luk/SiHqv4h+StKZ6bEPSVkkv6GP9b5DUkfRL1fN9wvas\nHvciSXur53VQ0suC4zxJekzSNvWO9c3BY6+qtv93VM//s5IeqPZhQ71Xu2+oHltIukXSf6+e93mS\n7pf0/VX72yX91bzl3yjpYUkXVc+vVf3tTVX7j0raIum5kky9m7lzg+f1lEUep5+QtFbSOZIel3TF\nYvb7Sv0TsYnYRGwiNg1hbOJf/f9UXR+qn8+WdKek/6/6PXcc/0wVD86TtLo67/6yattcHYt/UcWA\ncT0xRn1rWdXvz6vO4aL6fb16MeZ0Z+xHxGRlrmWSfkDSk6tz7rurZT+nartC0nb1JqMTkj4w/9zj\n3woel8txUFc7c6+kDTrypud1kr40r88XJL0hWN7Pz/n95ZK+6Tz2Ekl7qp8n1LsJeJXmXeSqE+Nd\n6n1nYqEDe+5Nz3vmrfvr1c8/JekLc9pMvRuNfm963ivpd+f8vlq9m6bNc8bxvcF2XqPehfnc6vff\nlvS+6udXS/qXeY//c0m/nntec7eBeherKfU+/jJ//ZurxzUlnS5pZu52rgLADbntPW+Z/6+kj8z5\nvVDvYv2S6vfPSfqp6ufLDx8Hfaz/DZIeXsQxfJZ6NxcXBI/5LvVuStZK+mP1bsybzmOvkvTuOb//\nkqS75/z+TEmT1c/Pnz9WSb8m6f3Vz2/Xwjc9v7nA3w5fLD4t6S19Pvf5Nz39HKdzJw0fkfTWxez3\nlfonYhOxKRGb5j32KhGbao9N/Kv/n3rx/IB6sfkhSX96+Lzt4zi+XtK/n9P21OpYbM6JR+fNaT/8\ntwUnZNXf7pZ0efXzL0r6ZDD2I2KyFn8t+/vD56Gk90l6x5y2C+afe/xbuX/L8hnvlNId6r069dZ5\nTWeqd7DP9ZB6FxrPI/Mee6YkmdkqM/vz6m3ifZJukrTWzBqp932IV0v6eUlbrfcRmKdVy/jP6t2k\nfKn6CEr0luzcj4ocUi/oH34e3xpX6h25jwbLme+I7ZBSOqDeK8Nzt8Mj8zvNefx+Sf8g6cerP71G\nvVeTpd4rts+vPqYxaWaTkl4r6Yw5i/Ce11zr1Xv18JuZ53Kueq8YbZ2zvj9X79Vgqf/tPX+blOpt\ng8Pb5APV85Skn6h+72f9UrAt50u9jyv8o6QPBY+5KaU0m1KaVO8diM2Snh4sdvucn6cW+P3w9j9X\n0pnz9t3b1Luxi0TP72zl96Gnn+PUO5YWc56tGGJTFrHpiYhNxCYc/16ZUlqbUjo3pfTvU0pTc9qi\n43j+teMhffsFoX76L+RqST9Z/fyTkv4y8/i5yw+vZWZ2pZn9W/VR30n1XvhaP6fv/OsaarKcXwj8\ndUm3Spr7WdjH1Avsc52j3kXGc/a8xz5W/fyr6r0S8fyU0jYzu0TSV9QLtEopfVrSp633vYLfkvRu\nSS9Ovc/j/6wkmdmLJH3GzG5KKd23iOe2VdLc74TY3N/7cMR2sF7mt1PVe9X1sJRZxgcl/Xr1+fox\nSTdUf39E0j+nlC5fxHgWslPStHpvbX81eNwj6r0KvD6l1JnfuIjt/Zh6r8iqeqypt+8Pb5O/kfRO\n630X54clXdbP+g8PIxj/QprqPe/FsEU+fiGPSHogpXS+0+49j+j5PaLFP5fD+jlOFx7Q8pxnRwux\nyUdsIjYthNiEE1l0HM+/dpyj3keRt+vbsTfqv1DbX0m6w8yepd4LKn+/iPG51zIzG5V0jXqfpPhY\nSqltZn+vb8eIrXridQ01WbYsSFVw+7CkX57z509KusDMfqL6QuOr1fuOwSeCRf2CmW0ys1PU+9z3\n4S/grlHvFbzJqu3XD3cws9PN7BVVkJ5R763osmr7Ufv2F+z3qHcgl4t8ev8g6Zlm9krrZbX5BR35\nKm/OByX9tJldUp0g/0PSF1NKDy5iGZ9U76T7TUkfrl61lXrb8gIze52Ztap/z7XqS+j9qpb3Pkm/\nb70vczfM7LJqvHMft1XSP6l3Q3KS9b7g+mQz+25pUdv7I5J+wMxeamYt9W5qZ9TLMqaU0uPqvbX/\nfvVuDO7uZ/39MLPXmtk51c/nqvcxq+udx15U7beG9dLi/r56NwF397u+wJck7bdeooDxah3PMLPn\nVu3bJW22xWV5eo96iSy+w3qeUj3HhWxX73Pwhy35OF2m8+yoIDaFiE1PRGwiNgGeD0r6D2b2pOq8\n+x/qxT3vRZj55h/bSik9KunL6r0zds28d+tyomvZiHrfuXxcUsfMrpT0sjl9PyLpDWZ2oZmt0pxr\nF1becqel/U31vjMhSUop7ZL0g+pd0Hap99GBH0wp7QyW8QH1Lmr3q/fxhsMpf/9QvS8w7pT0bzry\nlexC0n9U75WC3ep9cfH/rtqeK+mLZnZA0rXqfXZ2UbVtqvH+qKTfrZ7HhZJuVu8i3U//z6j3vYRr\n1HtF4sn69kd8+h3DjHpfHv0+ffsjMoc/MvSyanmHv9z9O+qdhIv1nyR9Tb3AsLtazkLHyE+pd6Lf\npd4F7m/VS1Yg9bm9U0r3qPfW/P9Sb5/+kHppaGfnPOwD859vH+vvx4WS/tXMDqqXnOEeVa+gSt/K\nHPe26tfT1bvx3qfeMXmuesdwexHrW1Dq1SX5QfW+c/SAetvhPZJOrh7yN9X/u8zs1j6X+Tfq3cR9\nQNJ+9V5pO8V5+NslXW29jyT92IDH6cDn2VFGbFq4P7Hpic+H2ERsAjzvU2/idJN658a0et/H7Nf/\nlPR/WS+z6R/N+fvV6r0zn/u44hGia1kVg39ZvYnXHvU+Yn3tnL6fUu/69Vn1EpV8djHrxvKy3lcO\nhoOZPajelx0/U/dYItWrgo9Kem1K6Ybc4wEc24hNAICjxcy+S72PLp6bhunGHCuGwo19MrPvN7O1\n1ccl3qbeZ3D/reZhATjBEZsA4NhVfTT6LeplnWUydoJiQta/y9T7mNLhj7C8cpGf8wWAo4HYBADH\noOo7tZPqfbT5D2seDmo0VB9ZBAAAAIATCe+QAQAAAEBNlrMOWVZRFKkovDlgXDplkHfybICqLFFW\n36LZCPsWDb8993zKjp9BdXxkLOw7MjbutnW63bBvp+Mn6LLMhmy1Wm5b0cgcauGy4/UuR9GdhRzN\n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\naG5p+LQbSyKnR9LV5caGJvzyzwBQqtT85014uXMqtg/IuXAFV71Hks2is795iedsJy93nLR1uLFg\nC9+XacoHvdGi35bhwYMjNPfwKb+kcXWWLzdDDqKBHH+P7+YBv8z2K1/sl7UHgOe/7Go3NpPj27md\nDCGnIkf+SM4vafyqq/2y0QCwPe9fI+7++n6a++QBv5x1qPF9VCn58WMHedn7a5p3fwAArN3EX2+2\n4l8vT57hJce/9bX73VgXKSl+JQjBUHFuZDo6eWsNK/vlumPthgqb/DLh6aZ2mlvc65cnz5R4+4R0\n8xY3Zqv4MRj8SytgfFttvMkv89++PtLCZHqVG5oY48dvrc2/1ygXeIukdW3+deCqm/0xEwAyNf/Y\n2L/vuzS3POnf/6C/n+a2PX+jG5t5lAxAACaf8u/pVu2+iebefLW/f8evu4bmHj7il8UfO8b30Xzp\nEzIREREREZEW0YRMRERERESkRTQhExERERERaRFNyERERERERFpEEzIREREREZEW0YRMRERERESk\nRTQhExERERERaZHL2ocsoN5Po+mKRPqMJaRfBms7AQBGmm2kkWRL/BXrWsX7Fmy59sVubPwM71tQ\nnR1zY4VTfj8EAOjquM6NpbENTcOxTlV+MusVBvD2WSH2vkGt6IZYn7F6qt+PCTne76RMXtNMmTwv\n6n2vXJFWcYHsh9geYueRLabZ33OcWYJce/P+J9kO3hfFsn5vrVrkuK/V/B5XlcjINjblx584wvvg\njYz750xH5LKQJb0M+9v4MfTaF2x3Y7tv2UZzHx72++1MneG9tV79Er9340H4zwsA9+/1x5Afzfi9\nhwDg+nV9fu6L+Oudnp11Y6eORPre1PyeSWHWP14BYPqo3zOpcxXvPdVGRqCpcf+aBgAz4/5rOrR/\nkuaudJlsglUDza9Ha9bwnk85cv9zfJJfW5Pn+32dJgb9HmUAMHrSvwZ2wO9XBwBt68hritzDsGjv\nNXxbgdzvsV6pALB/1u+PVWnj2/m6dn8cma3y689Vqd+DMcvuMwAYGQo2b1hDc1Eh42bkViK3xd8P\nydpIn7mCf/3JVDbQ3Bs7d7mxR4a/SnMPjfrX1Nw6fjxjHw+fp0/IREREREREWkQTMhERERERkRbR\nhExERERERKRFNCETERERERFpEU3IREREREREWkQTMhERERERkRa5rGXvDX4J+ljBba9c/ryS2QNI\n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\n3DDu9/F8ZIJf06fItdUi10fW8zKQ/p8AMFsi17E8H497+vyeX7lb30pzK2S5dppfW9t6/etAkvA+\nieWS38MVVd6HtWetf25szfHtnPT715Brtr2E5t70lH/fvf/0WZo7Meb3HNzRwceYUo8/Xs+QnqAA\ncOioPwa15XmPxd52//o0OsT7n82XPiETERERERFpEU3IREREREREWkQTMhERERERkRbRhExERERE\nRKRFNCETERERERFpEU3IREREREREWuSylr1HCKg5ZblTkHrcALIdeTfW1cVLLVdqfv3os2O8XDIC\n2US12HyWlEkNkVruIOVm2fMCSEi52UxklWukOmtphpRmBXCu5O+jxHjZ11LZL+2a1ngp01rVL6kf\nQqyYu3/chchyjR2yNAgk7HiP5ZI4a1tQfwApRRw5B1eyQrmCx446pXrbJ2hutssvE17O81Lua/sG\n3Fgl5ecM66rRbvzY3b3VLw39vFWvpbnDky92Y8UyHyPCrH+uTk/N0tyhqdP+85ZO0twf33mtG/t6\ngY8RDz2xx411jp+jue3kPc+Zst9SBQB6p/1rU/eW62nu9ddudWM37eSlv5+a9UtWP3EyUrqelLMu\nzfgxAAh9fW4sN7iJ5q50aTDMFpofSzc/bzXNzVT81guny3x8ypX8a8J0ifflSEmPldT4jUiFtfYp\n8RY6COQ6luMl83PkVnLLDr5YgG3LyH1I9D6FIPcDW7fx592akn04dYLmlg4dcmMPPvxtmjue+s9d\nIm1VAOCefX5suMhfb3unv49WtfP7H+v0D45MO2+dMl/6hExERERERKRFNCETERERERFpEU3IRERE\nREREWkQTMhERERERkRbRhExERERERKRFNCETERERERFpEU3IREREREREWuSy9iELAGpOf4lYV66U\n9OSZmuC9xKoFv79NLdJrKk39vgalcpHmso4IlvJeGiGQPmSsAREAkNwK6dkFAIG8Xov0xyqV/b2Y\nyfs9yoBYDyx+dLBcy0R6a7FWcbHeIDS8mNzI66X7gS838KOS5q5k2Xw71m57ftNYOdIPrEL219S0\n3wMIAOysP3Z1RXrmtGXI8B3pc7imx89d37+G5taStW4sjRy72UW8BVio7nJjvZGeXms7/X5vI/v4\n9eMrxx93YzNneI+6xDrcmEX6KU2THlBYezXNvflFr3ZjG3fSVJwo+8fs1/ceobn/+PkvuLHS+DGa\n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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Most common index\n", "index: 2 => Speed limit (50km/h) = 0.0591355252409\n", "index: 1 => Speed limit (30km/h) = 0.0582529054612\n", "index: 13 => Yield = 0.0564876659017\n", "index: 12 => Priority road = 0.055605046122\n", "index: 38 => Keep right = 0.0547224263423\n", "index: 10 => No passing for vehicles over 3.5 metric tons = 0.0529571867829\n", "index: 4 => Speed limit (70km/h) = 0.0520745670032\n", "index: 5 => Speed limit (80km/h) = 0.0485440878843\n", "index: 25 => Road work = 0.0397178900872\n", "index: 9 => No passing = 0.0388352703074\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAagAAAEYCAYAAAAJeGK1AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAGAdJREFUeJzt3X2UXVd93vHvg2yXFzuojVVXlhTkgEKWoLURim0gTXmJ\nG0k2KF3pauVADF5ZVRVsCiksKtw3oE0KIaXBxbGqgBtUXIwLCRWg4vD+0iIjGYxs2bgMQl6SEXgM\n9VtMbMn+9Y97tLiMRporzYxmz53vZ61Zc88++9y7z55Z88ze99x9UlVIktSaJ810AyRJGo8BJUlq\nkgElSWqSASVJapIBJUlqkgElSWqSAaXmJdmd5MUz3Y6ZlOQfJNmX5OEkzzuO496a5IPT2TZpuhhQ\nmlFJ9ib51TFlr0nylcPbVfWcqvrCBM+zNEklOWWamjrT/hC4sqpOr6pvzHRjpJPBgJIG0EDwPQPY\nPcNtkE4qA0rN6x9lJTk/yc4kDyb5QZJ3d9W+1H2/v5sGe0GSJyX5V0nuTnJvki1Jnt73vJd1+36Y\n5F+PeZ23JvlIkg8meRB4TffaX01yf5IDSd6b5LS+56skr03y7SQPJfl3SZ6Z5P907b2xv/6Ycxy3\nrUn+WpKHgXnAN5N85yjHPyfJp5P8qOuXq45S738k+X6SB5J8Kclz+vatSXJH1/Z7krypKz8zySe6\n8/5Rki8neVK37+wkH00ymuS7Sf5Z3/ON+7NK8uSuX3/YPeeOJGcd85dAc5IBpdnmPcB7qupngGcC\nN3blv9J9n99Ng30VeE339RLg54HTgfcCJFkO/DHwSmAh8HRg0ZjXWgt8BJgPXA88DvwucCbwAuBl\nwGvHHPNrwPOBC4E3A5uBVwFLgOcClx7lvMZta1U9WlWnd3XOrapnjj0wyRnAZ4BPAWcDzwI+e5TX\n+V/AMuBvAl/vzuuw9wP/tKrO6Nr6ua78jcB+YAFwFnAVUF1IfRz4Jr2+exnwhiS/1h13tJ/Vq+n1\n9xLgZ4ENwI+P0l7NYQaUWvCx7j/p+5PcTy84juYg8KwkZ1bVw1W1/Rh1Xwm8u6r2VNXDwFuAdd10\n3T8EPl5VX6mqx4B/A4xdmPKrVfWxqnqiqn5cVbdU1faqOlRVe4H/Avy9Mcf8QVU9WFW7gduBv+he\n/wF64XC0CxyO1daJXAJ8v6r+Y1X9VVU9VFU3j1exqq7r9j8KvBU4t29UeRBYnuRnqur/VdXX+8oX\n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\nZEBJkppkQEmSmmRASZKaZEBJkppkQEmSmmRASZKaZEBJkppkQEmSmmRASZKaZEBJkppkQEmSmmRA\nSZKaZEBJkppkQEmSmmRASZKaZEBJkppkQEmSmmRASZKaZEBJkppkQEmSmmRASZKaZEBJkppkQEmS\nmmRASZKaNFBAJVmV5K4kI0k2jrM/Sa7u9u9KsqIrX5Lk80nuSLI7yeun+gQkScNpwoBKMg+4BlgN\nLAcuTbJ8TLXVwLLuaz1wbVd+CHhjVS0HLgSuGOdYSZKOcMoAdc4HRqpqD0CSG4C1wB19ddYCW6qq\ngO1J5idZWFUHgAMAVfVQkjuBRWOOlX7K0o2fPOb+ve+4+CS1RC3y92PuGGSKbxGwr297f1d2XHWS\nLAWeB9w83oskWZ9kZ5Kdo6OjAzRLkjTMTspFEklOBz4KvKGqHhyvTlVtrqqVVbVywYIFJ6NZkqSG\nDRJQ9wBL+rYXd2UD1UlyKr1wur6q/uzEmypJmksGCagdwLIk5yQ5DVgHbB1TZytwWXc134XAA1V1\nIEmA9wN3VtW7p7TlkqShNuFFElV1KMmVwE3APOC6qtqdZEO3fxOwDVgDjACPAJd3h78I+C3gtiS3\ndmVXVdW2qT0NSdKwGeQqPrpA2TambFPf4wKuGOe4rwCZZBslSXOQK0lIkppkQEmSmmRASZKaNNB7\nUJI0LFyJYvZwBCVJapIBJUlqkgElSWqSASVJapIBJUlqklfxadbxKqzpZf+qFY6gJElNMqAkSU0y\noCRJTTKgJElNMqAkSU3yKj5JU8qrADVVHEFJkppkQEmSmuQUnzTLOIWmucIRlCSpSQaUJKlJBpQk\nqUkGlCSpSQaUJKlJXsUnqSkTXaWoucMRlCSpSQMFVJJVSe5KMpJk4zj7k+Tqbv+uJCv69l2X5N4k\nt09lwyVJw23CKb4k84BrgIuA/cCOJFur6o6+aquBZd3XBcC13XeAPwXeC2yZumYPP6c5Tpx9p8nw\n96cdg4ygzgdGqmpPVT0G3ACsHVNnLbClerYD85MsBKiqLwE/mspGS5KG3yABtQjY17e9vys73jrH\nlGR9kp1Jdo6Ojh7PoZKkIdTMVXxVtRnYDLBy5cqa4eZIM8YpptnNtRKnziAjqHuAJX3bi7uy460j\nSdLABgmoHcCyJOckOQ1YB2wdU2crcFl3Nd+FwANVdWCK2ypJmkMmDKiqOgRcCdwE3AncWFW7k2xI\n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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "### Data exploration visualization code goes here.\n", "### Feel free to use as many code cells as needed.\n", "import matplotlib.pyplot as plt\n", "import random\n", "from PIL import Image\n", "import numpy as np\n", "import random\n", "from PIL import Image, ImageEnhance\n", "# Visualizations will be shown in the notebook.\n", "%matplotlib inline\n", "\n", "# Load name of id\n", "with open(\"signnames.csv\", \"r\") as f:\n", " signnames = f.read()\n", "id_to_name = { int(line.split(\",\")[0]):line.split(\",\")[1] for line in signnames.split(\"\\n\")[1:] if len(line) > 0}\n", "\n", "\n", "graph_size = 3\n", "random_index_list = [random.randint(0, X_train.shape[0]) for _ in range(graph_size * graph_size)]\n", "fig = plt.figure(figsize=(15, 15))\n", "for i, index in enumerate(random_index_list):\n", " a=fig.add_subplot(graph_size, graph_size, i+1)\n", " #im = Image.fromarray(np.rollaxis(X_train[index] * 255, 0,3))\n", " imgplot = plt.imshow(X_train[index])\n", " # Plot some images\n", " a.set_title('%s' % id_to_name[y_train[index]])\n", "\n", "plt.show()\n", "\n", "\n", "\n", "fig, ax = plt.subplots()\n", "# the histogram of the data\n", "values, bins, patches = ax.hist(y_train, n_classes, normed=10)\n", "\n", "# add a 'best fit' line\n", "ax.set_xlabel('Smarts')\n", "ax.set_title(r'Histogram of classess')\n", "\n", "# Tweak spacing to prevent clipping of ylabel\n", "fig.tight_layout()\n", "\n", "print (\"Most common index\")\n", "most_common_index = sorted(range(len(values)), key=lambda k: values[k], reverse=True)\n", "for index in most_common_index[:10]:\n", " print(\"index: %s => %s = %s\" % (index, id_to_name[index], values[index]))\n", "\n", " \n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "----\n", "\n", "## Step 2: Design and Test a Model Architecture\n", "\n", "Design and implement a deep learning model that learns to recognize traffic signs. Train and test your model on the [German Traffic Sign Dataset](http://benchmark.ini.rub.de/?section=gtsrb&subsection=dataset).\n", "\n", "The LeNet-5 implementation shown in the [classroom](https://classroom.udacity.com/nanodegrees/nd013/parts/fbf77062-5703-404e-b60c-95b78b2f3f9e/modules/6df7ae49-c61c-4bb2-a23e-6527e69209ec/lessons/601ae704-1035-4287-8b11-e2c2716217ad/concepts/d4aca031-508f-4e0b-b493-e7b706120f81) at the end of the CNN lesson is a solid starting point. You'll have to change the number of classes and possibly the preprocessing, but aside from that it's plug and play! \n", "\n", "With the LeNet-5 solution from the lecture, you should expect a validation set accuracy of about 0.89. To meet specifications, the validation set accuracy will need to be at least 0.93. It is possible to get an even higher accuracy, but 0.93 is the minimum for a successful project submission. \n", "\n", "There are various aspects to consider when thinking about this problem:\n", "\n", "- Neural network architecture (is the network over or underfitting?)\n", "- Play around preprocessing techniques (normalization, rgb to grayscale, etc)\n", "- Number of examples per label (some have more than others).\n", "- Generate fake data.\n", "\n", "Here is an example of a [published baseline model on this problem](http://yann.lecun.com/exdb/publis/pdf/sermanet-ijcnn-11.pdf). It's not required to be familiar with the approach used in the paper but, it's good practice to try to read papers like these." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Pre-process the Data Set (normalization, grayscale, etc.)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Minimally, the image data should be normalized so that the data has mean zero and equal variance. For image data, `(pixel - 128)/ 128` is a quick way to approximately normalize the data and can be used in this project. \n", "\n", "Other pre-processing steps are optional. You can try different techniques to see if it improves performance. \n", "\n", "Use the code cell (or multiple code cells, if necessary) to implement the first step of your project." ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "Using TensorFlow backend.\n" ] } ], "source": [ "### Preprocess the data here. It is required to normalize the data. Other preprocessing steps could include \n", "### converting to grayscale, etc.\n", "### Feel free to use as many code cells as needed.\n", "\n", "# I used keras only for the ImageDataGenerator\n", "from keras.preprocessing.image import ImageDataGenerator\n", "\n", "\n", "X_train = X_train / 255\n", "X_valid = X_valid / 255\n", "X_test = X_test / 255\n", "\n" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": true }, "outputs": [], "source": [ "def preprocessing_function(img):\n", " \"\"\"\n", " Custom preprocessing_function\n", " \"\"\"\n", " img = img * 255\n", " img = Image.fromarray(img.astype('uint8'), 'RGB')\n", " img = ImageEnhance.Brightness(img).enhance(random.uniform(0.6, 1.5))\n", " img = ImageEnhance.Contrast(img).enhance(random.uniform(0.6, 1.5))\n", "\n", " return np.array(img) / 255\n", "\n", "train_datagen = ImageDataGenerator()\n", "train_datagen_augmented = ImageDataGenerator(\n", " rotation_range=20,\n", " shear_range=0.2,\n", " width_shift_range=0.2,\n", " height_shift_range=0.2,\n", " horizontal_flip=True,\n", " preprocessing_function=preprocessing_function)\n", "inference_datagen = ImageDataGenerator()\n", "train_datagen.fit(X_train)\n", "train_datagen_augmented.fit(X_train)\n", "inference_datagen.fit(X_valid)\n", "inference_datagen.fit(X_test)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Exemple of augmented images" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n10RYRiUw/iIAAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig = plt.figure()\n", "\n", "n = 0\n", "\n", "graph_size = 3\n", "\n", "for x_batch, y_batch in train_datagen_augmented.flow(X_train, y_train, batch_size=1):\n", " a=fig.add_subplot(graph_size, graph_size, n+1)\n", " imgplot = plt.imshow(x_batch[0])\n", " n = n + 1\n", " if n > 8:\n", " break\n", "\n", " \n", "plt.show()\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Model Architecture" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### CapsNet" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": true }, "outputs": [], "source": [ "import numpy as np\n", "import tensorflow as tf\n", "import numpy as np\n", "\n", "\n", "def conv_caps_layer(input_layer, capsules_size, nb_filters, kernel, stride=2):\n", " \"\"\"\n", " Capsule layer for the convolutional inputs\n", " **input:\n", " *input_layer: (Tensor)\n", " *capsule_numbers: (Integer) the number of capsule in this layer.\n", " *kernel_size: (Integer) Size of the kernel for each filter.\n", " *stride: (Integer) 2 by default\n", " \"\"\"\n", " # \"In convolutional capsule layers each unit in a capsule is a convolutional unit.\n", " # Therefore, each capsule will output a grid of vectors rather than a single vector output.\"\n", " capsules = tf.contrib.layers.conv2d(\n", " input_layer, nb_filters * capsules_size, kernel, stride, padding=\"VALID\")\n", " # conv shape: [?, kernel, kernel, nb_filters]\n", " shape = capsules.get_shape().as_list()\n", " capsules = tf.reshape(capsules, shape=(-1, np.prod(shape[1:3]) * nb_filters, capsules_size, 1))\n", " # capsules shape: [?, nb_capsules, capsule_size, 1]\n", " return squash(capsules)\n", "\n", "def routing(u_hat, b_ij, nb_capsules, nb_capsules_p, iterations=4):\n", " \"\"\"\n", " Routing algorithm\n", "\n", " **input:\n", " *u_hat: Dot product (weights between previous capsule and current capsule)\n", " *b_ij: the log prior probabilities that capsule i should be coupled to capsule j\n", " *nb_capsules_p: Number of capsule in the previous layer\n", " *nb_capsules: Number of capsule in this layer\n", " \"\"\"\n", " # Start the routing algorithm\n", " for it in range(iterations):\n", " with tf.variable_scope('routing_' + str(it)):\n", " # Line 4 of algo\n", " # probabilities that capsule i should be coupled to capsule j.\n", " # c_ij: [nb_capsules_p, nb_capsules, 1, 1]\n", " c_ij = tf.nn.softmax(b_ij, dim=2)\n", "\n", " # Line 5 of algo\n", " # c_ij: [ nb_capsules_p, nb_capsules, 1, 1]\n", " # u_hat: [?, nb_capsules_p, nb_capsules, len_v_j, 1]\n", " s_j = tf.multiply(c_ij, u_hat)\n", " # s_j: [?, nb_capsules_p, nb_capsules, len_v_j, 1]\n", " s_j = tf.reduce_sum(s_j, axis=1, keep_dims=True)\n", " # s_j: [?, 1, nb_capsules, len_v_j, 1)\n", "\n", " # line 6:\n", " # squash using Eq.1,\n", " v_j = squash(s_j)\n", " # v_j: [1, 1, nb_capsules, len_v_j, 1)\n", "\n", " # line 7:\n", " # Frist reshape & tile v_j\n", " # [? , 1, nb_capsules, len_v_j, 1] ->\n", " # [?, nb_capsules_p, nb_capsules, len_v_j, 1]\n", " v_j_tiled = tf.tile(v_j, [1, nb_capsules_p, 1, 1, 1])\n", " # u_hat: [?, nb_capsules_p, nb_capsules, len_v_j, 1]\n", " # v_j_tiled [1, nb_capsules_p, nb_capsules, len_v_j, 1]\n", " u_dot_v = tf.matmul(u_hat, v_j_tiled, transpose_a=True)\n", " # u_produce_v: [?, nb_capsules_p, nb_capsules, 1, 1]\n", " b_ij += tf.reduce_sum(u_dot_v, axis=0, keep_dims=True)\n", " #b_ih: [1, nb_capsules_p, nb_capsules, 1, 1]\n", "\n", " return tf.squeeze(v_j, axis=1)\n", "\n", "def fully_connected_caps_layer(input_layer, capsules_size, nb_capsules, iterations=4):\n", " \"\"\"\n", " Second layer receiving inputs from all capsules of the layer below\n", " **input:\n", " *input_layer: (Tensor)\n", " *capsules_size: (Integer) Size of each capsule\n", " *nb_capsules: (Integer) Number of capsule\n", " *iterations: (Integer) Number of iteration for the routing algorithm\n", "\n", " i refer to the layer below.\n", " j refer to the layer above (the current layer).\n", " \"\"\"\n", " shape = input_layer.get_shape().as_list()\n", " # Get the size of each capsule in the previous layer and the current layer.\n", " len_u_i = np.prod(shape[2])\n", " len_v_j = capsules_size\n", " # Get the number of capsule in the layer bellow.\n", " nb_capsules_p = np.prod(shape[1])\n", "\n", " # w_ij: Used to compute u_hat by multiplying the output ui of a capsule in the layer below\n", " # with this matrix\n", " # [nb_capsules_p, nb_capsules, len_v_j, len_u_i]\n", " _init = tf.random_normal_initializer(stddev=0.01, seed=0)\n", " _shape = (nb_capsules_p, nb_capsules, len_v_j, len_u_i)\n", " w_ij = tf.get_variable('weight', shape=_shape, dtype=tf.float32, initializer=_init)\n", "\n", " # Adding one dimension to the input [batch_size, nb_capsules_p, length(u_i), 1] ->\n", " # [batch_size, nb_capsules_p, 1, length(u_i), 1]\n", " # To allow the next dot product\n", " input_layer = tf.reshape(input_layer, shape=(-1, nb_capsules_p, 1, len_u_i, 1))\n", " input_layer = tf.tile(input_layer, [1, 1, nb_capsules, 1, 1])\n", "\n", " # Eq.2, calc u_hat\n", " # Prediction uj|i made by capsule i\n", " # w_ij: [ nb_capsules_p, nb_capsules, len_v_j, len_u_i, ]\n", " # input: [batch_size, nb_capsules_p, nb_capsules, len_ui, 1]\n", " # u_hat: [batch_size, nb_capsules_p, nb_capsules, len_v_j, 1]\n", " # Each capsule of the previous layer capsule layer is associated to a capsule of this layer\n", " u_hat = tf.einsum('abdc,iabcf->iabdf', w_ij, input_layer)\n", "\n", " # bij are the log prior probabilities that capsule i should be coupled to capsule j\n", " # [nb_capsules_p, nb_capsules, 1, 1]\n", " b_ij = tf.zeros(shape=[nb_capsules_p, nb_capsules, 1, 1], dtype=np.float32)\n", "\n", " return routing(u_hat, b_ij, nb_capsules, nb_capsules_p, iterations=iterations)\n", "\n", "def squash(vector):\n", " \"\"\"\n", " Squashing function corresponding to Eq. 1\n", " **input: **\n", " *vector\n", " \"\"\"\n", " vector += 0.00001 # Workaround for the squashing function ...\n", " vec_squared_norm = tf.reduce_sum(tf.square(vector), -2, keep_dims=True)\n", " scalar_factor = vec_squared_norm / (1 + vec_squared_norm) / tf.sqrt(vec_squared_norm)\n", " vec_squashed = scalar_factor * vector # element-wise\n", " return(vec_squashed)\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Main Model" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [], "source": [ "#!/usr/bin/python3\n", "# -*- coding: utf-8 -*-\n", "\n", "import numpy as np\n", "from model_base import ModelBase\n", "import tensorflow as tf\n", "\n", "class ModelTrafficSign(ModelBase):\n", " \"\"\"\n", " ModelTrafficSign.\n", " This class is used to create the conv graph using:\n", " Dynamic Routing Between Capsules\n", " \"\"\"\n", "\n", " # Numbers of label to predict\n", " NB_LABELS = 43\n", "\n", " def __init__(self, model_name, output_folder):\n", " \"\"\"\n", " **input:\n", " *model_name: (Integer) Name of this model\n", " *output_folder: Output folder to saved data (tensorboard, checkpoints)\n", " \"\"\"\n", " ModelBase.__init__(self, model_name, output_folder=output_folder)\n", "\n", " def _build_inputs(self):\n", " \"\"\"\n", " Build tensorflow inputs\n", " (Placeholder)\n", " **return: **\n", " *tf_images: Images Placeholder\n", " *tf_labels: Labels Placeholder\n", " \"\"\"\n", " # Images 32*32*3\n", " tf_images = tf.placeholder(tf.float32, [None, 32, 32, 3], name='images')\n", " # Labels: [0, 1, 6, 20, ...]\n", " tf_labels = tf.placeholder(tf.int64, [None], name='labels')\n", " return tf_images, tf_labels\n", "\n", " def _build_main_network(self, images, conv_2_dropout):\n", " \"\"\"\n", " This method is used to create the two convolutions and the CapsNet on the top\n", " **input:\n", " *images: Image PLaceholder\n", " *conv_2_dropout: Dropout value placeholder\n", " **return: **\n", " *Caps1: Output of first Capsule layer\n", " *Caps2: Output of second Capsule layer\n", " \"\"\"\n", " # First BLock:\n", " # Layer 1: Convolution.\n", " shape = (self.h.conv_1_size, self.h.conv_1_size, 3, self.h.conv_1_nb)\n", " conv1 = self._create_conv(self.tf_images, shape, relu=True, max_pooling=False, padding='VALID')\n", " # Layer 2: Convolution.\n", " #shape = (self.h.conv_2_size, self.h.conv_2_size, self.h.conv_1_nb, self.h.conv_2_nb)\n", " #conv2 = self._create_conv(conv1, shape, relu=True, max_pooling=False, padding='VALID')\n", " conv1 = tf.nn.dropout(conv1, keep_prob=conv_2_dropout)\n", "\n", " # Create the first capsules layer\n", " caps1 = conv_caps_layer(\n", " input_layer=conv1,\n", " capsules_size=self.h.caps_1_vec_len,\n", " nb_filters=self.h.caps_1_nb_filter,\n", " kernel=self.h.caps_1_size)\n", " # Create the second capsules layer used to predict the output\n", " caps2 = fully_connected_caps_layer(\n", " input_layer=caps1,\n", " capsules_size=self.h.caps_2_vec_len,\n", " nb_capsules=self.NB_LABELS,\n", " iterations=self.h.routing_steps)\n", "\n", " return caps1, caps2\n", "\n", " def _build_decoder(self, caps2, one_hot_labels, batch_size):\n", " \"\"\"\n", " Build the decoder part from the last capsule layer\n", " **input:\n", " *Caps2: Output of second Capsule layer\n", " *one_hot_labels\n", " *batch_size\n", " \"\"\"\n", " labels = tf.reshape(one_hot_labels, (-1, self.NB_LABELS, 1))\n", " # squeeze(caps2): [?, len_v_j, capsules_nb]\n", " # labels: [?, NB_LABELS, 1] with capsules_nb == NB_LABELS\n", " mask = tf.matmul(tf.squeeze(caps2), labels, transpose_a=True)\n", " # Select the good capsule vector\n", " capsule_vector = tf.reshape(mask, shape=(batch_size, self.h.caps_2_vec_len))\n", " # capsule_vector: [?, len_v_j]\n", "\n", " # Reconstruct image\n", " fc1 = tf.contrib.layers.fully_connected(capsule_vector, num_outputs=400)\n", " fc1 = tf.reshape(fc1, shape=(batch_size, 5, 5, 16))\n", " upsample1 = tf.image.resize_nearest_neighbor(fc1, (8, 8))\n", " conv1 = tf.layers.conv2d(upsample1, 4, (3,3), padding='same', activation=tf.nn.relu)\n", "\n", " upsample2 = tf.image.resize_nearest_neighbor(conv1, (16, 16))\n", " conv2 = tf.layers.conv2d(upsample2, 8, (3,3), padding='same', activation=tf.nn.relu)\n", "\n", " upsample3 = tf.image.resize_nearest_neighbor(conv2, (32, 32))\n", " conv6 = tf.layers.conv2d(upsample3, 16, (3,3), padding='same', activation=tf.nn.relu)\n", "\n", " # 3 channel for RGG\n", " logits = tf.layers.conv2d(conv6, 3, (3,3), padding='same', activation=None)\n", " decoded = tf.nn.sigmoid(logits, name='decoded')\n", " tf.summary.image('reconstruction_img', decoded)\n", "\n", " return decoded\n", "\n", " def init(self):\n", " \"\"\"\n", " Init the graph\n", " \"\"\"\n", " # Get graph inputs\n", " self.tf_images, self.tf_labels = self._build_inputs()\n", " # Dropout inputs\n", " self.tf_conv_2_dropout = tf.placeholder(tf.float32, shape=(), name='conv_2_dropout')\n", " # Dynamic batch size\n", " batch_size = tf.shape(self.tf_images)[0]\n", " # Translate labels to one hot array\n", " one_hot_labels = tf.one_hot(self.tf_labels, depth=self.NB_LABELS)\n", " # Create the first convolution and the CapsNet\n", " self.tf_caps1, self.tf_caps2 = self._build_main_network(self.tf_images, self.tf_conv_2_dropout)\n", "\n", " # Build the images reconstruction\n", " self.tf_decoded = self._build_decoder(self.tf_caps2, one_hot_labels, batch_size)\n", "\n", " # Build the loss\n", " _loss = self._build_loss(\n", " self.tf_caps2, one_hot_labels, self.tf_labels, self.tf_decoded, self.tf_images)\n", " (self.tf_loss_squared_rec, self.tf_margin_loss_sum, self.tf_predicted_class,\n", " self.tf_correct_prediction, self.tf_accuracy, self.tf_loss, self.tf_margin_loss,\n", " self.tf_reconstruction_loss) = _loss\n", "\n", " # Build optimizer\n", " optimizer = tf.train.AdamOptimizer(learning_rate=self.h.learning_rate)\n", " self.tf_optimizer = optimizer.minimize(self.tf_loss, global_step=tf.Variable(0, trainable=False))\n", "\n", " # Log value into tensorboard\n", " tf.summary.scalar('margin_loss', self.tf_margin_loss)\n", " tf.summary.scalar('accuracy', self.tf_accuracy)\n", " tf.summary.scalar('total_loss', self.tf_loss)\n", " tf.summary.scalar('reconstruction_loss', self.tf_reconstruction_loss)\n", "\n", " self.tf_test = tf.random_uniform([2], minval=0, maxval=None, dtype=tf.float32, seed=None, name=\"tf_test\")\n", "\n", " self.init_session()\n", "\n", "\n", " def _build_loss(self, caps2, one_hot_labels, labels, decoded, images):\n", " \"\"\"\n", " Build the loss of the graph\n", " \"\"\"\n", " # Get the length of each capsule\n", " capsules_length = tf.sqrt(tf.reduce_sum(tf.square(caps2), axis=2, keep_dims=True))\n", "\n", " max_l = tf.square(tf.maximum(0., 0.9 - capsules_length))\n", " max_l = tf.reshape(max_l, shape=(-1, self.NB_LABELS))\n", " max_r = tf.square(tf.maximum(0., capsules_length - 0.1))\n", " max_r = tf.reshape(max_r, shape=(-1, self.NB_LABELS))\n", " t_c = one_hot_labels\n", " m_loss = t_c * max_l + 0.5 * (1 - t_c) * max_r\n", " margin_loss_sum = tf.reduce_sum(m_loss, axis=1)\n", " margin_loss = tf.reduce_mean(margin_loss_sum)\n", "\n", " # Reconstruction loss\n", " loss_squared_rec = tf.square(decoded - images)\n", " reconstruction_loss = tf.reduce_mean(loss_squared_rec)\n", "\n", " # 3. Total loss\n", " loss = margin_loss + (0.0005 * reconstruction_loss)\n", "\n", " # Accuracy\n", " predicted_class = tf.argmax(capsules_length, axis=1)\n", " predicted_class = tf.reshape(predicted_class, [tf.shape(capsules_length)[0]])\n", " correct_prediction = tf.equal(predicted_class, labels)\n", " accuracy = tf.reduce_mean(tf.cast(correct_prediction, tf.float32))\n", "\n", " return (loss_squared_rec, margin_loss_sum, predicted_class, correct_prediction, accuracy,\n", " loss, margin_loss, reconstruction_loss)\n", "\n", " def optimize(self, images, labels, tb_save=True):\n", " \"\"\"\n", " Train the model\n", " **input: **\n", " *images: Image to train the model on\n", " *labels: True classes\n", " *tb_save: (Boolean) Log this optimization in tensorboard\n", " **return: **\n", " Loss: The loss of the model on this batch\n", " Acc: Accuracy of the model on this batch\n", " \"\"\"\n", " tensors = [self.tf_optimizer, self.tf_margin_loss, self.tf_accuracy, self.tf_tensorboard]\n", " _, loss, acc, summary = self.sess.run(tensors,\n", " feed_dict={\n", " self.tf_images: images,\n", " self.tf_labels: labels,\n", " self.tf_conv_2_dropout: self.h.conv_2_dropout\n", " })\n", "\n", " if tb_save:\n", " # Write data to tensorboard\n", " self.train_writer.add_summary(summary, self.train_writer_it)\n", " self.train_writer_it += 1\n", "\n", " return loss, acc\n", "\n", " def evaluate(self, images, labels, tb_train_save=False, tb_test_save=False):\n", " \"\"\"\n", " Evaluate dataset\n", " **input: **\n", " *images: Image to train the model on\n", " *labels: True classes\n", " *tb_train_save: (Boolean) Log this optimization in tensorboard under the train part\n", " *tb_test_save: (Boolean) Log this optimization in tensorboard under the test part\n", " **return: **\n", " Loss: The loss of the model on this batch\n", " Acc: Accuracy of the model on this batch\n", " \"\"\"\n", " tensors = [self.tf_margin_loss, self.tf_accuracy, self.tf_tensorboard]\n", " loss, acc, summary = self.sess.run(tensors,\n", " feed_dict={\n", " self.tf_images: images,\n", " self.tf_labels: labels,\n", " self.tf_conv_2_dropout: 1.\n", " })\n", "\n", " if tb_test_save:\n", " # Write data to tensorboard\n", " self.test_writer.add_summary(summary, self.test_writer_it)\n", " self.test_writer_it += 1\n", "\n", " if tb_train_save:\n", " # Write data to tensorboard\n", " self.train_writer.add_summary(summary, self.train_writer_it)\n", " self.train_writer_it += 1\n", "\n", " return loss, acc\n", "\n", " def predict(self, images):\n", " \"\"\"\n", " Method used to predict a class\n", " Return a softmax\n", " **input: **\n", " *images: Image to train the model on\n", " **return:\n", " *softmax: Softmax between all capsules\n", " \"\"\"\n", " tensors = [self.tf_caps2]\n", "\n", " caps2 = self.sess.run(tensors,\n", " feed_dict={\n", " self.tf_images: images,\n", " self.tf_conv_2_dropout: 1.\n", " })[0]\n", "\n", " # tf.sqrt(tf.reduce_sum(tf.square(caps2), axis=2, keep_dims=True))\n", " caps2 = np.sqrt(np.sum(np.square(caps2), axis=2, keepdims=True))\n", " caps2 = np.reshape(caps2, (len(images), self.NB_LABELS))\n", " # softmax\n", " softmax = np.exp(caps2) / np.sum(np.exp(caps2), axis=1, keepdims=True)\n", "\n", " return softmax\n", "\n", " def reconstruction(self, images, labels):\n", " \"\"\"\n", " Method used to get the reconstructions given a batch\n", " Return the result as a softmax\n", " **input: **\n", " *images: Image to train the model on\n", " *labels: True classes\n", " \"\"\"\n", " tensors = [self.tf_decoded]\n", "\n", " decoded = self.sess.run(tensors,\n", " feed_dict={\n", " self.tf_images: images,\n", " self.tf_labels: labels,\n", " self.tf_conv_2_dropout: 1.\n", " })[0]\n", "\n", " return decoded\n", "\n", " def evaluate_dataset(self, images, labels, batch_size=10):\n", " \"\"\"\n", " Evaluate a full dataset\n", " This method is used to fully evaluate the dataset batch per batch. Useful when\n", " the dataset can't be fit inside to the GPU.\n", " *input: **\n", " *images: Image to train the model on\n", " *labels: True classes\n", " *return: **\n", " *loss: Loss overall your dataset\n", " *accuracy: Accuracy overall your dataset\n", " *predicted_class: Predicted class\n", " \"\"\"\n", " tensors = [self.tf_loss_squared_rec, self.tf_margin_loss_sum, self.tf_correct_prediction,\n", " self.tf_predicted_class]\n", "\n", " loss_squared_rec_list = None\n", " margin_loss_sum_list = None\n", " correct_prediction_list = None\n", " predicted_class = None\n", "\n", " b = 0\n", " for batch in self.get_batches([images, labels], batch_size, shuffle=False):\n", " images_batch, labels_batch = batch\n", " loss_squared_rec, margin_loss_sum, correct_prediction, classes = self.sess.run(tensors,\n", " feed_dict={\n", " self.tf_images: images_batch,\n", " self.tf_labels: labels_batch,\n", " self.tf_conv_2_dropout: 1.\n", " })\n", " if loss_squared_rec_list is not None:\n", " predicted_class = np.concatenate((predicted_class, classes))\n", " loss_squared_rec_list = np.concatenate((loss_squared_rec_list, loss_squared_rec))\n", " margin_loss_sum_list = np.concatenate((margin_loss_sum_list, margin_loss_sum))\n", " correct_prediction_list = np.concatenate((correct_prediction_list, correct_prediction))\n", " else:\n", " predicted_class = classes\n", " loss_squared_rec_list = loss_squared_rec\n", " margin_loss_sum_list = margin_loss_sum\n", " correct_prediction_list = correct_prediction\n", " b += batch_size\n", "\n", " margin_loss = np.mean(margin_loss_sum_list)\n", " reconstruction_loss = np.mean(loss_squared_rec_list)\n", " accuracy = np.mean(correct_prediction_list)\n", "\n", " loss = margin_loss\n", "\n", " return loss, accuracy, predicted_class\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Train, Validate and Test the Model" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "A validation set can be used to assess how well the model is performing. A low accuracy on the training and validation\n", "sets imply underfitting. A high accuracy on the training set but low accuracy on the validation set implies overfitting." ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [], "source": [ "# Init model\n", "model = ModelTrafficSign(\"TrafficSign\", output_folder=\"outputs\")\n", "model.init()" ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[Train] Batch ID = 0, loss = 2.42539, acc = 0.02\n", "[Validation] Batch ID = 0, loss = 0.800529, acc = 0.04\n", "Evaluate full validation dataset ...\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "ModelBase::Saving model ...\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Current loss: 0.781535 Best loss: None\n", "[TOTAL Validation] Batch ID = 0, loss = 0.781535, acc = 0.0185941043084\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "ModelBase::Model successfully saved here: outputs/checkpoints/c1s_9_c1n_256_c2s_6_c2n_64_c2d_0.7_c1vl_16_c1s_5_c1nf_16_c2vl_32_lr_0.0001_rs_1--TrafficSign--1510487290.423481\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Augmented Factor = 0.891\n", "[Train] Batch ID = 10, loss = 0.754666, acc = 0.04\n", "[Validation] Batch ID = 10, loss = 0.753758, acc = 0.04\n", "[Train] Batch ID = 20, loss = 0.690922, acc = 0.06\n", "[Validation] Batch ID = 20, loss = 0.702244, acc = 0.06\n", "[Train] Batch ID = 30, loss = 0.6284, acc = 0.1\n", "[Validation] Batch ID = 30, loss = 0.659595, acc = 0.06\n", "[Train] Batch ID = 40, loss = 0.63592, acc = 0.1\n", "[Validation] Batch ID = 40, loss = 0.659709, acc = 0.04\n", "[Train] Batch ID = 50, loss = 0.616082, acc = 0.16\n", "[Validation] Batch ID = 50, loss = 0.599504, acc = 0.06\n", "[Train] Batch ID = 60, loss = 0.621295, acc = 0.1\n", "[Validation] Batch ID = 60, loss = 0.604651, acc = 0.1\n", "[Train] Batch ID = 70, loss = 0.617128, acc = 0.06\n", "[Validation] Batch ID = 70, loss = 0.597139, acc = 0.1\n", "[Train] Batch ID = 80, loss = 0.590053, acc = 0.14\n", "[Validation] Batch ID = 80, loss = 0.579464, acc = 0.1\n", "[Train] Batch ID = 90, loss = 0.596748, acc = 0.06\n", "[Validation] Batch ID = 90, loss = 0.590638, acc = 0.16\n", "[Train] Batch ID = 100, loss = 0.571133, acc = 0.16\n", "[Validation] Batch ID = 100, loss = 0.593388, acc = 0.16\n", "[Train] Batch ID = 110, loss = 0.584303, acc = 0.12\n", "[Validation] Batch ID = 110, loss = 0.593405, acc = 0.08\n", "[Train] Batch ID = 120, loss = 0.591267, acc = 0.14\n", "[Validation] Batch ID = 120, loss = 0.570968, acc = 0.18\n", "[Train] Batch ID = 130, loss = 0.576181, acc = 0.16\n", "[Validation] Batch ID = 130, loss = 0.559474, acc = 0.18\n", "[Train] Batch ID = 140, loss = 0.571011, acc = 0.1\n", "[Validation] Batch ID = 140, loss = 0.537225, acc = 0.22\n", "[Train] Batch ID = 150, loss = 0.571272, acc = 0.12\n", "[Validation] Batch ID = 150, loss = 0.543216, acc = 0.24\n", "[Train] Batch ID = 160, loss = 0.550595, acc = 0.18\n", "[Validation] Batch ID = 160, loss = 0.581442, acc = 0.12\n", "[Train] Batch ID = 170, loss = 0.58082, acc = 0.1\n", "[Validation] Batch ID = 170, loss = 0.576819, acc = 0.16\n", "[Train] Batch ID = 180, loss = 0.566915, acc = 0.2\n", "[Validation] Batch ID = 180, loss = 0.57347, acc = 0.1\n", "[Train] Batch ID = 190, loss = 0.576022, acc = 0.16\n", "[Validation] Batch ID = 190, loss = 0.567339, acc = 0.2\n", "[Train] Batch ID = 200, loss = 0.536268, acc = 0.22\n", "[Validation] Batch ID = 200, loss = 0.521454, acc = 0.24\n", "[Train] Batch ID = 210, loss = 0.59091, acc = 0.06\n", "[Validation] Batch ID = 210, loss = 0.535439, acc = 0.26\n", "[Train] Batch ID = 220, loss = 0.563106, acc = 0.14\n", "[Validation] Batch ID = 220, loss = 0.496016, acc = 0.28\n", "[Train] Batch ID = 230, loss = 0.572187, acc = 0.2\n", "[Validation] Batch ID = 230, loss = 0.55189, acc = 0.22\n", "[Train] Batch ID = 240, loss = 0.579677, acc = 0.16\n", "[Validation] Batch ID = 240, loss = 0.503579, acc = 0.26\n", "[Train] Batch ID = 250, loss = 0.54702, acc = 0.18\n", "[Validation] Batch ID = 250, loss = 0.545198, acc = 0.18\n", "[Train] Batch ID = 260, loss = 0.565367, acc = 0.16\n", "[Validation] Batch ID = 260, loss = 0.544931, acc = 0.24\n", "[Train] Batch ID = 270, loss = 0.550182, acc = 0.24\n", "[Validation] Batch ID = 270, loss = 0.518467, acc = 0.2\n", "[Train] Batch ID = 280, loss = 0.502248, acc = 0.28\n", "[Validation] Batch ID = 280, loss = 0.516729, acc = 0.22\n", "[Train] Batch ID = 290, loss = 0.592575, acc = 0.14\n", "[Validation] Batch ID = 290, loss = 0.533068, acc = 0.26\n", "[Train] Batch ID = 300, loss = 0.526132, acc = 0.24\n", "[Validation] Batch ID = 300, loss = 0.50696, acc = 0.34\n", "[Train] Batch ID = 310, loss = 0.560534, acc = 0.2\n", "[Validation] Batch ID = 310, loss = 0.555453, acc = 0.24\n", "[Train] Batch ID = 320, loss = 0.490622, acc = 0.34\n", "[Validation] Batch ID = 320, loss = 0.541549, acc = 0.24\n", "[Train] Batch ID = 330, loss = 0.544868, acc = 0.28\n", "[Validation] Batch ID = 330, loss = 0.551774, acc = 0.26\n", "[Train] Batch ID = 340, loss = 0.544464, acc = 0.12\n", "[Validation] Batch ID = 340, loss = 0.49482, acc = 0.42\n", "[Train] Batch ID = 350, loss = 0.575958, acc = 0.14\n", "[Validation] Batch ID = 350, loss = 0.493718, acc = 0.3\n", "[Train] Batch ID = 360, loss = 0.54912, acc = 0.22\n", "[Validation] Batch ID = 360, loss = 0.531574, acc = 0.3\n", "[Train] Batch ID = 370, loss = 0.540033, acc = 0.2\n", "[Validation] Batch ID = 370, loss = 0.505985, acc = 0.4\n", "[Train] Batch ID = 380, loss = 0.525236, acc = 0.24\n", "[Validation] Batch ID = 380, loss = 0.516121, acc = 0.3\n", "[Train] Batch ID = 390, loss = 0.555539, acc = 0.18\n", "[Validation] Batch ID = 390, loss = 0.548367, acc = 0.16\n", "[Train] Batch ID = 400, loss = 0.568358, acc = 0.12\n", "[Validation] Batch ID = 400, loss = 0.50561, acc = 0.32\n", "[Train] Batch ID = 410, loss = 0.52281, acc = 0.2\n", "[Validation] Batch ID = 410, loss = 0.510524, acc = 0.3\n", "[Train] Batch ID = 420, loss = 0.498897, acc = 0.32\n", "[Validation] Batch ID = 420, loss = 0.489266, acc = 0.38\n", "[Train] Batch ID = 430, loss = 0.528072, acc = 0.2\n", "[Validation] Batch ID = 430, loss = 0.492686, acc = 0.3\n", "[Train] Batch ID = 440, loss = 0.533394, acc = 0.24\n", "[Validation] Batch ID = 440, loss = 0.522744, acc = 0.18\n", "[Train] Batch ID = 450, loss = 0.519317, acc = 0.22\n", "[Validation] Batch ID = 450, loss = 0.502148, acc = 0.28\n", "[Train] Batch ID = 460, loss = 0.532956, acc = 0.22\n", "[Validation] Batch ID = 460, loss = 0.496181, acc = 0.28\n", "[Train] Batch ID = 470, loss = 0.554523, acc = 0.16\n", "[Validation] Batch ID = 470, loss = 0.489495, acc = 0.34\n", "[Train] Batch ID = 480, loss = 0.543094, acc = 0.16\n", "[Validation] Batch ID = 480, loss = 0.513759, acc = 0.26\n", "[Train] Batch ID = 490, loss = 0.552911, acc = 0.14\n", "[Validation] Batch ID = 490, loss = 0.528018, acc = 0.22\n", "[Train] Batch ID = 500, loss = 0.547266, acc = 0.2\n", "[Validation] Batch ID = 500, loss = 0.491217, acc = 0.32\n", "[Train] Batch ID = 510, loss = 0.548772, acc = 0.24\n", "[Validation] Batch ID = 510, loss = 0.476296, acc = 0.36\n", "[Train] Batch ID = 520, loss = 0.521309, acc = 0.18\n", "[Validation] Batch ID = 520, loss = 0.487757, acc = 0.26\n", "[Train] Batch ID = 530, loss = 0.494148, acc = 0.3\n", "[Validation] Batch ID = 530, loss = 0.472203, acc = 0.38\n", "[Train] Batch ID = 540, loss = 0.556524, acc = 0.22\n", "[Validation] Batch ID = 540, loss = 0.511071, acc = 0.24\n", "[Train] Batch ID = 550, loss = 0.515253, acc = 0.26\n", "[Validation] Batch ID = 550, loss = 0.472468, acc = 0.32\n", "[Train] Batch ID = 560, loss = 0.516666, acc = 0.24\n", "[Validation] Batch ID = 560, loss = 0.483363, acc = 0.3\n", "[Train] Batch ID = 570, loss = 0.524725, acc = 0.28\n", "[Validation] Batch ID = 570, loss = 0.468372, acc = 0.42\n", "[Train] Batch ID = 580, loss = 0.505188, acc = 0.26\n", "[Validation] Batch ID = 580, loss = 0.427392, acc = 0.5\n", "[Train] Batch ID = 590, loss = 0.516176, acc = 0.24\n", "[Validation] Batch ID = 590, loss = 0.464795, acc = 0.4\n", "[Train] Batch ID = 600, loss = 0.480228, acc = 0.36\n", "[Validation] Batch ID = 600, loss = 0.467607, acc = 0.38\n", "[Train] Batch ID = 610, loss = 0.519255, acc = 0.28\n", "[Validation] Batch ID = 610, loss = 0.480409, acc = 0.3\n", "[Train] Batch ID = 620, loss = 0.45362, acc = 0.38\n", "[Validation] Batch ID = 620, loss = 0.479688, acc = 0.32\n", "[Train] Batch ID = 630, loss = 0.505263, acc = 0.36\n", "[Validation] Batch ID = 630, loss = 0.43897, acc = 0.48\n", "[Train] Batch ID = 640, loss = 0.524474, acc = 0.2\n", "[Validation] Batch ID = 640, loss = 0.434479, acc = 0.5\n", "[Train] Batch ID = 650, loss = 0.532827, acc = 0.18\n", "[Validation] Batch ID = 650, loss = 0.470422, acc = 0.4\n", "[Train] Batch ID = 660, loss = 0.540052, acc = 0.2\n", "[Validation] Batch ID = 660, loss = 0.468874, acc = 0.38\n", "[Train] Batch ID = 670, loss = 0.507133, acc = 0.34\n", "[Validation] Batch ID = 670, loss = 0.471876, acc = 0.38\n", "[Train] Batch ID = 680, loss = 0.507654, acc = 0.26\n", "[Validation] Batch ID = 680, loss = 0.472959, acc = 0.36\n", "[Train] Batch ID = 690, loss = 0.510228, acc = 0.24\n", "[Validation] Batch ID = 690, loss = 0.454647, acc = 0.46\n", "[Train] Batch ID = 700, loss = 0.539066, acc = 0.2\n", "[Validation] Batch ID = 700, loss = 0.475782, acc = 0.42\n", "[Train] Batch ID = 710, loss = 0.478445, acc = 0.36\n", "[Validation] Batch ID = 710, loss = 0.548267, acc = 0.18\n", "[Train] Batch ID = 720, loss = 0.531311, acc = 0.22\n", "[Validation] Batch ID = 720, loss = 0.469229, acc = 0.32\n", "[Train] Batch ID = 730, loss = 0.538671, acc = 0.16\n", "[Validation] Batch ID = 730, loss = 0.45337, acc = 0.36\n", "[Train] Batch ID = 740, loss = 0.486048, acc = 0.3\n", "[Validation] Batch ID = 740, loss = 0.447456, acc = 0.34\n", "[Train] Batch ID = 750, loss = 0.47318, acc = 0.32\n", "[Validation] Batch ID = 750, loss = 0.45879, acc = 0.32\n", "[Train] Batch ID = 760, loss = 0.492232, acc = 0.34\n", "[Validation] Batch ID = 760, loss = 0.427461, acc = 0.36\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "[Train] Batch ID = 770, loss = 0.480728, acc = 0.32\n", "[Validation] Batch ID = 770, loss = 0.491949, acc = 0.34\n", "[Train] Batch ID = 780, loss = 0.538773, acc = 0.22\n", "[Validation] Batch ID = 780, loss = 0.467119, acc = 0.36\n", "[Train] Batch ID = 790, loss = 0.494922, acc = 0.38\n", "[Validation] Batch ID = 790, loss = 0.453295, acc = 0.34\n", "[Train] Batch ID = 800, loss = 0.403864, acc = 0.54\n", "[Validation] Batch ID = 800, loss = 0.457517, acc = 0.4\n", "[Train] Batch ID = 810, loss = 0.481897, acc = 0.4\n", "[Validation] Batch ID = 810, loss = 0.464976, acc = 0.34\n", "[Train] Batch ID = 820, loss = 0.479418, acc = 0.34\n", "[Validation] Batch ID = 820, loss = 0.388256, acc = 0.52\n", "[Train] Batch ID = 830, loss = 0.523011, acc = 0.22\n", "[Validation] Batch ID = 830, loss = 0.424948, acc = 0.48\n", "[Train] Batch ID = 840, loss = 0.50887, acc = 0.28\n", "[Validation] Batch ID = 840, loss = 0.440439, acc = 0.4\n", "[Train] Batch ID = 850, loss = 0.410404, acc = 0.5\n", "[Validation] Batch ID = 850, loss = 0.496405, acc = 0.36\n", "[Train] Batch ID = 860, loss = 0.516683, acc = 0.3\n", "[Validation] Batch ID = 860, loss = 0.392151, acc = 0.44\n", "[Train] Batch ID = 870, loss = 0.497217, acc = 0.28\n", "[Validation] Batch ID = 870, loss = 0.448474, acc = 0.28\n", "[Train] Batch ID = 880, loss = 0.500635, acc = 0.3\n", "[Validation] Batch ID = 880, loss = 0.408743, acc = 0.44\n", "[Train] Batch ID = 890, loss = 0.500936, acc = 0.26\n", "[Validation] Batch ID = 890, loss = 0.442819, acc = 0.32\n", "[Train] Batch ID = 900, loss = 0.468844, acc = 0.38\n", "[Validation] Batch ID = 900, loss = 0.427008, acc = 0.44\n", "[Train] Batch ID = 910, loss = 0.46857, acc = 0.42\n", "[Validation] Batch ID = 910, loss = 0.417586, acc = 0.44\n", "[Train] Batch ID = 920, loss = 0.472717, acc = 0.34\n", "[Validation] Batch ID = 920, loss = 0.467422, acc = 0.36\n", "[Train] Batch ID = 930, loss = 0.469254, acc = 0.36\n", "[Validation] Batch ID = 930, loss = 0.376776, acc = 0.54\n", "[Train] Batch ID = 940, loss = 0.434811, acc = 0.44\n", "[Validation] Batch ID = 940, loss = 0.467765, acc = 0.38\n", "[Train] Batch ID = 950, loss = 0.483722, acc = 0.3\n", "[Validation] Batch ID = 950, loss = 0.417313, acc = 0.42\n", "[Train] Batch ID = 960, loss = 0.375907, acc = 0.54\n", "[Validation] Batch ID = 960, loss = 0.452141, acc = 0.4\n", "[Train] Batch ID = 970, loss = 0.47038, acc = 0.36\n", "[Validation] Batch ID = 970, loss = 0.407389, acc = 0.4\n", "[Train] Batch ID = 980, loss = 0.442751, acc = 0.34\n", "[Validation] Batch ID = 980, loss = 0.406002, acc = 0.48\n", "[Train] Batch ID = 990, loss = 0.506468, acc = 0.26\n", "[Validation] Batch ID = 990, loss = 0.434915, acc = 0.42\n", "[Train] Batch ID = 1000, loss = 0.497463, acc = 0.26\n", "[Validation] Batch ID = 1000, loss = 0.4204, acc = 0.4\n", "Evaluate full validation dataset ...\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "ModelBase::Saving model ...\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Current loss: 0.420879 Best loss: 0.781535\n", "[TOTAL Validation] Batch ID = 1000, loss = 0.420879, acc = 0.470975056689\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "ModelBase::Model successfully saved here: outputs/checkpoints/c1s_9_c1n_256_c2s_6_c2n_64_c2d_0.7_c1vl_16_c1s_5_c1nf_16_c2vl_32_lr_0.0001_rs_1--TrafficSign--1510487290.423481\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Augmented Factor = 0.8019000000000001\n", "[Train] Batch ID = 1010, loss = 0.496853, acc = 0.24\n", "[Validation] Batch ID = 1010, loss = 0.409362, acc = 0.62\n", "[Train] Batch ID = 1020, loss = 0.471861, acc = 0.34\n", "[Validation] Batch ID = 1020, loss = 0.427412, acc = 0.44\n", "[Train] Batch ID = 1030, loss = 0.514602, acc = 0.22\n", "[Validation] Batch ID = 1030, loss = 0.416222, acc = 0.5\n", "[Train] Batch ID = 1040, loss = 0.460027, acc = 0.42\n", "[Validation] Batch ID = 1040, loss = 0.392695, acc = 0.52\n", "[Train] Batch ID = 1050, loss = 0.468029, acc = 0.34\n", "[Validation] Batch ID = 1050, loss = 0.369591, acc = 0.52\n", "[Train] Batch ID = 1060, loss = 0.492225, acc = 0.26\n", "[Validation] Batch ID = 1060, loss = 0.420142, acc = 0.44\n", "[Train] Batch ID = 1070, loss = 0.364011, acc = 0.54\n", "[Validation] Batch ID = 1070, loss = 0.445401, acc = 0.38\n", "[Train] Batch ID = 1080, loss = 0.504283, acc = 0.3\n", "[Validation] Batch ID = 1080, loss = 0.456438, acc = 0.4\n", "[Train] Batch ID = 1090, loss = 0.465189, acc = 0.34\n", "[Validation] Batch ID = 1090, loss = 0.428296, acc = 0.46\n", "[Train] Batch ID = 1100, loss = 0.478776, acc = 0.32\n", "[Validation] Batch ID = 1100, loss = 0.395044, acc = 0.4\n", "[Train] Batch ID = 1110, loss = 0.451158, acc = 0.46\n", "[Validation] Batch ID = 1110, loss = 0.432168, acc = 0.42\n", "[Train] Batch ID = 1120, loss = 0.458794, acc = 0.48\n", "[Validation] Batch ID = 1120, loss = 0.359051, acc = 0.6\n", "[Train] Batch ID = 1130, loss = 0.50207, acc = 0.28\n", "[Validation] Batch ID = 1130, loss = 0.398094, acc = 0.46\n", "[Train] Batch ID = 1140, loss = 0.44812, acc = 0.42\n", "[Validation] Batch ID = 1140, loss = 0.405418, acc = 0.4\n", "[Train] Batch ID = 1150, loss = 0.347661, acc = 0.58\n", "[Validation] Batch ID = 1150, loss = 0.405562, acc = 0.44\n", "[Train] Batch ID = 1160, loss = 0.462926, acc = 0.3\n", "[Validation] Batch ID = 1160, loss = 0.397567, acc = 0.46\n", "[Train] Batch ID = 1170, loss = 0.491247, acc = 0.32\n", "[Validation] Batch ID = 1170, loss = 0.355188, acc = 0.56\n", "[Train] Batch ID = 1180, loss = 0.459735, acc = 0.4\n", "[Validation] Batch ID = 1180, loss = 0.37437, acc = 0.54\n", "[Train] Batch ID = 1190, loss = 0.446793, acc = 0.38\n", "[Validation] Batch ID = 1190, loss = 0.341955, acc = 0.52\n", "[Train] Batch ID = 1200, loss = 0.468472, acc = 0.38\n", "[Validation] Batch ID = 1200, loss = 0.340791, acc = 0.62\n", "[Train] Batch ID = 1210, loss = 0.484371, acc = 0.34\n", "[Validation] Batch ID = 1210, loss = 0.360404, acc = 0.54\n", "[Train] Batch ID = 1220, loss = 0.310755, acc = 0.68\n", "[Validation] Batch ID = 1220, loss = 0.413266, acc = 0.48\n", "[Train] Batch ID = 1230, loss = 0.473296, acc = 0.38\n", "[Validation] Batch ID = 1230, loss = 0.360279, acc = 0.54\n", "[Train] Batch ID = 1240, loss = 0.34034, acc = 0.62\n", "[Validation] Batch ID = 1240, loss = 0.35162, acc = 0.6\n", "[Train] Batch ID = 1250, loss = 0.278886, acc = 0.7\n", "[Validation] Batch ID = 1250, loss = 0.396671, acc = 0.48\n", "[Train] Batch ID = 1260, loss = 0.449707, acc = 0.38\n", "[Validation] Batch ID = 1260, loss = 0.381212, acc = 0.54\n", "[Train] Batch ID = 1270, loss = 0.376544, acc = 0.48\n", "[Validation] Batch ID = 1270, loss = 0.390168, acc = 0.38\n", "[Train] Batch ID = 1280, loss = 0.451085, acc = 0.44\n", "[Validation] Batch ID = 1280, loss = 0.359862, acc = 0.64\n", "[Train] Batch ID = 1290, loss = 0.456261, acc = 0.28\n", "[Validation] Batch ID = 1290, loss = 0.355488, acc = 0.6\n", "[Train] Batch ID = 1300, loss = 0.436061, acc = 0.42\n", "[Validation] Batch ID = 1300, loss = 0.355017, acc = 0.56\n", "[Train] Batch ID = 1310, loss = 0.433736, acc = 0.44\n", "[Validation] Batch ID = 1310, loss = 0.384685, acc = 0.5\n", "[Train] Batch ID = 1320, loss = 0.456236, acc = 0.44\n", "[Validation] Batch ID = 1320, loss = 0.326546, acc = 0.58\n", "[Train] Batch ID = 1330, loss = 0.452049, acc = 0.34\n", "[Validation] Batch ID = 1330, loss = 0.346212, acc = 0.64\n", "[Train] Batch ID = 1340, loss = 0.490594, acc = 0.32\n", "[Validation] Batch ID = 1340, loss = 0.367138, acc = 0.54\n", "[Train] Batch ID = 1350, loss = 0.427571, acc = 0.42\n", "[Validation] Batch ID = 1350, loss = 0.405136, acc = 0.5\n", "[Train] Batch ID = 1360, loss = 0.457444, acc = 0.4\n", "[Validation] Batch ID = 1360, loss = 0.34277, acc = 0.68\n", "[Train] Batch ID = 1370, loss = 0.427655, acc = 0.46\n", "[Validation] Batch ID = 1370, loss = 0.401085, acc = 0.44\n", "[Train] Batch ID = 1380, loss = 0.331077, acc = 0.62\n", "[Validation] Batch ID = 1380, loss = 0.34276, acc = 0.58\n", "[Train] Batch ID = 1390, loss = 0.448891, acc = 0.38\n", "[Validation] Batch ID = 1390, loss = 0.352252, acc = 0.62\n", "[Train] Batch ID = 1400, loss = 0.323489, acc = 0.58\n", "[Validation] Batch ID = 1400, loss = 0.346049, acc = 0.58\n", "[Train] Batch ID = 1410, loss = 0.460835, acc = 0.32\n", "[Validation] Batch ID = 1410, loss = 0.320473, acc = 0.64\n", "[Train] Batch ID = 1420, loss = 0.441399, acc = 0.46\n", "[Validation] Batch ID = 1420, loss = 0.356037, acc = 0.6\n", "[Train] Batch ID = 1430, loss = 0.42792, acc = 0.4\n", "[Validation] Batch ID = 1430, loss = 0.372609, acc = 0.5\n", "[Train] Batch ID = 1440, loss = 0.421128, acc = 0.46\n", "[Validation] Batch ID = 1440, loss = 0.338345, acc = 0.48\n", "[Train] Batch ID = 1450, loss = 0.413183, acc = 0.44\n", "[Validation] Batch ID = 1450, loss = 0.27971, acc = 0.72\n", "[Train] Batch ID = 1460, loss = 0.25103, acc = 0.8\n", "[Validation] Batch ID = 1460, loss = 0.319824, acc = 0.74\n", "[Train] Batch ID = 1470, loss = 0.2984, acc = 0.68\n", "[Validation] Batch ID = 1470, loss = 0.343686, acc = 0.58\n", "[Train] Batch ID = 1480, loss = 0.415059, acc = 0.48\n", "[Validation] Batch ID = 1480, loss = 0.395304, acc = 0.46\n", "[Train] Batch ID = 1490, loss = 0.446148, acc = 0.46\n", "[Validation] Batch ID = 1490, loss = 0.318186, acc = 0.62\n", "[Train] Batch ID = 1500, loss = 0.265598, acc = 0.78\n", "[Validation] Batch ID = 1500, loss = 0.358759, acc = 0.62\n", "[Train] Batch ID = 1510, loss = 0.459229, acc = 0.34\n", "[Validation] Batch ID = 1510, loss = 0.323201, acc = 0.64\n", "[Train] Batch ID = 1520, loss = 0.294999, acc = 0.68\n", "[Validation] Batch ID = 1520, loss = 0.344207, acc = 0.58\n", "[Train] Batch ID = 1530, loss = 0.457452, acc = 0.4\n", "[Validation] Batch ID = 1530, loss = 0.352485, acc = 0.56\n", "[Train] Batch ID = 1540, loss = 0.453467, acc = 0.26\n", "[Validation] Batch ID = 1540, loss = 0.344013, acc = 0.6\n", "[Train] Batch ID = 1550, loss = 0.450082, acc = 0.42\n", "[Validation] Batch ID = 1550, loss = 0.32179, acc = 0.6\n", "[Train] Batch ID = 1560, loss = 0.400382, acc = 0.52\n", "[Validation] Batch ID = 1560, loss = 0.315771, acc = 0.68\n", "[Train] Batch ID = 1570, loss = 0.39355, acc = 0.56\n", "[Validation] Batch ID = 1570, loss = 0.33907, acc = 0.6\n", "[Train] Batch ID = 1580, loss = 0.445468, acc = 0.48\n", "[Validation] Batch ID = 1580, loss = 0.298213, acc = 0.74\n", "[Train] Batch ID = 1590, loss = 0.435894, acc = 0.48\n", "[Validation] Batch ID = 1590, loss = 0.336447, acc = 0.56\n", "[Train] Batch ID = 1600, loss = 0.425818, acc = 0.46\n", "[Validation] Batch ID = 1600, loss = 0.301797, acc = 0.62\n", "[Train] Batch ID = 1610, loss = 0.439953, acc = 0.38\n", "[Validation] Batch ID = 1610, loss = 0.295448, acc = 0.64\n", "[Train] Batch ID = 1620, loss = 0.229374, acc = 0.82\n", "[Validation] Batch ID = 1620, loss = 0.287782, acc = 0.62\n", "[Train] Batch ID = 1630, loss = 0.276425, acc = 0.7\n", "[Validation] Batch ID = 1630, loss = 0.333368, acc = 0.58\n", "[Train] Batch ID = 1640, loss = 0.387417, acc = 0.44\n", "[Validation] Batch ID = 1640, loss = 0.270235, acc = 0.68\n", "[Train] Batch ID = 1650, loss = 0.458957, acc = 0.28\n", "[Validation] Batch ID = 1650, loss = 0.318385, acc = 0.54\n", "[Train] Batch ID = 1660, loss = 0.444638, acc = 0.44\n", "[Validation] Batch ID = 1660, loss = 0.31394, acc = 0.64\n", "[Train] Batch ID = 1670, loss = 0.472951, acc = 0.28\n", "[Validation] Batch ID = 1670, loss = 0.35642, acc = 0.58\n", "[Train] Batch ID = 1680, loss = 0.434045, acc = 0.38\n", "[Validation] Batch ID = 1680, loss = 0.306302, acc = 0.7\n", "[Train] Batch ID = 1690, loss = 0.411147, acc = 0.48\n", "[Validation] Batch ID = 1690, loss = 0.286524, acc = 0.8\n", "[Train] Batch ID = 1700, loss = 0.440254, acc = 0.48\n", "[Validation] Batch ID = 1700, loss = 0.312365, acc = 0.7\n", "[Train] Batch ID = 1710, loss = 0.295739, acc = 0.7\n", "[Validation] Batch ID = 1710, loss = 0.298856, acc = 0.7\n", "[Train] Batch ID = 1720, loss = 0.424864, acc = 0.38\n", "[Validation] Batch ID = 1720, loss = 0.317582, acc = 0.68\n", "[Train] Batch ID = 1730, loss = 0.262031, acc = 0.8\n", "[Validation] Batch ID = 1730, loss = 0.342855, acc = 0.66\n", "[Train] Batch ID = 1740, loss = 0.365308, acc = 0.58\n", "[Validation] Batch ID = 1740, loss = 0.285149, acc = 0.66\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "[Train] Batch ID = 1750, loss = 0.283401, acc = 0.7\n", "[Validation] Batch ID = 1750, loss = 0.29662, acc = 0.74\n", "[Train] Batch ID = 1760, loss = 0.410071, acc = 0.52\n", "[Validation] Batch ID = 1760, loss = 0.31923, acc = 0.56\n", "[Train] Batch ID = 1770, loss = 0.435369, acc = 0.42\n", "[Validation] Batch ID = 1770, loss = 0.242582, acc = 0.84\n", "[Train] Batch ID = 1780, loss = 0.463449, acc = 0.36\n", "[Validation] Batch ID = 1780, loss = 0.315357, acc = 0.66\n", "[Train] Batch ID = 1790, loss = 0.387501, acc = 0.52\n", "[Validation] Batch ID = 1790, loss = 0.325985, acc = 0.5\n", "[Train] Batch ID = 1800, loss = 0.377839, acc = 0.52\n", "[Validation] Batch ID = 1800, loss = 0.293942, acc = 0.7\n", "[Train] Batch ID = 1810, loss = 0.411971, acc = 0.48\n", "[Validation] Batch ID = 1810, loss = 0.306874, acc = 0.64\n", "[Train] Batch ID = 1820, loss = 0.423058, acc = 0.44\n", "[Validation] Batch ID = 1820, loss = 0.30385, acc = 0.7\n", "[Train] Batch ID = 1830, loss = 0.441479, acc = 0.34\n", "[Validation] Batch ID = 1830, loss = 0.276286, acc = 0.74\n", "[Train] Batch ID = 1840, loss = 0.410661, acc = 0.52\n", "[Validation] Batch ID = 1840, loss = 0.355448, acc = 0.54\n", "[Train] Batch ID = 1850, loss = 0.433524, acc = 0.44\n", "[Validation] Batch ID = 1850, loss = 0.276556, acc = 0.76\n", "[Train] Batch ID = 1860, loss = 0.262997, acc = 0.8\n", "[Validation] Batch ID = 1860, loss = 0.280793, acc = 0.7\n", "[Train] Batch ID = 1870, loss = 0.424091, acc = 0.46\n", "[Validation] Batch ID = 1870, loss = 0.262786, acc = 0.74\n", "[Train] Batch ID = 1880, loss = 0.35354, acc = 0.54\n", "[Validation] Batch ID = 1880, loss = 0.305498, acc = 0.68\n", "[Train] Batch ID = 1890, loss = 0.416785, acc = 0.48\n", "[Validation] Batch ID = 1890, loss = 0.305132, acc = 0.56\n", "[Train] Batch ID = 1900, loss = 0.431304, acc = 0.5\n", "[Validation] Batch ID = 1900, loss = 0.290395, acc = 0.72\n", "[Train] Batch ID = 1910, loss = 0.395793, acc = 0.54\n", "[Validation] Batch ID = 1910, loss = 0.285612, acc = 0.84\n", "[Train] Batch ID = 1920, loss = 0.466263, acc = 0.32\n", "[Validation] Batch ID = 1920, loss = 0.313731, acc = 0.62\n", "[Train] Batch ID = 1930, loss = 0.392385, acc = 0.48\n", "[Validation] Batch ID = 1930, loss = 0.301737, acc = 0.68\n", "[Train] Batch ID = 1940, loss = 0.424688, acc = 0.36\n", "[Validation] Batch ID = 1940, loss = 0.281302, acc = 0.72\n", "[Train] Batch ID = 1950, loss = 0.400775, acc = 0.52\n", "[Validation] Batch ID = 1950, loss = 0.281192, acc = 0.7\n", "[Train] Batch ID = 1960, loss = 0.226825, acc = 0.9\n", "[Validation] Batch ID = 1960, loss = 0.262478, acc = 0.8\n", "[Train] Batch ID = 1970, loss = 0.403778, acc = 0.52\n", "[Validation] Batch ID = 1970, loss = 0.289501, acc = 0.74\n", "[Train] Batch ID = 1980, loss = 0.407642, acc = 0.5\n", "[Validation] Batch ID = 1980, loss = 0.288932, acc = 0.66\n", "[Train] Batch ID = 1990, loss = 0.236559, acc = 0.78\n", "[Validation] Batch ID = 1990, loss = 0.289652, acc = 0.66\n", "[Train] Batch ID = 2000, loss = 0.402175, acc = 0.44\n", "[Validation] Batch ID = 2000, loss = 0.292529, acc = 0.68\n", "Evaluate full validation dataset ...\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "ModelBase::Saving model ...\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Current loss: 0.287766 Best loss: 0.420879\n", "[TOTAL Validation] Batch ID = 2000, loss = 0.287766, acc = 0.714285714286\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "ModelBase::Model successfully saved here: outputs/checkpoints/c1s_9_c1n_256_c2s_6_c2n_64_c2d_0.7_c1vl_16_c1s_5_c1nf_16_c2vl_32_lr_0.0001_rs_1--TrafficSign--1510487290.423481\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Augmented Factor = 0.7217100000000001\n", "[Train] Batch ID = 2010, loss = 0.424638, acc = 0.46\n", "[Validation] Batch ID = 2010, loss = 0.315895, acc = 0.64\n", "[Train] Batch ID = 2020, loss = 0.417981, acc = 0.5\n", "[Validation] Batch ID = 2020, loss = 0.294751, acc = 0.64\n", "[Train] Batch ID = 2030, loss = 0.391561, acc = 0.52\n", "[Validation] Batch ID = 2030, loss = 0.266273, acc = 0.76\n", "[Train] Batch ID = 2040, loss = 0.398861, acc = 0.48\n", "[Validation] Batch ID = 2040, loss = 0.262126, acc = 0.66\n", "[Train] Batch ID = 2050, loss = 0.437229, acc = 0.36\n", "[Validation] Batch ID = 2050, loss = 0.225945, acc = 0.78\n", "[Train] Batch ID = 2060, loss = 0.256552, acc = 0.74\n", "[Validation] Batch ID = 2060, loss = 0.284124, acc = 0.7\n", "[Train] Batch ID = 2070, loss = 0.449687, acc = 0.32\n", "[Validation] Batch ID = 2070, loss = 0.299305, acc = 0.6\n", "[Train] Batch ID = 2080, loss = 0.39845, acc = 0.52\n", "[Validation] Batch ID = 2080, loss = 0.302878, acc = 0.66\n", "[Train] Batch ID = 2090, loss = 0.43506, acc = 0.46\n", "[Validation] Batch ID = 2090, loss = 0.291238, acc = 0.76\n", "[Train] Batch ID = 2100, loss = 0.36886, acc = 0.54\n", "[Validation] Batch ID = 2100, loss = 0.2914, acc = 0.66\n", "[Train] Batch ID = 2110, loss = 0.360184, acc = 0.56\n", "[Validation] Batch ID = 2110, loss = 0.267114, acc = 0.74\n", "[Train] Batch ID = 2120, loss = 0.230002, acc = 0.74\n", "[Validation] Batch ID = 2120, loss = 0.287399, acc = 0.76\n", "[Train] Batch ID = 2130, loss = 0.421706, acc = 0.44\n", "[Validation] Batch ID = 2130, loss = 0.32106, acc = 0.6\n", "[Train] Batch ID = 2140, loss = 0.234205, acc = 0.78\n", "[Validation] Batch ID = 2140, loss = 0.27168, acc = 0.72\n", "[Train] Batch ID = 2150, loss = 0.407281, acc = 0.46\n", "[Validation] Batch ID = 2150, loss = 0.23138, acc = 0.76\n", "[Train] Batch ID = 2160, loss = 0.247937, acc = 0.82\n", "[Validation] Batch ID = 2160, loss = 0.245743, acc = 0.78\n", "[Train] Batch ID = 2170, loss = 0.410929, acc = 0.58\n", "[Validation] Batch ID = 2170, loss = 0.302407, acc = 0.76\n", "[Train] Batch ID = 2180, loss = 0.390121, acc = 0.5\n", "[Validation] Batch ID = 2180, loss = 0.259604, acc = 0.78\n", "[Train] Batch ID = 2190, loss = 0.455198, acc = 0.32\n", "[Validation] Batch ID = 2190, loss = 0.253516, acc = 0.74\n", "[Train] Batch ID = 2200, loss = 0.413657, acc = 0.5\n", "[Validation] Batch ID = 2200, loss = 0.229672, acc = 0.88\n", "[Train] Batch ID = 2210, loss = 0.447304, acc = 0.4\n", "[Validation] Batch ID = 2210, loss = 0.228827, acc = 0.76\n", "[Train] Batch ID = 2220, loss = 0.401778, acc = 0.46\n", "[Validation] Batch ID = 2220, loss = 0.252305, acc = 0.68\n", "[Train] Batch ID = 2230, loss = 0.397193, acc = 0.44\n", "[Validation] Batch ID = 2230, loss = 0.216504, acc = 0.8\n", "[Train] Batch ID = 2240, loss = 0.229553, acc = 0.8\n", "[Validation] Batch ID = 2240, loss = 0.260911, acc = 0.82\n", "[Train] Batch ID = 2250, loss = 0.385352, acc = 0.5\n", "[Validation] Batch ID = 2250, loss = 0.258119, acc = 0.76\n", "[Train] Batch ID = 2260, loss = 0.413041, acc = 0.38\n", "[Validation] Batch ID = 2260, loss = 0.258962, acc = 0.76\n", "[Train] Batch ID = 2270, loss = 0.442316, acc = 0.38\n", "[Validation] Batch ID = 2270, loss = 0.231853, acc = 0.82\n", "[Train] Batch ID = 2280, loss = 0.420389, acc = 0.46\n", "[Validation] Batch ID = 2280, loss = 0.273525, acc = 0.78\n", "[Train] Batch ID = 2290, loss = 0.431131, acc = 0.54\n", "[Validation] Batch ID = 2290, loss = 0.267348, acc = 0.8\n", "[Train] Batch ID = 2300, loss = 0.209498, acc = 0.86\n", "[Validation] Batch ID = 2300, loss = 0.284436, acc = 0.64\n", "[Train] Batch ID = 2310, loss = 0.38133, acc = 0.54\n", "[Validation] Batch ID = 2310, loss = 0.266011, acc = 0.72\n", "[Train] Batch ID = 2320, loss = 0.381111, acc = 0.54\n", "[Validation] Batch ID = 2320, loss = 0.287741, acc = 0.68\n", "[Train] Batch ID = 2330, loss = 0.193757, acc = 0.88\n", "[Validation] Batch ID = 2330, loss = 0.252142, acc = 0.76\n", "[Train] Batch ID = 2340, loss = 0.363587, acc = 0.54\n", "[Validation] Batch ID = 2340, loss = 0.239207, acc = 0.76\n", "[Train] Batch ID = 2350, loss = 0.408757, acc = 0.46\n", "[Validation] Batch ID = 2350, loss = 0.260313, acc = 0.74\n", "[Train] Batch ID = 2360, loss = 0.359984, acc = 0.6\n", "[Validation] Batch ID = 2360, loss = 0.256528, acc = 0.76\n", "[Train] Batch ID = 2370, loss = 0.403567, acc = 0.42\n", "[Validation] Batch ID = 2370, loss = 0.229592, acc = 0.78\n", "[Train] Batch ID = 2380, loss = 0.191505, acc = 0.88\n", "[Validation] Batch ID = 2380, loss = 0.259362, acc = 0.72\n", "[Train] Batch ID = 2390, loss = 0.215533, acc = 0.88\n", "[Validation] Batch ID = 2390, loss = 0.278083, acc = 0.68\n", "[Train] Batch ID = 2400, loss = 0.264087, acc = 0.78\n", "[Validation] Batch ID = 2400, loss = 0.266879, acc = 0.68\n", "[Train] Batch ID = 2410, loss = 0.383975, acc = 0.52\n", "[Validation] Batch ID = 2410, loss = 0.23264, acc = 0.74\n", "[Train] Batch ID = 2420, loss = 0.422329, acc = 0.38\n", "[Validation] Batch ID = 2420, loss = 0.2484, acc = 0.78\n", "[Train] Batch ID = 2430, loss = 0.374205, acc = 0.6\n", "[Validation] Batch ID = 2430, loss = 0.204559, acc = 0.82\n", "[Train] Batch ID = 2440, loss = 0.438642, acc = 0.4\n", "[Validation] Batch ID = 2440, loss = 0.264294, acc = 0.8\n", "[Train] Batch ID = 2450, loss = 0.375316, acc = 0.62\n", "[Validation] Batch ID = 2450, loss = 0.239244, acc = 0.78\n", "[Train] Batch ID = 2460, loss = 0.223293, acc = 0.84\n", "[Validation] Batch ID = 2460, loss = 0.234116, acc = 0.8\n", "[Train] Batch ID = 2470, loss = 0.188692, acc = 0.92\n", "[Validation] Batch ID = 2470, loss = 0.285622, acc = 0.66\n", "[Train] Batch ID = 2480, loss = 0.177206, acc = 0.82\n", "[Validation] Batch ID = 2480, loss = 0.213275, acc = 0.84\n", "[Train] Batch ID = 2490, loss = 0.39774, acc = 0.48\n", "[Validation] Batch ID = 2490, loss = 0.244553, acc = 0.78\n", "[Train] Batch ID = 2500, loss = 0.404168, acc = 0.5\n", "[Validation] Batch ID = 2500, loss = 0.257854, acc = 0.64\n", "[Train] Batch ID = 2510, loss = 0.406717, acc = 0.42\n", "[Validation] Batch ID = 2510, loss = 0.213871, acc = 0.84\n", "[Train] Batch ID = 2520, loss = 0.204979, acc = 0.82\n", "[Validation] Batch ID = 2520, loss = 0.213771, acc = 0.82\n", "[Train] Batch ID = 2530, loss = 0.393296, acc = 0.54\n", "[Validation] Batch ID = 2530, loss = 0.222768, acc = 0.84\n", "[Train] Batch ID = 2540, loss = 0.387103, acc = 0.42\n", "[Validation] Batch ID = 2540, loss = 0.234062, acc = 0.76\n", "[Train] Batch ID = 2550, loss = 0.201806, acc = 0.9\n", "[Validation] Batch ID = 2550, loss = 0.272591, acc = 0.74\n", "[Train] Batch ID = 2560, loss = 0.428081, acc = 0.48\n", "[Validation] Batch ID = 2560, loss = 0.233086, acc = 0.76\n", "[Train] Batch ID = 2570, loss = 0.402639, acc = 0.46\n", "[Validation] Batch ID = 2570, loss = 0.200388, acc = 0.84\n", "[Train] Batch ID = 2580, loss = 0.197115, acc = 0.84\n", "[Validation] Batch ID = 2580, loss = 0.327447, acc = 0.8\n", "[Train] Batch ID = 2590, loss = 0.41173, acc = 0.42\n", "[Validation] Batch ID = 2590, loss = 0.225098, acc = 0.74\n", "[Train] Batch ID = 2600, loss = 0.194261, acc = 0.88\n", "[Validation] Batch ID = 2600, loss = 0.239055, acc = 0.82\n", "[Train] Batch ID = 2610, loss = 0.399961, acc = 0.48\n", "[Validation] Batch ID = 2610, loss = 0.248689, acc = 0.76\n", "[Train] Batch ID = 2620, loss = 0.370846, acc = 0.5\n", "[Validation] Batch ID = 2620, loss = 0.252983, acc = 0.82\n", "[Train] Batch ID = 2630, loss = 0.353472, acc = 0.56\n", "[Validation] Batch ID = 2630, loss = 0.284357, acc = 0.64\n", "[Train] Batch ID = 2640, loss = 0.390562, acc = 0.48\n", "[Validation] Batch ID = 2640, loss = 0.266341, acc = 0.8\n", "[Train] Batch ID = 2650, loss = 0.405542, acc = 0.54\n", "[Validation] Batch ID = 2650, loss = 0.221173, acc = 0.78\n", "[Train] Batch ID = 2660, loss = 0.348745, acc = 0.58\n", "[Validation] Batch ID = 2660, loss = 0.266088, acc = 0.76\n", "[Train] Batch ID = 2670, loss = 0.377527, acc = 0.52\n", "[Validation] Batch ID = 2670, loss = 0.236292, acc = 0.78\n", "[Train] Batch ID = 2680, loss = 0.204437, acc = 0.98\n", "[Validation] Batch ID = 2680, loss = 0.224975, acc = 0.84\n", "[Train] Batch ID = 2690, loss = 0.334522, acc = 0.56\n", "[Validation] Batch ID = 2690, loss = 0.243066, acc = 0.8\n", "[Train] Batch ID = 2700, loss = 0.392206, acc = 0.54\n", "[Validation] Batch ID = 2700, loss = 0.217563, acc = 0.82\n", "[Train] Batch ID = 2710, loss = 0.348645, acc = 0.6\n", "[Validation] Batch ID = 2710, loss = 0.236927, acc = 0.78\n", "[Train] Batch ID = 2720, loss = 0.377078, acc = 0.54\n", "[Validation] Batch ID = 2720, loss = 0.210027, acc = 0.82\n", "[Train] Batch ID = 2730, loss = 0.345776, acc = 0.6\n", "[Validation] Batch ID = 2730, loss = 0.255834, acc = 0.78\n", "[Train] Batch ID = 2740, loss = 0.178067, acc = 0.86\n", "[Validation] Batch ID = 2740, loss = 0.221936, acc = 0.78\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "[Train] Batch ID = 2750, loss = 0.192231, acc = 0.9\n", "[Validation] Batch ID = 2750, loss = 0.218081, acc = 0.8\n", "[Train] Batch ID = 2760, loss = 0.424044, acc = 0.48\n", "[Validation] Batch ID = 2760, loss = 0.210341, acc = 0.86\n", "[Train] Batch ID = 2770, loss = 0.418441, acc = 0.36\n", "[Validation] Batch ID = 2770, loss = 0.221309, acc = 0.84\n", "[Train] Batch ID = 2780, loss = 0.167826, acc = 0.92\n", "[Validation] Batch ID = 2780, loss = 0.224829, acc = 0.76\n", "[Train] Batch ID = 2790, loss = 0.404088, acc = 0.52\n", "[Validation] Batch ID = 2790, loss = 0.299466, acc = 0.72\n", "[Train] Batch ID = 2800, loss = 0.171814, acc = 0.94\n", "[Validation] Batch ID = 2800, loss = 0.237057, acc = 0.78\n", "[Train] Batch ID = 2810, loss = 0.385781, acc = 0.46\n", "[Validation] Batch ID = 2810, loss = 0.185864, acc = 0.84\n", "[Train] Batch ID = 2820, loss = 0.366355, acc = 0.52\n", "[Validation] Batch ID = 2820, loss = 0.233345, acc = 0.76\n", "[Train] Batch ID = 2830, loss = 0.365549, acc = 0.6\n", "[Validation] Batch ID = 2830, loss = 0.213654, acc = 0.82\n", "[Train] Batch ID = 2840, loss = 0.341989, acc = 0.58\n", "[Validation] Batch ID = 2840, loss = 0.223267, acc = 0.72\n", "[Train] Batch ID = 2850, loss = 0.385229, acc = 0.52\n", "[Validation] Batch ID = 2850, loss = 0.241343, acc = 0.74\n", "[Train] Batch ID = 2860, loss = 0.41385, acc = 0.48\n", "[Validation] Batch ID = 2860, loss = 0.220821, acc = 0.84\n", "[Train] Batch ID = 2870, loss = 0.378469, acc = 0.58\n", "[Validation] Batch ID = 2870, loss = 0.207036, acc = 0.88\n", "[Train] Batch ID = 2880, loss = 0.313315, acc = 0.66\n", "[Validation] Batch ID = 2880, loss = 0.232811, acc = 0.78\n", "[Train] Batch ID = 2890, loss = 0.394595, acc = 0.54\n", "[Validation] Batch ID = 2890, loss = 0.245848, acc = 0.7\n", "[Train] Batch ID = 2900, loss = 0.36514, acc = 0.56\n", "[Validation] Batch ID = 2900, loss = 0.218638, acc = 0.88\n", "[Train] Batch ID = 2910, loss = 0.401657, acc = 0.46\n", "[Validation] Batch ID = 2910, loss = 0.22682, acc = 0.82\n", "[Train] Batch ID = 2920, loss = 0.383167, acc = 0.52\n", "[Validation] Batch ID = 2920, loss = 0.246558, acc = 0.78\n", "[Train] Batch ID = 2930, loss = 0.41228, acc = 0.42\n", "[Validation] Batch ID = 2930, loss = 0.207516, acc = 0.86\n", "[Train] Batch ID = 2940, loss = 0.162175, acc = 0.9\n", "[Validation] Batch ID = 2940, loss = 0.238631, acc = 0.76\n", "[Train] Batch ID = 2950, loss = 0.351987, acc = 0.52\n", "[Validation] Batch ID = 2950, loss = 0.229763, acc = 0.78\n", "[Train] Batch ID = 2960, loss = 0.379678, acc = 0.5\n", "[Validation] Batch ID = 2960, loss = 0.24098, acc = 0.72\n", "[Train] Batch ID = 2970, loss = 0.187697, acc = 0.88\n", "[Validation] Batch ID = 2970, loss = 0.250802, acc = 0.76\n", "[Train] Batch ID = 2980, loss = 0.396072, acc = 0.42\n", "[Validation] Batch ID = 2980, loss = 0.196173, acc = 0.84\n", "[Train] Batch ID = 2990, loss = 0.40528, acc = 0.5\n", "[Validation] Batch ID = 2990, loss = 0.214772, acc = 0.9\n", "[Train] Batch ID = 3000, loss = 0.384336, acc = 0.56\n", "[Validation] Batch ID = 3000, loss = 0.261725, acc = 0.66\n", "Evaluate full validation dataset ...\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "ModelBase::Saving model ...\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Current loss: 0.21994 Best loss: 0.287766\n", "[TOTAL Validation] Batch ID = 3000, loss = 0.21994, acc = 0.790249433107\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "ModelBase::Model successfully saved here: outputs/checkpoints/c1s_9_c1n_256_c2s_6_c2n_64_c2d_0.7_c1vl_16_c1s_5_c1nf_16_c2vl_32_lr_0.0001_rs_1--TrafficSign--1510487290.423481\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Augmented Factor = 0.6495390000000001\n", "[Train] Batch ID = 3010, loss = 0.445161, acc = 0.34\n", "[Validation] Batch ID = 3010, loss = 0.21014, acc = 0.86\n", "[Train] Batch ID = 3020, loss = 0.164797, acc = 0.92\n", "[Validation] Batch ID = 3020, loss = 0.181296, acc = 0.84\n", "[Train] Batch ID = 3030, loss = 0.198305, acc = 0.8\n", "[Validation] Batch ID = 3030, loss = 0.256097, acc = 0.72\n", "[Train] Batch ID = 3040, loss = 0.164917, acc = 0.94\n", "[Validation] Batch ID = 3040, loss = 0.192148, acc = 0.84\n", "[Train] Batch ID = 3050, loss = 0.343142, acc = 0.6\n", "[Validation] Batch ID = 3050, loss = 0.181722, acc = 0.8\n", "[Train] Batch ID = 3060, loss = 0.400218, acc = 0.46\n", "[Validation] Batch ID = 3060, loss = 0.187976, acc = 0.8\n", "[Train] Batch ID = 3070, loss = 0.145437, acc = 0.92\n", "[Validation] Batch ID = 3070, loss = 0.197524, acc = 0.9\n", "[Train] Batch ID = 3080, loss = 0.372067, acc = 0.56\n", "[Validation] Batch ID = 3080, loss = 0.16884, acc = 0.9\n", "[Train] Batch ID = 3090, loss = 0.159641, acc = 0.92\n", "[Validation] Batch ID = 3090, loss = 0.222574, acc = 0.8\n", "[Train] Batch ID = 3100, loss = 0.358212, acc = 0.62\n", "[Validation] Batch ID = 3100, loss = 0.192208, acc = 0.9\n", "[Train] Batch ID = 3110, loss = 0.347611, acc = 0.58\n", "[Validation] Batch ID = 3110, loss = 0.220475, acc = 0.76\n", "[Train] Batch ID = 3120, loss = 0.178815, acc = 0.86\n", "[Validation] Batch ID = 3120, loss = 0.20312, acc = 0.74\n", "[Train] Batch ID = 3130, loss = 0.170885, acc = 0.92\n", "[Validation] Batch ID = 3130, loss = 0.15722, acc = 0.92\n", "[Train] Batch ID = 3140, loss = 0.175007, acc = 0.92\n", "[Validation] Batch ID = 3140, loss = 0.197012, acc = 0.86\n", "[Train] Batch ID = 3150, loss = 0.155249, acc = 0.92\n", "[Validation] Batch ID = 3150, loss = 0.20313, acc = 0.82\n", "[Train] Batch ID = 3160, loss = 0.35287, acc = 0.6\n", "[Validation] Batch ID = 3160, loss = 0.19416, acc = 0.88\n", "[Train] Batch ID = 3170, loss = 0.153096, acc = 0.96\n", "[Validation] Batch ID = 3170, loss = 0.200089, acc = 0.86\n", "[Train] Batch ID = 3180, loss = 0.330091, acc = 0.66\n", "[Validation] Batch ID = 3180, loss = 0.193321, acc = 0.88\n", "[Train] Batch ID = 3190, loss = 0.386201, acc = 0.54\n", "[Validation] Batch ID = 3190, loss = 0.201889, acc = 0.84\n", "[Train] Batch ID = 3200, loss = 0.34666, acc = 0.58\n", "[Validation] Batch ID = 3200, loss = 0.189414, acc = 0.84\n", "[Train] Batch ID = 3210, loss = 0.17919, acc = 0.88\n", "[Validation] Batch ID = 3210, loss = 0.172466, acc = 0.88\n", "[Train] Batch ID = 3220, loss = 0.37063, acc = 0.54\n", "[Validation] Batch ID = 3220, loss = 0.181054, acc = 0.92\n", "[Train] Batch ID = 3230, loss = 0.353636, acc = 0.52\n", "[Validation] Batch ID = 3230, loss = 0.170902, acc = 0.88\n", "[Train] Batch ID = 3240, loss = 0.391059, acc = 0.44\n", "[Validation] Batch ID = 3240, loss = 0.172318, acc = 0.88\n", "[Train] Batch ID = 3250, loss = 0.312763, acc = 0.72\n", "[Validation] Batch ID = 3250, loss = 0.214634, acc = 0.82\n", "[Train] Batch ID = 3260, loss = 0.343761, acc = 0.6\n", "[Validation] Batch ID = 3260, loss = 0.192077, acc = 0.82\n", "[Train] Batch ID = 3270, loss = 0.127589, acc = 0.98\n", "[Validation] Batch ID = 3270, loss = 0.213788, acc = 0.84\n", "[Train] Batch ID = 3280, loss = 0.13216, acc = 1.0\n", "[Validation] Batch ID = 3280, loss = 0.180105, acc = 0.84\n", "[Train] Batch ID = 3290, loss = 0.341555, acc = 0.64\n", "[Validation] Batch ID = 3290, loss = 0.202181, acc = 0.8\n", "[Train] Batch ID = 3300, loss = 0.379554, acc = 0.6\n", "[Validation] Batch ID = 3300, loss = 0.185371, acc = 0.92\n", "[Train] Batch ID = 3310, loss = 0.13695, acc = 0.92\n", "[Validation] Batch ID = 3310, loss = 0.156135, acc = 0.88\n", "[Train] Batch ID = 3320, loss = 0.373571, acc = 0.54\n", "[Validation] Batch ID = 3320, loss = 0.22387, acc = 0.76\n", "[Train] Batch ID = 3330, loss = 0.153527, acc = 0.9\n", "[Validation] Batch ID = 3330, loss = 0.180107, acc = 0.88\n", "[Train] Batch ID = 3340, loss = 0.381981, acc = 0.48\n", "[Validation] Batch ID = 3340, loss = 0.204016, acc = 0.74\n", "[Train] Batch ID = 3350, loss = 0.346182, acc = 0.56\n", "[Validation] Batch ID = 3350, loss = 0.215601, acc = 0.8\n", "[Train] Batch ID = 3360, loss = 0.152886, acc = 0.9\n", "[Validation] Batch ID = 3360, loss = 0.154653, acc = 0.92\n", "[Train] Batch ID = 3370, loss = 0.388474, acc = 0.6\n", "[Validation] Batch ID = 3370, loss = 0.16135, acc = 0.84\n", "[Train] Batch ID = 3380, loss = 0.364568, acc = 0.6\n", "[Validation] Batch ID = 3380, loss = 0.205586, acc = 0.82\n", "[Train] Batch ID = 3390, loss = 0.356776, acc = 0.52\n", "[Validation] Batch ID = 3390, loss = 0.209366, acc = 0.8\n", "[Train] Batch ID = 3400, loss = 0.13818, acc = 0.96\n", "[Validation] Batch ID = 3400, loss = 0.174891, acc = 0.92\n", "[Train] Batch ID = 3410, loss = 0.385156, acc = 0.46\n", "[Validation] Batch ID = 3410, loss = 0.158915, acc = 0.94\n", "[Train] Batch ID = 3420, loss = 0.100106, acc = 1.0\n", "[Validation] Batch ID = 3420, loss = 0.183602, acc = 0.8\n", "[Train] Batch ID = 3430, loss = 0.39617, acc = 0.46\n", "[Validation] Batch ID = 3430, loss = 0.195676, acc = 0.84\n", "[Train] Batch ID = 3440, loss = 0.363371, acc = 0.58\n", "[Validation] Batch ID = 3440, loss = 0.148295, acc = 0.84\n", "[Train] Batch ID = 3450, loss = 0.355273, acc = 0.58\n", "[Validation] Batch ID = 3450, loss = 0.21295, acc = 0.88\n", "[Train] Batch ID = 3460, loss = 0.379746, acc = 0.48\n", "[Validation] Batch ID = 3460, loss = 0.180013, acc = 0.84\n", "[Train] Batch ID = 3470, loss = 0.335323, acc = 0.6\n", "[Validation] Batch ID = 3470, loss = 0.114517, acc = 0.9\n", "[Train] Batch ID = 3480, loss = 0.325833, acc = 0.68\n", "[Validation] Batch ID = 3480, loss = 0.169348, acc = 0.84\n", "[Train] Batch ID = 3490, loss = 0.136607, acc = 0.9\n", "[Validation] Batch ID = 3490, loss = 0.190627, acc = 0.86\n", "[Train] Batch ID = 3500, loss = 0.368675, acc = 0.5\n", "[Validation] Batch ID = 3500, loss = 0.175382, acc = 0.84\n", "[Train] Batch ID = 3510, loss = 0.145697, acc = 0.92\n", "[Validation] Batch ID = 3510, loss = 0.193606, acc = 0.84\n", "[Train] Batch ID = 3520, loss = 0.364332, acc = 0.5\n", "[Validation] Batch ID = 3520, loss = 0.149738, acc = 0.92\n", "[Train] Batch ID = 3530, loss = 0.350502, acc = 0.6\n", "[Validation] Batch ID = 3530, loss = 0.179333, acc = 0.82\n", "[Train] Batch ID = 3540, loss = 0.131797, acc = 0.94\n", "[Validation] Batch ID = 3540, loss = 0.180903, acc = 0.94\n", "[Train] Batch ID = 3550, loss = 0.395838, acc = 0.48\n", "[Validation] Batch ID = 3550, loss = 0.14815, acc = 0.88\n", "[Train] Batch ID = 3560, loss = 0.320512, acc = 0.64\n", "[Validation] Batch ID = 3560, loss = 0.14834, acc = 0.94\n", "[Train] Batch ID = 3570, loss = 0.159056, acc = 0.94\n", "[Validation] Batch ID = 3570, loss = 0.181972, acc = 0.84\n", "[Train] Batch ID = 3580, loss = 0.128954, acc = 0.94\n", "[Validation] Batch ID = 3580, loss = 0.190294, acc = 0.82\n", "[Train] Batch ID = 3590, loss = 0.33268, acc = 0.68\n", "[Validation] Batch ID = 3590, loss = 0.160293, acc = 0.8\n", "[Train] Batch ID = 3600, loss = 0.382119, acc = 0.5\n", "[Validation] Batch ID = 3600, loss = 0.204905, acc = 0.78\n", "[Train] Batch ID = 3610, loss = 0.133848, acc = 0.96\n", "[Validation] Batch ID = 3610, loss = 0.175962, acc = 0.94\n", "[Train] Batch ID = 3620, loss = 0.125686, acc = 0.94\n", "[Validation] Batch ID = 3620, loss = 0.214269, acc = 0.8\n", "[Train] Batch ID = 3630, loss = 0.115695, acc = 0.96\n", "[Validation] Batch ID = 3630, loss = 0.213975, acc = 0.8\n", "[Train] Batch ID = 3640, loss = 0.126236, acc = 0.92\n", "[Validation] Batch ID = 3640, loss = 0.192529, acc = 0.8\n", "[Train] Batch ID = 3650, loss = 0.388462, acc = 0.52\n", "[Validation] Batch ID = 3650, loss = 0.165436, acc = 0.82\n", "[Train] Batch ID = 3660, loss = 0.359403, acc = 0.56\n", "[Validation] Batch ID = 3660, loss = 0.192993, acc = 0.8\n", "[Train] Batch ID = 3670, loss = 0.320491, acc = 0.6\n", "[Validation] Batch ID = 3670, loss = 0.152648, acc = 0.88\n", "[Train] Batch ID = 3680, loss = 0.342737, acc = 0.6\n", "[Validation] Batch ID = 3680, loss = 0.213149, acc = 0.78\n", "[Train] Batch ID = 3690, loss = 0.342219, acc = 0.7\n", "[Validation] Batch ID = 3690, loss = 0.181833, acc = 0.84\n", "[Train] Batch ID = 3700, loss = 0.380888, acc = 0.44\n", "[Validation] Batch ID = 3700, loss = 0.182251, acc = 0.84\n", "[Train] Batch ID = 3710, loss = 0.121941, acc = 0.96\n", "[Validation] Batch ID = 3710, loss = 0.179244, acc = 0.86\n", "[Train] Batch ID = 3720, loss = 0.364062, acc = 0.5\n", "[Validation] Batch ID = 3720, loss = 0.217208, acc = 0.78\n", "[Train] Batch ID = 3730, loss = 0.367069, acc = 0.62\n", "[Validation] Batch ID = 3730, loss = 0.154614, acc = 0.9\n", "[Train] Batch ID = 3740, loss = 0.129264, acc = 0.96\n", "[Validation] Batch ID = 3740, loss = 0.180565, acc = 0.88\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "[Train] Batch ID = 3750, loss = 0.152761, acc = 0.92\n", "[Validation] Batch ID = 3750, loss = 0.184382, acc = 0.84\n", "[Train] Batch ID = 3760, loss = 0.348866, acc = 0.58\n", "[Validation] Batch ID = 3760, loss = 0.185455, acc = 0.8\n", "[Train] Batch ID = 3770, loss = 0.32255, acc = 0.64\n", "[Validation] Batch ID = 3770, loss = 0.185539, acc = 0.82\n", "[Train] Batch ID = 3780, loss = 0.356236, acc = 0.56\n", "[Validation] Batch ID = 3780, loss = 0.198148, acc = 0.88\n", "[Train] Batch ID = 3790, loss = 0.377577, acc = 0.54\n", "[Validation] Batch ID = 3790, loss = 0.210579, acc = 0.84\n", "[Train] Batch ID = 3800, loss = 0.351091, acc = 0.52\n", "[Validation] Batch ID = 3800, loss = 0.200057, acc = 0.84\n", "[Train] Batch ID = 3810, loss = 0.340158, acc = 0.58\n", "[Validation] Batch ID = 3810, loss = 0.177234, acc = 0.84\n", "[Train] Batch ID = 3820, loss = 0.116837, acc = 0.98\n", "[Validation] Batch ID = 3820, loss = 0.148749, acc = 0.9\n", "[Train] Batch ID = 3830, loss = 0.113573, acc = 1.0\n", "[Validation] Batch ID = 3830, loss = 0.17946, acc = 0.9\n", "[Train] Batch ID = 3840, loss = 0.358943, acc = 0.58\n", "[Validation] Batch ID = 3840, loss = 0.165624, acc = 0.82\n", "[Train] Batch ID = 3850, loss = 0.336287, acc = 0.6\n", "[Validation] Batch ID = 3850, loss = 0.1866, acc = 0.8\n", "[Train] Batch ID = 3860, loss = 0.38031, acc = 0.48\n", "[Validation] Batch ID = 3860, loss = 0.153643, acc = 0.9\n", "[Train] Batch ID = 3870, loss = 0.377857, acc = 0.52\n", "[Validation] Batch ID = 3870, loss = 0.177445, acc = 0.84\n", "[Train] Batch ID = 3880, loss = 0.101431, acc = 0.96\n", "[Validation] Batch ID = 3880, loss = 0.1583, acc = 0.9\n", "[Train] Batch ID = 3890, loss = 0.130648, acc = 0.96\n", "[Validation] Batch ID = 3890, loss = 0.171675, acc = 0.88\n", "[Train] Batch ID = 3900, loss = 0.37803, acc = 0.58\n", "[Validation] Batch ID = 3900, loss = 0.156381, acc = 0.86\n", "[Train] Batch ID = 3910, loss = 0.092333, acc = 0.98\n", "[Validation] Batch ID = 3910, loss = 0.194253, acc = 0.82\n", "[Train] Batch ID = 3920, loss = 0.116671, acc = 0.96\n", "[Validation] Batch ID = 3920, loss = 0.16635, acc = 0.94\n", "[Train] Batch ID = 3930, loss = 0.34316, acc = 0.56\n", "[Validation] Batch ID = 3930, loss = 0.177922, acc = 0.86\n", "[Train] Batch ID = 3940, loss = 0.123078, acc = 0.94\n", "[Validation] Batch ID = 3940, loss = 0.131239, acc = 0.92\n", "[Train] Batch ID = 3950, loss = 0.342191, acc = 0.6\n", "[Validation] Batch ID = 3950, loss = 0.177488, acc = 0.9\n", "[Train] Batch ID = 3960, loss = 0.335259, acc = 0.64\n", "[Validation] Batch ID = 3960, loss = 0.136452, acc = 0.96\n", "[Train] Batch ID = 3970, loss = 0.135189, acc = 0.94\n", "[Validation] Batch ID = 3970, loss = 0.139566, acc = 0.9\n", "[Train] Batch ID = 3980, loss = 0.0979463, acc = 0.96\n", "[Validation] Batch ID = 3980, loss = 0.150806, acc = 0.88\n", "[Train] Batch ID = 3990, loss = 0.376017, acc = 0.5\n", "[Validation] Batch ID = 3990, loss = 0.168038, acc = 0.86\n", "[Train] Batch ID = 4000, loss = 0.111328, acc = 0.98\n", "[Validation] Batch ID = 4000, loss = 0.144933, acc = 0.9\n", "Evaluate full validation dataset ...\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "ModelBase::Saving model ...\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Current loss: 0.168757 Best loss: 0.21994\n", "[TOTAL Validation] Batch ID = 4000, loss = 0.168757, acc = 0.870975056689\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "ModelBase::Model successfully saved here: outputs/checkpoints/c1s_9_c1n_256_c2s_6_c2n_64_c2d_0.7_c1vl_16_c1s_5_c1nf_16_c2vl_32_lr_0.0001_rs_1--TrafficSign--1510487290.423481\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Augmented Factor = 0.5845851000000001\n", "[Train] Batch ID = 4010, loss = 0.12251, acc = 0.92\n", "[Validation] Batch ID = 4010, loss = 0.16558, acc = 0.84\n", "[Train] Batch ID = 4020, loss = 0.112086, acc = 0.92\n", "[Validation] Batch ID = 4020, loss = 0.15856, acc = 0.88\n", "[Train] Batch ID = 4030, loss = 0.313121, acc = 0.68\n", "[Validation] Batch ID = 4030, loss = 0.15399, acc = 0.9\n", "[Train] Batch ID = 4040, loss = 0.367862, acc = 0.54\n", "[Validation] Batch ID = 4040, loss = 0.145397, acc = 0.86\n", "[Train] Batch ID = 4050, loss = 0.271752, acc = 0.74\n", "[Validation] Batch ID = 4050, loss = 0.141684, acc = 0.9\n", "[Train] Batch ID = 4060, loss = 0.333086, acc = 0.58\n", "[Validation] Batch ID = 4060, loss = 0.174225, acc = 0.86\n", "[Train] Batch ID = 4070, loss = 0.107873, acc = 0.96\n", "[Validation] Batch ID = 4070, loss = 0.165873, acc = 0.82\n", "[Train] Batch ID = 4080, loss = 0.100479, acc = 0.98\n", "[Validation] Batch ID = 4080, loss = 0.148699, acc = 0.88\n", "[Train] Batch ID = 4090, loss = 0.123076, acc = 0.9\n", "[Validation] Batch ID = 4090, loss = 0.166938, acc = 0.88\n", "[Train] Batch ID = 4100, loss = 0.105591, acc = 0.98\n", "[Validation] Batch ID = 4100, loss = 0.15512, acc = 0.92\n", "[Train] Batch ID = 4110, loss = 0.109869, acc = 0.96\n", "[Validation] Batch ID = 4110, loss = 0.168539, acc = 0.88\n", "[Train] Batch ID = 4120, loss = 0.288437, acc = 0.7\n", "[Validation] Batch ID = 4120, loss = 0.148167, acc = 0.9\n", "[Train] Batch ID = 4130, loss = 0.0879073, acc = 0.98\n", "[Validation] Batch ID = 4130, loss = 0.180345, acc = 0.82\n", "[Train] Batch ID = 4140, loss = 0.38728, acc = 0.52\n", "[Validation] Batch ID = 4140, loss = 0.116299, acc = 0.98\n", "[Train] Batch ID = 4150, loss = 0.101743, acc = 1.0\n", "[Validation] Batch ID = 4150, loss = 0.168443, acc = 0.86\n", "[Train] Batch ID = 4160, loss = 0.325794, acc = 0.62\n", "[Validation] Batch ID = 4160, loss = 0.151297, acc = 0.96\n", "[Train] Batch ID = 4170, loss = 0.138752, acc = 0.94\n", "[Validation] Batch ID = 4170, loss = 0.162053, acc = 0.86\n", "[Train] Batch ID = 4180, loss = 0.106906, acc = 0.94\n", "[Validation] Batch ID = 4180, loss = 0.137521, acc = 0.94\n", "[Train] Batch ID = 4190, loss = 0.125377, acc = 0.96\n", "[Validation] Batch ID = 4190, loss = 0.142781, acc = 0.9\n", "[Train] Batch ID = 4200, loss = 0.35877, acc = 0.52\n", "[Validation] Batch ID = 4200, loss = 0.115913, acc = 0.9\n", "[Train] Batch ID = 4210, loss = 0.10824, acc = 0.98\n", "[Validation] Batch ID = 4210, loss = 0.130416, acc = 0.96\n", "[Train] Batch ID = 4220, loss = 0.120083, acc = 0.94\n", "[Validation] Batch ID = 4220, loss = 0.173238, acc = 0.82\n", "[Train] Batch ID = 4230, loss = 0.0997008, acc = 0.98\n", "[Validation] Batch ID = 4230, loss = 0.141225, acc = 0.88\n", "[Train] Batch ID = 4240, loss = 0.105464, acc = 0.98\n", "[Validation] Batch ID = 4240, loss = 0.15865, acc = 0.86\n", "[Train] Batch ID = 4250, loss = 0.117515, acc = 0.94\n", "[Validation] Batch ID = 4250, loss = 0.129476, acc = 0.94\n", "[Train] Batch ID = 4260, loss = 0.293512, acc = 0.68\n", "[Validation] Batch ID = 4260, loss = 0.120032, acc = 0.86\n", "[Train] Batch ID = 4270, loss = 0.132608, acc = 0.92\n", "[Validation] Batch ID = 4270, loss = 0.198343, acc = 0.82\n", "[Train] Batch ID = 4280, loss = 0.355035, acc = 0.52\n", "[Validation] Batch ID = 4280, loss = 0.150256, acc = 0.9\n", "[Train] Batch ID = 4290, loss = 0.0856165, acc = 0.98\n", "[Validation] Batch ID = 4290, loss = 0.125858, acc = 0.88\n", "[Train] Batch ID = 4300, loss = 0.326571, acc = 0.62\n", "[Validation] Batch ID = 4300, loss = 0.183298, acc = 0.8\n", "[Train] Batch ID = 4310, loss = 0.087663, acc = 1.0\n", "[Validation] Batch ID = 4310, loss = 0.141948, acc = 0.94\n", "[Train] Batch ID = 4320, loss = 0.311787, acc = 0.66\n", "[Validation] Batch ID = 4320, loss = 0.147342, acc = 0.88\n", "[Train] Batch ID = 4330, loss = 0.350933, acc = 0.54\n", "[Validation] Batch ID = 4330, loss = 0.166106, acc = 0.88\n", "[Train] Batch ID = 4340, loss = 0.29115, acc = 0.7\n", "[Validation] Batch ID = 4340, loss = 0.132236, acc = 0.88\n", "[Train] Batch ID = 4350, loss = 0.096425, acc = 0.96\n", "[Validation] Batch ID = 4350, loss = 0.156412, acc = 0.86\n", "[Train] Batch ID = 4360, loss = 0.358088, acc = 0.64\n", "[Validation] Batch ID = 4360, loss = 0.0942102, acc = 1.0\n", "[Train] Batch ID = 4370, loss = 0.09986, acc = 0.98\n", "[Validation] Batch ID = 4370, loss = 0.156277, acc = 0.94\n", "[Train] Batch ID = 4380, loss = 0.314932, acc = 0.7\n", "[Validation] Batch ID = 4380, loss = 0.158205, acc = 0.88\n", "[Train] Batch ID = 4390, loss = 0.318108, acc = 0.7\n", "[Validation] Batch ID = 4390, loss = 0.140715, acc = 0.94\n", "[Train] Batch ID = 4400, loss = 0.154926, acc = 0.94\n", "[Validation] Batch ID = 4400, loss = 0.149455, acc = 0.88\n", "[Train] Batch ID = 4410, loss = 0.299541, acc = 0.64\n", "[Validation] Batch ID = 4410, loss = 0.166591, acc = 0.9\n", "[Train] Batch ID = 4420, loss = 0.323751, acc = 0.6\n", "[Validation] Batch ID = 4420, loss = 0.14958, acc = 0.92\n", "[Train] Batch ID = 4430, loss = 0.310917, acc = 0.64\n", "[Validation] Batch ID = 4430, loss = 0.152547, acc = 0.9\n", "[Train] Batch ID = 4440, loss = 0.332348, acc = 0.54\n", "[Validation] Batch ID = 4440, loss = 0.161528, acc = 0.86\n", "[Train] Batch ID = 4450, loss = 0.0944807, acc = 0.96\n", "[Validation] Batch ID = 4450, loss = 0.150604, acc = 0.94\n", "[Train] Batch ID = 4460, loss = 0.368933, acc = 0.56\n", "[Validation] Batch ID = 4460, loss = 0.131017, acc = 0.92\n", "[Train] Batch ID = 4470, loss = 0.342016, acc = 0.6\n", "[Validation] Batch ID = 4470, loss = 0.147478, acc = 0.88\n", "[Train] Batch ID = 4480, loss = 0.320409, acc = 0.6\n", "[Validation] Batch ID = 4480, loss = 0.134133, acc = 0.96\n", "[Train] Batch ID = 4490, loss = 0.304917, acc = 0.7\n", "[Validation] Batch ID = 4490, loss = 0.142356, acc = 0.9\n", "[Train] Batch ID = 4500, loss = 0.109634, acc = 0.92\n", "[Validation] Batch ID = 4500, loss = 0.12882, acc = 0.94\n", "[Train] Batch ID = 4510, loss = 0.0996826, acc = 1.0\n", "[Validation] Batch ID = 4510, loss = 0.129809, acc = 0.88\n", "[Train] Batch ID = 4520, loss = 0.121544, acc = 0.94\n", "[Validation] Batch ID = 4520, loss = 0.130525, acc = 0.94\n", "[Train] Batch ID = 4530, loss = 0.360275, acc = 0.56\n", "[Validation] Batch ID = 4530, loss = 0.141703, acc = 0.88\n", "[Train] Batch ID = 4540, loss = 0.0986371, acc = 1.0\n", "[Validation] Batch ID = 4540, loss = 0.12708, acc = 0.86\n", "[Train] Batch ID = 4550, loss = 0.341225, acc = 0.56\n", "[Validation] Batch ID = 4550, loss = 0.145131, acc = 0.94\n", "[Train] Batch ID = 4560, loss = 0.327365, acc = 0.62\n", "[Validation] Batch ID = 4560, loss = 0.112628, acc = 0.98\n", "[Train] Batch ID = 4570, loss = 0.34423, acc = 0.62\n", "[Validation] Batch ID = 4570, loss = 0.149863, acc = 0.9\n", "[Train] Batch ID = 4580, loss = 0.36482, acc = 0.54\n", "[Validation] Batch ID = 4580, loss = 0.155882, acc = 0.9\n", "[Train] Batch ID = 4590, loss = 0.302437, acc = 0.66\n", "[Validation] Batch ID = 4590, loss = 0.158615, acc = 0.84\n", "[Train] Batch ID = 4600, loss = 0.363364, acc = 0.52\n", "[Validation] Batch ID = 4600, loss = 0.140821, acc = 0.94\n", "[Train] Batch ID = 4610, loss = 0.295002, acc = 0.74\n", "[Validation] Batch ID = 4610, loss = 0.137501, acc = 0.92\n", "[Train] Batch ID = 4620, loss = 0.101326, acc = 0.98\n", "[Validation] Batch ID = 4620, loss = 0.094082, acc = 0.98\n", "[Train] Batch ID = 4630, loss = 0.109986, acc = 0.98\n", "[Validation] Batch ID = 4630, loss = 0.13181, acc = 0.88\n", "[Train] Batch ID = 4640, loss = 0.319446, acc = 0.6\n", "[Validation] Batch ID = 4640, loss = 0.153565, acc = 0.86\n", "[Train] Batch ID = 4650, loss = 0.352978, acc = 0.6\n", "[Validation] Batch ID = 4650, loss = 0.103432, acc = 0.94\n", "[Train] Batch ID = 4660, loss = 0.323683, acc = 0.6\n", "[Validation] Batch ID = 4660, loss = 0.152495, acc = 0.88\n", "[Train] Batch ID = 4670, loss = 0.333538, acc = 0.56\n", "[Validation] Batch ID = 4670, loss = 0.154009, acc = 0.86\n", "[Train] Batch ID = 4680, loss = 0.345816, acc = 0.58\n", "[Validation] Batch ID = 4680, loss = 0.132218, acc = 0.92\n", "[Train] Batch ID = 4690, loss = 0.110378, acc = 0.94\n", "[Validation] Batch ID = 4690, loss = 0.151243, acc = 0.88\n", "[Train] Batch ID = 4700, loss = 0.337282, acc = 0.64\n", "[Validation] Batch ID = 4700, loss = 0.160812, acc = 0.88\n", "[Train] Batch ID = 4710, loss = 0.0941806, acc = 1.0\n", "[Validation] Batch ID = 4710, loss = 0.122832, acc = 0.94\n", "[Train] Batch ID = 4720, loss = 0.326719, acc = 0.6\n", "[Validation] Batch ID = 4720, loss = 0.126283, acc = 0.94\n", "[Train] Batch ID = 4730, loss = 0.0949816, acc = 0.98\n", "[Validation] Batch ID = 4730, loss = 0.120558, acc = 0.94\n", "[Train] Batch ID = 4740, loss = 0.0823444, acc = 0.98\n", "[Validation] Batch ID = 4740, loss = 0.140595, acc = 0.82\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "[Train] Batch ID = 4750, loss = 0.338575, acc = 0.6\n", "[Validation] Batch ID = 4750, loss = 0.129274, acc = 0.96\n", "[Train] Batch ID = 4760, loss = 0.315897, acc = 0.58\n", "[Validation] Batch ID = 4760, loss = 0.160935, acc = 0.88\n", "[Train] Batch ID = 4770, loss = 0.318363, acc = 0.66\n", "[Validation] Batch ID = 4770, loss = 0.153057, acc = 0.92\n", "[Train] Batch ID = 4780, loss = 0.304167, acc = 0.7\n", "[Validation] Batch ID = 4780, loss = 0.145133, acc = 0.9\n", "[Train] Batch ID = 4790, loss = 0.339441, acc = 0.58\n", "[Validation] Batch ID = 4790, loss = 0.144579, acc = 0.9\n", "[Train] Batch ID = 4800, loss = 0.1131, acc = 0.98\n", "[Validation] Batch ID = 4800, loss = 0.142645, acc = 0.88\n", "[Train] Batch ID = 4810, loss = 0.0844815, acc = 1.0\n", "[Validation] Batch ID = 4810, loss = 0.139451, acc = 0.92\n", "[Train] Batch ID = 4820, loss = 0.106848, acc = 0.96\n", "[Validation] Batch ID = 4820, loss = 0.191776, acc = 0.78\n", "[Train] Batch ID = 4830, loss = 0.0896359, acc = 1.0\n", "[Validation] Batch ID = 4830, loss = 0.131579, acc = 0.96\n", "[Train] Batch ID = 4840, loss = 0.317988, acc = 0.64\n", "[Validation] Batch ID = 4840, loss = 0.116118, acc = 0.94\n", "[Train] Batch ID = 4850, loss = 0.27816, acc = 0.72\n", "[Validation] Batch ID = 4850, loss = 0.11659, acc = 0.98\n", "[Train] Batch ID = 4860, loss = 0.329745, acc = 0.6\n", "[Validation] Batch ID = 4860, loss = 0.155557, acc = 0.88\n", "[Train] Batch ID = 4870, loss = 0.317925, acc = 0.58\n", "[Validation] Batch ID = 4870, loss = 0.105741, acc = 0.98\n", "[Train] Batch ID = 4880, loss = 0.307696, acc = 0.72\n", "[Validation] Batch ID = 4880, loss = 0.12623, acc = 0.96\n", "[Train] Batch ID = 4890, loss = 0.319589, acc = 0.6\n", "[Validation] Batch ID = 4890, loss = 0.129447, acc = 0.94\n", "[Train] Batch ID = 4900, loss = 0.103417, acc = 0.96\n", "[Validation] Batch ID = 4900, loss = 0.158337, acc = 0.86\n", "[Train] Batch ID = 4910, loss = 0.118155, acc = 0.96\n", "[Validation] Batch ID = 4910, loss = 0.13251, acc = 0.92\n", "[Train] Batch ID = 4920, loss = 0.0829715, acc = 0.96\n", "[Validation] Batch ID = 4920, loss = 0.160648, acc = 0.84\n", "[Train] Batch ID = 4930, loss = 0.369658, acc = 0.46\n", "[Validation] Batch ID = 4930, loss = 0.141349, acc = 0.88\n", "[Train] Batch ID = 4940, loss = 0.0951467, acc = 0.98\n", "[Validation] Batch ID = 4940, loss = 0.172178, acc = 0.9\n", "[Train] Batch ID = 4950, loss = 0.291958, acc = 0.7\n", "[Validation] Batch ID = 4950, loss = 0.113408, acc = 0.98\n", "[Train] Batch ID = 4960, loss = 0.0743741, acc = 0.98\n", "[Validation] Batch ID = 4960, loss = 0.154108, acc = 0.92\n", "[Train] Batch ID = 4970, loss = 0.327996, acc = 0.64\n", "[Validation] Batch ID = 4970, loss = 0.121926, acc = 0.9\n", "[Train] Batch ID = 4980, loss = 0.088781, acc = 1.0\n", "[Validation] Batch ID = 4980, loss = 0.0940469, acc = 0.96\n", "[Train] Batch ID = 4990, loss = 0.296505, acc = 0.68\n", "[Validation] Batch ID = 4990, loss = 0.132791, acc = 0.9\n", "[Train] Batch ID = 5000, loss = 0.0781333, acc = 0.98\n", "[Validation] Batch ID = 5000, loss = 0.0992442, acc = 0.98\n", "Evaluate full validation dataset ...\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "ModelBase::Saving model ...\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Current loss: 0.129008 Best loss: 0.168757\n", "[TOTAL Validation] Batch ID = 5000, loss = 0.129008, acc = 0.910657596372\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "ModelBase::Model successfully saved here: outputs/checkpoints/c1s_9_c1n_256_c2s_6_c2n_64_c2d_0.7_c1vl_16_c1s_5_c1nf_16_c2vl_32_lr_0.0001_rs_1--TrafficSign--1510487290.423481\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Augmented Factor = 0.5261265900000001\n", "[Train] Batch ID = 5010, loss = 0.111215, acc = 0.96\n", "[Validation] Batch ID = 5010, loss = 0.13073, acc = 0.9\n", "[Train] Batch ID = 5020, loss = 0.0828358, acc = 0.98\n", "[Validation] Batch ID = 5020, loss = 0.176762, acc = 0.84\n", "[Train] Batch ID = 5030, loss = 0.34669, acc = 0.56\n", "[Validation] Batch ID = 5030, loss = 0.130959, acc = 0.92\n", "[Train] Batch ID = 5040, loss = 0.100185, acc = 0.96\n", "[Validation] Batch ID = 5040, loss = 0.1493, acc = 0.9\n", "[Train] Batch ID = 5050, loss = 0.317041, acc = 0.64\n", "[Validation] Batch ID = 5050, loss = 0.137818, acc = 0.9\n", "[Train] Batch ID = 5060, loss = 0.356594, acc = 0.58\n", "[Validation] Batch ID = 5060, loss = 0.0936363, acc = 0.98\n", "[Train] Batch ID = 5070, loss = 0.0787617, acc = 0.98\n", "[Validation] Batch ID = 5070, loss = 0.148696, acc = 0.86\n", "[Train] Batch ID = 5080, loss = 0.310343, acc = 0.68\n", "[Validation] Batch ID = 5080, loss = 0.147444, acc = 0.92\n", "[Train] Batch ID = 5090, loss = 0.0722696, acc = 0.98\n", "[Validation] Batch ID = 5090, loss = 0.134743, acc = 0.9\n", "[Train] Batch ID = 5100, loss = 0.353991, acc = 0.5\n", "[Validation] Batch ID = 5100, loss = 0.130985, acc = 0.94\n", "[Train] Batch ID = 5110, loss = 0.0866396, acc = 0.96\n", "[Validation] Batch ID = 5110, loss = 0.140926, acc = 0.88\n", "[Train] Batch ID = 5120, loss = 0.103618, acc = 0.96\n", "[Validation] Batch ID = 5120, loss = 0.118347, acc = 0.94\n", "[Train] Batch ID = 5130, loss = 0.329409, acc = 0.58\n", "[Validation] Batch ID = 5130, loss = 0.152502, acc = 0.86\n", "[Train] Batch ID = 5140, loss = 0.0613165, acc = 1.0\n", "[Validation] Batch ID = 5140, loss = 0.100246, acc = 0.92\n", "[Train] Batch ID = 5150, loss = 0.332219, acc = 0.56\n", "[Validation] Batch ID = 5150, loss = 0.120714, acc = 0.94\n", "[Train] Batch ID = 5160, loss = 0.307165, acc = 0.66\n", "[Validation] Batch ID = 5160, loss = 0.111961, acc = 0.96\n", "[Train] Batch ID = 5170, loss = 0.366883, acc = 0.56\n", "[Validation] Batch ID = 5170, loss = 0.142321, acc = 0.9\n", "[Train] Batch ID = 5180, loss = 0.0937919, acc = 0.96\n", "[Validation] Batch ID = 5180, loss = 0.12042, acc = 0.92\n", "[Train] Batch ID = 5190, loss = 0.0587151, acc = 1.0\n", "[Validation] Batch ID = 5190, loss = 0.141912, acc = 0.88\n", "[Train] Batch ID = 5200, loss = 0.304431, acc = 0.64\n", "[Validation] Batch ID = 5200, loss = 0.121083, acc = 0.92\n", "[Train] Batch ID = 5210, loss = 0.0710953, acc = 1.0\n", "[Validation] Batch ID = 5210, loss = 0.0856288, acc = 0.98\n", "[Train] Batch ID = 5220, loss = 0.264006, acc = 0.7\n", "[Validation] Batch ID = 5220, loss = 0.129856, acc = 0.9\n", "[Train] Batch ID = 5230, loss = 0.0869962, acc = 0.98\n", "[Validation] Batch ID = 5230, loss = 0.125766, acc = 0.94\n", "[Train] Batch ID = 5240, loss = 0.276833, acc = 0.68\n", "[Validation] Batch ID = 5240, loss = 0.121645, acc = 0.92\n", "[Train] Batch ID = 5250, loss = 0.292972, acc = 0.74\n", "[Validation] Batch ID = 5250, loss = 0.155781, acc = 0.9\n", "[Train] Batch ID = 5260, loss = 0.235346, acc = 0.72\n", "[Validation] Batch ID = 5260, loss = 0.120066, acc = 0.9\n", "[Train] Batch ID = 5270, loss = 0.240143, acc = 0.74\n", "[Validation] Batch ID = 5270, loss = 0.104147, acc = 0.94\n", "[Train] Batch ID = 5280, loss = 0.307093, acc = 0.6\n", "[Validation] Batch ID = 5280, loss = 0.131358, acc = 0.96\n", "[Train] Batch ID = 5290, loss = 0.307349, acc = 0.68\n", "[Validation] Batch ID = 5290, loss = 0.149336, acc = 0.94\n", "[Train] Batch ID = 5300, loss = 0.292067, acc = 0.64\n", "[Validation] Batch ID = 5300, loss = 0.117791, acc = 0.92\n", "[Train] Batch ID = 5310, loss = 0.0751029, acc = 0.98\n", "[Validation] Batch ID = 5310, loss = 0.128437, acc = 0.9\n", "[Train] Batch ID = 5320, loss = 0.321307, acc = 0.6\n", "[Validation] Batch ID = 5320, loss = 0.122624, acc = 0.88\n", "[Train] Batch ID = 5330, loss = 0.0603813, acc = 0.98\n", "[Validation] Batch ID = 5330, loss = 0.139735, acc = 0.9\n", "[Train] Batch ID = 5340, loss = 0.0871119, acc = 0.98\n", "[Validation] Batch ID = 5340, loss = 0.141848, acc = 0.9\n", "[Train] Batch ID = 5350, loss = 0.318677, acc = 0.72\n", "[Validation] Batch ID = 5350, loss = 0.143202, acc = 0.9\n", "[Train] Batch ID = 5360, loss = 0.337012, acc = 0.58\n", "[Validation] Batch ID = 5360, loss = 0.110489, acc = 0.96\n", "[Train] Batch ID = 5370, loss = 0.345958, acc = 0.58\n", "[Validation] Batch ID = 5370, loss = 0.127582, acc = 0.92\n", "[Train] Batch ID = 5380, loss = 0.0907787, acc = 0.98\n", "[Validation] Batch ID = 5380, loss = 0.134124, acc = 0.92\n", "[Train] Batch ID = 5390, loss = 0.0778071, acc = 0.98\n", "[Validation] Batch ID = 5390, loss = 0.0940381, acc = 0.96\n", "[Train] Batch ID = 5400, loss = 0.0724872, acc = 0.98\n", "[Validation] Batch ID = 5400, loss = 0.165746, acc = 0.88\n", "[Train] Batch ID = 5410, loss = 0.0808271, acc = 0.96\n", "[Validation] Batch ID = 5410, loss = 0.131666, acc = 0.9\n", "[Train] Batch ID = 5420, loss = 0.285628, acc = 0.68\n", "[Validation] Batch ID = 5420, loss = 0.126661, acc = 0.9\n", "[Train] Batch ID = 5430, loss = 0.294499, acc = 0.78\n", "[Validation] Batch ID = 5430, loss = 0.108683, acc = 0.96\n", "[Train] Batch ID = 5440, loss = 0.0775346, acc = 0.96\n", "[Validation] Batch ID = 5440, loss = 0.146591, acc = 0.86\n", "[Train] Batch ID = 5450, loss = 0.0707724, acc = 0.96\n", "[Validation] Batch ID = 5450, loss = 0.116385, acc = 0.9\n", "[Train] Batch ID = 5460, loss = 0.36352, acc = 0.64\n", "[Validation] Batch ID = 5460, loss = 0.0906814, acc = 0.94\n", "[Train] Batch ID = 5470, loss = 0.298624, acc = 0.68\n", "[Validation] Batch ID = 5470, loss = 0.109376, acc = 0.96\n", "[Train] Batch ID = 5480, loss = 0.0820604, acc = 0.94\n", "[Validation] Batch ID = 5480, loss = 0.13531, acc = 0.9\n", "[Train] Batch ID = 5490, loss = 0.0823278, acc = 0.94\n", "[Validation] Batch ID = 5490, loss = 0.130791, acc = 0.88\n", "[Train] Batch ID = 5500, loss = 0.329085, acc = 0.58\n", "[Validation] Batch ID = 5500, loss = 0.121925, acc = 0.9\n", "[Train] Batch ID = 5510, loss = 0.0695104, acc = 1.0\n", "[Validation] Batch ID = 5510, loss = 0.126822, acc = 0.94\n", "[Train] Batch ID = 5520, loss = 0.0577884, acc = 0.98\n", "[Validation] Batch ID = 5520, loss = 0.134006, acc = 0.88\n", "[Train] Batch ID = 5530, loss = 0.0800976, acc = 1.0\n", "[Validation] Batch ID = 5530, loss = 0.118168, acc = 0.94\n", "[Train] Batch ID = 5540, loss = 0.0855858, acc = 0.98\n", "[Validation] Batch ID = 5540, loss = 0.150196, acc = 0.88\n", "[Train] Batch ID = 5550, loss = 0.0940248, acc = 0.98\n", "[Validation] Batch ID = 5550, loss = 0.0852951, acc = 1.0\n", "[Train] Batch ID = 5560, loss = 0.0627295, acc = 1.0\n", "[Validation] Batch ID = 5560, loss = 0.105115, acc = 0.96\n", "[Train] Batch ID = 5570, loss = 0.0574958, acc = 1.0\n", "[Validation] Batch ID = 5570, loss = 0.127381, acc = 0.9\n", "[Train] Batch ID = 5580, loss = 0.0768132, acc = 1.0\n", "[Validation] Batch ID = 5580, loss = 0.114554, acc = 0.98\n", "[Train] Batch ID = 5590, loss = 0.355402, acc = 0.6\n", "[Validation] Batch ID = 5590, loss = 0.0858995, acc = 1.0\n", "[Train] Batch ID = 5600, loss = 0.307554, acc = 0.78\n", "[Validation] Batch ID = 5600, loss = 0.121961, acc = 0.94\n", "[Train] Batch ID = 5610, loss = 0.294391, acc = 0.62\n", "[Validation] Batch ID = 5610, loss = 0.136189, acc = 0.9\n", "[Train] Batch ID = 5620, loss = 0.319063, acc = 0.68\n", "[Validation] Batch ID = 5620, loss = 0.148721, acc = 0.84\n", "[Train] Batch ID = 5630, loss = 0.30883, acc = 0.68\n", "[Validation] Batch ID = 5630, loss = 0.104458, acc = 0.96\n", "[Train] Batch ID = 5640, loss = 0.0963946, acc = 0.92\n", "[Validation] Batch ID = 5640, loss = 0.0959355, acc = 0.94\n", "[Train] Batch ID = 5650, loss = 0.0865533, acc = 0.96\n", "[Validation] Batch ID = 5650, loss = 0.113857, acc = 0.98\n", "[Train] Batch ID = 5660, loss = 0.0898589, acc = 0.94\n", "[Validation] Batch ID = 5660, loss = 0.131204, acc = 0.92\n", "[Train] Batch ID = 5670, loss = 0.300514, acc = 0.74\n", "[Validation] Batch ID = 5670, loss = 0.122702, acc = 0.96\n", "[Train] Batch ID = 5680, loss = 0.29318, acc = 0.64\n", "[Validation] Batch ID = 5680, loss = 0.141626, acc = 0.86\n", "[Train] Batch ID = 5690, loss = 0.315339, acc = 0.66\n", "[Validation] Batch ID = 5690, loss = 0.0804729, acc = 0.94\n", "[Train] Batch ID = 5700, loss = 0.284438, acc = 0.74\n", "[Validation] Batch ID = 5700, loss = 0.161431, acc = 0.88\n", "[Train] Batch ID = 5710, loss = 0.242291, acc = 0.8\n", "[Validation] Batch ID = 5710, loss = 0.0999018, acc = 0.94\n", "[Train] Batch ID = 5720, loss = 0.0674115, acc = 1.0\n", "[Validation] Batch ID = 5720, loss = 0.106594, acc = 0.94\n", "[Train] Batch ID = 5730, loss = 0.0758679, acc = 0.92\n", "[Validation] Batch ID = 5730, loss = 0.126265, acc = 0.88\n", "[Train] Batch ID = 5740, loss = 0.0687217, acc = 1.0\n", "[Validation] Batch ID = 5740, loss = 0.117947, acc = 0.9\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "[Train] Batch ID = 5750, loss = 0.30507, acc = 0.7\n", "[Validation] Batch ID = 5750, loss = 0.10795, acc = 0.92\n", "[Train] Batch ID = 5760, loss = 0.0643996, acc = 1.0\n", "[Validation] Batch ID = 5760, loss = 0.154922, acc = 0.86\n", "[Train] Batch ID = 5770, loss = 0.306526, acc = 0.62\n", "[Validation] Batch ID = 5770, loss = 0.136512, acc = 0.86\n", "[Train] Batch ID = 5780, loss = 0.0815369, acc = 0.96\n", "[Validation] Batch ID = 5780, loss = 0.140355, acc = 0.96\n", "[Train] Batch ID = 5790, loss = 0.0655566, acc = 1.0\n", "[Validation] Batch ID = 5790, loss = 0.0999896, acc = 0.94\n", "[Train] Batch ID = 5800, loss = 0.0731483, acc = 1.0\n", "[Validation] Batch ID = 5800, loss = 0.108109, acc = 0.94\n", "[Train] Batch ID = 5810, loss = 0.275999, acc = 0.68\n", "[Validation] Batch ID = 5810, loss = 0.0988505, acc = 0.98\n", "[Train] Batch ID = 5820, loss = 0.310483, acc = 0.68\n", "[Validation] Batch ID = 5820, loss = 0.101192, acc = 0.92\n", "[Train] Batch ID = 5830, loss = 0.314994, acc = 0.62\n", "[Validation] Batch ID = 5830, loss = 0.128592, acc = 0.9\n", "[Train] Batch ID = 5840, loss = 0.329252, acc = 0.64\n", "[Validation] Batch ID = 5840, loss = 0.103497, acc = 0.98\n", "[Train] Batch ID = 5850, loss = 0.0869699, acc = 0.98\n", "[Validation] Batch ID = 5850, loss = 0.104129, acc = 0.94\n", "[Train] Batch ID = 5860, loss = 0.336528, acc = 0.56\n", "[Validation] Batch ID = 5860, loss = 0.131669, acc = 0.92\n", "[Train] Batch ID = 5870, loss = 0.0766701, acc = 0.98\n", "[Validation] Batch ID = 5870, loss = 0.0950392, acc = 0.96\n", "[Train] Batch ID = 5880, loss = 0.0594488, acc = 0.98\n", "[Validation] Batch ID = 5880, loss = 0.0852148, acc = 0.96\n", "[Train] Batch ID = 5890, loss = 0.0635626, acc = 0.98\n", "[Validation] Batch ID = 5890, loss = 0.146261, acc = 0.88\n", "[Train] Batch ID = 5900, loss = 0.0832616, acc = 0.94\n", "[Validation] Batch ID = 5900, loss = 0.0723635, acc = 1.0\n", "[Train] Batch ID = 5910, loss = 0.295888, acc = 0.64\n", "[Validation] Batch ID = 5910, loss = 0.0838609, acc = 0.98\n", "[Train] Batch ID = 5920, loss = 0.0430435, acc = 1.0\n", "[Validation] Batch ID = 5920, loss = 0.113322, acc = 0.92\n", "[Train] Batch ID = 5930, loss = 0.0716543, acc = 0.96\n", "[Validation] Batch ID = 5930, loss = 0.141552, acc = 0.92\n", "[Train] Batch ID = 5940, loss = 0.0737806, acc = 0.96\n", "[Validation] Batch ID = 5940, loss = 0.118766, acc = 0.92\n", "[Train] Batch ID = 5950, loss = 0.292045, acc = 0.62\n", "[Validation] Batch ID = 5950, loss = 0.10995, acc = 0.96\n", "[Train] Batch ID = 5960, loss = 0.0665943, acc = 1.0\n", "[Validation] Batch ID = 5960, loss = 0.11419, acc = 0.94\n", "[Train] Batch ID = 5970, loss = 0.0669147, acc = 1.0\n", "[Validation] Batch ID = 5970, loss = 0.076357, acc = 0.96\n", "[Train] Batch ID = 5980, loss = 0.0652864, acc = 0.98\n", "[Validation] Batch ID = 5980, loss = 0.117701, acc = 0.88\n", "[Train] Batch ID = 5990, loss = 0.301814, acc = 0.6\n", "[Validation] Batch ID = 5990, loss = 0.0847288, acc = 0.96\n", "[Train] Batch ID = 6000, loss = 0.0683455, acc = 1.0\n", "[Validation] Batch ID = 6000, loss = 0.105057, acc = 0.92\n", "Evaluate full validation dataset ...\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "ModelBase::Saving model ...\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Current loss: 0.109951 Best loss: 0.129008\n", "[TOTAL Validation] Batch ID = 6000, loss = 0.109951, acc = 0.933106575964\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "ModelBase::Model successfully saved here: outputs/checkpoints/c1s_9_c1n_256_c2s_6_c2n_64_c2d_0.7_c1vl_16_c1s_5_c1nf_16_c2vl_32_lr_0.0001_rs_1--TrafficSign--1510487290.423481\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Augmented Factor = 0.47351393100000005\n", "[Train] Batch ID = 6010, loss = 0.353551, acc = 0.58\n", "[Validation] Batch ID = 6010, loss = 0.105717, acc = 0.98\n", "[Train] Batch ID = 6020, loss = 0.0663784, acc = 1.0\n", "[Validation] Batch ID = 6020, loss = 0.105742, acc = 0.96\n", "[Train] Batch ID = 6030, loss = 0.352534, acc = 0.7\n", "[Validation] Batch ID = 6030, loss = 0.102683, acc = 0.98\n", "[Train] Batch ID = 6040, loss = 0.262024, acc = 0.66\n", "[Validation] Batch ID = 6040, loss = 0.0966711, acc = 0.92\n", "[Train] Batch ID = 6050, loss = 0.345434, acc = 0.54\n", "[Validation] Batch ID = 6050, loss = 0.137405, acc = 0.92\n", "[Train] Batch ID = 6060, loss = 0.275484, acc = 0.74\n", "[Validation] Batch ID = 6060, loss = 0.117571, acc = 0.94\n", "[Train] Batch ID = 6070, loss = 0.297512, acc = 0.7\n", "[Validation] Batch ID = 6070, loss = 0.103347, acc = 0.96\n", "[Train] Batch ID = 6080, loss = 0.0734885, acc = 0.98\n", "[Validation] Batch ID = 6080, loss = 0.124278, acc = 0.92\n", "[Train] Batch ID = 6090, loss = 0.320392, acc = 0.56\n", "[Validation] Batch ID = 6090, loss = 0.132537, acc = 0.9\n", "[Train] Batch ID = 6100, loss = 0.0945441, acc = 0.96\n", "[Validation] Batch ID = 6100, loss = 0.0982735, acc = 0.94\n", "[Train] Batch ID = 6110, loss = 0.302992, acc = 0.7\n", "[Validation] Batch ID = 6110, loss = 0.0907974, acc = 0.98\n", "[Train] Batch ID = 6120, loss = 0.0602663, acc = 0.98\n", "[Validation] Batch ID = 6120, loss = 0.096946, acc = 0.94\n", "[Train] Batch ID = 6130, loss = 0.327098, acc = 0.5\n", "[Validation] Batch ID = 6130, loss = 0.119332, acc = 0.94\n", "[Train] Batch ID = 6140, loss = 0.0467502, acc = 1.0\n", "[Validation] Batch ID = 6140, loss = 0.252479, acc = 0.8\n", "[Train] Batch ID = 6150, loss = 0.290184, acc = 0.6\n", "[Validation] Batch ID = 6150, loss = 0.103845, acc = 0.94\n", "[Train] Batch ID = 6160, loss = 0.0745533, acc = 0.98\n", "[Validation] Batch ID = 6160, loss = 0.0984035, acc = 0.98\n", "[Train] Batch ID = 6170, loss = 0.267548, acc = 0.76\n", "[Validation] Batch ID = 6170, loss = 0.0967519, acc = 0.92\n", "[Train] Batch ID = 6180, loss = 0.0512226, acc = 1.0\n", "[Validation] Batch ID = 6180, loss = 0.0991459, acc = 0.96\n", "[Train] Batch ID = 6190, loss = 0.281571, acc = 0.74\n", "[Validation] Batch ID = 6190, loss = 0.0905993, acc = 0.92\n", "[Train] Batch ID = 6200, loss = 0.324071, acc = 0.6\n", "[Validation] Batch ID = 6200, loss = 0.129145, acc = 0.9\n", "[Train] Batch ID = 6210, loss = 0.0727794, acc = 1.0\n", "[Validation] Batch ID = 6210, loss = 0.10921, acc = 0.92\n", "[Train] Batch ID = 6220, loss = 0.0744024, acc = 0.98\n", "[Validation] Batch ID = 6220, loss = 0.128591, acc = 0.9\n", "[Train] Batch ID = 6230, loss = 0.272637, acc = 0.68\n", "[Validation] Batch ID = 6230, loss = 0.0842886, acc = 0.96\n", "[Train] Batch ID = 6240, loss = 0.0517748, acc = 1.0\n", "[Validation] Batch ID = 6240, loss = 0.122566, acc = 0.92\n", "[Train] Batch ID = 6250, loss = 0.0654356, acc = 0.98\n", "[Validation] Batch ID = 6250, loss = 0.100778, acc = 0.96\n", "[Train] Batch ID = 6260, loss = 0.310897, acc = 0.62\n", "[Validation] Batch ID = 6260, loss = 0.0629376, acc = 0.98\n", "[Train] Batch ID = 6270, loss = 0.240158, acc = 0.82\n", "[Validation] Batch ID = 6270, loss = 0.0962848, acc = 0.94\n", "[Train] Batch ID = 6280, loss = 0.056573, acc = 1.0\n", "[Validation] Batch ID = 6280, loss = 0.086497, acc = 0.96\n", "[Train] Batch ID = 6290, loss = 0.0707832, acc = 0.96\n", "[Validation] Batch ID = 6290, loss = 0.107444, acc = 0.92\n", "[Train] Batch ID = 6300, loss = 0.0848669, acc = 0.96\n", "[Validation] Batch ID = 6300, loss = 0.0973555, acc = 0.92\n", "[Train] Batch ID = 6310, loss = 0.291331, acc = 0.7\n", "[Validation] Batch ID = 6310, loss = 0.106215, acc = 0.98\n", "[Train] Batch ID = 6320, loss = 0.0503116, acc = 0.98\n", "[Validation] Batch ID = 6320, loss = 0.0999261, acc = 0.94\n", "[Train] Batch ID = 6330, loss = 0.0752168, acc = 1.0\n", "[Validation] Batch ID = 6330, loss = 0.114369, acc = 0.92\n", "[Train] Batch ID = 6340, loss = 0.0648313, acc = 0.98\n", "[Validation] Batch ID = 6340, loss = 0.0789355, acc = 0.96\n", "[Train] Batch ID = 6350, loss = 0.056943, acc = 1.0\n", "[Validation] Batch ID = 6350, loss = 0.1133, acc = 0.94\n", "[Train] Batch ID = 6360, loss = 0.309001, acc = 0.68\n", "[Validation] Batch ID = 6360, loss = 0.0833175, acc = 0.98\n", "[Train] Batch ID = 6370, loss = 0.0385679, acc = 1.0\n", "[Validation] Batch ID = 6370, loss = 0.106298, acc = 0.92\n", "[Train] Batch ID = 6380, loss = 0.0581265, acc = 1.0\n", "[Validation] Batch ID = 6380, loss = 0.10221, acc = 0.96\n", "[Train] Batch ID = 6390, loss = 0.0425605, acc = 1.0\n", "[Validation] Batch ID = 6390, loss = 0.102534, acc = 0.96\n", "[Train] Batch ID = 6400, loss = 0.303558, acc = 0.64\n", "[Validation] Batch ID = 6400, loss = 0.0824382, acc = 0.98\n", "[Train] Batch ID = 6410, loss = 0.257615, acc = 0.74\n", "[Validation] Batch ID = 6410, loss = 0.0812071, acc = 0.96\n", "[Train] Batch ID = 6420, loss = 0.300148, acc = 0.62\n", "[Validation] Batch ID = 6420, loss = 0.128023, acc = 0.94\n", "[Train] Batch ID = 6430, loss = 0.0466745, acc = 1.0\n", "[Validation] Batch ID = 6430, loss = 0.108326, acc = 0.92\n", "[Train] Batch ID = 6440, loss = 0.280808, acc = 0.78\n", "[Validation] Batch ID = 6440, loss = 0.12184, acc = 0.92\n", "[Train] Batch ID = 6450, loss = 0.275625, acc = 0.74\n", "[Validation] Batch ID = 6450, loss = 0.0994354, acc = 0.92\n", "[Train] Batch ID = 6460, loss = 0.0574024, acc = 0.98\n", "[Validation] Batch ID = 6460, loss = 0.121209, acc = 0.98\n", "[Train] Batch ID = 6470, loss = 0.0618423, acc = 0.96\n", "[Validation] Batch ID = 6470, loss = 0.0957479, acc = 0.96\n", "[Train] Batch ID = 6480, loss = 0.273448, acc = 0.74\n", "[Validation] Batch ID = 6480, loss = 0.0881586, acc = 0.94\n", "[Train] Batch ID = 6490, loss = 0.333295, acc = 0.56\n", "[Validation] Batch ID = 6490, loss = 0.108645, acc = 0.94\n", "[Train] Batch ID = 6500, loss = 0.0620709, acc = 0.98\n", "[Validation] Batch ID = 6500, loss = 0.107227, acc = 0.94\n", "[Train] Batch ID = 6510, loss = 0.33872, acc = 0.58\n", "[Validation] Batch ID = 6510, loss = 0.0859817, acc = 0.94\n", "[Train] Batch ID = 6520, loss = 0.313993, acc = 0.62\n", "[Validation] Batch ID = 6520, loss = 0.105326, acc = 0.92\n", "[Train] Batch ID = 6530, loss = 0.270128, acc = 0.78\n", "[Validation] Batch ID = 6530, loss = 0.124158, acc = 0.86\n", "[Train] Batch ID = 6540, loss = 0.285958, acc = 0.68\n", "[Validation] Batch ID = 6540, loss = 0.113875, acc = 0.9\n", "[Train] Batch ID = 6550, loss = 0.327764, acc = 0.66\n", "[Validation] Batch ID = 6550, loss = 0.114084, acc = 0.9\n", "[Train] Batch ID = 6560, loss = 0.0545782, acc = 1.0\n", "[Validation] Batch ID = 6560, loss = 0.08413, acc = 0.92\n", "[Train] Batch ID = 6570, loss = 0.0470913, acc = 1.0\n", "[Validation] Batch ID = 6570, loss = 0.0779244, acc = 0.96\n", "[Train] Batch ID = 6580, loss = 0.272972, acc = 0.68\n", "[Validation] Batch ID = 6580, loss = 0.07664, acc = 0.96\n", "[Train] Batch ID = 6590, loss = 0.0484631, acc = 1.0\n", "[Validation] Batch ID = 6590, loss = 0.101806, acc = 0.94\n", "[Train] Batch ID = 6600, loss = 0.271623, acc = 0.74\n", "[Validation] Batch ID = 6600, loss = 0.110062, acc = 0.92\n", "[Train] Batch ID = 6610, loss = 0.0479224, acc = 1.0\n", "[Validation] Batch ID = 6610, loss = 0.115264, acc = 0.9\n", "[Train] Batch ID = 6620, loss = 0.0606963, acc = 0.98\n", "[Validation] Batch ID = 6620, loss = 0.126707, acc = 0.96\n", "[Train] Batch ID = 6630, loss = 0.072026, acc = 0.98\n", "[Validation] Batch ID = 6630, loss = 0.132214, acc = 0.9\n", "[Train] Batch ID = 6640, loss = 0.072203, acc = 0.98\n", "[Validation] Batch ID = 6640, loss = 0.0571554, acc = 1.0\n", "[Train] Batch ID = 6650, loss = 0.0563057, acc = 1.0\n", "[Validation] Batch ID = 6650, loss = 0.0663561, acc = 0.98\n", "[Train] Batch ID = 6660, loss = 0.047503, acc = 1.0\n", "[Validation] Batch ID = 6660, loss = 0.113502, acc = 0.94\n", "[Train] Batch ID = 6670, loss = 0.0386325, acc = 1.0\n", "[Validation] Batch ID = 6670, loss = 0.0820084, acc = 0.98\n", "[Train] Batch ID = 6680, loss = 0.280239, acc = 0.78\n", "[Validation] Batch ID = 6680, loss = 0.121086, acc = 0.88\n", "[Train] Batch ID = 6690, loss = 0.0616162, acc = 1.0\n", "[Validation] Batch ID = 6690, loss = 0.0918657, acc = 0.94\n", "[Train] Batch ID = 6700, loss = 0.060578, acc = 1.0\n", "[Validation] Batch ID = 6700, loss = 0.0800744, acc = 0.94\n", "[Train] Batch ID = 6710, loss = 0.277742, acc = 0.72\n", "[Validation] Batch ID = 6710, loss = 0.0724496, acc = 1.0\n", "[Train] Batch ID = 6720, loss = 0.283863, acc = 0.78\n", "[Validation] Batch ID = 6720, loss = 0.06415, acc = 0.98\n", "[Train] Batch ID = 6730, loss = 0.041308, acc = 1.0\n", "[Validation] Batch ID = 6730, loss = 0.112281, acc = 0.92\n", "[Train] Batch ID = 6740, loss = 0.308038, acc = 0.62\n", "[Validation] Batch ID = 6740, loss = 0.106205, acc = 0.92\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "[Train] Batch ID = 6750, loss = 0.040191, acc = 1.0\n", "[Validation] Batch ID = 6750, loss = 0.0912596, acc = 0.96\n", "[Train] Batch ID = 6760, loss = 0.0477022, acc = 1.0\n", "[Validation] Batch ID = 6760, loss = 0.0896535, acc = 0.96\n", "[Train] Batch ID = 6770, loss = 0.0606559, acc = 1.0\n", "[Validation] Batch ID = 6770, loss = 0.0841062, acc = 0.94\n", "[Train] Batch ID = 6780, loss = 0.241235, acc = 0.76\n", "[Validation] Batch ID = 6780, loss = 0.104323, acc = 0.94\n", "[Train] Batch ID = 6790, loss = 0.0624806, acc = 1.0\n", "[Validation] Batch ID = 6790, loss = 0.0848831, acc = 0.94\n", "[Train] Batch ID = 6800, loss = 0.274583, acc = 0.72\n", "[Validation] Batch ID = 6800, loss = 0.0661882, acc = 0.98\n", "[Train] Batch ID = 6810, loss = 0.317315, acc = 0.64\n", "[Validation] Batch ID = 6810, loss = 0.0902677, acc = 0.96\n", "[Train] Batch ID = 6820, loss = 0.0537432, acc = 1.0\n", "[Validation] Batch ID = 6820, loss = 0.0905093, acc = 0.98\n", "[Train] Batch ID = 6830, loss = 0.272607, acc = 0.74\n", "[Validation] Batch ID = 6830, loss = 0.0810471, acc = 0.96\n", "[Train] Batch ID = 6840, loss = 0.286404, acc = 0.66\n", "[Validation] Batch ID = 6840, loss = 0.0892204, acc = 0.94\n", "[Train] Batch ID = 6850, loss = 0.0637688, acc = 0.98\n", "[Validation] Batch ID = 6850, loss = 0.117243, acc = 0.96\n", "[Train] Batch ID = 6860, loss = 0.066502, acc = 0.98\n", "[Validation] Batch ID = 6860, loss = 0.0814948, acc = 0.94\n", "[Train] Batch ID = 6870, loss = 0.299192, acc = 0.72\n", "[Validation] Batch ID = 6870, loss = 0.121373, acc = 0.92\n", "[Train] Batch ID = 6880, loss = 0.345319, acc = 0.58\n", "[Validation] Batch ID = 6880, loss = 0.0548027, acc = 1.0\n", "[Train] Batch ID = 6890, loss = 0.0537293, acc = 1.0\n", "[Validation] Batch ID = 6890, loss = 0.0882011, acc = 0.96\n", "[Train] Batch ID = 6900, loss = 0.283388, acc = 0.62\n", "[Validation] Batch ID = 6900, loss = 0.143836, acc = 0.86\n", "[Train] Batch ID = 6910, loss = 0.0401841, acc = 1.0\n", "[Validation] Batch ID = 6910, loss = 0.0863653, acc = 0.94\n", "[Train] Batch ID = 6920, loss = 0.338397, acc = 0.44\n", "[Validation] Batch ID = 6920, loss = 0.0949168, acc = 0.94\n", "[Train] Batch ID = 6930, loss = 0.299574, acc = 0.7\n", "[Validation] Batch ID = 6930, loss = 0.0776279, acc = 0.96\n", "[Train] Batch ID = 6940, loss = 0.263118, acc = 0.7\n", "[Validation] Batch ID = 6940, loss = 0.103064, acc = 0.92\n", "[Train] Batch ID = 6950, loss = 0.061091, acc = 1.0\n", "[Validation] Batch ID = 6950, loss = 0.118397, acc = 0.94\n", "[Train] Batch ID = 6960, loss = 0.257486, acc = 0.76\n", "[Validation] Batch ID = 6960, loss = 0.111664, acc = 0.86\n", "[Train] Batch ID = 6970, loss = 0.054967, acc = 0.98\n", "[Validation] Batch ID = 6970, loss = 0.0852872, acc = 0.98\n", "[Train] Batch ID = 6980, loss = 0.0523128, acc = 0.98\n", "[Validation] Batch ID = 6980, loss = 0.0755873, acc = 0.96\n", "[Train] Batch ID = 6990, loss = 0.254943, acc = 0.76\n", "[Validation] Batch ID = 6990, loss = 0.0773402, acc = 0.92\n", "[Train] Batch ID = 7000, loss = 0.271886, acc = 0.74\n", "[Validation] Batch ID = 7000, loss = 0.0968943, acc = 0.92\n", "Evaluate full validation dataset ...\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "ModelBase::Saving model ...\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Current loss: 0.0913591 Best loss: 0.109951\n", "[TOTAL Validation] Batch ID = 7000, loss = 0.0913591, acc = 0.949433106576\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "ModelBase::Model successfully saved here: outputs/checkpoints/c1s_9_c1n_256_c2s_6_c2n_64_c2d_0.7_c1vl_16_c1s_5_c1nf_16_c2vl_32_lr_0.0001_rs_1--TrafficSign--1510487290.423481\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Augmented Factor = 0.4261625379000001\n", "[Train] Batch ID = 7010, loss = 0.0487198, acc = 1.0\n", "[Validation] Batch ID = 7010, loss = 0.0986421, acc = 0.9\n", "[Train] Batch ID = 7020, loss = 0.0339564, acc = 1.0\n", "[Validation] Batch ID = 7020, loss = 0.106646, acc = 0.96\n", "[Train] Batch ID = 7030, loss = 0.245646, acc = 0.76\n", "[Validation] Batch ID = 7030, loss = 0.0894943, acc = 1.0\n", "[Train] Batch ID = 7040, loss = 0.0515622, acc = 0.98\n", "[Validation] Batch ID = 7040, loss = 0.101572, acc = 0.96\n", "[Train] Batch ID = 7050, loss = 0.0724402, acc = 0.96\n", "[Validation] Batch ID = 7050, loss = 0.0889175, acc = 0.96\n", "[Train] Batch ID = 7060, loss = 0.259647, acc = 0.66\n", "[Validation] Batch ID = 7060, loss = 0.0868668, acc = 0.98\n", "[Train] Batch ID = 7070, loss = 0.0438396, acc = 1.0\n", "[Validation] Batch ID = 7070, loss = 0.103552, acc = 0.96\n", "[Train] Batch ID = 7080, loss = 0.0423951, acc = 1.0\n", "[Validation] Batch ID = 7080, loss = 0.0937201, acc = 0.94\n", "[Train] Batch ID = 7090, loss = 0.0470159, acc = 1.0\n", "[Validation] Batch ID = 7090, loss = 0.0955545, acc = 0.96\n", "[Train] Batch ID = 7100, loss = 0.0515601, acc = 0.98\n", "[Validation] Batch ID = 7100, loss = 0.0995023, acc = 0.92\n", "[Train] Batch ID = 7110, loss = 0.0541927, acc = 1.0\n", "[Validation] Batch ID = 7110, loss = 0.097404, acc = 0.9\n", "[Train] Batch ID = 7120, loss = 0.31425, acc = 0.68\n", "[Validation] Batch ID = 7120, loss = 0.109746, acc = 0.92\n", "[Train] Batch ID = 7130, loss = 0.295422, acc = 0.66\n", "[Validation] Batch ID = 7130, loss = 0.0838397, acc = 0.96\n", "[Train] Batch ID = 7140, loss = 0.0465429, acc = 1.0\n", "[Validation] Batch ID = 7140, loss = 0.0603324, acc = 0.96\n", "[Train] Batch ID = 7150, loss = 0.269984, acc = 0.68\n", "[Validation] Batch ID = 7150, loss = 0.0777524, acc = 0.98\n", "[Train] Batch ID = 7160, loss = 0.0428573, acc = 1.0\n", "[Validation] Batch ID = 7160, loss = 0.0999772, acc = 0.98\n", "[Train] Batch ID = 7170, loss = 0.0560181, acc = 0.98\n", "[Validation] Batch ID = 7170, loss = 0.0900145, acc = 0.98\n", "[Train] Batch ID = 7180, loss = 0.0496103, acc = 1.0\n", "[Validation] Batch ID = 7180, loss = 0.103325, acc = 0.98\n", "[Train] Batch ID = 7190, loss = 0.0498815, acc = 1.0\n", "[Validation] Batch ID = 7190, loss = 0.0723835, acc = 1.0\n", "[Train] Batch ID = 7200, loss = 0.0398846, acc = 1.0\n", "[Validation] Batch ID = 7200, loss = 0.069744, acc = 0.98\n", "[Train] Batch ID = 7210, loss = 0.0362986, acc = 1.0\n", "[Validation] Batch ID = 7210, loss = 0.0756558, acc = 0.96\n", "[Train] Batch ID = 7220, loss = 0.0402217, acc = 1.0\n", "[Validation] Batch ID = 7220, loss = 0.0544531, acc = 0.98\n", "[Train] Batch ID = 7230, loss = 0.034736, acc = 0.98\n", "[Validation] Batch ID = 7230, loss = 0.0718904, acc = 0.98\n", "[Train] Batch ID = 7240, loss = 0.0341844, acc = 1.0\n", "[Validation] Batch ID = 7240, loss = 0.104571, acc = 0.92\n", "[Train] Batch ID = 7250, loss = 0.0448337, acc = 1.0\n", "[Validation] Batch ID = 7250, loss = 0.0615128, acc = 0.96\n", "[Train] Batch ID = 7260, loss = 0.0549241, acc = 0.98\n", "[Validation] Batch ID = 7260, loss = 0.0918379, acc = 0.94\n", "[Train] Batch ID = 7270, loss = 0.29714, acc = 0.64\n", "[Validation] Batch ID = 7270, loss = 0.097023, acc = 0.94\n", "[Train] Batch ID = 7280, loss = 0.0407278, acc = 1.0\n", "[Validation] Batch ID = 7280, loss = 0.0803461, acc = 0.98\n", "[Train] Batch ID = 7290, loss = 0.0433269, acc = 1.0\n", "[Validation] Batch ID = 7290, loss = 0.0580045, acc = 1.0\n", "[Train] Batch ID = 7300, loss = 0.271525, acc = 0.78\n", "[Validation] Batch ID = 7300, loss = 0.0788717, acc = 0.98\n", "[Train] Batch ID = 7310, loss = 0.0414915, acc = 1.0\n", "[Validation] Batch ID = 7310, loss = 0.0903151, acc = 0.92\n", "[Train] Batch ID = 7320, loss = 0.041784, acc = 1.0\n", "[Validation] Batch ID = 7320, loss = 0.088121, acc = 0.98\n", "[Train] Batch ID = 7330, loss = 0.290061, acc = 0.72\n", "[Validation] Batch ID = 7330, loss = 0.0544936, acc = 0.98\n", "[Train] Batch ID = 7340, loss = 0.245797, acc = 0.72\n", "[Validation] Batch ID = 7340, loss = 0.0812885, acc = 0.94\n", "[Train] Batch ID = 7350, loss = 0.0529019, acc = 0.98\n", "[Validation] Batch ID = 7350, loss = 0.0926233, acc = 0.96\n", "[Train] Batch ID = 7360, loss = 0.260998, acc = 0.82\n", "[Validation] Batch ID = 7360, loss = 0.0866582, acc = 0.94\n", "[Train] Batch ID = 7370, loss = 0.274054, acc = 0.68\n", "[Validation] Batch ID = 7370, loss = 0.0892459, acc = 0.94\n", "[Train] Batch ID = 7380, loss = 0.0432344, acc = 1.0\n", "[Validation] Batch ID = 7380, loss = 0.0596435, acc = 1.0\n", "[Train] Batch ID = 7390, loss = 0.0422385, acc = 0.98\n", "[Validation] Batch ID = 7390, loss = 0.0826426, acc = 0.98\n", "[Train] Batch ID = 7400, loss = 0.0544904, acc = 0.98\n", "[Validation] Batch ID = 7400, loss = 0.0995799, acc = 0.94\n", "[Train] Batch ID = 7410, loss = 0.0425538, acc = 1.0\n", "[Validation] Batch ID = 7410, loss = 0.0606936, acc = 0.98\n", "[Train] Batch ID = 7420, loss = 0.293901, acc = 0.64\n", "[Validation] Batch ID = 7420, loss = 0.1077, acc = 0.94\n", "[Train] Batch ID = 7430, loss = 0.0515678, acc = 1.0\n", "[Validation] Batch ID = 7430, loss = 0.0764414, acc = 0.96\n", "[Train] Batch ID = 7440, loss = 0.059557, acc = 1.0\n", "[Validation] Batch ID = 7440, loss = 0.104203, acc = 0.92\n", "[Train] Batch ID = 7450, loss = 0.0428586, acc = 1.0\n", "[Validation] Batch ID = 7450, loss = 0.0946019, acc = 0.94\n", "[Train] Batch ID = 7460, loss = 0.327217, acc = 0.6\n", "[Validation] Batch ID = 7460, loss = 0.0573529, acc = 1.0\n", "[Train] Batch ID = 7470, loss = 0.309099, acc = 0.74\n", "[Validation] Batch ID = 7470, loss = 0.118871, acc = 0.88\n", "[Train] Batch ID = 7480, loss = 0.0390445, acc = 0.98\n", "[Validation] Batch ID = 7480, loss = 0.0555397, acc = 0.98\n", "[Train] Batch ID = 7490, loss = 0.27242, acc = 0.72\n", "[Validation] Batch ID = 7490, loss = 0.0735152, acc = 0.96\n", "[Train] Batch ID = 7500, loss = 0.286898, acc = 0.7\n", "[Validation] Batch ID = 7500, loss = 0.103136, acc = 0.9\n", "[Train] Batch ID = 7510, loss = 0.279976, acc = 0.66\n", "[Validation] Batch ID = 7510, loss = 0.113373, acc = 0.92\n", "[Train] Batch ID = 7520, loss = 0.0405618, acc = 1.0\n", "[Validation] Batch ID = 7520, loss = 0.0805577, acc = 0.94\n", "[Train] Batch ID = 7530, loss = 0.0368176, acc = 1.0\n", "[Validation] Batch ID = 7530, loss = 0.0916392, acc = 0.96\n", "[Train] Batch ID = 7540, loss = 0.308076, acc = 0.66\n", "[Validation] Batch ID = 7540, loss = 0.0965591, acc = 0.94\n", "[Train] Batch ID = 7550, loss = 0.0345143, acc = 1.0\n", "[Validation] Batch ID = 7550, loss = 0.0668828, acc = 0.96\n", "[Train] Batch ID = 7560, loss = 0.296109, acc = 0.66\n", "[Validation] Batch ID = 7560, loss = 0.0875618, acc = 0.94\n", "[Train] Batch ID = 7570, loss = 0.0351576, acc = 1.0\n", "[Validation] Batch ID = 7570, loss = 0.109747, acc = 0.94\n", "[Train] Batch ID = 7580, loss = 0.0575651, acc = 0.98\n", "[Validation] Batch ID = 7580, loss = 0.100511, acc = 0.92\n", "[Train] Batch ID = 7590, loss = 0.269704, acc = 0.74\n", "[Validation] Batch ID = 7590, loss = 0.0941592, acc = 0.96\n", "[Train] Batch ID = 7600, loss = 0.0640152, acc = 1.0\n", "[Validation] Batch ID = 7600, loss = 0.0619655, acc = 0.94\n", "[Train] Batch ID = 7610, loss = 0.252545, acc = 0.74\n", "[Validation] Batch ID = 7610, loss = 0.0662513, acc = 1.0\n", "[Train] Batch ID = 7620, loss = 0.0483569, acc = 0.98\n", "[Validation] Batch ID = 7620, loss = 0.0925375, acc = 0.96\n", "[Train] Batch ID = 7630, loss = 0.243786, acc = 0.78\n", "[Validation] Batch ID = 7630, loss = 0.0655651, acc = 1.0\n", "[Train] Batch ID = 7640, loss = 0.0557597, acc = 0.98\n", "[Validation] Batch ID = 7640, loss = 0.0742074, acc = 1.0\n", "[Train] Batch ID = 7650, loss = 0.270343, acc = 0.76\n", "[Validation] Batch ID = 7650, loss = 0.0979451, acc = 0.96\n", "[Train] Batch ID = 7660, loss = 0.0419352, acc = 1.0\n", "[Validation] Batch ID = 7660, loss = 0.0865019, acc = 0.96\n", "[Train] Batch ID = 7670, loss = 0.257101, acc = 0.72\n", "[Validation] Batch ID = 7670, loss = 0.152153, acc = 0.82\n", "[Train] Batch ID = 7680, loss = 0.322734, acc = 0.6\n", "[Validation] Batch ID = 7680, loss = 0.0826568, acc = 1.0\n", "[Train] Batch ID = 7690, loss = 0.283752, acc = 0.72\n", "[Validation] Batch ID = 7690, loss = 0.0917829, acc = 0.9\n", "[Train] Batch ID = 7700, loss = 0.282952, acc = 0.7\n", "[Validation] Batch ID = 7700, loss = 0.0655329, acc = 0.98\n", "[Train] Batch ID = 7710, loss = 0.0576194, acc = 1.0\n", "[Validation] Batch ID = 7710, loss = 0.0779399, acc = 0.96\n", "[Train] Batch ID = 7720, loss = 0.0477936, acc = 0.98\n", "[Validation] Batch ID = 7720, loss = 0.0846093, acc = 0.96\n", "[Train] Batch ID = 7730, loss = 0.0554332, acc = 1.0\n", "[Validation] Batch ID = 7730, loss = 0.103984, acc = 0.92\n", "[Train] Batch ID = 7740, loss = 0.307251, acc = 0.58\n", "[Validation] Batch ID = 7740, loss = 0.0981987, acc = 0.94\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "[Train] Batch ID = 7750, loss = 0.0403732, acc = 1.0\n", "[Validation] Batch ID = 7750, loss = 0.0712164, acc = 1.0\n", "[Train] Batch ID = 7760, loss = 0.0351518, acc = 1.0\n", "[Validation] Batch ID = 7760, loss = 0.0951276, acc = 0.94\n", "[Train] Batch ID = 7770, loss = 0.0402704, acc = 0.98\n", "[Validation] Batch ID = 7770, loss = 0.128983, acc = 0.9\n", "[Train] Batch ID = 7780, loss = 0.03894, acc = 1.0\n", "[Validation] Batch ID = 7780, loss = 0.123883, acc = 0.92\n", "[Train] Batch ID = 7790, loss = 0.223138, acc = 0.86\n", "[Validation] Batch ID = 7790, loss = 0.0732819, acc = 0.94\n", "[Train] Batch ID = 7800, loss = 0.0438965, acc = 1.0\n", "[Validation] Batch ID = 7800, loss = 0.0890185, acc = 0.96\n", "[Train] Batch ID = 7810, loss = 0.271668, acc = 0.68\n", "[Validation] Batch ID = 7810, loss = 0.0767867, acc = 0.98\n", "[Train] Batch ID = 7820, loss = 0.222192, acc = 0.8\n", "[Validation] Batch ID = 7820, loss = 0.0952505, acc = 0.94\n", "[Train] Batch ID = 7830, loss = 0.316375, acc = 0.66\n", "[Validation] Batch ID = 7830, loss = 0.0820147, acc = 0.96\n", "[Train] Batch ID = 7840, loss = 0.3245, acc = 0.64\n", "[Validation] Batch ID = 7840, loss = 0.0980256, acc = 0.94\n", "[Train] Batch ID = 7850, loss = 0.0398391, acc = 1.0\n", "[Validation] Batch ID = 7850, loss = 0.124014, acc = 0.88\n", "[Train] Batch ID = 7860, loss = 0.329532, acc = 0.62\n", "[Validation] Batch ID = 7860, loss = 0.0787504, acc = 0.96\n", "[Train] Batch ID = 7870, loss = 0.0362406, acc = 1.0\n", "[Validation] Batch ID = 7870, loss = 0.0910912, acc = 0.9\n", "[Train] Batch ID = 7880, loss = 0.0380281, acc = 1.0\n", "[Validation] Batch ID = 7880, loss = 0.0923428, acc = 0.98\n", "[Train] Batch ID = 7890, loss = 0.274604, acc = 0.68\n", "[Validation] Batch ID = 7890, loss = 0.0775265, acc = 0.96\n", "[Train] Batch ID = 7900, loss = 0.0457938, acc = 0.98\n", "[Validation] Batch ID = 7900, loss = 0.0856165, acc = 0.96\n", "[Train] Batch ID = 7910, loss = 0.264536, acc = 0.7\n", "[Validation] Batch ID = 7910, loss = 0.118862, acc = 0.96\n", "[Train] Batch ID = 7920, loss = 0.0331632, acc = 1.0\n", "[Validation] Batch ID = 7920, loss = 0.0454306, acc = 1.0\n", "[Train] Batch ID = 7930, loss = 0.0375573, acc = 1.0\n", "[Validation] Batch ID = 7930, loss = 0.105206, acc = 0.9\n", "[Train] Batch ID = 7940, loss = 0.22417, acc = 0.88\n", "[Validation] Batch ID = 7940, loss = 0.0847631, acc = 0.96\n", "[Train] Batch ID = 7950, loss = 0.27494, acc = 0.7\n", "[Validation] Batch ID = 7950, loss = 0.0998986, acc = 0.88\n", "[Train] Batch ID = 7960, loss = 0.0510396, acc = 0.98\n", "[Validation] Batch ID = 7960, loss = 0.0802052, acc = 0.98\n", "[Train] Batch ID = 7970, loss = 0.257686, acc = 0.72\n", "[Validation] Batch ID = 7970, loss = 0.0668219, acc = 0.98\n", "[Train] Batch ID = 7980, loss = 0.278713, acc = 0.68\n", "[Validation] Batch ID = 7980, loss = 0.0821996, acc = 0.94\n", "[Train] Batch ID = 7990, loss = 0.24132, acc = 0.76\n", "[Validation] Batch ID = 7990, loss = 0.0855121, acc = 0.96\n", "[Train] Batch ID = 8000, loss = 0.0290238, acc = 1.0\n", "[Validation] Batch ID = 8000, loss = 0.0743022, acc = 0.96\n", "Evaluate full validation dataset ...\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "ModelBase::Saving model ...\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Current loss: 0.0818688 Best loss: 0.0913591\n", "[TOTAL Validation] Batch ID = 8000, loss = 0.0818688, acc = 0.956235827664\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "ModelBase::Model successfully saved here: outputs/checkpoints/c1s_9_c1n_256_c2s_6_c2n_64_c2d_0.7_c1vl_16_c1s_5_c1nf_16_c2vl_32_lr_0.0001_rs_1--TrafficSign--1510487290.423481\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Augmented Factor = 0.3835462841100001\n", "[Train] Batch ID = 8010, loss = 0.27528, acc = 0.62\n", "[Validation] Batch ID = 8010, loss = 0.0748837, acc = 0.92\n", "[Train] Batch ID = 8020, loss = 0.292786, acc = 0.6\n", "[Validation] Batch ID = 8020, loss = 0.0763902, acc = 0.96\n", "[Train] Batch ID = 8030, loss = 0.282813, acc = 0.74\n", "[Validation] Batch ID = 8030, loss = 0.0640242, acc = 0.98\n", "[Train] Batch ID = 8040, loss = 0.0348446, acc = 1.0\n", "[Validation] Batch ID = 8040, loss = 0.108665, acc = 0.92\n", "[Train] Batch ID = 8050, loss = 0.0668036, acc = 0.98\n", "[Validation] Batch ID = 8050, loss = 0.0669015, acc = 0.98\n", "[Train] Batch ID = 8060, loss = 0.0382698, acc = 1.0\n", "[Validation] Batch ID = 8060, loss = 0.0759994, acc = 0.94\n", "[Train] Batch ID = 8070, loss = 0.0416656, acc = 1.0\n", "[Validation] Batch ID = 8070, loss = 0.100446, acc = 0.94\n", "[Train] Batch ID = 8080, loss = 0.256744, acc = 0.74\n", "[Validation] Batch ID = 8080, loss = 0.0728336, acc = 0.96\n", "[Train] Batch ID = 8090, loss = 0.043247, acc = 1.0\n", "[Validation] Batch ID = 8090, loss = 0.0846095, acc = 0.94\n", "[Train] Batch ID = 8100, loss = 0.0422729, acc = 1.0\n", "[Validation] Batch ID = 8100, loss = 0.0894126, acc = 0.98\n", "[Train] Batch ID = 8110, loss = 0.260622, acc = 0.7\n", "[Validation] Batch ID = 8110, loss = 0.0688025, acc = 0.98\n", "[Train] Batch ID = 8120, loss = 0.0506637, acc = 0.98\n", "[Validation] Batch ID = 8120, loss = 0.116244, acc = 0.92\n", "[Train] Batch ID = 8130, loss = 0.273258, acc = 0.78\n", "[Validation] Batch ID = 8130, loss = 0.0962926, acc = 0.98\n", "[Train] Batch ID = 8140, loss = 0.0215239, acc = 1.0\n", "[Validation] Batch ID = 8140, loss = 0.0722177, acc = 0.98\n", "[Train] Batch ID = 8150, loss = 0.0423395, acc = 1.0\n", "[Validation] Batch ID = 8150, loss = 0.0832904, acc = 0.94\n", "[Train] Batch ID = 8160, loss = 0.0294857, acc = 1.0\n", "[Validation] Batch ID = 8160, loss = 0.065913, acc = 0.98\n", "[Train] Batch ID = 8170, loss = 0.25224, acc = 0.86\n", "[Validation] Batch ID = 8170, loss = 0.0794374, acc = 0.92\n", "[Train] Batch ID = 8180, loss = 0.0444033, acc = 1.0\n", "[Validation] Batch ID = 8180, loss = 0.0845283, acc = 0.98\n", "[Train] Batch ID = 8190, loss = 0.0378583, acc = 1.0\n", "[Validation] Batch ID = 8190, loss = 0.0511073, acc = 0.98\n", "[Train] Batch ID = 8200, loss = 0.0438331, acc = 1.0\n", "[Validation] Batch ID = 8200, loss = 0.0819042, acc = 0.96\n", "[Train] Batch ID = 8210, loss = 0.0381253, acc = 1.0\n", "[Validation] Batch ID = 8210, loss = 0.0810078, acc = 0.96\n", "[Train] Batch ID = 8220, loss = 0.0397449, acc = 1.0\n", "[Validation] Batch ID = 8220, loss = 0.0666166, acc = 0.96\n", "[Train] Batch ID = 8230, loss = 0.294424, acc = 0.64\n", "[Validation] Batch ID = 8230, loss = 0.0659258, acc = 0.96\n", "[Train] Batch ID = 8240, loss = 0.257666, acc = 0.78\n", "[Validation] Batch ID = 8240, loss = 0.0871216, acc = 0.92\n", "[Train] Batch ID = 8250, loss = 0.308528, acc = 0.64\n", "[Validation] Batch ID = 8250, loss = 0.0690989, acc = 0.96\n", "[Train] Batch ID = 8260, loss = 0.0301057, acc = 1.0\n", "[Validation] Batch ID = 8260, loss = 0.124542, acc = 0.94\n", "[Train] Batch ID = 8270, loss = 0.0244233, acc = 1.0\n", "[Validation] Batch ID = 8270, loss = 0.0924073, acc = 0.94\n", "[Train] Batch ID = 8280, loss = 0.0393176, acc = 1.0\n", "[Validation] Batch ID = 8280, loss = 0.0750193, acc = 0.94\n", "[Train] Batch ID = 8290, loss = 0.256089, acc = 0.72\n", "[Validation] Batch ID = 8290, loss = 0.0847558, acc = 0.94\n", "[Train] Batch ID = 8300, loss = 0.0295313, acc = 1.0\n", "[Validation] Batch ID = 8300, loss = 0.115506, acc = 0.9\n", "[Train] Batch ID = 8310, loss = 0.041745, acc = 1.0\n", "[Validation] Batch ID = 8310, loss = 0.0846277, acc = 0.92\n", "[Train] Batch ID = 8320, loss = 0.281196, acc = 0.76\n", "[Validation] Batch ID = 8320, loss = 0.0756631, acc = 0.96\n", "[Train] Batch ID = 8330, loss = 0.301806, acc = 0.68\n", "[Validation] Batch ID = 8330, loss = 0.0362425, acc = 1.0\n", "[Train] Batch ID = 8340, loss = 0.0437055, acc = 0.98\n", "[Validation] Batch ID = 8340, loss = 0.103319, acc = 0.94\n", "[Train] Batch ID = 8350, loss = 0.244345, acc = 0.76\n", "[Validation] Batch ID = 8350, loss = 0.0921808, acc = 0.94\n", "[Train] Batch ID = 8360, loss = 0.0414006, acc = 1.0\n", "[Validation] Batch ID = 8360, loss = 0.0825483, acc = 0.94\n", "[Train] Batch ID = 8370, loss = 0.265903, acc = 0.72\n", "[Validation] Batch ID = 8370, loss = 0.0760844, acc = 0.94\n", "[Train] Batch ID = 8380, loss = 0.0352259, acc = 1.0\n", "[Validation] Batch ID = 8380, loss = 0.0853136, acc = 0.96\n", "[Train] Batch ID = 8390, loss = 0.255135, acc = 0.82\n", "[Validation] Batch ID = 8390, loss = 0.082369, acc = 0.94\n", "[Train] Batch ID = 8400, loss = 0.0458829, acc = 1.0\n", "[Validation] Batch ID = 8400, loss = 0.0636071, acc = 0.94\n", "[Train] Batch ID = 8410, loss = 0.294154, acc = 0.7\n", "[Validation] Batch ID = 8410, loss = 0.0617988, acc = 0.98\n", "[Train] Batch ID = 8420, loss = 0.0220582, acc = 1.0\n", "[Validation] Batch ID = 8420, loss = 0.0722412, acc = 0.96\n", "[Train] Batch ID = 8430, loss = 0.26236, acc = 0.7\n", "[Validation] Batch ID = 8430, loss = 0.0926747, acc = 0.94\n", "[Train] Batch ID = 8440, loss = 0.0361782, acc = 1.0\n", "[Validation] Batch ID = 8440, loss = 0.0755438, acc = 0.98\n", "[Train] Batch ID = 8450, loss = 0.269942, acc = 0.72\n", "[Validation] Batch ID = 8450, loss = 0.0526855, acc = 0.98\n", "[Train] Batch ID = 8460, loss = 0.250472, acc = 0.78\n", "[Validation] Batch ID = 8460, loss = 0.0934611, acc = 0.94\n", "[Train] Batch ID = 8470, loss = 0.0200514, acc = 1.0\n", "[Validation] Batch ID = 8470, loss = 0.093321, acc = 0.98\n", "[Train] Batch ID = 8480, loss = 0.0428039, acc = 0.98\n", "[Validation] Batch ID = 8480, loss = 0.0552503, acc = 1.0\n", "[Train] Batch ID = 8490, loss = 0.265512, acc = 0.7\n", "[Validation] Batch ID = 8490, loss = 0.0614077, acc = 0.98\n", "[Train] Batch ID = 8500, loss = 0.0308441, acc = 1.0\n", "[Validation] Batch ID = 8500, loss = 0.0605858, acc = 0.96\n", "[Train] Batch ID = 8510, loss = 0.0265815, acc = 1.0\n", "[Validation] Batch ID = 8510, loss = 0.0989401, acc = 0.96\n", "[Train] Batch ID = 8520, loss = 0.247413, acc = 0.74\n", "[Validation] Batch ID = 8520, loss = 0.0698089, acc = 0.96\n", "[Train] Batch ID = 8530, loss = 0.0259142, acc = 1.0\n", "[Validation] Batch ID = 8530, loss = 0.115373, acc = 0.9\n", "[Train] Batch ID = 8540, loss = 0.239534, acc = 0.8\n", "[Validation] Batch ID = 8540, loss = 0.0865728, acc = 0.96\n", "[Train] Batch ID = 8550, loss = 0.236485, acc = 0.8\n", "[Validation] Batch ID = 8550, loss = 0.0670755, acc = 0.96\n", "[Train] Batch ID = 8560, loss = 0.0396632, acc = 1.0\n", "[Validation] Batch ID = 8560, loss = 0.066268, acc = 0.96\n", "[Train] Batch ID = 8570, loss = 0.288155, acc = 0.7\n", "[Validation] Batch ID = 8570, loss = 0.0882024, acc = 0.9\n", "[Train] Batch ID = 8580, loss = 0.264624, acc = 0.7\n", "[Validation] Batch ID = 8580, loss = 0.0561912, acc = 1.0\n", "[Train] Batch ID = 8590, loss = 0.0405446, acc = 1.0\n", "[Validation] Batch ID = 8590, loss = 0.0788573, acc = 0.94\n", "[Train] Batch ID = 8600, loss = 0.0394679, acc = 1.0\n", "[Validation] Batch ID = 8600, loss = 0.0881677, acc = 0.92\n", "[Train] Batch ID = 8610, loss = 0.239138, acc = 0.76\n", "[Validation] Batch ID = 8610, loss = 0.0776586, acc = 0.98\n", "[Train] Batch ID = 8620, loss = 0.0242431, acc = 1.0\n", "[Validation] Batch ID = 8620, loss = 0.0821427, acc = 0.92\n", "[Train] Batch ID = 8630, loss = 0.28181, acc = 0.76\n", "[Validation] Batch ID = 8630, loss = 0.0882124, acc = 0.94\n", "[Train] Batch ID = 8640, loss = 0.0338977, acc = 1.0\n", "[Validation] Batch ID = 8640, loss = 0.0731739, acc = 0.96\n", "[Train] Batch ID = 8650, loss = 0.0441589, acc = 1.0\n", "[Validation] Batch ID = 8650, loss = 0.0815353, acc = 0.94\n", "[Train] Batch ID = 8660, loss = 0.0376473, acc = 1.0\n", "[Validation] Batch ID = 8660, loss = 0.100622, acc = 0.92\n", "[Train] Batch ID = 8670, loss = 0.0424785, acc = 1.0\n", "[Validation] Batch ID = 8670, loss = 0.0515921, acc = 1.0\n", "[Train] Batch ID = 8680, loss = 0.0327239, acc = 1.0\n", "[Validation] Batch ID = 8680, loss = 0.0605735, acc = 1.0\n", "[Train] Batch ID = 8690, loss = 0.0422158, acc = 0.98\n", "[Validation] Batch ID = 8690, loss = 0.0657072, acc = 0.98\n", "[Train] Batch ID = 8700, loss = 0.281405, acc = 0.74\n", "[Validation] Batch ID = 8700, loss = 0.0472511, acc = 1.0\n", "[Train] Batch ID = 8710, loss = 0.29021, acc = 0.66\n", "[Validation] Batch ID = 8710, loss = 0.068747, acc = 0.96\n", "[Train] Batch ID = 8720, loss = 0.0364292, acc = 1.0\n", "[Validation] Batch ID = 8720, loss = 0.0628496, acc = 0.96\n", "[Train] Batch ID = 8730, loss = 0.219382, acc = 0.8\n", "[Validation] Batch ID = 8730, loss = 0.0792795, acc = 0.96\n", "[Train] Batch ID = 8740, loss = 0.0300492, acc = 1.0\n", "[Validation] Batch ID = 8740, loss = 0.0716525, acc = 0.94\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "[Train] Batch ID = 8750, loss = 0.200257, acc = 0.82\n", "[Validation] Batch ID = 8750, loss = 0.0666566, acc = 0.94\n", "[Train] Batch ID = 8760, loss = 0.253806, acc = 0.76\n", "[Validation] Batch ID = 8760, loss = 0.0725813, acc = 0.96\n", "[Train] Batch ID = 8770, loss = 0.221337, acc = 0.88\n", "[Validation] Batch ID = 8770, loss = 0.0730072, acc = 0.94\n", "[Train] Batch ID = 8780, loss = 0.269851, acc = 0.72\n", "[Validation] Batch ID = 8780, loss = 0.0718302, acc = 0.98\n", "[Train] Batch ID = 8790, loss = 0.0234266, acc = 1.0\n", "[Validation] Batch ID = 8790, loss = 0.0509318, acc = 1.0\n", "[Train] Batch ID = 8800, loss = 0.0462745, acc = 1.0\n", "[Validation] Batch ID = 8800, loss = 0.0881032, acc = 0.94\n", "[Train] Batch ID = 8810, loss = 0.0257416, acc = 1.0\n", "[Validation] Batch ID = 8810, loss = 0.058623, acc = 1.0\n", "[Train] Batch ID = 8820, loss = 0.0393008, acc = 1.0\n", "[Validation] Batch ID = 8820, loss = 0.111003, acc = 0.92\n", "[Train] Batch ID = 8830, loss = 0.0302658, acc = 1.0\n", "[Validation] Batch ID = 8830, loss = 0.0815632, acc = 0.94\n", "[Train] Batch ID = 8840, loss = 0.269064, acc = 0.74\n", "[Validation] Batch ID = 8840, loss = 0.0525029, acc = 0.96\n", "[Train] Batch ID = 8850, loss = 0.0329526, acc = 1.0\n", "[Validation] Batch ID = 8850, loss = 0.0874354, acc = 0.96\n", "[Train] Batch ID = 8860, loss = 0.0312124, acc = 1.0\n", "[Validation] Batch ID = 8860, loss = 0.0950556, acc = 0.9\n", "[Train] Batch ID = 8870, loss = 0.0351712, acc = 1.0\n", "[Validation] Batch ID = 8870, loss = 0.0639514, acc = 0.94\n", "[Train] Batch ID = 8880, loss = 0.019568, acc = 1.0\n", "[Validation] Batch ID = 8880, loss = 0.0550488, acc = 0.98\n", "[Train] Batch ID = 8890, loss = 0.0259505, acc = 1.0\n", "[Validation] Batch ID = 8890, loss = 0.0472877, acc = 1.0\n", "[Train] Batch ID = 8900, loss = 0.0441991, acc = 0.96\n", "[Validation] Batch ID = 8900, loss = 0.0555078, acc = 0.96\n", "[Train] Batch ID = 8910, loss = 0.261854, acc = 0.72\n", "[Validation] Batch ID = 8910, loss = 0.0588934, acc = 0.98\n", "[Train] Batch ID = 8920, loss = 0.0327642, acc = 0.98\n", "[Validation] Batch ID = 8920, loss = 0.0632027, acc = 0.98\n", "[Train] Batch ID = 8930, loss = 0.0298702, acc = 1.0\n", "[Validation] Batch ID = 8930, loss = 0.0688324, acc = 0.96\n", "[Train] Batch ID = 8940, loss = 0.037612, acc = 1.0\n", "[Validation] Batch ID = 8940, loss = 0.0776624, acc = 0.96\n", "[Train] Batch ID = 8950, loss = 0.0400275, acc = 1.0\n", "[Validation] Batch ID = 8950, loss = 0.0566437, acc = 0.98\n", "[Train] Batch ID = 8960, loss = 0.261337, acc = 0.72\n", "[Validation] Batch ID = 8960, loss = 0.0795078, acc = 0.94\n", "[Train] Batch ID = 8970, loss = 0.274757, acc = 0.78\n", "[Validation] Batch ID = 8970, loss = 0.0614441, acc = 0.96\n", "[Train] Batch ID = 8980, loss = 0.0376411, acc = 1.0\n", "[Validation] Batch ID = 8980, loss = 0.0612421, acc = 0.98\n", "[Train] Batch ID = 8990, loss = 0.033753, acc = 1.0\n", "[Validation] Batch ID = 8990, loss = 0.0590532, acc = 0.98\n", "[Train] Batch ID = 9000, loss = 0.270359, acc = 0.68\n", "[Validation] Batch ID = 9000, loss = 0.0639195, acc = 0.96\n", "Evaluate full validation dataset ...\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "ModelBase::Saving model ...\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Current loss: 0.0730149 Best loss: 0.0818688\n", "[TOTAL Validation] Batch ID = 9000, loss = 0.0730149, acc = 0.956916099773\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "ModelBase::Model successfully saved here: outputs/checkpoints/c1s_9_c1n_256_c2s_6_c2n_64_c2d_0.7_c1vl_16_c1s_5_c1nf_16_c2vl_32_lr_0.0001_rs_1--TrafficSign--1510487290.423481\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Augmented Factor = 0.34519165569900007\n", "[Train] Batch ID = 9010, loss = 0.0371402, acc = 0.98\n", "[Validation] Batch ID = 9010, loss = 0.0990682, acc = 0.92\n", "[Train] Batch ID = 9020, loss = 0.244633, acc = 0.8\n", "[Validation] Batch ID = 9020, loss = 0.0506787, acc = 1.0\n", "[Train] Batch ID = 9030, loss = 0.0375165, acc = 1.0\n", "[Validation] Batch ID = 9030, loss = 0.0584152, acc = 0.96\n", "[Train] Batch ID = 9040, loss = 0.0230043, acc = 1.0\n", "[Validation] Batch ID = 9040, loss = 0.0782268, acc = 0.96\n", "[Train] Batch ID = 9050, loss = 0.02809, acc = 1.0\n", "[Validation] Batch ID = 9050, loss = 0.0911876, acc = 0.94\n", "[Train] Batch ID = 9060, loss = 0.0511767, acc = 0.94\n", "[Validation] Batch ID = 9060, loss = 0.052349, acc = 0.98\n", "[Train] Batch ID = 9070, loss = 0.0325103, acc = 1.0\n", "[Validation] Batch ID = 9070, loss = 0.0557392, acc = 0.96\n", "[Train] Batch ID = 9080, loss = 0.0182243, acc = 1.0\n", "[Validation] Batch ID = 9080, loss = 0.0564094, acc = 0.98\n", "[Train] Batch ID = 9090, loss = 0.0210972, acc = 1.0\n", "[Validation] Batch ID = 9090, loss = 0.0613834, acc = 0.94\n", "[Train] Batch ID = 9100, loss = 0.0289811, acc = 1.0\n", "[Validation] Batch ID = 9100, loss = 0.0835657, acc = 0.98\n", "[Train] Batch ID = 9110, loss = 0.276841, acc = 0.64\n", "[Validation] Batch ID = 9110, loss = 0.0645217, acc = 0.96\n", "[Train] Batch ID = 9120, loss = 0.0263086, acc = 1.0\n", "[Validation] Batch ID = 9120, loss = 0.0862485, acc = 0.98\n", "[Train] Batch ID = 9130, loss = 0.0258585, acc = 1.0\n", "[Validation] Batch ID = 9130, loss = 0.0768491, acc = 0.94\n", "[Train] Batch ID = 9140, loss = 0.263266, acc = 0.76\n", "[Validation] Batch ID = 9140, loss = 0.0517884, acc = 1.0\n", "[Train] Batch ID = 9150, loss = 0.0472574, acc = 1.0\n", "[Validation] Batch ID = 9150, loss = 0.0501246, acc = 1.0\n", "[Train] Batch ID = 9160, loss = 0.246189, acc = 0.7\n", "[Validation] Batch ID = 9160, loss = 0.059866, acc = 0.96\n", "[Train] Batch ID = 9170, loss = 0.0285539, acc = 1.0\n", "[Validation] Batch ID = 9170, loss = 0.0761802, acc = 0.96\n", "[Train] Batch ID = 9180, loss = 0.0300271, acc = 1.0\n", "[Validation] Batch ID = 9180, loss = 0.0740342, acc = 0.96\n", "[Train] Batch ID = 9190, loss = 0.0494826, acc = 1.0\n", "[Validation] Batch ID = 9190, loss = 0.0888444, acc = 0.92\n", "[Train] Batch ID = 9200, loss = 0.221246, acc = 0.82\n", "[Validation] Batch ID = 9200, loss = 0.0855724, acc = 0.92\n", "[Train] Batch ID = 9210, loss = 0.0438174, acc = 0.98\n", "[Validation] Batch ID = 9210, loss = 0.0885618, acc = 0.92\n", "[Train] Batch ID = 9220, loss = 0.230868, acc = 0.76\n", "[Validation] Batch ID = 9220, loss = 0.0523801, acc = 0.96\n", "[Train] Batch ID = 9230, loss = 0.274029, acc = 0.68\n", "[Validation] Batch ID = 9230, loss = 0.105097, acc = 0.88\n", "[Train] Batch ID = 9240, loss = 0.248899, acc = 0.88\n", "[Validation] Batch ID = 9240, loss = 0.0569448, acc = 0.96\n", "[Train] Batch ID = 9250, loss = 0.0319467, acc = 1.0\n", "[Validation] Batch ID = 9250, loss = 0.0515399, acc = 0.98\n", "[Train] Batch ID = 9260, loss = 0.271277, acc = 0.72\n", "[Validation] Batch ID = 9260, loss = 0.0678958, acc = 0.96\n", "[Train] Batch ID = 9270, loss = 0.0334095, acc = 1.0\n", "[Validation] Batch ID = 9270, loss = 0.0894422, acc = 0.92\n", "[Train] Batch ID = 9280, loss = 0.0244803, acc = 1.0\n", "[Validation] Batch ID = 9280, loss = 0.0687834, acc = 0.94\n", "[Train] Batch ID = 9290, loss = 0.0389232, acc = 0.98\n", "[Validation] Batch ID = 9290, loss = 0.0482319, acc = 1.0\n", "[Train] Batch ID = 9300, loss = 0.0306783, acc = 1.0\n", "[Validation] Batch ID = 9300, loss = 0.0740482, acc = 0.96\n", "[Train] Batch ID = 9310, loss = 0.0265655, acc = 1.0\n", "[Validation] Batch ID = 9310, loss = 0.0955756, acc = 0.94\n", "[Train] Batch ID = 9320, loss = 0.0298557, acc = 1.0\n", "[Validation] Batch ID = 9320, loss = 0.0929293, acc = 0.94\n", "[Train] Batch ID = 9330, loss = 0.252435, acc = 0.72\n", "[Validation] Batch ID = 9330, loss = 0.0674733, acc = 0.94\n", "[Train] Batch ID = 9340, loss = 0.0273754, acc = 1.0\n", "[Validation] Batch ID = 9340, loss = 0.0390324, acc = 1.0\n", "[Train] Batch ID = 9350, loss = 0.0282579, acc = 1.0\n", "[Validation] Batch ID = 9350, loss = 0.0569153, acc = 0.98\n", "[Train] Batch ID = 9360, loss = 0.263307, acc = 0.76\n", "[Validation] Batch ID = 9360, loss = 0.0835898, acc = 0.96\n", "[Train] Batch ID = 9370, loss = 0.250693, acc = 0.78\n", "[Validation] Batch ID = 9370, loss = 0.0923268, acc = 0.94\n", "[Train] Batch ID = 9380, loss = 0.0383909, acc = 1.0\n", "[Validation] Batch ID = 9380, loss = 0.0753173, acc = 0.98\n", "[Train] Batch ID = 9390, loss = 0.28642, acc = 0.68\n", "[Validation] Batch ID = 9390, loss = 0.0844799, acc = 0.96\n", "[Train] Batch ID = 9400, loss = 0.258013, acc = 0.76\n", "[Validation] Batch ID = 9400, loss = 0.0748619, acc = 0.94\n", "[Train] Batch ID = 9410, loss = 0.299166, acc = 0.62\n", "[Validation] Batch ID = 9410, loss = 0.0575375, acc = 1.0\n", "[Train] Batch ID = 9420, loss = 0.230754, acc = 0.84\n", "[Validation] Batch ID = 9420, loss = 0.0900916, acc = 0.92\n", "[Train] Batch ID = 9430, loss = 0.252281, acc = 0.78\n", "[Validation] Batch ID = 9430, loss = 0.0876613, acc = 0.92\n", "[Train] Batch ID = 9440, loss = 0.21312, acc = 0.84\n", "[Validation] Batch ID = 9440, loss = 0.0949212, acc = 0.88\n", "[Train] Batch ID = 9450, loss = 0.0253684, acc = 1.0\n", "[Validation] Batch ID = 9450, loss = 0.067889, acc = 0.96\n", "[Train] Batch ID = 9460, loss = 0.0228306, acc = 1.0\n", "[Validation] Batch ID = 9460, loss = 0.0697475, acc = 0.98\n", "[Train] Batch ID = 9470, loss = 0.0300234, acc = 1.0\n", "[Validation] Batch ID = 9470, loss = 0.0643063, acc = 1.0\n", "[Train] Batch ID = 9480, loss = 0.234244, acc = 0.76\n", "[Validation] Batch ID = 9480, loss = 0.0580945, acc = 0.94\n", "[Train] Batch ID = 9490, loss = 0.0241856, acc = 1.0\n", "[Validation] Batch ID = 9490, loss = 0.0526494, acc = 0.98\n", "[Train] Batch ID = 9500, loss = 0.301242, acc = 0.72\n", "[Validation] Batch ID = 9500, loss = 0.0691274, acc = 0.94\n", "[Train] Batch ID = 9510, loss = 0.0424527, acc = 1.0\n", "[Validation] Batch ID = 9510, loss = 0.0751837, acc = 0.94\n", "[Train] Batch ID = 9520, loss = 0.262915, acc = 0.68\n", "[Validation] Batch ID = 9520, loss = 0.099433, acc = 0.92\n", "[Train] Batch ID = 9530, loss = 0.279886, acc = 0.62\n", "[Validation] Batch ID = 9530, loss = 0.0846491, acc = 0.96\n", "[Train] Batch ID = 9540, loss = 0.0204471, acc = 1.0\n", "[Validation] Batch ID = 9540, loss = 0.0536329, acc = 0.98\n", "[Train] Batch ID = 9550, loss = 0.219712, acc = 0.84\n", "[Validation] Batch ID = 9550, loss = 0.0850142, acc = 0.92\n", "[Train] Batch ID = 9560, loss = 0.0245071, acc = 1.0\n", "[Validation] Batch ID = 9560, loss = 0.0734636, acc = 0.96\n", "[Train] Batch ID = 9570, loss = 0.0444164, acc = 1.0\n", "[Validation] Batch ID = 9570, loss = 0.0879174, acc = 0.96\n", "[Train] Batch ID = 9580, loss = 0.210319, acc = 0.82\n", "[Validation] Batch ID = 9580, loss = 0.0602446, acc = 0.98\n", "[Train] Batch ID = 9590, loss = 0.214075, acc = 0.84\n", "[Validation] Batch ID = 9590, loss = 0.0685335, acc = 0.94\n", "[Train] Batch ID = 9600, loss = 0.035629, acc = 1.0\n", "[Validation] Batch ID = 9600, loss = 0.0464298, acc = 1.0\n", "[Train] Batch ID = 9610, loss = 0.0310239, acc = 1.0\n", "[Validation] Batch ID = 9610, loss = 0.0688841, acc = 0.94\n", "[Train] Batch ID = 9620, loss = 0.0417222, acc = 0.98\n", "[Validation] Batch ID = 9620, loss = 0.0528665, acc = 0.98\n", "[Train] Batch ID = 9630, loss = 0.219635, acc = 0.82\n", "[Validation] Batch ID = 9630, loss = 0.0601971, acc = 0.98\n", "[Train] Batch ID = 9640, loss = 0.275698, acc = 0.7\n", "[Validation] Batch ID = 9640, loss = 0.113864, acc = 0.88\n", "[Train] Batch ID = 9650, loss = 0.252119, acc = 0.76\n", "[Validation] Batch ID = 9650, loss = 0.0579154, acc = 0.96\n", "[Train] Batch ID = 9660, loss = 0.0389128, acc = 1.0\n", "[Validation] Batch ID = 9660, loss = 0.0641635, acc = 0.96\n", "[Train] Batch ID = 9670, loss = 0.258587, acc = 0.76\n", "[Validation] Batch ID = 9670, loss = 0.0542866, acc = 0.96\n", "[Train] Batch ID = 9680, loss = 0.0439214, acc = 0.98\n", "[Validation] Batch ID = 9680, loss = 0.0575417, acc = 1.0\n", "[Train] Batch ID = 9690, loss = 0.0282933, acc = 1.0\n", "[Validation] Batch ID = 9690, loss = 0.066501, acc = 0.96\n", "[Train] Batch ID = 9700, loss = 0.217716, acc = 0.86\n", "[Validation] Batch ID = 9700, loss = 0.148524, acc = 0.9\n", "[Train] Batch ID = 9710, loss = 0.239336, acc = 0.78\n", "[Validation] Batch ID = 9710, loss = 0.0797583, acc = 0.92\n", "[Train] Batch ID = 9720, loss = 0.0425604, acc = 1.0\n", "[Validation] Batch ID = 9720, loss = 0.0475135, acc = 1.0\n", "[Train] Batch ID = 9730, loss = 0.0409698, acc = 1.0\n", "[Validation] Batch ID = 9730, loss = 0.0530235, acc = 0.98\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "[Train] Batch ID = 9740, loss = 0.0250429, acc = 1.0\n", "[Validation] Batch ID = 9740, loss = 0.0458096, acc = 1.0\n", "[Train] Batch ID = 9750, loss = 0.0339193, acc = 1.0\n", "[Validation] Batch ID = 9750, loss = 0.0612558, acc = 0.98\n", "[Train] Batch ID = 9760, loss = 0.0356182, acc = 1.0\n", "[Validation] Batch ID = 9760, loss = 0.0505561, acc = 0.98\n", "[Train] Batch ID = 9770, loss = 0.253273, acc = 0.76\n", "[Validation] Batch ID = 9770, loss = 0.0510211, acc = 1.0\n", "[Train] Batch ID = 9780, loss = 0.0218458, acc = 1.0\n", "[Validation] Batch ID = 9780, loss = 0.0535055, acc = 1.0\n", "[Train] Batch ID = 9790, loss = 0.042029, acc = 0.98\n", "[Validation] Batch ID = 9790, loss = 0.0609709, acc = 0.96\n", "[Train] Batch ID = 9800, loss = 0.0300864, acc = 1.0\n", "[Validation] Batch ID = 9800, loss = 0.0807172, acc = 0.94\n", "[Train] Batch ID = 9810, loss = 0.0242036, acc = 1.0\n", "[Validation] Batch ID = 9810, loss = 0.0761893, acc = 0.96\n", "[Train] Batch ID = 9820, loss = 0.0378429, acc = 0.98\n", "[Validation] Batch ID = 9820, loss = 0.0495288, acc = 0.98\n", "[Train] Batch ID = 9830, loss = 0.295582, acc = 0.66\n", "[Validation] Batch ID = 9830, loss = 0.049226, acc = 1.0\n", "[Train] Batch ID = 9840, loss = 0.23147, acc = 0.78\n", "[Validation] Batch ID = 9840, loss = 0.0919249, acc = 0.92\n", "[Train] Batch ID = 9850, loss = 0.0285242, acc = 1.0\n", "[Validation] Batch ID = 9850, loss = 0.0455753, acc = 1.0\n", "[Train] Batch ID = 9860, loss = 0.0230636, acc = 1.0\n", "[Validation] Batch ID = 9860, loss = 0.09085, acc = 0.94\n", "[Train] Batch ID = 9870, loss = 0.0291944, acc = 1.0\n", "[Validation] Batch ID = 9870, loss = 0.0596458, acc = 0.98\n", "[Train] Batch ID = 9880, loss = 0.0224168, acc = 1.0\n", "[Validation] Batch ID = 9880, loss = 0.0559767, acc = 0.96\n", "[Train] Batch ID = 9890, loss = 0.240785, acc = 0.78\n", "[Validation] Batch ID = 9890, loss = 0.108747, acc = 0.9\n", "[Train] Batch ID = 9900, loss = 0.035039, acc = 1.0\n", "[Validation] Batch ID = 9900, loss = 0.0791783, acc = 0.94\n", "[Train] Batch ID = 9910, loss = 0.242656, acc = 0.72\n", "[Validation] Batch ID = 9910, loss = 0.0469035, acc = 1.0\n", "[Train] Batch ID = 9920, loss = 0.278609, acc = 0.66\n", "[Validation] Batch ID = 9920, loss = 0.0769367, acc = 0.94\n", "[Train] Batch ID = 9930, loss = 0.269497, acc = 0.68\n", "[Validation] Batch ID = 9930, loss = 0.0846269, acc = 0.96\n", "[Train] Batch ID = 9940, loss = 0.023544, acc = 1.0\n", "[Validation] Batch ID = 9940, loss = 0.0624251, acc = 1.0\n", "[Train] Batch ID = 9950, loss = 0.0249742, acc = 1.0\n", "[Validation] Batch ID = 9950, loss = 0.074779, acc = 0.94\n", "[Train] Batch ID = 9960, loss = 0.168816, acc = 0.9\n", "[Validation] Batch ID = 9960, loss = 0.0835778, acc = 0.92\n", "[Train] Batch ID = 9970, loss = 0.0314519, acc = 1.0\n", "[Validation] Batch ID = 9970, loss = 0.0639506, acc = 1.0\n", "[Train] Batch ID = 9980, loss = 0.26008, acc = 0.74\n", "[Validation] Batch ID = 9980, loss = 0.0971057, acc = 0.94\n", "[Train] Batch ID = 9990, loss = 0.214483, acc = 0.82\n", "[Validation] Batch ID = 9990, loss = 0.0537682, acc = 0.98\n", "[Train] Batch ID = 10000, loss = 0.274471, acc = 0.6\n", "[Validation] Batch ID = 10000, loss = 0.0670121, acc = 0.92\n", "Evaluate full validation dataset ...\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "ModelBase::Saving model ...\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Current loss: 0.0658573 Best loss: 0.0730149\n", "[TOTAL Validation] Batch ID = 10000, loss = 0.0658573, acc = 0.962585034014\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "ModelBase::Model successfully saved here: outputs/checkpoints/c1s_9_c1n_256_c2s_6_c2n_64_c2d_0.7_c1vl_16_c1s_5_c1nf_16_c2vl_32_lr_0.0001_rs_1--TrafficSign--1510487290.423481\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Augmented Factor = 0.3106724901291001\n", "[Train] Batch ID = 10010, loss = 0.0320103, acc = 1.0\n", "[Validation] Batch ID = 10010, loss = 0.0582178, acc = 0.98\n", "[Train] Batch ID = 10020, loss = 0.0450144, acc = 1.0\n", "[Validation] Batch ID = 10020, loss = 0.0855528, acc = 0.94\n", "[Train] Batch ID = 10030, loss = 0.235422, acc = 0.74\n", "[Validation] Batch ID = 10030, loss = 0.0340095, acc = 1.0\n", "[Train] Batch ID = 10040, loss = 0.0306786, acc = 1.0\n", "[Validation] Batch ID = 10040, loss = 0.0542091, acc = 0.98\n", "[Train] Batch ID = 10050, loss = 0.0256784, acc = 1.0\n", "[Validation] Batch ID = 10050, loss = 0.0816129, acc = 0.94\n", "[Train] Batch ID = 10060, loss = 0.0304254, acc = 1.0\n", "[Validation] Batch ID = 10060, loss = 0.0498559, acc = 0.96\n", "[Train] Batch ID = 10070, loss = 0.0401404, acc = 1.0\n", "[Validation] Batch ID = 10070, loss = 0.0606166, acc = 0.98\n", "[Train] Batch ID = 10080, loss = 0.220529, acc = 0.8\n", "[Validation] Batch ID = 10080, loss = 0.0591235, acc = 0.94\n", "[Train] Batch ID = 10090, loss = 0.303144, acc = 0.64\n", "[Validation] Batch ID = 10090, loss = 0.0839164, acc = 0.94\n", "[Train] Batch ID = 10100, loss = 0.029797, acc = 0.98\n", "[Validation] Batch ID = 10100, loss = 0.0683755, acc = 0.96\n", "[Train] Batch ID = 10110, loss = 0.298102, acc = 0.66\n", "[Validation] Batch ID = 10110, loss = 0.0792787, acc = 0.94\n", "[Train] Batch ID = 10120, loss = 0.0323543, acc = 0.98\n", "[Validation] Batch ID = 10120, loss = 0.0470284, acc = 1.0\n", "[Train] Batch ID = 10130, loss = 0.256514, acc = 0.66\n", "[Validation] Batch ID = 10130, loss = 0.058399, acc = 0.96\n", "[Train] Batch ID = 10140, loss = 0.227415, acc = 0.82\n", "[Validation] Batch ID = 10140, loss = 0.100909, acc = 0.94\n", "[Train] Batch ID = 10150, loss = 0.242073, acc = 0.78\n", "[Validation] Batch ID = 10150, loss = 0.0646949, acc = 0.92\n", "[Train] Batch ID = 10160, loss = 0.0168186, acc = 1.0\n", "[Validation] Batch ID = 10160, loss = 0.0692419, acc = 0.96\n", "[Train] Batch ID = 10170, loss = 0.0356441, acc = 0.98\n", "[Validation] Batch ID = 10170, loss = 0.0699623, acc = 0.96\n", "[Train] Batch ID = 10180, loss = 0.282366, acc = 0.72\n", "[Validation] Batch ID = 10180, loss = 0.0572535, acc = 0.98\n", "[Train] Batch ID = 10190, loss = 0.0248422, acc = 1.0\n", "[Validation] Batch ID = 10190, loss = 0.0692116, acc = 0.96\n", "[Train] Batch ID = 10200, loss = 0.278892, acc = 0.78\n", "[Validation] Batch ID = 10200, loss = 0.0540336, acc = 1.0\n", "[Train] Batch ID = 10210, loss = 0.0237627, acc = 1.0\n", "[Validation] Batch ID = 10210, loss = 0.0644254, acc = 0.98\n", "[Train] Batch ID = 10220, loss = 0.0241029, acc = 1.0\n", "[Validation] Batch ID = 10220, loss = 0.0922657, acc = 0.94\n", "[Train] Batch ID = 10230, loss = 0.026562, acc = 1.0\n", "[Validation] Batch ID = 10230, loss = 0.0597336, acc = 0.96\n", "[Train] Batch ID = 10240, loss = 0.264345, acc = 0.7\n", "[Validation] Batch ID = 10240, loss = 0.0771023, acc = 0.92\n", "[Train] Batch ID = 10250, loss = 0.0275423, acc = 1.0\n", "[Validation] Batch ID = 10250, loss = 0.0515376, acc = 0.98\n", "[Train] Batch ID = 10260, loss = 0.250938, acc = 0.8\n", "[Validation] Batch ID = 10260, loss = 0.0622089, acc = 1.0\n", "[Train] Batch ID = 10270, loss = 0.0225018, acc = 1.0\n", "[Validation] Batch ID = 10270, loss = 0.0682326, acc = 0.96\n", "[Train] Batch ID = 10280, loss = 0.0183854, acc = 1.0\n", "[Validation] Batch ID = 10280, loss = 0.0475966, acc = 0.96\n", "[Train] Batch ID = 10290, loss = 0.25077, acc = 0.66\n", "[Validation] Batch ID = 10290, loss = 0.0811074, acc = 0.94\n", "[Train] Batch ID = 10300, loss = 0.0211376, acc = 1.0\n", "[Validation] Batch ID = 10300, loss = 0.0508417, acc = 0.98\n", "[Train] Batch ID = 10310, loss = 0.0237568, acc = 1.0\n", "[Validation] Batch ID = 10310, loss = 0.0620255, acc = 0.98\n", "[Train] Batch ID = 10320, loss = 0.0204075, acc = 1.0\n", "[Validation] Batch ID = 10320, loss = 0.0409982, acc = 1.0\n", "[Train] Batch ID = 10330, loss = 0.0177919, acc = 1.0\n", "[Validation] Batch ID = 10330, loss = 0.0908218, acc = 0.96\n", "[Train] Batch ID = 10340, loss = 0.0187041, acc = 1.0\n", "[Validation] Batch ID = 10340, loss = 0.0476373, acc = 0.98\n", "[Train] Batch ID = 10350, loss = 0.0421181, acc = 1.0\n", "[Validation] Batch ID = 10350, loss = 0.0492765, acc = 0.96\n", "[Train] Batch ID = 10360, loss = 0.0227811, acc = 1.0\n", "[Validation] Batch ID = 10360, loss = 0.0658845, acc = 0.96\n", "[Train] Batch ID = 10370, loss = 0.0215271, acc = 1.0\n", "[Validation] Batch ID = 10370, loss = 0.0639914, acc = 0.96\n", "[Train] Batch ID = 10380, loss = 0.236647, acc = 0.68\n", "[Validation] Batch ID = 10380, loss = 0.0652875, acc = 0.96\n", "[Train] Batch ID = 10390, loss = 0.0212388, acc = 1.0\n", "[Validation] Batch ID = 10390, loss = 0.0384328, acc = 1.0\n", "[Train] Batch ID = 10400, loss = 0.0267373, acc = 1.0\n", "[Validation] Batch ID = 10400, loss = 0.0580035, acc = 0.96\n", "[Train] Batch ID = 10410, loss = 0.0239185, acc = 1.0\n", "[Validation] Batch ID = 10410, loss = 0.0695637, acc = 0.94\n", "[Train] Batch ID = 10420, loss = 0.0263768, acc = 1.0\n", "[Validation] Batch ID = 10420, loss = 0.0573777, acc = 0.98\n", "[Train] Batch ID = 10430, loss = 0.0202292, acc = 1.0\n", "[Validation] Batch ID = 10430, loss = 0.0647551, acc = 0.98\n", "[Train] Batch ID = 10440, loss = 0.231119, acc = 0.84\n", "[Validation] Batch ID = 10440, loss = 0.0587589, acc = 0.94\n", "[Train] Batch ID = 10450, loss = 0.211117, acc = 0.82\n", "[Validation] Batch ID = 10450, loss = 0.0602316, acc = 0.96\n", "[Train] Batch ID = 10460, loss = 0.0365114, acc = 0.98\n", "[Validation] Batch ID = 10460, loss = 0.0701552, acc = 0.96\n", "[Train] Batch ID = 10470, loss = 0.0223803, acc = 1.0\n", "[Validation] Batch ID = 10470, loss = 0.0578071, acc = 0.96\n", "[Train] Batch ID = 10480, loss = 0.0185824, acc = 1.0\n", "[Validation] Batch ID = 10480, loss = 0.0366971, acc = 1.0\n", "[Train] Batch ID = 10490, loss = 0.0293785, acc = 1.0\n", "[Validation] Batch ID = 10490, loss = 0.0759896, acc = 0.96\n", "[Train] Batch ID = 10500, loss = 0.0228463, acc = 1.0\n", "[Validation] Batch ID = 10500, loss = 0.0360058, acc = 0.98\n", "[Train] Batch ID = 10510, loss = 0.0202342, acc = 1.0\n", "[Validation] Batch ID = 10510, loss = 0.0535699, acc = 0.98\n", "[Train] Batch ID = 10520, loss = 0.241087, acc = 0.8\n", "[Validation] Batch ID = 10520, loss = 0.0696521, acc = 0.94\n", "[Train] Batch ID = 10530, loss = 0.0207031, acc = 1.0\n", "[Validation] Batch ID = 10530, loss = 0.0942779, acc = 0.92\n", "[Train] Batch ID = 10540, loss = 0.239436, acc = 0.7\n", "[Validation] Batch ID = 10540, loss = 0.0320139, acc = 1.0\n", "[Train] Batch ID = 10550, loss = 0.0280003, acc = 1.0\n", "[Validation] Batch ID = 10550, loss = 0.0531046, acc = 0.96\n", "[Train] Batch ID = 10560, loss = 0.0255739, acc = 1.0\n", "[Validation] Batch ID = 10560, loss = 0.0985358, acc = 0.9\n", "[Train] Batch ID = 10570, loss = 0.0332375, acc = 1.0\n", "[Validation] Batch ID = 10570, loss = 0.0499371, acc = 1.0\n", "[Train] Batch ID = 10580, loss = 0.262228, acc = 0.74\n", "[Validation] Batch ID = 10580, loss = 0.0497987, acc = 0.98\n", "[Train] Batch ID = 10590, loss = 0.0305478, acc = 1.0\n", "[Validation] Batch ID = 10590, loss = 0.0663325, acc = 0.9\n", "[Train] Batch ID = 10600, loss = 0.030163, acc = 1.0\n", "[Validation] Batch ID = 10600, loss = 0.0508735, acc = 1.0\n", "[Train] Batch ID = 10610, loss = 0.24278, acc = 0.74\n", "[Validation] Batch ID = 10610, loss = 0.0471718, acc = 0.98\n", "[Train] Batch ID = 10620, loss = 0.0338154, acc = 1.0\n", "[Validation] Batch ID = 10620, loss = 0.0667417, acc = 0.94\n", "[Train] Batch ID = 10630, loss = 0.02298, acc = 1.0\n", "[Validation] Batch ID = 10630, loss = 0.0605788, acc = 0.96\n", "[Train] Batch ID = 10640, loss = 0.23921, acc = 0.76\n", "[Validation] Batch ID = 10640, loss = 0.0475721, acc = 0.98\n", "[Train] Batch ID = 10650, loss = 0.228578, acc = 0.78\n", "[Validation] Batch ID = 10650, loss = 0.0768908, acc = 0.94\n", "[Train] Batch ID = 10660, loss = 0.266876, acc = 0.76\n", "[Validation] Batch ID = 10660, loss = 0.0463165, acc = 1.0\n", "[Train] Batch ID = 10670, loss = 0.0222616, acc = 1.0\n", "[Validation] Batch ID = 10670, loss = 0.0809626, acc = 0.96\n", "[Train] Batch ID = 10680, loss = 0.268812, acc = 0.66\n", "[Validation] Batch ID = 10680, loss = 0.0948099, acc = 0.94\n", "[Train] Batch ID = 10690, loss = 0.0326004, acc = 1.0\n", "[Validation] Batch ID = 10690, loss = 0.0961061, acc = 0.94\n", "[Train] Batch ID = 10700, loss = 0.206323, acc = 0.82\n", "[Validation] Batch ID = 10700, loss = 0.0666905, acc = 0.98\n", "[Train] Batch ID = 10710, loss = 0.0433316, acc = 0.98\n", "[Validation] Batch ID = 10710, loss = 0.0655883, acc = 0.96\n", "[Train] Batch ID = 10720, loss = 0.0220687, acc = 1.0\n", "[Validation] Batch ID = 10720, loss = 0.0553731, acc = 0.98\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "[Train] Batch ID = 10730, loss = 0.028526, acc = 1.0\n", "[Validation] Batch ID = 10730, loss = 0.0439219, acc = 0.98\n", "[Train] Batch ID = 10740, loss = 0.0231754, acc = 1.0\n", "[Validation] Batch ID = 10740, loss = 0.0821082, acc = 0.94\n", "[Train] Batch ID = 10750, loss = 0.0290804, acc = 1.0\n", "[Validation] Batch ID = 10750, loss = 0.0532277, acc = 0.96\n", "[Train] Batch ID = 10760, loss = 0.0244261, acc = 1.0\n", "[Validation] Batch ID = 10760, loss = 0.0606453, acc = 0.98\n", "[Train] Batch ID = 10770, loss = 0.0230861, acc = 1.0\n", "[Validation] Batch ID = 10770, loss = 0.0691229, acc = 0.96\n", "[Train] Batch ID = 10780, loss = 0.0267517, acc = 1.0\n", "[Validation] Batch ID = 10780, loss = 0.0531272, acc = 0.98\n", "[Train] Batch ID = 10790, loss = 0.276305, acc = 0.7\n", "[Validation] Batch ID = 10790, loss = 0.0818927, acc = 0.94\n", "[Train] Batch ID = 10800, loss = 0.0255802, acc = 1.0\n", "[Validation] Batch ID = 10800, loss = 0.0461357, acc = 1.0\n", "[Train] Batch ID = 10810, loss = 0.277776, acc = 0.66\n", "[Validation] Batch ID = 10810, loss = 0.0396541, acc = 1.0\n", "[Train] Batch ID = 10820, loss = 0.0253764, acc = 1.0\n", "[Validation] Batch ID = 10820, loss = 0.0725836, acc = 0.96\n", "[Train] Batch ID = 10830, loss = 0.0273572, acc = 1.0\n", "[Validation] Batch ID = 10830, loss = 0.0584495, acc = 0.94\n", "[Train] Batch ID = 10840, loss = 0.0392492, acc = 0.98\n", "[Validation] Batch ID = 10840, loss = 0.0794945, acc = 0.92\n", "[Train] Batch ID = 10850, loss = 0.238792, acc = 0.78\n", "[Validation] Batch ID = 10850, loss = 0.0578238, acc = 0.98\n", "[Train] Batch ID = 10860, loss = 0.265717, acc = 0.7\n", "[Validation] Batch ID = 10860, loss = 0.0693805, acc = 0.96\n", "[Train] Batch ID = 10870, loss = 0.276501, acc = 0.74\n", "[Validation] Batch ID = 10870, loss = 0.0530867, acc = 0.98\n", "[Train] Batch ID = 10880, loss = 0.0315018, acc = 1.0\n", "[Validation] Batch ID = 10880, loss = 0.0463138, acc = 0.98\n", "[Train] Batch ID = 10890, loss = 0.0326479, acc = 1.0\n", "[Validation] Batch ID = 10890, loss = 0.0606482, acc = 0.96\n", "[Train] Batch ID = 10900, loss = 0.26162, acc = 0.8\n", "[Validation] Batch ID = 10900, loss = 0.0488446, acc = 0.96\n", "[Train] Batch ID = 10910, loss = 0.0307617, acc = 1.0\n", "[Validation] Batch ID = 10910, loss = 0.0547645, acc = 0.98\n", "[Train] Batch ID = 10920, loss = 0.247803, acc = 0.82\n", "[Validation] Batch ID = 10920, loss = 0.0725425, acc = 0.94\n", "[Train] Batch ID = 10930, loss = 0.0194928, acc = 1.0\n", "[Validation] Batch ID = 10930, loss = 0.0892456, acc = 0.9\n", "[Train] Batch ID = 10940, loss = 0.0240848, acc = 1.0\n", "[Validation] Batch ID = 10940, loss = 0.0423664, acc = 0.98\n", "[Train] Batch ID = 10950, loss = 0.026734, acc = 1.0\n", "[Validation] Batch ID = 10950, loss = 0.0483184, acc = 0.98\n", "[Train] Batch ID = 10960, loss = 0.0158559, acc = 1.0\n", "[Validation] Batch ID = 10960, loss = 0.0472608, acc = 1.0\n", "[Train] Batch ID = 10970, loss = 0.205094, acc = 0.82\n", "[Validation] Batch ID = 10970, loss = 0.0575934, acc = 0.98\n", "[Train] Batch ID = 10980, loss = 0.264071, acc = 0.76\n", "[Validation] Batch ID = 10980, loss = 0.043741, acc = 0.98\n", "[Train] Batch ID = 10990, loss = 0.231684, acc = 0.8\n", "[Validation] Batch ID = 10990, loss = 0.0772302, acc = 0.96\n", "[Train] Batch ID = 11000, loss = 0.0215243, acc = 1.0\n", "[Validation] Batch ID = 11000, loss = 0.062636, acc = 0.98\n", "Evaluate full validation dataset ...\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "ModelBase::Saving model ...\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Current loss: 0.0642379 Best loss: 0.0658573\n", "[TOTAL Validation] Batch ID = 11000, loss = 0.0642379, acc = 0.962358276644\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "ModelBase::Model successfully saved here: outputs/checkpoints/c1s_9_c1n_256_c2s_6_c2n_64_c2d_0.7_c1vl_16_c1s_5_c1nf_16_c2vl_32_lr_0.0001_rs_1--TrafficSign--1510487290.423481\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Augmented Factor = 0.27960524111619006\n", "[Train] Batch ID = 11010, loss = 0.0267694, acc = 1.0\n", "[Validation] Batch ID = 11010, loss = 0.0556503, acc = 1.0\n", "[Train] Batch ID = 11020, loss = 0.0217711, acc = 1.0\n", "[Validation] Batch ID = 11020, loss = 0.0690887, acc = 0.96\n", "[Train] Batch ID = 11030, loss = 0.0254033, acc = 1.0\n", "[Validation] Batch ID = 11030, loss = 0.0602076, acc = 0.98\n", "[Train] Batch ID = 11040, loss = 0.0288611, acc = 1.0\n", "[Validation] Batch ID = 11040, loss = 0.0623529, acc = 0.94\n", "[Train] Batch ID = 11050, loss = 0.0169745, acc = 1.0\n", "[Validation] Batch ID = 11050, loss = 0.0533513, acc = 0.98\n", "[Train] Batch ID = 11060, loss = 0.0206985, acc = 1.0\n", "[Validation] Batch ID = 11060, loss = 0.103609, acc = 0.88\n", "[Train] Batch ID = 11070, loss = 0.247159, acc = 0.7\n", "[Validation] Batch ID = 11070, loss = 0.0802765, acc = 0.94\n", "[Train] Batch ID = 11080, loss = 0.0180518, acc = 1.0\n", "[Validation] Batch ID = 11080, loss = 0.0401566, acc = 1.0\n", "[Train] Batch ID = 11090, loss = 0.0208967, acc = 1.0\n", "[Validation] Batch ID = 11090, loss = 0.0481562, acc = 1.0\n", "[Train] Batch ID = 11100, loss = 0.0282308, acc = 1.0\n", "[Validation] Batch ID = 11100, loss = 0.066747, acc = 0.96\n", "[Train] Batch ID = 11110, loss = 0.0142134, acc = 1.0\n", "[Validation] Batch ID = 11110, loss = 0.060303, acc = 0.98\n", "[Train] Batch ID = 11120, loss = 0.0330066, acc = 1.0\n", "[Validation] Batch ID = 11120, loss = 0.0512098, acc = 0.98\n", "[Train] Batch ID = 11130, loss = 0.221467, acc = 0.76\n", "[Validation] Batch ID = 11130, loss = 0.0534645, acc = 0.94\n", "[Train] Batch ID = 11140, loss = 0.0206463, acc = 1.0\n", "[Validation] Batch ID = 11140, loss = 0.0546583, acc = 0.96\n", "[Train] Batch ID = 11150, loss = 0.0224343, acc = 1.0\n", "[Validation] Batch ID = 11150, loss = 0.0424858, acc = 0.98\n", "[Train] Batch ID = 11160, loss = 0.0182185, acc = 1.0\n", "[Validation] Batch ID = 11160, loss = 0.0769991, acc = 0.94\n", "[Train] Batch ID = 11170, loss = 0.0209055, acc = 1.0\n", "[Validation] Batch ID = 11170, loss = 0.0540576, acc = 0.98\n", "[Train] Batch ID = 11180, loss = 0.21547, acc = 0.8\n", "[Validation] Batch ID = 11180, loss = 0.0622383, acc = 0.96\n", "[Train] Batch ID = 11190, loss = 0.279556, acc = 0.68\n", "[Validation] Batch ID = 11190, loss = 0.0611318, acc = 1.0\n", "[Train] Batch ID = 11200, loss = 0.264039, acc = 0.7\n", "[Validation] Batch ID = 11200, loss = 0.0421947, acc = 0.96\n", "[Train] Batch ID = 11210, loss = 0.227376, acc = 0.76\n", "[Validation] Batch ID = 11210, loss = 0.0707872, acc = 0.94\n", "[Train] Batch ID = 11220, loss = 0.0266948, acc = 1.0\n", "[Validation] Batch ID = 11220, loss = 0.0633356, acc = 0.96\n", "[Train] Batch ID = 11230, loss = 0.0189968, acc = 1.0\n", "[Validation] Batch ID = 11230, loss = 0.0372418, acc = 1.0\n", "[Train] Batch ID = 11240, loss = 0.208902, acc = 0.82\n", "[Validation] Batch ID = 11240, loss = 0.0542227, acc = 0.94\n", "[Train] Batch ID = 11250, loss = 0.279762, acc = 0.72\n", "[Validation] Batch ID = 11250, loss = 0.0724756, acc = 0.98\n", "[Train] Batch ID = 11260, loss = 0.0232968, acc = 1.0\n", "[Validation] Batch ID = 11260, loss = 0.0469706, acc = 0.98\n", "[Train] Batch ID = 11270, loss = 0.0245158, acc = 0.98\n", "[Validation] Batch ID = 11270, loss = 0.0559607, acc = 0.98\n", "[Train] Batch ID = 11280, loss = 0.022519, acc = 1.0\n", "[Validation] Batch ID = 11280, loss = 0.0612133, acc = 0.94\n", "[Train] Batch ID = 11290, loss = 0.0184895, acc = 1.0\n", "[Validation] Batch ID = 11290, loss = 0.0725897, acc = 0.96\n", "[Train] Batch ID = 11300, loss = 0.0263891, acc = 1.0\n", "[Validation] Batch ID = 11300, loss = 0.0770264, acc = 0.94\n", "[Train] Batch ID = 11310, loss = 0.248416, acc = 0.82\n", "[Validation] Batch ID = 11310, loss = 0.0448853, acc = 0.98\n", "[Train] Batch ID = 11320, loss = 0.0203326, acc = 1.0\n", "[Validation] Batch ID = 11320, loss = 0.0716016, acc = 0.96\n", "[Train] Batch ID = 11330, loss = 0.0204678, acc = 1.0\n", "[Validation] Batch ID = 11330, loss = 0.0672783, acc = 0.96\n", "[Train] Batch ID = 11340, loss = 0.0230403, acc = 1.0\n", "[Validation] Batch ID = 11340, loss = 0.0605401, acc = 0.96\n", "[Train] Batch ID = 11350, loss = 0.0168155, acc = 1.0\n", "[Validation] Batch ID = 11350, loss = 0.0570144, acc = 0.98\n", "[Train] Batch ID = 11360, loss = 0.0168029, acc = 1.0\n", "[Validation] Batch ID = 11360, loss = 0.0485947, acc = 0.98\n", "[Train] Batch ID = 11370, loss = 0.0214255, acc = 1.0\n", "[Validation] Batch ID = 11370, loss = 0.0300471, acc = 1.0\n", "[Train] Batch ID = 11380, loss = 0.019337, acc = 1.0\n", "[Validation] Batch ID = 11380, loss = 0.0332955, acc = 0.98\n", "[Train] Batch ID = 11390, loss = 0.0186135, acc = 1.0\n", "[Validation] Batch ID = 11390, loss = 0.0336652, acc = 1.0\n", "[Train] Batch ID = 11400, loss = 0.0222454, acc = 1.0\n", "[Validation] Batch ID = 11400, loss = 0.047642, acc = 0.96\n", "[Train] Batch ID = 11410, loss = 0.240664, acc = 0.78\n", "[Validation] Batch ID = 11410, loss = 0.044068, acc = 1.0\n", "[Train] Batch ID = 11420, loss = 0.024854, acc = 1.0\n", "[Validation] Batch ID = 11420, loss = 0.0512275, acc = 0.96\n", "[Train] Batch ID = 11430, loss = 0.02464, acc = 1.0\n", "[Validation] Batch ID = 11430, loss = 0.0536726, acc = 1.0\n", "[Train] Batch ID = 11440, loss = 0.304124, acc = 0.64\n", "[Validation] Batch ID = 11440, loss = 0.0910591, acc = 0.94\n", "[Train] Batch ID = 11450, loss = 0.0298229, acc = 1.0\n", "[Validation] Batch ID = 11450, loss = 0.0713518, acc = 0.96\n", "[Train] Batch ID = 11460, loss = 0.0169659, acc = 1.0\n", "[Validation] Batch ID = 11460, loss = 0.0532484, acc = 0.96\n", "[Train] Batch ID = 11470, loss = 0.0264341, acc = 1.0\n", "[Validation] Batch ID = 11470, loss = 0.059095, acc = 0.96\n", "[Train] Batch ID = 11480, loss = 0.0269898, acc = 1.0\n", "[Validation] Batch ID = 11480, loss = 0.0397406, acc = 1.0\n", "[Train] Batch ID = 11490, loss = 0.263662, acc = 0.8\n", "[Validation] Batch ID = 11490, loss = 0.0367855, acc = 1.0\n", "[Train] Batch ID = 11500, loss = 0.0221311, acc = 1.0\n", "[Validation] Batch ID = 11500, loss = 0.0511719, acc = 0.96\n", "[Train] Batch ID = 11510, loss = 0.0260992, acc = 1.0\n", "[Validation] Batch ID = 11510, loss = 0.0683123, acc = 0.94\n", "[Train] Batch ID = 11520, loss = 0.156699, acc = 0.86\n", "[Validation] Batch ID = 11520, loss = 0.0327754, acc = 1.0\n", "[Train] Batch ID = 11530, loss = 0.0276286, acc = 1.0\n", "[Validation] Batch ID = 11530, loss = 0.0554999, acc = 0.98\n", "[Train] Batch ID = 11540, loss = 0.0279818, acc = 0.98\n", "[Validation] Batch ID = 11540, loss = 0.0558727, acc = 0.96\n", "[Train] Batch ID = 11550, loss = 0.0203168, acc = 1.0\n", "[Validation] Batch ID = 11550, loss = 0.0595857, acc = 0.98\n", "[Train] Batch ID = 11560, loss = 0.243685, acc = 0.72\n", "[Validation] Batch ID = 11560, loss = 0.0776727, acc = 0.96\n", "[Train] Batch ID = 11570, loss = 0.0195478, acc = 1.0\n", "[Validation] Batch ID = 11570, loss = 0.059287, acc = 1.0\n", "[Train] Batch ID = 11580, loss = 0.0282897, acc = 1.0\n", "[Validation] Batch ID = 11580, loss = 0.0514211, acc = 0.98\n", "[Train] Batch ID = 11590, loss = 0.26324, acc = 0.74\n", "[Validation] Batch ID = 11590, loss = 0.051008, acc = 0.98\n", "[Train] Batch ID = 11600, loss = 0.1979, acc = 0.9\n", "[Validation] Batch ID = 11600, loss = 0.0488026, acc = 0.98\n", "[Train] Batch ID = 11610, loss = 0.0204028, acc = 1.0\n", "[Validation] Batch ID = 11610, loss = 0.0243663, acc = 1.0\n", "[Train] Batch ID = 11620, loss = 0.22677, acc = 0.8\n", "[Validation] Batch ID = 11620, loss = 0.0364276, acc = 1.0\n", "[Train] Batch ID = 11630, loss = 0.222716, acc = 0.8\n", "[Validation] Batch ID = 11630, loss = 0.0447018, acc = 0.96\n", "[Train] Batch ID = 11640, loss = 0.237172, acc = 0.8\n", "[Validation] Batch ID = 11640, loss = 0.0618803, acc = 0.94\n", "[Train] Batch ID = 11650, loss = 0.0205765, acc = 1.0\n", "[Validation] Batch ID = 11650, loss = 0.0464388, acc = 0.98\n", "[Train] Batch ID = 11660, loss = 0.0260963, acc = 1.0\n", "[Validation] Batch ID = 11660, loss = 0.0396439, acc = 1.0\n", "[Train] Batch ID = 11670, loss = 0.0228697, acc = 1.0\n", "[Validation] Batch ID = 11670, loss = 0.0584696, acc = 0.96\n", "[Train] Batch ID = 11680, loss = 0.0150385, acc = 1.0\n", "[Validation] Batch ID = 11680, loss = 0.0337174, acc = 1.0\n", "[Train] Batch ID = 11690, loss = 0.229641, acc = 0.8\n", "[Validation] Batch ID = 11690, loss = 0.0553332, acc = 0.98\n", "[Train] Batch ID = 11700, loss = 0.0213425, acc = 1.0\n", "[Validation] Batch ID = 11700, loss = 0.0855538, acc = 0.9\n", "[Train] Batch ID = 11710, loss = 0.025438, acc = 1.0\n", "[Validation] Batch ID = 11710, loss = 0.0836318, acc = 0.94\n", "[Train] Batch ID = 11720, loss = 0.0210915, acc = 1.0\n", "[Validation] Batch ID = 11720, loss = 0.040622, acc = 0.96\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "[Train] Batch ID = 11730, loss = 0.0208527, acc = 1.0\n", "[Validation] Batch ID = 11730, loss = 0.0755471, acc = 0.96\n", "[Train] Batch ID = 11740, loss = 0.0155891, acc = 1.0\n", "[Validation] Batch ID = 11740, loss = 0.0583596, acc = 0.98\n", "[Train] Batch ID = 11750, loss = 0.0262852, acc = 1.0\n", "[Validation] Batch ID = 11750, loss = 0.0363462, acc = 1.0\n", "[Train] Batch ID = 11760, loss = 0.0155518, acc = 1.0\n", "[Validation] Batch ID = 11760, loss = 0.0515345, acc = 0.96\n", "[Train] Batch ID = 11770, loss = 0.0151247, acc = 1.0\n", "[Validation] Batch ID = 11770, loss = 0.0697787, acc = 0.94\n", "[Train] Batch ID = 11780, loss = 0.260807, acc = 0.74\n", "[Validation] Batch ID = 11780, loss = 0.0446781, acc = 0.98\n", "[Train] Batch ID = 11790, loss = 0.0332718, acc = 1.0\n", "[Validation] Batch ID = 11790, loss = 0.0556415, acc = 0.98\n", "[Train] Batch ID = 11800, loss = 0.0186326, acc = 1.0\n", "[Validation] Batch ID = 11800, loss = 0.0702373, acc = 0.94\n", "[Train] Batch ID = 11810, loss = 0.0248306, acc = 1.0\n", "[Validation] Batch ID = 11810, loss = 0.0892354, acc = 0.92\n", "[Train] Batch ID = 11820, loss = 0.0121163, acc = 1.0\n", "[Validation] Batch ID = 11820, loss = 0.0395371, acc = 0.98\n", "[Train] Batch ID = 11830, loss = 0.0199083, acc = 1.0\n", "[Validation] Batch ID = 11830, loss = 0.0485425, acc = 0.98\n", "[Train] Batch ID = 11840, loss = 0.211462, acc = 0.8\n", "[Validation] Batch ID = 11840, loss = 0.0591463, acc = 0.96\n", "[Train] Batch ID = 11850, loss = 0.0233504, acc = 1.0\n", "[Validation] Batch ID = 11850, loss = 0.0383064, acc = 1.0\n", "[Train] Batch ID = 11860, loss = 0.0284902, acc = 1.0\n", "[Validation] Batch ID = 11860, loss = 0.0395091, acc = 0.98\n", "[Train] Batch ID = 11870, loss = 0.0270664, acc = 1.0\n", "[Validation] Batch ID = 11870, loss = 0.0797209, acc = 0.92\n", "[Train] Batch ID = 11880, loss = 0.0183816, acc = 1.0\n", "[Validation] Batch ID = 11880, loss = 0.057735, acc = 0.96\n", "[Train] Batch ID = 11890, loss = 0.0153038, acc = 1.0\n", "[Validation] Batch ID = 11890, loss = 0.0649975, acc = 0.96\n", "[Train] Batch ID = 11900, loss = 0.0239744, acc = 1.0\n", "[Validation] Batch ID = 11900, loss = 0.0714888, acc = 0.94\n", "[Train] Batch ID = 11910, loss = 0.208503, acc = 0.86\n", "[Validation] Batch ID = 11910, loss = 0.0766505, acc = 0.96\n", "[Train] Batch ID = 11920, loss = 0.0176045, acc = 1.0\n", "[Validation] Batch ID = 11920, loss = 0.0728248, acc = 0.94\n", "[Train] Batch ID = 11930, loss = 0.0152934, acc = 1.0\n", "[Validation] Batch ID = 11930, loss = 0.0674915, acc = 0.96\n", "[Train] Batch ID = 11940, loss = 0.021132, acc = 1.0\n", "[Validation] Batch ID = 11940, loss = 0.0491492, acc = 0.98\n", "[Train] Batch ID = 11950, loss = 0.0164855, acc = 1.0\n", "[Validation] Batch ID = 11950, loss = 0.0534265, acc = 0.98\n", "[Train] Batch ID = 11960, loss = 0.0180065, acc = 1.0\n", "[Validation] Batch ID = 11960, loss = 0.0387668, acc = 0.98\n", "[Train] Batch ID = 11970, loss = 0.0178865, acc = 1.0\n", "[Validation] Batch ID = 11970, loss = 0.0348324, acc = 1.0\n", "[Train] Batch ID = 11980, loss = 0.0172653, acc = 1.0\n", "[Validation] Batch ID = 11980, loss = 0.0583721, acc = 0.96\n", "[Train] Batch ID = 11990, loss = 0.215337, acc = 0.78\n", "[Validation] Batch ID = 11990, loss = 0.0599743, acc = 0.96\n", "[Train] Batch ID = 12000, loss = 0.0225344, acc = 1.0\n", "[Validation] Batch ID = 12000, loss = 0.0570171, acc = 0.94\n", "Evaluate full validation dataset ...\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "ModelBase::Saving model ...\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Current loss: 0.0569155 Best loss: 0.0642379\n", "[TOTAL Validation] Batch ID = 12000, loss = 0.0569155, acc = 0.965079365079\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "ModelBase::Model successfully saved here: outputs/checkpoints/c1s_9_c1n_256_c2s_6_c2n_64_c2d_0.7_c1vl_16_c1s_5_c1nf_16_c2vl_32_lr_0.0001_rs_1--TrafficSign--1510487290.423481\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Augmented Factor = 0.2516447170045711\n", "[Train] Batch ID = 12010, loss = 0.0175699, acc = 1.0\n", "[Validation] Batch ID = 12010, loss = 0.0805498, acc = 0.9\n", "[Train] Batch ID = 12020, loss = 0.0187703, acc = 1.0\n", "[Validation] Batch ID = 12020, loss = 0.0750015, acc = 0.94\n", "[Train] Batch ID = 12030, loss = 0.237082, acc = 0.74\n", "[Validation] Batch ID = 12030, loss = 0.0509484, acc = 0.98\n", "[Train] Batch ID = 12040, loss = 0.0222357, acc = 0.98\n", "[Validation] Batch ID = 12040, loss = 0.0532786, acc = 0.96\n", "[Train] Batch ID = 12050, loss = 0.0280928, acc = 1.0\n", "[Validation] Batch ID = 12050, loss = 0.0322465, acc = 1.0\n", "[Train] Batch ID = 12060, loss = 0.0143398, acc = 1.0\n", "[Validation] Batch ID = 12060, loss = 0.0668205, acc = 0.94\n", "[Train] Batch ID = 12070, loss = 0.272467, acc = 0.7\n", "[Validation] Batch ID = 12070, loss = 0.0475622, acc = 0.98\n", "[Train] Batch ID = 12080, loss = 0.0184628, acc = 1.0\n", "[Validation] Batch ID = 12080, loss = 0.0570092, acc = 1.0\n", "[Train] Batch ID = 12090, loss = 0.0127859, acc = 1.0\n", "[Validation] Batch ID = 12090, loss = 0.0804392, acc = 0.92\n", "[Train] Batch ID = 12100, loss = 0.18276, acc = 0.86\n", "[Validation] Batch ID = 12100, loss = 0.0356991, acc = 1.0\n", "[Train] Batch ID = 12110, loss = 0.277591, acc = 0.8\n", "[Validation] Batch ID = 12110, loss = 0.055326, acc = 0.96\n", "[Train] Batch ID = 12120, loss = 0.0205694, acc = 1.0\n", "[Validation] Batch ID = 12120, loss = 0.0441424, acc = 0.98\n", "[Train] Batch ID = 12130, loss = 0.0172047, acc = 1.0\n", "[Validation] Batch ID = 12130, loss = 0.04899, acc = 0.98\n", "[Train] Batch ID = 12140, loss = 0.0166822, acc = 1.0\n", "[Validation] Batch ID = 12140, loss = 0.0585138, acc = 0.98\n", "[Train] Batch ID = 12150, loss = 0.0259027, acc = 1.0\n", "[Validation] Batch ID = 12150, loss = 0.0286029, acc = 1.0\n", "[Train] Batch ID = 12160, loss = 0.0213891, acc = 1.0\n", "[Validation] Batch ID = 12160, loss = 0.0259512, acc = 1.0\n", "[Train] Batch ID = 12170, loss = 0.275487, acc = 0.68\n", "[Validation] Batch ID = 12170, loss = 0.0449011, acc = 1.0\n", "[Train] Batch ID = 12180, loss = 0.020905, acc = 1.0\n", "[Validation] Batch ID = 12180, loss = 0.0577991, acc = 0.96\n", "[Train] Batch ID = 12190, loss = 0.229737, acc = 0.8\n", "[Validation] Batch ID = 12190, loss = 0.0752094, acc = 0.92\n", "[Train] Batch ID = 12200, loss = 0.0151092, acc = 1.0\n", "[Validation] Batch ID = 12200, loss = 0.0530333, acc = 0.96\n", "[Train] Batch ID = 12210, loss = 0.0186947, acc = 1.0\n", "[Validation] Batch ID = 12210, loss = 0.0454375, acc = 0.98\n", "[Train] Batch ID = 12220, loss = 0.018811, acc = 1.0\n", "[Validation] Batch ID = 12220, loss = 0.0633392, acc = 0.98\n", "[Train] Batch ID = 12230, loss = 0.0143414, acc = 1.0\n", "[Validation] Batch ID = 12230, loss = 0.0604351, acc = 0.94\n", "[Train] Batch ID = 12240, loss = 0.0132596, acc = 1.0\n", "[Validation] Batch ID = 12240, loss = 0.065626, acc = 0.96\n", "[Train] Batch ID = 12250, loss = 0.017905, acc = 1.0\n", "[Validation] Batch ID = 12250, loss = 0.0401788, acc = 0.98\n", "[Train] Batch ID = 12260, loss = 0.0179461, acc = 1.0\n", "[Validation] Batch ID = 12260, loss = 0.0729683, acc = 0.94\n", "[Train] Batch ID = 12270, loss = 0.0241501, acc = 1.0\n", "[Validation] Batch ID = 12270, loss = 0.0314491, acc = 1.0\n", "[Train] Batch ID = 12280, loss = 0.0146913, acc = 1.0\n", "[Validation] Batch ID = 12280, loss = 0.0394414, acc = 1.0\n", "[Train] Batch ID = 12290, loss = 0.251798, acc = 0.74\n", "[Validation] Batch ID = 12290, loss = 0.0691592, acc = 0.94\n", "[Train] Batch ID = 12300, loss = 0.20632, acc = 0.84\n", "[Validation] Batch ID = 12300, loss = 0.0488044, acc = 0.98\n", "[Train] Batch ID = 12310, loss = 0.0212661, acc = 1.0\n", "[Validation] Batch ID = 12310, loss = 0.0451895, acc = 1.0\n", "[Train] Batch ID = 12320, loss = 0.013328, acc = 1.0\n", "[Validation] Batch ID = 12320, loss = 0.0474859, acc = 0.96\n", "[Train] Batch ID = 12330, loss = 0.0136651, acc = 1.0\n", "[Validation] Batch ID = 12330, loss = 0.0702339, acc = 0.96\n", "[Train] Batch ID = 12340, loss = 0.0207825, acc = 1.0\n", "[Validation] Batch ID = 12340, loss = 0.051839, acc = 0.98\n", "[Train] Batch ID = 12350, loss = 0.235806, acc = 0.78\n", "[Validation] Batch ID = 12350, loss = 0.0663938, acc = 0.94\n", "[Train] Batch ID = 12360, loss = 0.0137588, acc = 1.0\n", "[Validation] Batch ID = 12360, loss = 0.0503481, acc = 0.98\n", "[Train] Batch ID = 12370, loss = 0.0154034, acc = 1.0\n", "[Validation] Batch ID = 12370, loss = 0.0560214, acc = 1.0\n", "[Train] Batch ID = 12380, loss = 0.230688, acc = 0.78\n", "[Validation] Batch ID = 12380, loss = 0.0296935, acc = 1.0\n", "[Train] Batch ID = 12390, loss = 0.016916, acc = 1.0\n", "[Validation] Batch ID = 12390, loss = 0.0606704, acc = 0.96\n", "[Train] Batch ID = 12400, loss = 0.252902, acc = 0.68\n", "[Validation] Batch ID = 12400, loss = 0.0405749, acc = 0.96\n", "[Train] Batch ID = 12410, loss = 0.0149221, acc = 1.0\n", "[Validation] Batch ID = 12410, loss = 0.0558207, acc = 0.98\n", "[Train] Batch ID = 12420, loss = 0.02062, acc = 1.0\n", "[Validation] Batch ID = 12420, loss = 0.0549722, acc = 0.96\n", "[Train] Batch ID = 12430, loss = 0.0227042, acc = 1.0\n", "[Validation] Batch ID = 12430, loss = 0.033422, acc = 0.98\n", "[Train] Batch ID = 12440, loss = 0.237517, acc = 0.76\n", "[Validation] Batch ID = 12440, loss = 0.0466941, acc = 0.96\n", "[Train] Batch ID = 12450, loss = 0.251597, acc = 0.78\n", "[Validation] Batch ID = 12450, loss = 0.0341947, acc = 0.98\n", "[Train] Batch ID = 12460, loss = 0.0171734, acc = 1.0\n", "[Validation] Batch ID = 12460, loss = 0.0566749, acc = 0.96\n", "[Train] Batch ID = 12470, loss = 0.247218, acc = 0.74\n", "[Validation] Batch ID = 12470, loss = 0.057287, acc = 0.98\n", "[Train] Batch ID = 12480, loss = 0.0161513, acc = 1.0\n", "[Validation] Batch ID = 12480, loss = 0.0588566, acc = 0.94\n", "[Train] Batch ID = 12490, loss = 0.0166393, acc = 1.0\n", "[Validation] Batch ID = 12490, loss = 0.0538727, acc = 0.96\n", "[Train] Batch ID = 12500, loss = 0.0267865, acc = 1.0\n", "[Validation] Batch ID = 12500, loss = 0.0373445, acc = 0.98\n", "[Train] Batch ID = 12510, loss = 0.248985, acc = 0.74\n", "[Validation] Batch ID = 12510, loss = 0.0811959, acc = 0.94\n", "[Train] Batch ID = 12520, loss = 0.0314585, acc = 0.96\n", "[Validation] Batch ID = 12520, loss = 0.0268699, acc = 0.98\n", "[Train] Batch ID = 12530, loss = 0.02123, acc = 1.0\n", "[Validation] Batch ID = 12530, loss = 0.0582334, acc = 0.96\n", "[Train] Batch ID = 12540, loss = 0.0195878, acc = 1.0\n", "[Validation] Batch ID = 12540, loss = 0.0381922, acc = 0.98\n", "[Train] Batch ID = 12550, loss = 0.238293, acc = 0.74\n", "[Validation] Batch ID = 12550, loss = 0.0413543, acc = 0.98\n", "[Train] Batch ID = 12560, loss = 0.0141016, acc = 1.0\n", "[Validation] Batch ID = 12560, loss = 0.0573876, acc = 0.98\n", "[Train] Batch ID = 12570, loss = 0.0228829, acc = 1.0\n", "[Validation] Batch ID = 12570, loss = 0.0325435, acc = 0.98\n", "[Train] Batch ID = 12580, loss = 0.0326469, acc = 1.0\n", "[Validation] Batch ID = 12580, loss = 0.0349488, acc = 0.98\n", "[Train] Batch ID = 12590, loss = 0.0187995, acc = 1.0\n", "[Validation] Batch ID = 12590, loss = 0.0724595, acc = 0.98\n", "[Train] Batch ID = 12600, loss = 0.241252, acc = 0.86\n", "[Validation] Batch ID = 12600, loss = 0.031216, acc = 1.0\n", "[Train] Batch ID = 12610, loss = 0.0159245, acc = 1.0\n", "[Validation] Batch ID = 12610, loss = 0.0598384, acc = 0.96\n", "[Train] Batch ID = 12620, loss = 0.0166101, acc = 1.0\n", "[Validation] Batch ID = 12620, loss = 0.0435974, acc = 1.0\n", "[Train] Batch ID = 12630, loss = 0.0220705, acc = 1.0\n", "[Validation] Batch ID = 12630, loss = 0.0619918, acc = 0.94\n", "[Train] Batch ID = 12640, loss = 0.0209025, acc = 1.0\n", "[Validation] Batch ID = 12640, loss = 0.0505198, acc = 0.96\n", "[Train] Batch ID = 12650, loss = 0.233334, acc = 0.76\n", "[Validation] Batch ID = 12650, loss = 0.0463609, acc = 0.98\n", "[Train] Batch ID = 12660, loss = 0.0249046, acc = 1.0\n", "[Validation] Batch ID = 12660, loss = 0.0528342, acc = 0.96\n", "[Train] Batch ID = 12670, loss = 0.271484, acc = 0.68\n", "[Validation] Batch ID = 12670, loss = 0.0234601, acc = 1.0\n", "[Train] Batch ID = 12680, loss = 0.0153836, acc = 1.0\n", "[Validation] Batch ID = 12680, loss = 0.0680249, acc = 0.96\n", "[Train] Batch ID = 12690, loss = 0.021112, acc = 1.0\n", "[Validation] Batch ID = 12690, loss = 0.0615473, acc = 0.94\n", "[Train] Batch ID = 12700, loss = 0.228721, acc = 0.86\n", "[Validation] Batch ID = 12700, loss = 0.0463136, acc = 0.96\n", "[Train] Batch ID = 12710, loss = 0.265453, acc = 0.76\n", "[Validation] Batch ID = 12710, loss = 0.0561977, acc = 0.96\n", "[Train] Batch ID = 12720, loss = 0.0230482, acc = 1.0\n", "[Validation] Batch ID = 12720, loss = 0.0546143, acc = 1.0\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "[Train] Batch ID = 12730, loss = 0.0230284, acc = 1.0\n", "[Validation] Batch ID = 12730, loss = 0.0410447, acc = 0.98\n", "[Train] Batch ID = 12740, loss = 0.240681, acc = 0.74\n", "[Validation] Batch ID = 12740, loss = 0.0481054, acc = 0.98\n", "[Train] Batch ID = 12750, loss = 0.24796, acc = 0.78\n", "[Validation] Batch ID = 12750, loss = 0.0576588, acc = 0.96\n", "[Train] Batch ID = 12760, loss = 0.275701, acc = 0.68\n", "[Validation] Batch ID = 12760, loss = 0.0515709, acc = 0.96\n", "[Train] Batch ID = 12770, loss = 0.0223249, acc = 1.0\n", "[Validation] Batch ID = 12770, loss = 0.0472653, acc = 0.98\n", "[Train] Batch ID = 12780, loss = 0.285133, acc = 0.7\n", "[Validation] Batch ID = 12780, loss = 0.0662981, acc = 0.94\n", "[Train] Batch ID = 12790, loss = 0.192709, acc = 0.86\n", "[Validation] Batch ID = 12790, loss = 0.0702019, acc = 0.96\n", "[Train] Batch ID = 12800, loss = 0.0251002, acc = 1.0\n", "[Validation] Batch ID = 12800, loss = 0.0415289, acc = 0.98\n", "[Train] Batch ID = 12810, loss = 0.241417, acc = 0.72\n", "[Validation] Batch ID = 12810, loss = 0.0702363, acc = 0.96\n", "[Train] Batch ID = 12820, loss = 0.0165064, acc = 1.0\n", "[Validation] Batch ID = 12820, loss = 0.0481134, acc = 1.0\n", "[Train] Batch ID = 12830, loss = 0.282329, acc = 0.7\n", "[Validation] Batch ID = 12830, loss = 0.0701857, acc = 0.96\n", "[Train] Batch ID = 12840, loss = 0.0139216, acc = 1.0\n", "[Validation] Batch ID = 12840, loss = 0.0834343, acc = 0.92\n", "[Train] Batch ID = 12850, loss = 0.0179657, acc = 1.0\n", "[Validation] Batch ID = 12850, loss = 0.0437821, acc = 0.96\n", "[Train] Batch ID = 12860, loss = 0.0256352, acc = 1.0\n", "[Validation] Batch ID = 12860, loss = 0.0782957, acc = 0.9\n", "[Train] Batch ID = 12870, loss = 0.0199623, acc = 1.0\n", "[Validation] Batch ID = 12870, loss = 0.0621775, acc = 0.94\n", "[Train] Batch ID = 12880, loss = 0.0125086, acc = 1.0\n", "[Validation] Batch ID = 12880, loss = 0.0589617, acc = 0.96\n", "[Train] Batch ID = 12890, loss = 0.0175682, acc = 1.0\n", "[Validation] Batch ID = 12890, loss = 0.0675731, acc = 0.92\n", "[Train] Batch ID = 12900, loss = 0.0237742, acc = 1.0\n", "[Validation] Batch ID = 12900, loss = 0.0449194, acc = 0.96\n", "[Train] Batch ID = 12910, loss = 0.0175294, acc = 1.0\n", "[Validation] Batch ID = 12910, loss = 0.0533717, acc = 0.96\n", "[Train] Batch ID = 12920, loss = 0.0209649, acc = 1.0\n", "[Validation] Batch ID = 12920, loss = 0.0416077, acc = 1.0\n", "[Train] Batch ID = 12930, loss = 0.0152044, acc = 1.0\n", "[Validation] Batch ID = 12930, loss = 0.0572876, acc = 0.98\n", "[Train] Batch ID = 12940, loss = 0.022147, acc = 0.98\n", "[Validation] Batch ID = 12940, loss = 0.0417758, acc = 1.0\n", "[Train] Batch ID = 12950, loss = 0.0154079, acc = 1.0\n", "[Validation] Batch ID = 12950, loss = 0.0516375, acc = 0.96\n", "[Train] Batch ID = 12960, loss = 0.0182955, acc = 1.0\n", "[Validation] Batch ID = 12960, loss = 0.0656333, acc = 0.92\n", "[Train] Batch ID = 12970, loss = 0.0163364, acc = 1.0\n", "[Validation] Batch ID = 12970, loss = 0.0401941, acc = 0.98\n", "[Train] Batch ID = 12980, loss = 0.220062, acc = 0.8\n", "[Validation] Batch ID = 12980, loss = 0.033187, acc = 1.0\n", "[Train] Batch ID = 12990, loss = 0.244467, acc = 0.78\n", "[Validation] Batch ID = 12990, loss = 0.0490043, acc = 0.98\n", "[Train] Batch ID = 13000, loss = 0.0107988, acc = 1.0\n", "[Validation] Batch ID = 13000, loss = 0.0635478, acc = 0.98\n", "Evaluate full validation dataset ...\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "ModelBase::Saving model ...\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Current loss: 0.0540795 Best loss: 0.0569155\n", "[TOTAL Validation] Batch ID = 13000, loss = 0.0540795, acc = 0.966213151927\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "ModelBase::Model successfully saved here: outputs/checkpoints/c1s_9_c1n_256_c2s_6_c2n_64_c2d_0.7_c1vl_16_c1s_5_c1nf_16_c2vl_32_lr_0.0001_rs_1--TrafficSign--1510487290.423481\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Augmented Factor = 0.22648024530411398\n", "[Train] Batch ID = 13010, loss = 0.0217956, acc = 1.0\n", "[Validation] Batch ID = 13010, loss = 0.0555536, acc = 0.96\n", "[Train] Batch ID = 13020, loss = 0.0128282, acc = 1.0\n", "[Validation] Batch ID = 13020, loss = 0.060201, acc = 0.96\n", "[Train] Batch ID = 13030, loss = 0.0110627, acc = 1.0\n", "[Validation] Batch ID = 13030, loss = 0.0406832, acc = 0.94\n", "[Train] Batch ID = 13040, loss = 0.013509, acc = 1.0\n", "[Validation] Batch ID = 13040, loss = 0.0389228, acc = 0.98\n", "[Train] Batch ID = 13050, loss = 0.01269, acc = 1.0\n", "[Validation] Batch ID = 13050, loss = 0.069461, acc = 0.96\n", "[Train] Batch ID = 13060, loss = 0.0208766, acc = 1.0\n", "[Validation] Batch ID = 13060, loss = 0.0602078, acc = 0.94\n", "[Train] Batch ID = 13070, loss = 0.0181481, acc = 1.0\n", "[Validation] Batch ID = 13070, loss = 0.0515454, acc = 0.96\n", "[Train] Batch ID = 13080, loss = 0.245159, acc = 0.74\n", "[Validation] Batch ID = 13080, loss = 0.0463636, acc = 1.0\n", "[Train] Batch ID = 13090, loss = 0.021373, acc = 1.0\n", "[Validation] Batch ID = 13090, loss = 0.0791642, acc = 0.92\n", "[Train] Batch ID = 13100, loss = 0.256569, acc = 0.7\n", "[Validation] Batch ID = 13100, loss = 0.0419138, acc = 0.98\n", "[Train] Batch ID = 13110, loss = 0.244184, acc = 0.78\n", "[Validation] Batch ID = 13110, loss = 0.0339549, acc = 1.0\n", "[Train] Batch ID = 13120, loss = 0.0129958, acc = 1.0\n", "[Validation] Batch ID = 13120, loss = 0.0584424, acc = 0.98\n", "[Train] Batch ID = 13130, loss = 0.0185103, acc = 1.0\n", "[Validation] Batch ID = 13130, loss = 0.0761853, acc = 0.96\n", "[Train] Batch ID = 13140, loss = 0.0169928, acc = 1.0\n", "[Validation] Batch ID = 13140, loss = 0.0376334, acc = 0.98\n", "[Train] Batch ID = 13150, loss = 0.223224, acc = 0.78\n", "[Validation] Batch ID = 13150, loss = 0.0791546, acc = 0.9\n", "[Train] Batch ID = 13160, loss = 0.00994549, acc = 1.0\n", "[Validation] Batch ID = 13160, loss = 0.0492361, acc = 0.98\n", "[Train] Batch ID = 13170, loss = 0.0140954, acc = 1.0\n", "[Validation] Batch ID = 13170, loss = 0.0714803, acc = 0.92\n", "[Train] Batch ID = 13180, loss = 0.205359, acc = 0.94\n", "[Validation] Batch ID = 13180, loss = 0.0699719, acc = 0.96\n", "[Train] Batch ID = 13190, loss = 0.253633, acc = 0.72\n", "[Validation] Batch ID = 13190, loss = 0.0387252, acc = 0.98\n", "[Train] Batch ID = 13200, loss = 0.0197266, acc = 1.0\n", "[Validation] Batch ID = 13200, loss = 0.0349778, acc = 1.0\n", "[Train] Batch ID = 13210, loss = 0.0203485, acc = 1.0\n", "[Validation] Batch ID = 13210, loss = 0.0588877, acc = 0.98\n", "[Train] Batch ID = 13220, loss = 0.0187013, acc = 1.0\n", "[Validation] Batch ID = 13220, loss = 0.0285849, acc = 1.0\n", "[Train] Batch ID = 13230, loss = 0.0174957, acc = 1.0\n", "[Validation] Batch ID = 13230, loss = 0.0430944, acc = 0.98\n", "[Train] Batch ID = 13240, loss = 0.0122792, acc = 1.0\n", "[Validation] Batch ID = 13240, loss = 0.0546641, acc = 0.96\n", "[Train] Batch ID = 13250, loss = 0.0116748, acc = 1.0\n", "[Validation] Batch ID = 13250, loss = 0.0496791, acc = 0.98\n", "[Train] Batch ID = 13260, loss = 0.242589, acc = 0.82\n", "[Validation] Batch ID = 13260, loss = 0.0381083, acc = 1.0\n", "[Train] Batch ID = 13270, loss = 0.00838318, acc = 1.0\n", "[Validation] Batch ID = 13270, loss = 0.064811, acc = 0.98\n", "[Train] Batch ID = 13280, loss = 0.0263035, acc = 1.0\n", "[Validation] Batch ID = 13280, loss = 0.0658505, acc = 0.92\n", "[Train] Batch ID = 13290, loss = 0.0167579, acc = 1.0\n", "[Validation] Batch ID = 13290, loss = 0.0619174, acc = 0.96\n", "[Train] Batch ID = 13300, loss = 0.0229413, acc = 1.0\n", "[Validation] Batch ID = 13300, loss = 0.0395722, acc = 0.96\n", "[Train] Batch ID = 13310, loss = 0.221866, acc = 0.8\n", "[Validation] Batch ID = 13310, loss = 0.0789589, acc = 0.94\n", "[Train] Batch ID = 13320, loss = 0.255754, acc = 0.78\n", "[Validation] Batch ID = 13320, loss = 0.107457, acc = 0.9\n", "[Train] Batch ID = 13330, loss = 0.0242144, acc = 1.0\n", "[Validation] Batch ID = 13330, loss = 0.0270562, acc = 0.98\n", "[Train] Batch ID = 13340, loss = 0.0179694, acc = 1.0\n", "[Validation] Batch ID = 13340, loss = 0.0667641, acc = 0.94\n", "[Train] Batch ID = 13350, loss = 0.0141127, acc = 1.0\n", "[Validation] Batch ID = 13350, loss = 0.0497414, acc = 0.98\n", "[Train] Batch ID = 13360, loss = 0.0218103, acc = 1.0\n", "[Validation] Batch ID = 13360, loss = 0.0540661, acc = 0.98\n", "[Train] Batch ID = 13370, loss = 0.0196735, acc = 1.0\n", "[Validation] Batch ID = 13370, loss = 0.0462488, acc = 0.98\n", "[Train] Batch ID = 13380, loss = 0.0147022, acc = 1.0\n", "[Validation] Batch ID = 13380, loss = 0.0620971, acc = 0.94\n", "[Train] Batch ID = 13390, loss = 0.0183105, acc = 1.0\n", "[Validation] Batch ID = 13390, loss = 0.0443389, acc = 0.98\n", "[Train] Batch ID = 13400, loss = 0.165949, acc = 0.88\n", "[Validation] Batch ID = 13400, loss = 0.0499432, acc = 0.96\n", "[Train] Batch ID = 13410, loss = 0.0250492, acc = 1.0\n", "[Validation] Batch ID = 13410, loss = 0.069731, acc = 0.96\n", "[Train] Batch ID = 13420, loss = 0.0199806, acc = 1.0\n", "[Validation] Batch ID = 13420, loss = 0.0442849, acc = 1.0\n", "[Train] Batch ID = 13430, loss = 0.0229912, acc = 1.0\n", "[Validation] Batch ID = 13430, loss = 0.0526869, acc = 0.94\n", "[Train] Batch ID = 13440, loss = 0.014231, acc = 1.0\n", "[Validation] Batch ID = 13440, loss = 0.0503653, acc = 0.98\n", "[Train] Batch ID = 13450, loss = 0.0198954, acc = 1.0\n", "[Validation] Batch ID = 13450, loss = 0.0355697, acc = 1.0\n", "[Train] Batch ID = 13460, loss = 0.0125129, acc = 1.0\n", "[Validation] Batch ID = 13460, loss = 0.0369097, acc = 0.98\n", "[Train] Batch ID = 13470, loss = 0.0145162, acc = 1.0\n", "[Validation] Batch ID = 13470, loss = 0.0595161, acc = 0.96\n", "[Train] Batch ID = 13480, loss = 0.219522, acc = 0.82\n", "[Validation] Batch ID = 13480, loss = 0.0621883, acc = 0.96\n", "[Train] Batch ID = 13490, loss = 0.0214466, acc = 1.0\n", "[Validation] Batch ID = 13490, loss = 0.0463491, acc = 0.98\n", "[Train] Batch ID = 13500, loss = 0.011065, acc = 1.0\n", "[Validation] Batch ID = 13500, loss = 0.0444813, acc = 0.98\n", "[Train] Batch ID = 13510, loss = 0.0229387, acc = 1.0\n", "[Validation] Batch ID = 13510, loss = 0.0577275, acc = 0.94\n", "[Train] Batch ID = 13520, loss = 0.235128, acc = 0.74\n", "[Validation] Batch ID = 13520, loss = 0.0576322, acc = 0.96\n", "[Train] Batch ID = 13530, loss = 0.00933447, acc = 1.0\n", "[Validation] Batch ID = 13530, loss = 0.0424697, acc = 1.0\n", "[Train] Batch ID = 13540, loss = 0.187531, acc = 0.78\n", "[Validation] Batch ID = 13540, loss = 0.0404698, acc = 0.98\n", "[Train] Batch ID = 13550, loss = 0.0186331, acc = 1.0\n", "[Validation] Batch ID = 13550, loss = 0.0595799, acc = 0.92\n", "[Train] Batch ID = 13560, loss = 0.0133592, acc = 1.0\n", "[Validation] Batch ID = 13560, loss = 0.053987, acc = 0.94\n", "[Train] Batch ID = 13570, loss = 0.0209069, acc = 0.98\n", "[Validation] Batch ID = 13570, loss = 0.0373226, acc = 1.0\n", "[Train] Batch ID = 13580, loss = 0.180876, acc = 0.88\n", "[Validation] Batch ID = 13580, loss = 0.0489699, acc = 0.96\n", "[Train] Batch ID = 13590, loss = 0.0185618, acc = 1.0\n", "[Validation] Batch ID = 13590, loss = 0.0325749, acc = 1.0\n", "[Train] Batch ID = 13600, loss = 0.0190196, acc = 1.0\n", "[Validation] Batch ID = 13600, loss = 0.0332634, acc = 1.0\n", "[Train] Batch ID = 13610, loss = 0.239987, acc = 0.8\n", "[Validation] Batch ID = 13610, loss = 0.0644114, acc = 0.94\n", "[Train] Batch ID = 13620, loss = 0.237697, acc = 0.8\n", "[Validation] Batch ID = 13620, loss = 0.0727512, acc = 0.96\n", "[Train] Batch ID = 13630, loss = 0.0226662, acc = 1.0\n", "[Validation] Batch ID = 13630, loss = 0.065892, acc = 0.96\n", "[Train] Batch ID = 13640, loss = 0.0124876, acc = 1.0\n", "[Validation] Batch ID = 13640, loss = 0.0890835, acc = 0.9\n", "[Train] Batch ID = 13650, loss = 0.0200429, acc = 1.0\n", "[Validation] Batch ID = 13650, loss = 0.0378764, acc = 0.96\n", "[Train] Batch ID = 13660, loss = 0.250392, acc = 0.68\n", "[Validation] Batch ID = 13660, loss = 0.048941, acc = 0.98\n", "[Train] Batch ID = 13670, loss = 0.0194942, acc = 1.0\n", "[Validation] Batch ID = 13670, loss = 0.0734322, acc = 0.96\n", "[Train] Batch ID = 13680, loss = 0.0200593, acc = 1.0\n", "[Validation] Batch ID = 13680, loss = 0.0511995, acc = 0.98\n", "[Train] Batch ID = 13690, loss = 0.0208543, acc = 1.0\n", "[Validation] Batch ID = 13690, loss = 0.0324438, acc = 1.0\n", "[Train] Batch ID = 13700, loss = 0.0160377, acc = 1.0\n", "[Validation] Batch ID = 13700, loss = 0.0402422, acc = 0.98\n", "[Train] Batch ID = 13710, loss = 0.0271988, acc = 1.0\n", "[Validation] Batch ID = 13710, loss = 0.031485, acc = 1.0\n", "[Train] Batch ID = 13720, loss = 0.0340653, acc = 1.0\n", "[Validation] Batch ID = 13720, loss = 0.0610131, acc = 0.96\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "[Train] Batch ID = 13730, loss = 0.0112979, acc = 1.0\n", "[Validation] Batch ID = 13730, loss = 0.0420173, acc = 0.98\n", "[Train] Batch ID = 13740, loss = 0.220664, acc = 0.82\n", "[Validation] Batch ID = 13740, loss = 0.0480506, acc = 0.98\n", "[Train] Batch ID = 13750, loss = 0.0179719, acc = 1.0\n", "[Validation] Batch ID = 13750, loss = 0.0470977, acc = 0.96\n", "[Train] Batch ID = 13760, loss = 0.0156603, acc = 1.0\n", "[Validation] Batch ID = 13760, loss = 0.0635835, acc = 0.94\n", "[Train] Batch ID = 13770, loss = 0.0110398, acc = 1.0\n", "[Validation] Batch ID = 13770, loss = 0.0256402, acc = 0.96\n", "[Train] Batch ID = 13780, loss = 0.0133317, acc = 1.0\n", "[Validation] Batch ID = 13780, loss = 0.0491741, acc = 0.98\n", "[Train] Batch ID = 13790, loss = 0.0178357, acc = 0.98\n", "[Validation] Batch ID = 13790, loss = 0.0774262, acc = 0.92\n", "[Train] Batch ID = 13800, loss = 0.0131886, acc = 1.0\n", "[Validation] Batch ID = 13800, loss = 0.0524007, acc = 0.94\n", "[Train] Batch ID = 13810, loss = 0.0207726, acc = 1.0\n", "[Validation] Batch ID = 13810, loss = 0.055231, acc = 0.96\n", "[Train] Batch ID = 13820, loss = 0.0184319, acc = 1.0\n", "[Validation] Batch ID = 13820, loss = 0.0658886, acc = 0.92\n", "[Train] Batch ID = 13830, loss = 0.0121448, acc = 1.0\n", "[Validation] Batch ID = 13830, loss = 0.0608737, acc = 0.94\n", "[Train] Batch ID = 13840, loss = 0.0176109, acc = 1.0\n", "[Validation] Batch ID = 13840, loss = 0.0342796, acc = 0.96\n", "[Train] Batch ID = 13850, loss = 0.0135915, acc = 1.0\n", "[Validation] Batch ID = 13850, loss = 0.0660631, acc = 0.94\n", "[Train] Batch ID = 13860, loss = 0.244507, acc = 0.8\n", "[Validation] Batch ID = 13860, loss = 0.0460863, acc = 0.98\n", "[Train] Batch ID = 13870, loss = 0.0121728, acc = 1.0\n", "[Validation] Batch ID = 13870, loss = 0.0749173, acc = 0.94\n", "[Train] Batch ID = 13880, loss = 0.231046, acc = 0.76\n", "[Validation] Batch ID = 13880, loss = 0.03055, acc = 1.0\n", "[Train] Batch ID = 13890, loss = 0.0161479, acc = 1.0\n", "[Validation] Batch ID = 13890, loss = 0.0521142, acc = 0.98\n", "[Train] Batch ID = 13900, loss = 0.0134029, acc = 1.0\n", "[Validation] Batch ID = 13900, loss = 0.0563484, acc = 0.94\n", "[Train] Batch ID = 13910, loss = 0.0129106, acc = 1.0\n", "[Validation] Batch ID = 13910, loss = 0.0309789, acc = 0.98\n", "[Train] Batch ID = 13920, loss = 0.0242851, acc = 1.0\n", "[Validation] Batch ID = 13920, loss = 0.0269284, acc = 1.0\n", "[Train] Batch ID = 13930, loss = 0.18367, acc = 0.96\n", "[Validation] Batch ID = 13930, loss = 0.0714316, acc = 0.94\n", "[Train] Batch ID = 13940, loss = 0.0116534, acc = 1.0\n", "[Validation] Batch ID = 13940, loss = 0.0739671, acc = 0.92\n", "[Train] Batch ID = 13950, loss = 0.247025, acc = 0.76\n", "[Validation] Batch ID = 13950, loss = 0.0429501, acc = 0.98\n", "[Train] Batch ID = 13960, loss = 0.0195282, acc = 1.0\n", "[Validation] Batch ID = 13960, loss = 0.0639656, acc = 0.96\n", "[Train] Batch ID = 13970, loss = 0.231796, acc = 0.74\n", "[Validation] Batch ID = 13970, loss = 0.061947, acc = 0.94\n", "[Train] Batch ID = 13980, loss = 0.0175333, acc = 1.0\n", "[Validation] Batch ID = 13980, loss = 0.0363198, acc = 1.0\n", "[Train] Batch ID = 13990, loss = 0.0146424, acc = 1.0\n", "[Validation] Batch ID = 13990, loss = 0.043886, acc = 0.98\n", "[Train] Batch ID = 14000, loss = 0.0214707, acc = 1.0\n", "[Validation] Batch ID = 14000, loss = 0.0592368, acc = 0.94\n", "Evaluate full validation dataset ...\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "ModelBase::Saving model ...\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Current loss: 0.0517805 Best loss: 0.0540795\n", "[TOTAL Validation] Batch ID = 14000, loss = 0.0517805, acc = 0.966213151927\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "ModelBase::Model successfully saved here: outputs/checkpoints/c1s_9_c1n_256_c2s_6_c2n_64_c2d_0.7_c1vl_16_c1s_5_c1nf_16_c2vl_32_lr_0.0001_rs_1--TrafficSign--1510487290.423481\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Augmented Factor = 0.20383222077370258\n", "[Train] Batch ID = 14010, loss = 0.203466, acc = 0.84\n", "[Validation] Batch ID = 14010, loss = 0.0562444, acc = 0.96\n", "[Train] Batch ID = 14020, loss = 0.0202147, acc = 1.0\n", "[Validation] Batch ID = 14020, loss = 0.0437304, acc = 0.98\n", "[Train] Batch ID = 14030, loss = 0.0118778, acc = 1.0\n", "[Validation] Batch ID = 14030, loss = 0.0473346, acc = 0.96\n", "[Train] Batch ID = 14040, loss = 0.221029, acc = 0.76\n", "[Validation] Batch ID = 14040, loss = 0.053237, acc = 0.98\n", "[Train] Batch ID = 14050, loss = 0.0165804, acc = 1.0\n", "[Validation] Batch ID = 14050, loss = 0.0455848, acc = 0.98\n", "[Train] Batch ID = 14060, loss = 0.0194048, acc = 1.0\n", "[Validation] Batch ID = 14060, loss = 0.0566186, acc = 0.96\n", "[Train] Batch ID = 14070, loss = 0.0190483, acc = 1.0\n", "[Validation] Batch ID = 14070, loss = 0.0368394, acc = 1.0\n", "[Train] Batch ID = 14080, loss = 0.225059, acc = 0.78\n", "[Validation] Batch ID = 14080, loss = 0.0259959, acc = 1.0\n", "[Train] Batch ID = 14090, loss = 0.0126204, acc = 1.0\n", "[Validation] Batch ID = 14090, loss = 0.0412608, acc = 1.0\n", "[Train] Batch ID = 14100, loss = 0.0180644, acc = 1.0\n", "[Validation] Batch ID = 14100, loss = 0.0540486, acc = 1.0\n", "[Train] Batch ID = 14110, loss = 0.0089155, acc = 1.0\n", "[Validation] Batch ID = 14110, loss = 0.0440098, acc = 0.98\n", "[Train] Batch ID = 14120, loss = 0.187564, acc = 0.92\n", "[Validation] Batch ID = 14120, loss = 0.0783404, acc = 0.92\n", "[Train] Batch ID = 14130, loss = 0.153832, acc = 0.92\n", "[Validation] Batch ID = 14130, loss = 0.0573817, acc = 0.94\n", "[Train] Batch ID = 14140, loss = 0.0216071, acc = 1.0\n", "[Validation] Batch ID = 14140, loss = 0.0310153, acc = 1.0\n", "[Train] Batch ID = 14150, loss = 0.0181738, acc = 0.98\n", "[Validation] Batch ID = 14150, loss = 0.0176965, acc = 1.0\n", "[Train] Batch ID = 14160, loss = 0.0141067, acc = 1.0\n", "[Validation] Batch ID = 14160, loss = 0.033951, acc = 0.98\n", "[Train] Batch ID = 14170, loss = 0.0196069, acc = 1.0\n", "[Validation] Batch ID = 14170, loss = 0.0599175, acc = 0.96\n", "[Train] Batch ID = 14180, loss = 0.0170713, acc = 0.98\n", "[Validation] Batch ID = 14180, loss = 0.0422436, acc = 0.96\n", "[Train] Batch ID = 14190, loss = 0.0171395, acc = 1.0\n", "[Validation] Batch ID = 14190, loss = 0.0484306, acc = 0.98\n", "[Train] Batch ID = 14200, loss = 0.015157, acc = 1.0\n", "[Validation] Batch ID = 14200, loss = 0.0388945, acc = 0.96\n", "[Train] Batch ID = 14210, loss = 0.0160967, acc = 1.0\n", "[Validation] Batch ID = 14210, loss = 0.0820909, acc = 0.94\n", "[Train] Batch ID = 14220, loss = 0.199017, acc = 0.86\n", "[Validation] Batch ID = 14220, loss = 0.0210557, acc = 1.0\n", "[Train] Batch ID = 14230, loss = 0.0116434, acc = 1.0\n", "[Validation] Batch ID = 14230, loss = 0.04394, acc = 0.98\n", "[Train] Batch ID = 14240, loss = 0.248596, acc = 0.82\n", "[Validation] Batch ID = 14240, loss = 0.0656162, acc = 0.98\n", "[Train] Batch ID = 14250, loss = 0.0135822, acc = 1.0\n", "[Validation] Batch ID = 14250, loss = 0.0276338, acc = 0.98\n", "[Train] Batch ID = 14260, loss = 0.0108429, acc = 1.0\n", "[Validation] Batch ID = 14260, loss = 0.0527308, acc = 0.96\n", "[Train] Batch ID = 14270, loss = 0.0164156, acc = 1.0\n", "[Validation] Batch ID = 14270, loss = 0.0209673, acc = 1.0\n", "[Train] Batch ID = 14280, loss = 0.0134638, acc = 1.0\n", "[Validation] Batch ID = 14280, loss = 0.0524857, acc = 0.96\n", "[Train] Batch ID = 14290, loss = 0.0157613, acc = 1.0\n", "[Validation] Batch ID = 14290, loss = 0.0617812, acc = 0.94\n", "[Train] Batch ID = 14300, loss = 0.0204554, acc = 1.0\n", "[Validation] Batch ID = 14300, loss = 0.0259335, acc = 1.0\n", "[Train] Batch ID = 14310, loss = 0.00918008, acc = 1.0\n", "[Validation] Batch ID = 14310, loss = 0.074198, acc = 0.96\n", "[Train] Batch ID = 14320, loss = 0.0226162, acc = 1.0\n", "[Validation] Batch ID = 14320, loss = 0.0550051, acc = 0.96\n", "[Train] Batch ID = 14330, loss = 0.0150857, acc = 1.0\n", "[Validation] Batch ID = 14330, loss = 0.0635429, acc = 0.92\n", "[Train] Batch ID = 14340, loss = 0.239866, acc = 0.82\n", "[Validation] Batch ID = 14340, loss = 0.0656054, acc = 0.94\n", "[Train] Batch ID = 14350, loss = 0.0144525, acc = 1.0\n", "[Validation] Batch ID = 14350, loss = 0.0420936, acc = 0.98\n", "[Train] Batch ID = 14360, loss = 0.0174445, acc = 1.0\n", "[Validation] Batch ID = 14360, loss = 0.0296047, acc = 1.0\n", "[Train] Batch ID = 14370, loss = 0.0103337, acc = 1.0\n", "[Validation] Batch ID = 14370, loss = 0.0316573, acc = 0.98\n", "[Train] Batch ID = 14380, loss = 0.0122254, acc = 1.0\n", "[Validation] Batch ID = 14380, loss = 0.0454262, acc = 0.98\n", "[Train] Batch ID = 14390, loss = 0.0112844, acc = 1.0\n", "[Validation] Batch ID = 14390, loss = 0.0527906, acc = 0.98\n", "[Train] Batch ID = 14400, loss = 0.0125567, acc = 1.0\n", "[Validation] Batch ID = 14400, loss = 0.0533561, acc = 0.96\n", "[Train] Batch ID = 14410, loss = 0.0193282, acc = 1.0\n", "[Validation] Batch ID = 14410, loss = 0.0638536, acc = 0.94\n", "[Train] Batch ID = 14420, loss = 0.0140374, acc = 1.0\n", "[Validation] Batch ID = 14420, loss = 0.0274256, acc = 0.98\n", "[Train] Batch ID = 14430, loss = 0.266533, acc = 0.76\n", "[Validation] Batch ID = 14430, loss = 0.0411989, acc = 0.96\n", "[Train] Batch ID = 14440, loss = 0.0134864, acc = 1.0\n", "[Validation] Batch ID = 14440, loss = 0.0208384, acc = 1.0\n", "[Train] Batch ID = 14450, loss = 0.0143936, acc = 1.0\n", "[Validation] Batch ID = 14450, loss = 0.0591412, acc = 0.94\n", "[Train] Batch ID = 14460, loss = 0.202675, acc = 0.88\n", "[Validation] Batch ID = 14460, loss = 0.0437313, acc = 0.96\n", "[Train] Batch ID = 14470, loss = 0.195715, acc = 0.88\n", "[Validation] Batch ID = 14470, loss = 0.0527227, acc = 0.98\n", "[Train] Batch ID = 14480, loss = 0.214039, acc = 0.82\n", "[Validation] Batch ID = 14480, loss = 0.0690891, acc = 0.94\n", "[Train] Batch ID = 14490, loss = 0.0140469, acc = 1.0\n", "[Validation] Batch ID = 14490, loss = 0.079239, acc = 0.92\n", "[Train] Batch ID = 14500, loss = 0.019497, acc = 1.0\n", "[Validation] Batch ID = 14500, loss = 0.0512354, acc = 0.98\n", "[Train] Batch ID = 14510, loss = 0.0138834, acc = 1.0\n", "[Validation] Batch ID = 14510, loss = 0.0635605, acc = 0.94\n", "[Train] Batch ID = 14520, loss = 0.244601, acc = 0.74\n", "[Validation] Batch ID = 14520, loss = 0.0361998, acc = 0.98\n", "[Train] Batch ID = 14530, loss = 0.0145111, acc = 1.0\n", "[Validation] Batch ID = 14530, loss = 0.0287625, acc = 0.96\n", "[Train] Batch ID = 14540, loss = 0.00783642, acc = 1.0\n", "[Validation] Batch ID = 14540, loss = 0.0579598, acc = 0.94\n", "[Train] Batch ID = 14550, loss = 0.0090403, acc = 1.0\n", "[Validation] Batch ID = 14550, loss = 0.0201208, acc = 1.0\n", "[Train] Batch ID = 14560, loss = 0.0157432, acc = 1.0\n", "[Validation] Batch ID = 14560, loss = 0.0612433, acc = 0.96\n", "[Train] Batch ID = 14570, loss = 0.00779548, acc = 1.0\n", "[Validation] Batch ID = 14570, loss = 0.0293981, acc = 0.98\n", "[Train] Batch ID = 14580, loss = 0.014183, acc = 1.0\n", "[Validation] Batch ID = 14580, loss = 0.0305216, acc = 0.98\n", "[Train] Batch ID = 14590, loss = 0.0107267, acc = 1.0\n", "[Validation] Batch ID = 14590, loss = 0.0578391, acc = 0.98\n", "[Train] Batch ID = 14600, loss = 0.0118599, acc = 1.0\n", "[Validation] Batch ID = 14600, loss = 0.0273645, acc = 1.0\n", "[Train] Batch ID = 14610, loss = 0.0144261, acc = 1.0\n", "[Validation] Batch ID = 14610, loss = 0.0620002, acc = 0.98\n", "[Train] Batch ID = 14620, loss = 0.0170586, acc = 1.0\n", "[Validation] Batch ID = 14620, loss = 0.0407411, acc = 0.96\n", "[Train] Batch ID = 14630, loss = 0.0153513, acc = 1.0\n", "[Validation] Batch ID = 14630, loss = 0.0421233, acc = 0.96\n", "[Train] Batch ID = 14640, loss = 0.219209, acc = 0.84\n", "[Validation] Batch ID = 14640, loss = 0.0438253, acc = 0.96\n", "[Train] Batch ID = 14650, loss = 0.0138177, acc = 1.0\n", "[Validation] Batch ID = 14650, loss = 0.0685225, acc = 0.96\n", "[Train] Batch ID = 14660, loss = 0.00639381, acc = 1.0\n", "[Validation] Batch ID = 14660, loss = 0.0470836, acc = 0.96\n", "[Train] Batch ID = 14670, loss = 0.0147285, acc = 1.0\n", "[Validation] Batch ID = 14670, loss = 0.0286004, acc = 1.0\n", "[Train] Batch ID = 14680, loss = 0.0117134, acc = 1.0\n", "[Validation] Batch ID = 14680, loss = 0.0354125, acc = 1.0\n", "[Train] Batch ID = 14690, loss = 0.0126837, acc = 1.0\n", "[Validation] Batch ID = 14690, loss = 0.0451521, acc = 1.0\n", "[Train] Batch ID = 14700, loss = 0.0221791, acc = 1.0\n", "[Validation] Batch ID = 14700, loss = 0.0446644, acc = 0.96\n", "[Train] Batch ID = 14710, loss = 0.00831289, acc = 1.0\n", "[Validation] Batch ID = 14710, loss = 0.0512175, acc = 0.92\n", "[Train] Batch ID = 14720, loss = 0.0184709, acc = 1.0\n", "[Validation] Batch ID = 14720, loss = 0.034469, acc = 0.98\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "[Train] Batch ID = 14730, loss = 0.228537, acc = 0.84\n", "[Validation] Batch ID = 14730, loss = 0.0539398, acc = 0.96\n", "[Train] Batch ID = 14740, loss = 0.0124278, acc = 1.0\n", "[Validation] Batch ID = 14740, loss = 0.0494461, acc = 0.96\n", "[Train] Batch ID = 14750, loss = 0.266271, acc = 0.72\n", "[Validation] Batch ID = 14750, loss = 0.0475507, acc = 0.96\n", "[Train] Batch ID = 14760, loss = 0.0165065, acc = 1.0\n", "[Validation] Batch ID = 14760, loss = 0.0451781, acc = 0.96\n", "[Train] Batch ID = 14770, loss = 0.00855368, acc = 1.0\n", "[Validation] Batch ID = 14770, loss = 0.043562, acc = 0.98\n", "[Train] Batch ID = 14780, loss = 0.011566, acc = 1.0\n", "[Validation] Batch ID = 14780, loss = 0.0436674, acc = 1.0\n", "[Train] Batch ID = 14790, loss = 0.011488, acc = 1.0\n", "[Validation] Batch ID = 14790, loss = 0.0405886, acc = 0.98\n", "[Train] Batch ID = 14800, loss = 0.234057, acc = 0.74\n", "[Validation] Batch ID = 14800, loss = 0.0325993, acc = 1.0\n", "[Train] Batch ID = 14810, loss = 0.0104344, acc = 1.0\n", "[Validation] Batch ID = 14810, loss = 0.0442596, acc = 1.0\n", "[Train] Batch ID = 14820, loss = 0.0171571, acc = 1.0\n", "[Validation] Batch ID = 14820, loss = 0.0417559, acc = 0.96\n", "[Train] Batch ID = 14830, loss = 0.00779435, acc = 1.0\n", "[Validation] Batch ID = 14830, loss = 0.0331379, acc = 0.96\n", "[Train] Batch ID = 14840, loss = 0.00860059, acc = 1.0\n", "[Validation] Batch ID = 14840, loss = 0.0706909, acc = 0.88\n", "[Train] Batch ID = 14850, loss = 0.0104501, acc = 1.0\n", "[Validation] Batch ID = 14850, loss = 0.0296497, acc = 0.98\n", "[Train] Batch ID = 14860, loss = 0.260989, acc = 0.7\n", "[Validation] Batch ID = 14860, loss = 0.0541074, acc = 0.96\n", "[Train] Batch ID = 14870, loss = 0.0100119, acc = 1.0\n", "[Validation] Batch ID = 14870, loss = 0.0282313, acc = 1.0\n", "[Train] Batch ID = 14880, loss = 0.225192, acc = 0.76\n", "[Validation] Batch ID = 14880, loss = 0.0380161, acc = 0.98\n", "[Train] Batch ID = 14890, loss = 0.208854, acc = 0.8\n", "[Validation] Batch ID = 14890, loss = 0.0246938, acc = 1.0\n", "[Train] Batch ID = 14900, loss = 0.0226865, acc = 1.0\n", "[Validation] Batch ID = 14900, loss = 0.0450178, acc = 1.0\n", "[Train] Batch ID = 14910, loss = 0.0164565, acc = 1.0\n", "[Validation] Batch ID = 14910, loss = 0.0307414, acc = 1.0\n", "[Train] Batch ID = 14920, loss = 0.0121235, acc = 1.0\n", "[Validation] Batch ID = 14920, loss = 0.0331958, acc = 0.98\n", "[Train] Batch ID = 14930, loss = 0.0153693, acc = 1.0\n", "[Validation] Batch ID = 14930, loss = 0.0278498, acc = 0.98\n", "[Train] Batch ID = 14940, loss = 0.012833, acc = 1.0\n", "[Validation] Batch ID = 14940, loss = 0.0336789, acc = 1.0\n", "[Train] Batch ID = 14950, loss = 0.009922, acc = 1.0\n", "[Validation] Batch ID = 14950, loss = 0.0497969, acc = 0.98\n", "[Train] Batch ID = 14960, loss = 0.0106934, acc = 1.0\n", "[Validation] Batch ID = 14960, loss = 0.0361566, acc = 0.98\n", "[Train] Batch ID = 14970, loss = 0.00720681, acc = 1.0\n", "[Validation] Batch ID = 14970, loss = 0.0216081, acc = 1.0\n", "[Train] Batch ID = 14980, loss = 0.00770243, acc = 1.0\n", "[Validation] Batch ID = 14980, loss = 0.0746249, acc = 0.92\n", "[Train] Batch ID = 14990, loss = 0.00857291, acc = 1.0\n", "[Validation] Batch ID = 14990, loss = 0.0442599, acc = 0.98\n", "[Train] Batch ID = 15000, loss = 0.00988107, acc = 1.0\n", "[Validation] Batch ID = 15000, loss = 0.0346062, acc = 1.0\n", "Evaluate full validation dataset ...\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "ModelBase::Saving model ...\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Current loss: 0.0475598 Best loss: 0.0517805\n", "[TOTAL Validation] Batch ID = 15000, loss = 0.0475598, acc = 0.968480725624\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "ModelBase::Model successfully saved here: outputs/checkpoints/c1s_9_c1n_256_c2s_6_c2n_64_c2d_0.7_c1vl_16_c1s_5_c1nf_16_c2vl_32_lr_0.0001_rs_1--TrafficSign--1510487290.423481\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Augmented Factor = 0.18344899869633233\n", "[Train] Batch ID = 15010, loss = 0.0195009, acc = 1.0\n", "[Validation] Batch ID = 15010, loss = 0.0537054, acc = 0.94\n", "[Train] Batch ID = 15020, loss = 0.0139916, acc = 1.0\n", "[Validation] Batch ID = 15020, loss = 0.0433528, acc = 0.96\n", "[Train] Batch ID = 15030, loss = 0.244256, acc = 0.74\n", "[Validation] Batch ID = 15030, loss = 0.033646, acc = 0.98\n", "[Train] Batch ID = 15040, loss = 0.011397, acc = 1.0\n", "[Validation] Batch ID = 15040, loss = 0.0215763, acc = 1.0\n", "[Train] Batch ID = 15050, loss = 0.0203587, acc = 1.0\n", "[Validation] Batch ID = 15050, loss = 0.0387565, acc = 1.0\n", "[Train] Batch ID = 15060, loss = 0.0143561, acc = 1.0\n", "[Validation] Batch ID = 15060, loss = 0.0551605, acc = 0.98\n", "[Train] Batch ID = 15070, loss = 0.0114322, acc = 1.0\n", "[Validation] Batch ID = 15070, loss = 0.0438803, acc = 1.0\n", "[Train] Batch ID = 15080, loss = 0.0143031, acc = 1.0\n", "[Validation] Batch ID = 15080, loss = 0.0616548, acc = 0.96\n", "[Train] Batch ID = 15090, loss = 0.0183336, acc = 1.0\n", "[Validation] Batch ID = 15090, loss = 0.0383666, acc = 0.96\n", "[Train] Batch ID = 15100, loss = 0.00853729, acc = 1.0\n", "[Validation] Batch ID = 15100, loss = 0.0579503, acc = 0.96\n", "[Train] Batch ID = 15110, loss = 0.0187059, acc = 1.0\n", "[Validation] Batch ID = 15110, loss = 0.0431201, acc = 0.96\n", "[Train] Batch ID = 15120, loss = 0.0212592, acc = 1.0\n", "[Validation] Batch ID = 15120, loss = 0.0573835, acc = 0.96\n", "[Train] Batch ID = 15130, loss = 0.0112095, acc = 1.0\n", "[Validation] Batch ID = 15130, loss = 0.0416821, acc = 0.98\n", "[Train] Batch ID = 15140, loss = 0.0240188, acc = 0.98\n", "[Validation] Batch ID = 15140, loss = 0.0493539, acc = 0.94\n", "[Train] Batch ID = 15150, loss = 0.0112658, acc = 1.0\n", "[Validation] Batch ID = 15150, loss = 0.0565765, acc = 0.94\n", "[Train] Batch ID = 15160, loss = 0.0111156, acc = 1.0\n", "[Validation] Batch ID = 15160, loss = 0.03372, acc = 1.0\n", "[Train] Batch ID = 15170, loss = 0.00996929, acc = 1.0\n", "[Validation] Batch ID = 15170, loss = 0.0649887, acc = 0.92\n", "[Train] Batch ID = 15180, loss = 0.015613, acc = 1.0\n", "[Validation] Batch ID = 15180, loss = 0.0589631, acc = 0.92\n", "[Train] Batch ID = 15190, loss = 0.01074, acc = 1.0\n", "[Validation] Batch ID = 15190, loss = 0.0393959, acc = 0.98\n", "[Train] Batch ID = 15200, loss = 0.0110103, acc = 1.0\n", "[Validation] Batch ID = 15200, loss = 0.057469, acc = 0.98\n", "[Train] Batch ID = 15210, loss = 0.181816, acc = 0.9\n", "[Validation] Batch ID = 15210, loss = 0.0652272, acc = 0.94\n", "[Train] Batch ID = 15220, loss = 0.158652, acc = 0.9\n", "[Validation] Batch ID = 15220, loss = 0.0361428, acc = 0.96\n", "[Train] Batch ID = 15230, loss = 0.0142205, acc = 1.0\n", "[Validation] Batch ID = 15230, loss = 0.0519986, acc = 0.98\n", "[Train] Batch ID = 15240, loss = 0.0103469, acc = 1.0\n", "[Validation] Batch ID = 15240, loss = 0.049191, acc = 0.94\n", "[Train] Batch ID = 15250, loss = 0.0098641, acc = 1.0\n", "[Validation] Batch ID = 15250, loss = 0.0531481, acc = 0.98\n", "[Train] Batch ID = 15260, loss = 0.0132855, acc = 1.0\n", "[Validation] Batch ID = 15260, loss = 0.0583383, acc = 0.98\n", "[Train] Batch ID = 15270, loss = 0.0129511, acc = 1.0\n", "[Validation] Batch ID = 15270, loss = 0.0531587, acc = 0.96\n", "[Train] Batch ID = 15280, loss = 0.0215572, acc = 1.0\n", "[Validation] Batch ID = 15280, loss = 0.0393173, acc = 0.98\n", "[Train] Batch ID = 15290, loss = 0.0164872, acc = 1.0\n", "[Validation] Batch ID = 15290, loss = 0.029098, acc = 1.0\n", "[Train] Batch ID = 15300, loss = 0.0160943, acc = 1.0\n", "[Validation] Batch ID = 15300, loss = 0.0424113, acc = 0.98\n", "[Train] Batch ID = 15310, loss = 0.0101976, acc = 1.0\n", "[Validation] Batch ID = 15310, loss = 0.0517624, acc = 0.96\n", "[Train] Batch ID = 15320, loss = 0.0160082, acc = 1.0\n", "[Validation] Batch ID = 15320, loss = 0.0321096, acc = 1.0\n", "[Train] Batch ID = 15330, loss = 0.00761872, acc = 1.0\n", "[Validation] Batch ID = 15330, loss = 0.0534977, acc = 0.96\n", "[Train] Batch ID = 15340, loss = 0.0104171, acc = 1.0\n", "[Validation] Batch ID = 15340, loss = 0.0615207, acc = 0.94\n", "[Train] Batch ID = 15350, loss = 0.0152187, acc = 1.0\n", "[Validation] Batch ID = 15350, loss = 0.0838535, acc = 0.9\n", "[Train] Batch ID = 15360, loss = 0.0181694, acc = 1.0\n", "[Validation] Batch ID = 15360, loss = 0.0344293, acc = 1.0\n", "[Train] Batch ID = 15370, loss = 0.0049273, acc = 1.0\n", "[Validation] Batch ID = 15370, loss = 0.0455798, acc = 0.98\n", "[Train] Batch ID = 15380, loss = 0.00905102, acc = 1.0\n", "[Validation] Batch ID = 15380, loss = 0.043164, acc = 1.0\n", "[Train] Batch ID = 15390, loss = 0.0216415, acc = 1.0\n", "[Validation] Batch ID = 15390, loss = 0.0587692, acc = 0.94\n", "[Train] Batch ID = 15400, loss = 0.242652, acc = 0.76\n", "[Validation] Batch ID = 15400, loss = 0.0430674, acc = 0.96\n", "[Train] Batch ID = 15410, loss = 0.25209, acc = 0.78\n", "[Validation] Batch ID = 15410, loss = 0.040581, acc = 0.96\n", "[Train] Batch ID = 15420, loss = 0.0171264, acc = 1.0\n", "[Validation] Batch ID = 15420, loss = 0.0506348, acc = 0.96\n", "[Train] Batch ID = 15430, loss = 0.0118538, acc = 1.0\n", "[Validation] Batch ID = 15430, loss = 0.0361167, acc = 0.96\n", "[Train] Batch ID = 15440, loss = 0.261513, acc = 0.76\n", "[Validation] Batch ID = 15440, loss = 0.0239811, acc = 1.0\n", "[Train] Batch ID = 15450, loss = 0.0220238, acc = 1.0\n", "[Validation] Batch ID = 15450, loss = 0.0377151, acc = 1.0\n", "[Train] Batch ID = 15460, loss = 0.274453, acc = 0.74\n", "[Validation] Batch ID = 15460, loss = 0.029723, acc = 0.98\n", "[Train] Batch ID = 15470, loss = 0.0125358, acc = 1.0\n", "[Validation] Batch ID = 15470, loss = 0.0603751, acc = 0.98\n", "[Train] Batch ID = 15480, loss = 0.0144089, acc = 1.0\n", "[Validation] Batch ID = 15480, loss = 0.0675919, acc = 0.96\n", "[Train] Batch ID = 15490, loss = 0.232417, acc = 0.8\n", "[Validation] Batch ID = 15490, loss = 0.0627741, acc = 0.96\n", "[Train] Batch ID = 15500, loss = 0.0180878, acc = 1.0\n", "[Validation] Batch ID = 15500, loss = 0.0207185, acc = 1.0\n", "[Train] Batch ID = 15510, loss = 0.0152604, acc = 1.0\n", "[Validation] Batch ID = 15510, loss = 0.0508125, acc = 0.98\n", "[Train] Batch ID = 15520, loss = 0.258461, acc = 0.7\n", "[Validation] Batch ID = 15520, loss = 0.0563423, acc = 0.94\n", "[Train] Batch ID = 15530, loss = 0.0117211, acc = 1.0\n", "[Validation] Batch ID = 15530, loss = 0.0575027, acc = 0.94\n", "[Train] Batch ID = 15540, loss = 0.0110345, acc = 1.0\n", "[Validation] Batch ID = 15540, loss = 0.0773278, acc = 0.9\n", "[Train] Batch ID = 15550, loss = 0.0085011, acc = 1.0\n", "[Validation] Batch ID = 15550, loss = 0.042823, acc = 0.98\n", "[Train] Batch ID = 15560, loss = 0.231707, acc = 0.7\n", "[Validation] Batch ID = 15560, loss = 0.054902, acc = 0.98\n", "[Train] Batch ID = 15570, loss = 0.019186, acc = 1.0\n", "[Validation] Batch ID = 15570, loss = 0.0556313, acc = 0.98\n", "[Train] Batch ID = 15580, loss = 0.0134613, acc = 1.0\n", "[Validation] Batch ID = 15580, loss = 0.0363215, acc = 0.98\n", "[Train] Batch ID = 15590, loss = 0.0126588, acc = 1.0\n", "[Validation] Batch ID = 15590, loss = 0.0373643, acc = 0.98\n", "[Train] Batch ID = 15600, loss = 0.0128648, acc = 1.0\n", "[Validation] Batch ID = 15600, loss = 0.021724, acc = 1.0\n", "[Train] Batch ID = 15610, loss = 0.0116731, acc = 1.0\n", "[Validation] Batch ID = 15610, loss = 0.0292522, acc = 1.0\n", "[Train] Batch ID = 15620, loss = 0.218831, acc = 0.84\n", "[Validation] Batch ID = 15620, loss = 0.0654211, acc = 0.92\n", "[Train] Batch ID = 15630, loss = 0.0160361, acc = 1.0\n", "[Validation] Batch ID = 15630, loss = 0.0721302, acc = 0.92\n", "[Train] Batch ID = 15640, loss = 0.00697157, acc = 1.0\n", "[Validation] Batch ID = 15640, loss = 0.0372314, acc = 0.98\n", "[Train] Batch ID = 15650, loss = 0.0210146, acc = 1.0\n", "[Validation] Batch ID = 15650, loss = 0.0573293, acc = 0.96\n", "[Train] Batch ID = 15660, loss = 0.00676244, acc = 1.0\n", "[Validation] Batch ID = 15660, loss = 0.0224818, acc = 1.0\n", "[Train] Batch ID = 15670, loss = 0.0148738, acc = 1.0\n", "[Validation] Batch ID = 15670, loss = 0.0625632, acc = 0.94\n", "[Train] Batch ID = 15680, loss = 0.0142547, acc = 1.0\n", "[Validation] Batch ID = 15680, loss = 0.0320464, acc = 1.0\n", "[Train] Batch ID = 15690, loss = 0.00637703, acc = 1.0\n", "[Validation] Batch ID = 15690, loss = 0.0402285, acc = 0.98\n", "[Train] Batch ID = 15700, loss = 0.0199578, acc = 1.0\n", "[Validation] Batch ID = 15700, loss = 0.0484345, acc = 0.98\n", "[Train] Batch ID = 15710, loss = 0.0103618, acc = 1.0\n", "[Validation] Batch ID = 15710, loss = 0.0493943, acc = 0.96\n", "[Train] Batch ID = 15720, loss = 0.206241, acc = 0.82\n", "[Validation] Batch ID = 15720, loss = 0.0470986, acc = 0.96\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "[Train] Batch ID = 15730, loss = 0.0155977, acc = 1.0\n", "[Validation] Batch ID = 15730, loss = 0.04912, acc = 0.96\n", "[Train] Batch ID = 15740, loss = 0.0194605, acc = 1.0\n", "[Validation] Batch ID = 15740, loss = 0.0472566, acc = 0.96\n", "[Train] Batch ID = 15750, loss = 0.223423, acc = 0.78\n", "[Validation] Batch ID = 15750, loss = 0.0444133, acc = 1.0\n", "[Train] Batch ID = 15760, loss = 0.0115861, acc = 1.0\n", "[Validation] Batch ID = 15760, loss = 0.0460848, acc = 0.94\n", "[Train] Batch ID = 15770, loss = 0.0093744, acc = 1.0\n", "[Validation] Batch ID = 15770, loss = 0.047696, acc = 0.98\n", "[Train] Batch ID = 15780, loss = 0.00912353, acc = 1.0\n", "[Validation] Batch ID = 15780, loss = 0.0429961, acc = 0.96\n", "[Train] Batch ID = 15790, loss = 0.0107375, acc = 1.0\n", "[Validation] Batch ID = 15790, loss = 0.053271, acc = 0.94\n", "[Train] Batch ID = 15800, loss = 0.00886228, acc = 1.0\n", "[Validation] Batch ID = 15800, loss = 0.0485335, acc = 0.98\n", "[Train] Batch ID = 15810, loss = 0.00733353, acc = 1.0\n", "[Validation] Batch ID = 15810, loss = 0.0459577, acc = 1.0\n", "[Train] Batch ID = 15820, loss = 0.0139804, acc = 1.0\n", "[Validation] Batch ID = 15820, loss = 0.0360679, acc = 0.98\n", "[Train] Batch ID = 15830, loss = 0.0148384, acc = 1.0\n", "[Validation] Batch ID = 15830, loss = 0.0222546, acc = 0.98\n", "[Train] Batch ID = 15840, loss = 0.243678, acc = 0.84\n", "[Validation] Batch ID = 15840, loss = 0.0439197, acc = 0.98\n", "[Train] Batch ID = 15850, loss = 0.00912225, acc = 1.0\n", "[Validation] Batch ID = 15850, loss = 0.0579148, acc = 0.96\n", "[Train] Batch ID = 15860, loss = 0.0168384, acc = 1.0\n", "[Validation] Batch ID = 15860, loss = 0.0420261, acc = 1.0\n", "[Train] Batch ID = 15870, loss = 0.176428, acc = 0.84\n", "[Validation] Batch ID = 15870, loss = 0.0498796, acc = 0.96\n", "[Train] Batch ID = 15880, loss = 0.182638, acc = 0.92\n", "[Validation] Batch ID = 15880, loss = 0.0492946, acc = 0.96\n", "[Train] Batch ID = 15890, loss = 0.0109115, acc = 1.0\n", "[Validation] Batch ID = 15890, loss = 0.0625243, acc = 0.94\n", "[Train] Batch ID = 15900, loss = 0.0132191, acc = 1.0\n", "[Validation] Batch ID = 15900, loss = 0.0412078, acc = 0.98\n", "[Train] Batch ID = 15910, loss = 0.244258, acc = 0.72\n", "[Validation] Batch ID = 15910, loss = 0.040069, acc = 0.98\n", "[Train] Batch ID = 15920, loss = 0.0130169, acc = 1.0\n", "[Validation] Batch ID = 15920, loss = 0.0680322, acc = 0.94\n", "[Train] Batch ID = 15930, loss = 0.0174861, acc = 1.0\n", "[Validation] Batch ID = 15930, loss = 0.0315664, acc = 1.0\n", "[Train] Batch ID = 15940, loss = 0.0103326, acc = 1.0\n", "[Validation] Batch ID = 15940, loss = 0.0535319, acc = 0.96\n", "[Train] Batch ID = 15950, loss = 0.00871107, acc = 1.0\n", "[Validation] Batch ID = 15950, loss = 0.0493256, acc = 0.98\n", "[Train] Batch ID = 15960, loss = 0.0238107, acc = 1.0\n", "[Validation] Batch ID = 15960, loss = 0.0428512, acc = 1.0\n", "[Train] Batch ID = 15970, loss = 0.0140351, acc = 1.0\n", "[Validation] Batch ID = 15970, loss = 0.0627117, acc = 0.92\n", "[Train] Batch ID = 15980, loss = 0.0156468, acc = 1.0\n", "[Validation] Batch ID = 15980, loss = 0.0521207, acc = 0.98\n", "[Train] Batch ID = 15990, loss = 0.011368, acc = 1.0\n", "[Validation] Batch ID = 15990, loss = 0.0514348, acc = 0.96\n", "[Train] Batch ID = 16000, loss = 0.213225, acc = 0.78\n", "[Validation] Batch ID = 16000, loss = 0.0350242, acc = 0.98\n", "Evaluate full validation dataset ...\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "ModelBase::Saving model ...\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Current loss: 0.0446877 Best loss: 0.0475598\n", "[TOTAL Validation] Batch ID = 16000, loss = 0.0446877, acc = 0.968480725624\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "ModelBase::Model successfully saved here: outputs/checkpoints/c1s_9_c1n_256_c2s_6_c2n_64_c2d_0.7_c1vl_16_c1s_5_c1nf_16_c2vl_32_lr_0.0001_rs_1--TrafficSign--1510487290.423481\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Augmented Factor = 0.1651040988266991\n", "[Train] Batch ID = 16010, loss = 0.0111596, acc = 1.0\n", "[Validation] Batch ID = 16010, loss = 0.062686, acc = 0.92\n", "[Train] Batch ID = 16020, loss = 0.00728413, acc = 1.0\n", "[Validation] Batch ID = 16020, loss = 0.0375616, acc = 0.98\n", "[Train] Batch ID = 16030, loss = 0.0219501, acc = 1.0\n", "[Validation] Batch ID = 16030, loss = 0.0471256, acc = 0.98\n", "[Train] Batch ID = 16040, loss = 0.00826156, acc = 1.0\n", "[Validation] Batch ID = 16040, loss = 0.041215, acc = 0.98\n", "[Train] Batch ID = 16050, loss = 0.0118491, acc = 1.0\n", "[Validation] Batch ID = 16050, loss = 0.0551145, acc = 0.94\n", "[Train] Batch ID = 16060, loss = 0.0173468, acc = 1.0\n", "[Validation] Batch ID = 16060, loss = 0.0197725, acc = 1.0\n", "[Train] Batch ID = 16070, loss = 0.00950886, acc = 1.0\n", "[Validation] Batch ID = 16070, loss = 0.0636382, acc = 0.94\n", "[Train] Batch ID = 16080, loss = 0.011442, acc = 1.0\n", "[Validation] Batch ID = 16080, loss = 0.0706439, acc = 0.92\n", "[Train] Batch ID = 16090, loss = 0.0182996, acc = 1.0\n", "[Validation] Batch ID = 16090, loss = 0.0451216, acc = 0.94\n", "[Train] Batch ID = 16100, loss = 0.00755775, acc = 1.0\n", "[Validation] Batch ID = 16100, loss = 0.068078, acc = 0.92\n", "[Train] Batch ID = 16110, loss = 0.0202015, acc = 1.0\n", "[Validation] Batch ID = 16110, loss = 0.0587874, acc = 0.94\n", "[Train] Batch ID = 16120, loss = 0.0161636, acc = 1.0\n", "[Validation] Batch ID = 16120, loss = 0.040745, acc = 0.98\n", "[Train] Batch ID = 16130, loss = 0.234428, acc = 0.82\n", "[Validation] Batch ID = 16130, loss = 0.0424431, acc = 1.0\n", "[Train] Batch ID = 16140, loss = 0.00756473, acc = 1.0\n", "[Validation] Batch ID = 16140, loss = 0.0482823, acc = 0.96\n", "[Train] Batch ID = 16150, loss = 0.0139153, acc = 1.0\n", "[Validation] Batch ID = 16150, loss = 0.0616782, acc = 0.96\n", "[Train] Batch ID = 16160, loss = 0.00660626, acc = 1.0\n", "[Validation] Batch ID = 16160, loss = 0.0416498, acc = 0.94\n", "[Train] Batch ID = 16170, loss = 0.0174369, acc = 1.0\n", "[Validation] Batch ID = 16170, loss = 0.0381829, acc = 0.98\n", "[Train] Batch ID = 16180, loss = 0.00543556, acc = 1.0\n", "[Validation] Batch ID = 16180, loss = 0.0597887, acc = 0.96\n", "[Train] Batch ID = 16190, loss = 0.22521, acc = 0.78\n", "[Validation] Batch ID = 16190, loss = 0.0809974, acc = 0.92\n", "[Train] Batch ID = 16200, loss = 0.0122592, acc = 1.0\n", "[Validation] Batch ID = 16200, loss = 0.0306249, acc = 1.0\n", "[Train] Batch ID = 16210, loss = 0.194817, acc = 0.8\n", "[Validation] Batch ID = 16210, loss = 0.0383178, acc = 0.98\n", "[Train] Batch ID = 16220, loss = 0.179779, acc = 0.8\n", "[Validation] Batch ID = 16220, loss = 0.0444652, acc = 0.98\n", "[Train] Batch ID = 16230, loss = 0.0114048, acc = 1.0\n", "[Validation] Batch ID = 16230, loss = 0.0371979, acc = 0.98\n", "[Train] Batch ID = 16240, loss = 0.00890548, acc = 1.0\n", "[Validation] Batch ID = 16240, loss = 0.0296927, acc = 0.98\n", "[Train] Batch ID = 16250, loss = 0.183314, acc = 0.88\n", "[Validation] Batch ID = 16250, loss = 0.0376843, acc = 0.98\n", "[Train] Batch ID = 16260, loss = 0.260523, acc = 0.72\n", "[Validation] Batch ID = 16260, loss = 0.0430788, acc = 0.98\n", "[Train] Batch ID = 16270, loss = 0.0131867, acc = 1.0\n", "[Validation] Batch ID = 16270, loss = 0.0637037, acc = 0.92\n", "[Train] Batch ID = 16280, loss = 0.0142716, acc = 1.0\n", "[Validation] Batch ID = 16280, loss = 0.0570839, acc = 0.94\n", "[Train] Batch ID = 16290, loss = 0.0122782, acc = 1.0\n", "[Validation] Batch ID = 16290, loss = 0.0537266, acc = 0.98\n", "[Train] Batch ID = 16300, loss = 0.0126009, acc = 1.0\n", "[Validation] Batch ID = 16300, loss = 0.0448658, acc = 0.98\n", "[Train] Batch ID = 16310, loss = 0.0157917, acc = 1.0\n", "[Validation] Batch ID = 16310, loss = 0.0605974, acc = 0.94\n", "[Train] Batch ID = 16320, loss = 0.0139092, acc = 1.0\n", "[Validation] Batch ID = 16320, loss = 0.0395077, acc = 0.96\n", "[Train] Batch ID = 16330, loss = 0.0116256, acc = 1.0\n", "[Validation] Batch ID = 16330, loss = 0.0686646, acc = 0.96\n", "[Train] Batch ID = 16340, loss = 0.00698763, acc = 1.0\n", "[Validation] Batch ID = 16340, loss = 0.0281766, acc = 1.0\n", "[Train] Batch ID = 16350, loss = 0.011349, acc = 1.0\n", "[Validation] Batch ID = 16350, loss = 0.0491005, acc = 0.98\n", "[Train] Batch ID = 16360, loss = 0.0121404, acc = 1.0\n", "[Validation] Batch ID = 16360, loss = 0.0712704, acc = 0.92\n", "[Train] Batch ID = 16370, loss = 0.0123089, acc = 1.0\n", "[Validation] Batch ID = 16370, loss = 0.0956472, acc = 0.88\n", "[Train] Batch ID = 16380, loss = 0.00964068, acc = 1.0\n", "[Validation] Batch ID = 16380, loss = 0.0643815, acc = 0.9\n", "[Train] Batch ID = 16390, loss = 0.00782296, acc = 1.0\n", "[Validation] Batch ID = 16390, loss = 0.0672783, acc = 0.92\n", "[Train] Batch ID = 16400, loss = 0.209254, acc = 0.84\n", "[Validation] Batch ID = 16400, loss = 0.0990469, acc = 0.9\n", "[Train] Batch ID = 16410, loss = 0.00927037, acc = 1.0\n", "[Validation] Batch ID = 16410, loss = 0.029404, acc = 1.0\n", "[Train] Batch ID = 16420, loss = 0.00645013, acc = 1.0\n", "[Validation] Batch ID = 16420, loss = 0.0471549, acc = 0.96\n", "[Train] Batch ID = 16430, loss = 0.00995546, acc = 1.0\n", "[Validation] Batch ID = 16430, loss = 0.0460424, acc = 0.98\n", "[Train] Batch ID = 16440, loss = 0.0174432, acc = 1.0\n", "[Validation] Batch ID = 16440, loss = 0.0486032, acc = 0.98\n", "[Train] Batch ID = 16450, loss = 0.00793474, acc = 1.0\n", "[Validation] Batch ID = 16450, loss = 0.0646354, acc = 0.96\n", "[Train] Batch ID = 16460, loss = 0.238787, acc = 0.74\n", "[Validation] Batch ID = 16460, loss = 0.065985, acc = 0.94\n", "[Train] Batch ID = 16470, loss = 0.214727, acc = 0.82\n", "[Validation] Batch ID = 16470, loss = 0.0448887, acc = 0.98\n", "[Train] Batch ID = 16480, loss = 0.00809389, acc = 1.0\n", "[Validation] Batch ID = 16480, loss = 0.051358, acc = 0.96\n", "[Train] Batch ID = 16490, loss = 0.0119758, acc = 1.0\n", "[Validation] Batch ID = 16490, loss = 0.0277735, acc = 1.0\n", "[Train] Batch ID = 16500, loss = 0.0142311, acc = 1.0\n", "[Validation] Batch ID = 16500, loss = 0.0499849, acc = 0.96\n", "[Train] Batch ID = 16510, loss = 0.0115587, acc = 1.0\n", "[Validation] Batch ID = 16510, loss = 0.0305036, acc = 0.98\n", "[Train] Batch ID = 16520, loss = 0.0161015, acc = 1.0\n", "[Validation] Batch ID = 16520, loss = 0.0391198, acc = 1.0\n", "[Train] Batch ID = 16530, loss = 0.210369, acc = 0.84\n", "[Validation] Batch ID = 16530, loss = 0.0350899, acc = 0.98\n", "[Train] Batch ID = 16540, loss = 0.012747, acc = 1.0\n", "[Validation] Batch ID = 16540, loss = 0.0366477, acc = 1.0\n", "[Train] Batch ID = 16550, loss = 0.021012, acc = 1.0\n", "[Validation] Batch ID = 16550, loss = 0.0467369, acc = 0.96\n", "[Train] Batch ID = 16560, loss = 0.00634157, acc = 1.0\n", "[Validation] Batch ID = 16560, loss = 0.0519444, acc = 0.98\n", "[Train] Batch ID = 16570, loss = 0.0083133, acc = 1.0\n", "[Validation] Batch ID = 16570, loss = 0.0292467, acc = 1.0\n", "[Train] Batch ID = 16580, loss = 0.00835137, acc = 1.0\n", "[Validation] Batch ID = 16580, loss = 0.0394915, acc = 0.98\n", "[Train] Batch ID = 16590, loss = 0.00580469, acc = 1.0\n", "[Validation] Batch ID = 16590, loss = 0.0621927, acc = 0.9\n", "[Train] Batch ID = 16600, loss = 0.01922, acc = 1.0\n", "[Validation] Batch ID = 16600, loss = 0.0520019, acc = 0.96\n", "[Train] Batch ID = 16610, loss = 0.0078655, acc = 1.0\n", "[Validation] Batch ID = 16610, loss = 0.0392148, acc = 0.98\n", "[Train] Batch ID = 16620, loss = 0.19014, acc = 0.86\n", "[Validation] Batch ID = 16620, loss = 0.0618087, acc = 0.94\n", "[Train] Batch ID = 16630, loss = 0.0185664, acc = 1.0\n", "[Validation] Batch ID = 16630, loss = 0.0418871, acc = 0.96\n", "[Train] Batch ID = 16640, loss = 0.0106119, acc = 1.0\n", "[Validation] Batch ID = 16640, loss = 0.0418145, acc = 0.96\n", "[Train] Batch ID = 16650, loss = 0.0110694, acc = 1.0\n", "[Validation] Batch ID = 16650, loss = 0.0351152, acc = 1.0\n", "[Train] Batch ID = 16660, loss = 0.018404, acc = 1.0\n", "[Validation] Batch ID = 16660, loss = 0.0444471, acc = 0.96\n", "[Train] Batch ID = 16670, loss = 0.0111381, acc = 1.0\n", "[Validation] Batch ID = 16670, loss = 0.0301699, acc = 1.0\n", "[Train] Batch ID = 16680, loss = 0.00807489, acc = 1.0\n", "[Validation] Batch ID = 16680, loss = 0.0485798, acc = 0.94\n", "[Train] Batch ID = 16690, loss = 0.0116735, acc = 1.0\n", "[Validation] Batch ID = 16690, loss = 0.0488661, acc = 0.98\n", "[Train] Batch ID = 16700, loss = 0.00896963, acc = 1.0\n", "[Validation] Batch ID = 16700, loss = 0.0274078, acc = 1.0\n", "[Train] Batch ID = 16710, loss = 0.0111859, acc = 1.0\n", "[Validation] Batch ID = 16710, loss = 0.0345827, acc = 0.98\n", "[Train] Batch ID = 16720, loss = 0.0142488, acc = 1.0\n", "[Validation] Batch ID = 16720, loss = 0.0425249, acc = 0.96\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "[Train] Batch ID = 16730, loss = 0.0101594, acc = 1.0\n", "[Validation] Batch ID = 16730, loss = 0.0519483, acc = 0.94\n", "[Train] Batch ID = 16740, loss = 0.00984201, acc = 1.0\n", "[Validation] Batch ID = 16740, loss = 0.0328203, acc = 0.98\n", "[Train] Batch ID = 16750, loss = 0.0150954, acc = 1.0\n", "[Validation] Batch ID = 16750, loss = 0.0468718, acc = 0.94\n", "[Train] Batch ID = 16760, loss = 0.179914, acc = 0.86\n", "[Validation] Batch ID = 16760, loss = 0.036911, acc = 0.98\n", "[Train] Batch ID = 16770, loss = 0.0173769, acc = 1.0\n", "[Validation] Batch ID = 16770, loss = 0.0518868, acc = 0.94\n", "[Train] Batch ID = 16780, loss = 0.0145045, acc = 1.0\n", "[Validation] Batch ID = 16780, loss = 0.0405632, acc = 0.98\n", "[Train] Batch ID = 16790, loss = 0.0131199, acc = 1.0\n", "[Validation] Batch ID = 16790, loss = 0.0577672, acc = 0.92\n", "[Train] Batch ID = 16800, loss = 0.183624, acc = 0.86\n", "[Validation] Batch ID = 16800, loss = 0.0539635, acc = 0.96\n", "[Train] Batch ID = 16810, loss = 0.0143922, acc = 1.0\n", "[Validation] Batch ID = 16810, loss = 0.027719, acc = 1.0\n", "[Train] Batch ID = 16820, loss = 0.0204897, acc = 1.0\n", "[Validation] Batch ID = 16820, loss = 0.0182774, acc = 1.0\n", "[Train] Batch ID = 16830, loss = 0.243592, acc = 0.76\n", "[Validation] Batch ID = 16830, loss = 0.0399112, acc = 1.0\n", "[Train] Batch ID = 16840, loss = 0.0157409, acc = 1.0\n", "[Validation] Batch ID = 16840, loss = 0.0852602, acc = 0.9\n", "[Train] Batch ID = 16850, loss = 0.234445, acc = 0.78\n", "[Validation] Batch ID = 16850, loss = 0.0337557, acc = 1.0\n", "[Train] Batch ID = 16860, loss = 0.0186027, acc = 0.98\n", "[Validation] Batch ID = 16860, loss = 0.0637741, acc = 0.92\n", "[Train] Batch ID = 16870, loss = 0.214686, acc = 0.82\n", "[Validation] Batch ID = 16870, loss = 0.0344707, acc = 1.0\n", "[Train] Batch ID = 16880, loss = 0.0162625, acc = 1.0\n", "[Validation] Batch ID = 16880, loss = 0.0606221, acc = 0.92\n", "[Train] Batch ID = 16890, loss = 0.0084759, acc = 1.0\n", "[Validation] Batch ID = 16890, loss = 0.045178, acc = 0.98\n", "[Train] Batch ID = 16900, loss = 0.0101897, acc = 1.0\n", "[Validation] Batch ID = 16900, loss = 0.0283651, acc = 1.0\n", "[Train] Batch ID = 16910, loss = 0.224305, acc = 0.68\n", "[Validation] Batch ID = 16910, loss = 0.0467173, acc = 0.98\n", "[Train] Batch ID = 16920, loss = 0.00930812, acc = 1.0\n", "[Validation] Batch ID = 16920, loss = 0.0478665, acc = 0.98\n", "[Train] Batch ID = 16930, loss = 0.017007, acc = 1.0\n", "[Validation] Batch ID = 16930, loss = 0.0472921, acc = 1.0\n", "[Train] Batch ID = 16940, loss = 0.0108301, acc = 1.0\n", "[Validation] Batch ID = 16940, loss = 0.0370016, acc = 0.96\n", "[Train] Batch ID = 16950, loss = 0.226896, acc = 0.82\n", "[Validation] Batch ID = 16950, loss = 0.038037, acc = 0.96\n", "[Train] Batch ID = 16960, loss = 0.198158, acc = 0.84\n", "[Validation] Batch ID = 16960, loss = 0.0307961, acc = 0.98\n", "[Train] Batch ID = 16970, loss = 0.0169276, acc = 1.0\n", "[Validation] Batch ID = 16970, loss = 0.0791598, acc = 0.94\n", "[Train] Batch ID = 16980, loss = 0.00820132, acc = 1.0\n", "[Validation] Batch ID = 16980, loss = 0.0363663, acc = 0.98\n", "[Train] Batch ID = 16990, loss = 0.00814005, acc = 1.0\n", "[Validation] Batch ID = 16990, loss = 0.049557, acc = 0.94\n", "[Train] Batch ID = 17000, loss = 0.0081375, acc = 1.0\n", "[Validation] Batch ID = 17000, loss = 0.0368923, acc = 0.98\n", "Evaluate full validation dataset ...\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "ModelBase::Saving model ...\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Current loss: 0.0435779 Best loss: 0.0446877\n", "[TOTAL Validation] Batch ID = 17000, loss = 0.0435779, acc = 0.968480725624\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "ModelBase::Model successfully saved here: outputs/checkpoints/c1s_9_c1n_256_c2s_6_c2n_64_c2d_0.7_c1vl_16_c1s_5_c1nf_16_c2vl_32_lr_0.0001_rs_1--TrafficSign--1510487290.423481\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Augmented Factor = 0.1485936889440292\n", "[Train] Batch ID = 17010, loss = 0.0107931, acc = 1.0\n", "[Validation] Batch ID = 17010, loss = 0.0318854, acc = 0.98\n", "[Train] Batch ID = 17020, loss = 0.0109536, acc = 1.0\n", "[Validation] Batch ID = 17020, loss = 0.0277872, acc = 1.0\n", "[Train] Batch ID = 17030, loss = 0.00786561, acc = 1.0\n", "[Validation] Batch ID = 17030, loss = 0.0407727, acc = 0.96\n", "[Train] Batch ID = 17040, loss = 0.0107863, acc = 1.0\n", "[Validation] Batch ID = 17040, loss = 0.0496761, acc = 0.96\n", "[Train] Batch ID = 17050, loss = 0.0155346, acc = 1.0\n", "[Validation] Batch ID = 17050, loss = 0.0519211, acc = 0.94\n", "[Train] Batch ID = 17060, loss = 0.00993681, acc = 1.0\n", "[Validation] Batch ID = 17060, loss = 0.0298174, acc = 1.0\n", "[Train] Batch ID = 17070, loss = 0.0140413, acc = 1.0\n", "[Validation] Batch ID = 17070, loss = 0.0674547, acc = 0.92\n", "[Train] Batch ID = 17080, loss = 0.217565, acc = 0.78\n", "[Validation] Batch ID = 17080, loss = 0.0296709, acc = 0.98\n", "[Train] Batch ID = 17090, loss = 0.00863693, acc = 1.0\n", "[Validation] Batch ID = 17090, loss = 0.0712167, acc = 0.96\n", "[Train] Batch ID = 17100, loss = 0.20093, acc = 0.82\n", "[Validation] Batch ID = 17100, loss = 0.041432, acc = 0.98\n", "[Train] Batch ID = 17110, loss = 0.0140526, acc = 1.0\n", "[Validation] Batch ID = 17110, loss = 0.0345174, acc = 1.0\n", "[Train] Batch ID = 17120, loss = 0.0120637, acc = 1.0\n", "[Validation] Batch ID = 17120, loss = 0.0408866, acc = 0.98\n", "[Train] Batch ID = 17130, loss = 0.0109781, acc = 1.0\n", "[Validation] Batch ID = 17130, loss = 0.0650348, acc = 0.94\n", "[Train] Batch ID = 17140, loss = 0.0122201, acc = 1.0\n", "[Validation] Batch ID = 17140, loss = 0.0626181, acc = 0.96\n", "[Train] Batch ID = 17150, loss = 0.00975302, acc = 1.0\n", "[Validation] Batch ID = 17150, loss = 0.0617188, acc = 0.94\n", "[Train] Batch ID = 17160, loss = 0.0132185, acc = 1.0\n", "[Validation] Batch ID = 17160, loss = 0.0202728, acc = 1.0\n", "[Train] Batch ID = 17170, loss = 0.00865579, acc = 1.0\n", "[Validation] Batch ID = 17170, loss = 0.0396759, acc = 0.98\n", "[Train] Batch ID = 17180, loss = 0.0110322, acc = 1.0\n", "[Validation] Batch ID = 17180, loss = 0.0308778, acc = 0.98\n", "[Train] Batch ID = 17190, loss = 0.0132692, acc = 1.0\n", "[Validation] Batch ID = 17190, loss = 0.0445969, acc = 0.98\n", "[Train] Batch ID = 17200, loss = 0.241525, acc = 0.72\n", "[Validation] Batch ID = 17200, loss = 0.065758, acc = 0.92\n", "[Train] Batch ID = 17210, loss = 0.0126124, acc = 1.0\n", "[Validation] Batch ID = 17210, loss = 0.0751484, acc = 0.94\n", "[Train] Batch ID = 17220, loss = 0.00790253, acc = 1.0\n", "[Validation] Batch ID = 17220, loss = 0.0541396, acc = 0.96\n", "[Train] Batch ID = 17230, loss = 0.00621506, acc = 1.0\n", "[Validation] Batch ID = 17230, loss = 0.0347628, acc = 0.96\n", "[Train] Batch ID = 17240, loss = 0.00727094, acc = 1.0\n", "[Validation] Batch ID = 17240, loss = 0.0255589, acc = 0.96\n", "[Train] Batch ID = 17250, loss = 0.0104037, acc = 1.0\n", "[Validation] Batch ID = 17250, loss = 0.0229335, acc = 1.0\n", "[Train] Batch ID = 17260, loss = 0.0103698, acc = 1.0\n", "[Validation] Batch ID = 17260, loss = 0.0467634, acc = 0.98\n", "[Train] Batch ID = 17270, loss = 0.00828369, acc = 1.0\n", "[Validation] Batch ID = 17270, loss = 0.0585737, acc = 0.94\n", "[Train] Batch ID = 17280, loss = 0.179058, acc = 0.9\n", "[Validation] Batch ID = 17280, loss = 0.0597991, acc = 0.98\n", "[Train] Batch ID = 17290, loss = 0.00742065, acc = 1.0\n", "[Validation] Batch ID = 17290, loss = 0.0498983, acc = 0.96\n", "[Train] Batch ID = 17300, loss = 0.245728, acc = 0.74\n", "[Validation] Batch ID = 17300, loss = 0.0277732, acc = 0.98\n", "[Train] Batch ID = 17310, loss = 0.00789817, acc = 1.0\n", "[Validation] Batch ID = 17310, loss = 0.0597185, acc = 0.94\n", "[Train] Batch ID = 17320, loss = 0.010345, acc = 1.0\n", "[Validation] Batch ID = 17320, loss = 0.0651575, acc = 0.96\n", "[Train] Batch ID = 17330, loss = 0.00746422, acc = 1.0\n", "[Validation] Batch ID = 17330, loss = 0.0401043, acc = 0.98\n", "[Train] Batch ID = 17340, loss = 0.0135294, acc = 1.0\n", "[Validation] Batch ID = 17340, loss = 0.0378934, acc = 0.98\n", "[Train] Batch ID = 17350, loss = 0.0118037, acc = 1.0\n", "[Validation] Batch ID = 17350, loss = 0.0403616, acc = 0.98\n", "[Train] Batch ID = 17360, loss = 0.0112704, acc = 1.0\n", "[Validation] Batch ID = 17360, loss = 0.0357777, acc = 1.0\n", "[Train] Batch ID = 17370, loss = 0.191618, acc = 0.82\n", "[Validation] Batch ID = 17370, loss = 0.0622186, acc = 0.94\n", "[Train] Batch ID = 17380, loss = 0.0141367, acc = 1.0\n", "[Validation] Batch ID = 17380, loss = 0.0298234, acc = 1.0\n", "[Train] Batch ID = 17390, loss = 0.0175016, acc = 1.0\n", "[Validation] Batch ID = 17390, loss = 0.0641619, acc = 0.96\n", "[Train] Batch ID = 17400, loss = 0.0072694, acc = 1.0\n", "[Validation] Batch ID = 17400, loss = 0.0466642, acc = 0.98\n", "[Train] Batch ID = 17410, loss = 0.011422, acc = 1.0\n", "[Validation] Batch ID = 17410, loss = 0.0353274, acc = 1.0\n", "[Train] Batch ID = 17420, loss = 0.0119721, acc = 1.0\n", "[Validation] Batch ID = 17420, loss = 0.0465965, acc = 0.96\n", "[Train] Batch ID = 17430, loss = 0.00625932, acc = 1.0\n", "[Validation] Batch ID = 17430, loss = 0.0244258, acc = 1.0\n", "[Train] Batch ID = 17440, loss = 0.00958698, acc = 1.0\n", "[Validation] Batch ID = 17440, loss = 0.0269825, acc = 1.0\n", "[Train] Batch ID = 17450, loss = 0.0070188, acc = 1.0\n", "[Validation] Batch ID = 17450, loss = 0.0598431, acc = 0.98\n", "[Train] Batch ID = 17460, loss = 0.00640655, acc = 1.0\n", "[Validation] Batch ID = 17460, loss = 0.0411862, acc = 0.98\n", "[Train] Batch ID = 17470, loss = 0.0106687, acc = 1.0\n", "[Validation] Batch ID = 17470, loss = 0.0309782, acc = 1.0\n", "[Train] Batch ID = 17480, loss = 0.0110399, acc = 1.0\n", "[Validation] Batch ID = 17480, loss = 0.0643484, acc = 0.96\n", "[Train] Batch ID = 17490, loss = 0.00764425, acc = 1.0\n", "[Validation] Batch ID = 17490, loss = 0.0594735, acc = 0.94\n", "[Train] Batch ID = 17500, loss = 0.00851075, acc = 1.0\n", "[Validation] Batch ID = 17500, loss = 0.0382578, acc = 0.98\n", "[Train] Batch ID = 17510, loss = 0.0128806, acc = 1.0\n", "[Validation] Batch ID = 17510, loss = 0.0272577, acc = 1.0\n", "[Train] Batch ID = 17520, loss = 0.181398, acc = 0.88\n", "[Validation] Batch ID = 17520, loss = 0.0683395, acc = 0.96\n", "[Train] Batch ID = 17530, loss = 0.21577, acc = 0.82\n", "[Validation] Batch ID = 17530, loss = 0.0424599, acc = 0.98\n", "[Train] Batch ID = 17540, loss = 0.0119789, acc = 1.0\n", "[Validation] Batch ID = 17540, loss = 0.0777235, acc = 0.94\n", "[Train] Batch ID = 17550, loss = 0.00911315, acc = 1.0\n", "[Validation] Batch ID = 17550, loss = 0.017616, acc = 1.0\n", "[Train] Batch ID = 17560, loss = 0.0131789, acc = 1.0\n", "[Validation] Batch ID = 17560, loss = 0.0178919, acc = 1.0\n", "[Train] Batch ID = 17570, loss = 0.0114378, acc = 1.0\n", "[Validation] Batch ID = 17570, loss = 0.0814161, acc = 0.92\n", "[Train] Batch ID = 17580, loss = 0.00718676, acc = 1.0\n", "[Validation] Batch ID = 17580, loss = 0.0632809, acc = 0.94\n", "[Train] Batch ID = 17590, loss = 0.00754958, acc = 1.0\n", "[Validation] Batch ID = 17590, loss = 0.0332366, acc = 0.96\n", "[Train] Batch ID = 17600, loss = 0.00954201, acc = 1.0\n", "[Validation] Batch ID = 17600, loss = 0.0600804, acc = 0.94\n", "[Train] Batch ID = 17610, loss = 0.0107443, acc = 1.0\n", "[Validation] Batch ID = 17610, loss = 0.0401182, acc = 0.96\n", "[Train] Batch ID = 17620, loss = 0.0090585, acc = 1.0\n", "[Validation] Batch ID = 17620, loss = 0.0504681, acc = 0.98\n", "[Train] Batch ID = 17630, loss = 0.00620363, acc = 1.0\n", "[Validation] Batch ID = 17630, loss = 0.0467663, acc = 0.96\n", "[Train] Batch ID = 17640, loss = 0.243305, acc = 0.78\n", "[Validation] Batch ID = 17640, loss = 0.0646638, acc = 0.94\n", "[Train] Batch ID = 17650, loss = 0.00837727, acc = 1.0\n", "[Validation] Batch ID = 17650, loss = 0.0542992, acc = 0.98\n", "[Train] Batch ID = 17660, loss = 0.00657543, acc = 1.0\n", "[Validation] Batch ID = 17660, loss = 0.0562306, acc = 0.94\n", "[Train] Batch ID = 17670, loss = 0.00969348, acc = 1.0\n", "[Validation] Batch ID = 17670, loss = 0.0492313, acc = 0.96\n", "[Train] Batch ID = 17680, loss = 0.235892, acc = 0.76\n", "[Validation] Batch ID = 17680, loss = 0.0447485, acc = 0.94\n", "[Train] Batch ID = 17690, loss = 0.169564, acc = 0.92\n", "[Validation] Batch ID = 17690, loss = 0.0392783, acc = 0.98\n", "[Train] Batch ID = 17700, loss = 0.0122359, acc = 1.0\n", "[Validation] Batch ID = 17700, loss = 0.0245898, acc = 1.0\n", "[Train] Batch ID = 17710, loss = 0.213004, acc = 0.86\n", "[Validation] Batch ID = 17710, loss = 0.0592501, acc = 0.9\n", "[Train] Batch ID = 17720, loss = 0.00919184, acc = 1.0\n", "[Validation] Batch ID = 17720, loss = 0.0399713, acc = 0.98\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "[Train] Batch ID = 17730, loss = 0.012463, acc = 1.0\n", "[Validation] Batch ID = 17730, loss = 0.0385852, acc = 0.98\n", "[Train] Batch ID = 17740, loss = 0.00961185, acc = 1.0\n", "[Validation] Batch ID = 17740, loss = 0.0605806, acc = 0.94\n", "[Train] Batch ID = 17750, loss = 0.200566, acc = 0.84\n", "[Validation] Batch ID = 17750, loss = 0.0392167, acc = 0.98\n", "[Train] Batch ID = 17760, loss = 0.00691875, acc = 1.0\n", "[Validation] Batch ID = 17760, loss = 0.0328109, acc = 0.98\n", "[Train] Batch ID = 17770, loss = 0.0101364, acc = 1.0\n", "[Validation] Batch ID = 17770, loss = 0.0231473, acc = 1.0\n", "[Train] Batch ID = 17780, loss = 0.00475077, acc = 1.0\n", "[Validation] Batch ID = 17780, loss = 0.0316256, acc = 0.98\n", "[Train] Batch ID = 17790, loss = 0.006053, acc = 1.0\n", "[Validation] Batch ID = 17790, loss = 0.0335807, acc = 1.0\n", "[Train] Batch ID = 17800, loss = 0.0114584, acc = 1.0\n", "[Validation] Batch ID = 17800, loss = 0.0660712, acc = 0.96\n", "[Train] Batch ID = 17810, loss = 0.00913265, acc = 1.0\n", "[Validation] Batch ID = 17810, loss = 0.0580074, acc = 0.94\n", "[Train] Batch ID = 17820, loss = 0.00934535, acc = 1.0\n", "[Validation] Batch ID = 17820, loss = 0.0443817, acc = 0.96\n", "[Train] Batch ID = 17830, loss = 0.0105927, acc = 1.0\n", "[Validation] Batch ID = 17830, loss = 0.037933, acc = 0.98\n", "[Train] Batch ID = 17840, loss = 0.0131286, acc = 1.0\n", "[Validation] Batch ID = 17840, loss = 0.0540507, acc = 0.94\n", "[Train] Batch ID = 17850, loss = 0.00584333, acc = 1.0\n", "[Validation] Batch ID = 17850, loss = 0.0281537, acc = 0.98\n", "[Train] Batch ID = 17860, loss = 0.00587972, acc = 1.0\n", "[Validation] Batch ID = 17860, loss = 0.0236906, acc = 1.0\n", "[Train] Batch ID = 17870, loss = 0.00535287, acc = 1.0\n", "[Validation] Batch ID = 17870, loss = 0.0585847, acc = 0.92\n", "[Train] Batch ID = 17880, loss = 0.0116786, acc = 1.0\n", "[Validation] Batch ID = 17880, loss = 0.0466213, acc = 0.96\n", "[Train] Batch ID = 17890, loss = 0.00497176, acc = 1.0\n", "[Validation] Batch ID = 17890, loss = 0.047242, acc = 0.96\n", "[Train] Batch ID = 17900, loss = 0.0107329, acc = 1.0\n", "[Validation] Batch ID = 17900, loss = 0.0431746, acc = 0.94\n", "[Train] Batch ID = 17910, loss = 0.0166263, acc = 1.0\n", "[Validation] Batch ID = 17910, loss = 0.0702424, acc = 0.94\n", "[Train] Batch ID = 17920, loss = 0.014938, acc = 0.98\n", "[Validation] Batch ID = 17920, loss = 0.0423169, acc = 0.96\n", "[Train] Batch ID = 17930, loss = 0.0104178, acc = 1.0\n", "[Validation] Batch ID = 17930, loss = 0.0258603, acc = 1.0\n", "[Train] Batch ID = 17940, loss = 0.012507, acc = 1.0\n", "[Validation] Batch ID = 17940, loss = 0.0350385, acc = 0.96\n", "[Train] Batch ID = 17950, loss = 0.00797606, acc = 1.0\n", "[Validation] Batch ID = 17950, loss = 0.03458, acc = 0.98\n", "[Train] Batch ID = 17960, loss = 0.00722717, acc = 1.0\n", "[Validation] Batch ID = 17960, loss = 0.0523331, acc = 1.0\n", "[Train] Batch ID = 17970, loss = 0.185005, acc = 0.88\n", "[Validation] Batch ID = 17970, loss = 0.0382238, acc = 0.96\n", "[Train] Batch ID = 17980, loss = 0.0193121, acc = 1.0\n", "[Validation] Batch ID = 17980, loss = 0.072578, acc = 0.92\n", "[Train] Batch ID = 17990, loss = 0.210694, acc = 0.8\n", "[Validation] Batch ID = 17990, loss = 0.0476215, acc = 0.98\n", "[Train] Batch ID = 18000, loss = 0.0102234, acc = 1.0\n", "[Validation] Batch ID = 18000, loss = 0.0604841, acc = 0.96\n", "Evaluate full validation dataset ...\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "ModelBase::Saving model ...\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Current loss: 0.0424544 Best loss: 0.0435779\n", "[TOTAL Validation] Batch ID = 18000, loss = 0.0424544, acc = 0.971655328798\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "ModelBase::Model successfully saved here: outputs/checkpoints/c1s_9_c1n_256_c2s_6_c2n_64_c2d_0.7_c1vl_16_c1s_5_c1nf_16_c2vl_32_lr_0.0001_rs_1--TrafficSign--1510487290.423481\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Augmented Factor = 0.13373432004962627\n", "[Train] Batch ID = 18010, loss = 0.228132, acc = 0.86\n", "[Validation] Batch ID = 18010, loss = 0.0244347, acc = 0.98\n", "[Train] Batch ID = 18020, loss = 0.0103401, acc = 1.0\n", "[Validation] Batch ID = 18020, loss = 0.0459979, acc = 0.96\n", "[Train] Batch ID = 18030, loss = 0.0149227, acc = 1.0\n", "[Validation] Batch ID = 18030, loss = 0.0525117, acc = 0.96\n", "[Train] Batch ID = 18040, loss = 0.0111569, acc = 1.0\n", "[Validation] Batch ID = 18040, loss = 0.0251993, acc = 1.0\n", "[Train] Batch ID = 18050, loss = 0.250529, acc = 0.74\n", "[Validation] Batch ID = 18050, loss = 0.0445635, acc = 0.96\n", "[Train] Batch ID = 18060, loss = 0.0100271, acc = 1.0\n", "[Validation] Batch ID = 18060, loss = 0.0301659, acc = 1.0\n", "[Train] Batch ID = 18070, loss = 0.0148217, acc = 1.0\n", "[Validation] Batch ID = 18070, loss = 0.0297111, acc = 0.98\n", "[Train] Batch ID = 18080, loss = 0.0102784, acc = 1.0\n", "[Validation] Batch ID = 18080, loss = 0.0589889, acc = 0.96\n", "[Train] Batch ID = 18090, loss = 0.24178, acc = 0.74\n", "[Validation] Batch ID = 18090, loss = 0.0485644, acc = 1.0\n", "[Train] Batch ID = 18100, loss = 0.00797078, acc = 1.0\n", "[Validation] Batch ID = 18100, loss = 0.0756436, acc = 0.9\n", "[Train] Batch ID = 18110, loss = 0.00493511, acc = 1.0\n", "[Validation] Batch ID = 18110, loss = 0.015748, acc = 1.0\n", "[Train] Batch ID = 18120, loss = 0.00914968, acc = 1.0\n", "[Validation] Batch ID = 18120, loss = 0.0473936, acc = 0.96\n", "[Train] Batch ID = 18130, loss = 0.00809062, acc = 1.0\n", "[Validation] Batch ID = 18130, loss = 0.0370665, acc = 0.96\n", "[Train] Batch ID = 18140, loss = 0.00731355, acc = 1.0\n", "[Validation] Batch ID = 18140, loss = 0.0351754, acc = 0.98\n", "[Train] Batch ID = 18150, loss = 0.0109304, acc = 1.0\n", "[Validation] Batch ID = 18150, loss = 0.0272152, acc = 1.0\n", "[Train] Batch ID = 18160, loss = 0.00475705, acc = 1.0\n", "[Validation] Batch ID = 18160, loss = 0.0466098, acc = 1.0\n", "[Train] Batch ID = 18170, loss = 0.00650133, acc = 1.0\n", "[Validation] Batch ID = 18170, loss = 0.0490063, acc = 0.96\n", "[Train] Batch ID = 18180, loss = 0.0164809, acc = 1.0\n", "[Validation] Batch ID = 18180, loss = 0.0403389, acc = 1.0\n", "[Train] Batch ID = 18190, loss = 0.00604222, acc = 1.0\n", "[Validation] Batch ID = 18190, loss = 0.0182917, acc = 1.0\n", "[Train] Batch ID = 18200, loss = 0.220453, acc = 0.78\n", "[Validation] Batch ID = 18200, loss = 0.047733, acc = 0.98\n", "[Train] Batch ID = 18210, loss = 0.0157971, acc = 1.0\n", "[Validation] Batch ID = 18210, loss = 0.0375407, acc = 0.98\n", "[Train] Batch ID = 18220, loss = 0.0107326, acc = 1.0\n", "[Validation] Batch ID = 18220, loss = 0.0402672, acc = 1.0\n", "[Train] Batch ID = 18230, loss = 0.213379, acc = 0.84\n", "[Validation] Batch ID = 18230, loss = 0.0510303, acc = 0.94\n", "[Train] Batch ID = 18240, loss = 0.0106287, acc = 1.0\n", "[Validation] Batch ID = 18240, loss = 0.0276124, acc = 1.0\n", "[Train] Batch ID = 18250, loss = 0.00733206, acc = 1.0\n", "[Validation] Batch ID = 18250, loss = 0.0329807, acc = 1.0\n", "[Train] Batch ID = 18260, loss = 0.00668964, acc = 1.0\n", "[Validation] Batch ID = 18260, loss = 0.0308212, acc = 0.98\n", "[Train] Batch ID = 18270, loss = 0.0122097, acc = 1.0\n", "[Validation] Batch ID = 18270, loss = 0.0462206, acc = 0.96\n", "[Train] Batch ID = 18280, loss = 0.00854039, acc = 1.0\n", "[Validation] Batch ID = 18280, loss = 0.0362162, acc = 0.96\n", "[Train] Batch ID = 18290, loss = 0.0117648, acc = 1.0\n", "[Validation] Batch ID = 18290, loss = 0.0349981, acc = 1.0\n", "[Train] Batch ID = 18300, loss = 0.011895, acc = 1.0\n", "[Validation] Batch ID = 18300, loss = 0.0329333, acc = 1.0\n", "[Train] Batch ID = 18310, loss = 0.00626644, acc = 1.0\n", "[Validation] Batch ID = 18310, loss = 0.0225427, acc = 1.0\n", "[Train] Batch ID = 18320, loss = 0.00833453, acc = 1.0\n", "[Validation] Batch ID = 18320, loss = 0.0225264, acc = 1.0\n", "[Train] Batch ID = 18330, loss = 0.013801, acc = 1.0\n", "[Validation] Batch ID = 18330, loss = 0.0280655, acc = 0.98\n", "[Train] Batch ID = 18340, loss = 0.00765351, acc = 1.0\n", "[Validation] Batch ID = 18340, loss = 0.0180686, acc = 1.0\n", "[Train] Batch ID = 18350, loss = 0.00608416, acc = 1.0\n", "[Validation] Batch ID = 18350, loss = 0.0304539, acc = 1.0\n", "[Train] Batch ID = 18360, loss = 0.00620292, acc = 1.0\n", "[Validation] Batch ID = 18360, loss = 0.0335051, acc = 0.96\n", "[Train] Batch ID = 18370, loss = 0.00804905, acc = 1.0\n", "[Validation] Batch ID = 18370, loss = 0.0382686, acc = 0.96\n", "[Train] Batch ID = 18380, loss = 0.014835, acc = 0.98\n", "[Validation] Batch ID = 18380, loss = 0.0437417, acc = 0.94\n", "[Train] Batch ID = 18390, loss = 0.230178, acc = 0.76\n", "[Validation] Batch ID = 18390, loss = 0.0205305, acc = 1.0\n", "[Train] Batch ID = 18400, loss = 0.183337, acc = 0.84\n", "[Validation] Batch ID = 18400, loss = 0.046115, acc = 0.96\n", "[Train] Batch ID = 18410, loss = 0.00778262, acc = 1.0\n", "[Validation] Batch ID = 18410, loss = 0.0280853, acc = 0.98\n", "[Train] Batch ID = 18420, loss = 0.201551, acc = 0.72\n", "[Validation] Batch ID = 18420, loss = 0.0263137, acc = 0.96\n", "[Train] Batch ID = 18430, loss = 0.00607394, acc = 1.0\n", "[Validation] Batch ID = 18430, loss = 0.0471367, acc = 0.96\n", "[Train] Batch ID = 18440, loss = 0.00964198, acc = 1.0\n", "[Validation] Batch ID = 18440, loss = 0.0473484, acc = 0.94\n", "[Train] Batch ID = 18450, loss = 0.0042911, acc = 1.0\n", "[Validation] Batch ID = 18450, loss = 0.0646073, acc = 0.94\n", "[Train] Batch ID = 18460, loss = 0.00649284, acc = 1.0\n", "[Validation] Batch ID = 18460, loss = 0.0558958, acc = 0.94\n", "[Train] Batch ID = 18470, loss = 0.0162379, acc = 1.0\n", "[Validation] Batch ID = 18470, loss = 0.0218326, acc = 1.0\n", "[Train] Batch ID = 18480, loss = 0.0116299, acc = 1.0\n", "[Validation] Batch ID = 18480, loss = 0.0293012, acc = 0.98\n", "[Train] Batch ID = 18490, loss = 0.0133133, acc = 1.0\n", "[Validation] Batch ID = 18490, loss = 0.0419711, acc = 0.98\n", "[Train] Batch ID = 18500, loss = 0.0123012, acc = 1.0\n", "[Validation] Batch ID = 18500, loss = 0.0285383, acc = 1.0\n", "[Train] Batch ID = 18510, loss = 0.00774852, acc = 1.0\n", "[Validation] Batch ID = 18510, loss = 0.0563268, acc = 0.94\n", "[Train] Batch ID = 18520, loss = 0.221411, acc = 0.8\n", "[Validation] Batch ID = 18520, loss = 0.0546522, acc = 0.96\n", "[Train] Batch ID = 18530, loss = 0.00624003, acc = 1.0\n", "[Validation] Batch ID = 18530, loss = 0.0299986, acc = 0.98\n", "[Train] Batch ID = 18540, loss = 0.239112, acc = 0.7\n", "[Validation] Batch ID = 18540, loss = 0.0338565, acc = 1.0\n", "[Train] Batch ID = 18550, loss = 0.213682, acc = 0.84\n", "[Validation] Batch ID = 18550, loss = 0.0458016, acc = 0.98\n", "[Train] Batch ID = 18560, loss = 0.0154747, acc = 1.0\n", "[Validation] Batch ID = 18560, loss = 0.0197975, acc = 1.0\n", "[Train] Batch ID = 18570, loss = 0.0101185, acc = 1.0\n", "[Validation] Batch ID = 18570, loss = 0.0197229, acc = 1.0\n", "[Train] Batch ID = 18580, loss = 0.00850679, acc = 1.0\n", "[Validation] Batch ID = 18580, loss = 0.0431962, acc = 0.98\n", "[Train] Batch ID = 18590, loss = 0.0120361, acc = 1.0\n", "[Validation] Batch ID = 18590, loss = 0.032789, acc = 1.0\n", "[Train] Batch ID = 18600, loss = 0.00980887, acc = 1.0\n", "[Validation] Batch ID = 18600, loss = 0.0222257, acc = 1.0\n", "[Train] Batch ID = 18610, loss = 0.00594966, acc = 1.0\n", "[Validation] Batch ID = 18610, loss = 0.0428224, acc = 0.96\n", "[Train] Batch ID = 18620, loss = 0.00849739, acc = 1.0\n", "[Validation] Batch ID = 18620, loss = 0.0436938, acc = 0.98\n", "[Train] Batch ID = 18630, loss = 0.177508, acc = 0.88\n", "[Validation] Batch ID = 18630, loss = 0.0377336, acc = 0.98\n", "[Train] Batch ID = 18640, loss = 0.00769659, acc = 1.0\n", "[Validation] Batch ID = 18640, loss = 0.0259619, acc = 1.0\n", "[Train] Batch ID = 18650, loss = 0.00803511, acc = 1.0\n", "[Validation] Batch ID = 18650, loss = 0.0653051, acc = 0.92\n", "[Train] Batch ID = 18660, loss = 0.00975562, acc = 1.0\n", "[Validation] Batch ID = 18660, loss = 0.0335881, acc = 0.96\n", "[Train] Batch ID = 18670, loss = 0.199579, acc = 0.8\n", "[Validation] Batch ID = 18670, loss = 0.0315993, acc = 0.98\n", "[Train] Batch ID = 18680, loss = 0.01301, acc = 1.0\n", "[Validation] Batch ID = 18680, loss = 0.0461032, acc = 0.98\n", "[Train] Batch ID = 18690, loss = 0.0120116, acc = 1.0\n", "[Validation] Batch ID = 18690, loss = 0.0350087, acc = 0.96\n", "[Train] Batch ID = 18700, loss = 0.0096466, acc = 1.0\n", "[Validation] Batch ID = 18700, loss = 0.0317747, acc = 1.0\n", "[Train] Batch ID = 18710, loss = 0.00397952, acc = 1.0\n", "[Validation] Batch ID = 18710, loss = 0.0408255, acc = 0.98\n", "[Train] Batch ID = 18720, loss = 0.00825438, acc = 1.0\n", "[Validation] Batch ID = 18720, loss = 0.0144541, acc = 1.0\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "[Train] Batch ID = 18730, loss = 0.00760175, acc = 1.0\n", "[Validation] Batch ID = 18730, loss = 0.0363982, acc = 0.96\n", "[Train] Batch ID = 18740, loss = 0.00904103, acc = 1.0\n", "[Validation] Batch ID = 18740, loss = 0.0513596, acc = 0.96\n", "[Train] Batch ID = 18750, loss = 0.0154375, acc = 1.0\n", "[Validation] Batch ID = 18750, loss = 0.0225518, acc = 0.98\n", "[Train] Batch ID = 18760, loss = 0.0088225, acc = 1.0\n", "[Validation] Batch ID = 18760, loss = 0.0300064, acc = 0.98\n", "[Train] Batch ID = 18770, loss = 0.0132343, acc = 1.0\n", "[Validation] Batch ID = 18770, loss = 0.0285188, acc = 1.0\n", "[Train] Batch ID = 18780, loss = 0.209026, acc = 0.86\n", "[Validation] Batch ID = 18780, loss = 0.0604442, acc = 0.96\n", "[Train] Batch ID = 18790, loss = 0.00696319, acc = 1.0\n", "[Validation] Batch ID = 18790, loss = 0.0331932, acc = 0.96\n", "[Train] Batch ID = 18800, loss = 0.00568265, acc = 1.0\n", "[Validation] Batch ID = 18800, loss = 0.021478, acc = 0.98\n", "[Train] Batch ID = 18810, loss = 0.009537, acc = 1.0\n", "[Validation] Batch ID = 18810, loss = 0.026033, acc = 1.0\n", "[Train] Batch ID = 18820, loss = 0.00796829, acc = 1.0\n", "[Validation] Batch ID = 18820, loss = 0.0219744, acc = 0.98\n", "[Train] Batch ID = 18830, loss = 0.188369, acc = 0.8\n", "[Validation] Batch ID = 18830, loss = 0.0316925, acc = 0.98\n", "[Train] Batch ID = 18840, loss = 0.00704996, acc = 1.0\n", "[Validation] Batch ID = 18840, loss = 0.0356097, acc = 0.98\n", "[Train] Batch ID = 18850, loss = 0.16931, acc = 0.9\n", "[Validation] Batch ID = 18850, loss = 0.0395927, acc = 0.94\n", "[Train] Batch ID = 18860, loss = 0.00776523, acc = 1.0\n", "[Validation] Batch ID = 18860, loss = 0.0465741, acc = 0.98\n", "[Train] Batch ID = 18870, loss = 0.00953969, acc = 1.0\n", "[Validation] Batch ID = 18870, loss = 0.0664633, acc = 0.96\n", "[Train] Batch ID = 18880, loss = 0.00804948, acc = 1.0\n", "[Validation] Batch ID = 18880, loss = 0.0512156, acc = 0.94\n", "[Train] Batch ID = 18890, loss = 0.0102249, acc = 1.0\n", "[Validation] Batch ID = 18890, loss = 0.057554, acc = 0.96\n", "[Train] Batch ID = 18900, loss = 0.00914846, acc = 1.0\n", "[Validation] Batch ID = 18900, loss = 0.0496042, acc = 0.94\n", "[Train] Batch ID = 18910, loss = 0.185639, acc = 0.86\n", "[Validation] Batch ID = 18910, loss = 0.0385823, acc = 0.94\n", "[Train] Batch ID = 18920, loss = 0.0103829, acc = 1.0\n", "[Validation] Batch ID = 18920, loss = 0.0283785, acc = 0.98\n", "[Train] Batch ID = 18930, loss = 0.0152379, acc = 1.0\n", "[Validation] Batch ID = 18930, loss = 0.0486571, acc = 0.96\n", "[Train] Batch ID = 18940, loss = 0.0120799, acc = 1.0\n", "[Validation] Batch ID = 18940, loss = 0.0264706, acc = 0.96\n", "[Train] Batch ID = 18950, loss = 0.0125708, acc = 1.0\n", "[Validation] Batch ID = 18950, loss = 0.0302521, acc = 1.0\n", "[Train] Batch ID = 18960, loss = 0.0109831, acc = 1.0\n", "[Validation] Batch ID = 18960, loss = 0.0496431, acc = 0.96\n", "[Train] Batch ID = 18970, loss = 0.00794598, acc = 1.0\n", "[Validation] Batch ID = 18970, loss = 0.0472635, acc = 0.98\n", "[Train] Batch ID = 18980, loss = 0.0168584, acc = 1.0\n", "[Validation] Batch ID = 18980, loss = 0.0358551, acc = 0.98\n", "[Train] Batch ID = 18990, loss = 0.00900583, acc = 1.0\n", "[Validation] Batch ID = 18990, loss = 0.0343539, acc = 0.98\n", "[Train] Batch ID = 19000, loss = 0.00812799, acc = 1.0\n", "[Validation] Batch ID = 19000, loss = 0.049676, acc = 0.98\n", "Evaluate full validation dataset ...\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "ModelBase::Saving model ...\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Current loss: 0.04133 Best loss: 0.0424544\n", "[TOTAL Validation] Batch ID = 19000, loss = 0.04133, acc = 0.968027210884\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "ModelBase::Model successfully saved here: outputs/checkpoints/c1s_9_c1n_256_c2s_6_c2n_64_c2d_0.7_c1vl_16_c1s_5_c1nf_16_c2vl_32_lr_0.0001_rs_1--TrafficSign--1510487290.423481\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Augmented Factor = 0.12036088804466365\n", "[Train] Batch ID = 19010, loss = 0.00829884, acc = 1.0\n", "[Validation] Batch ID = 19010, loss = 0.0244568, acc = 0.98\n", "[Train] Batch ID = 19020, loss = 0.00281226, acc = 1.0\n", "[Validation] Batch ID = 19020, loss = 0.0304167, acc = 0.96\n", "[Train] Batch ID = 19030, loss = 0.00811216, acc = 1.0\n", "[Validation] Batch ID = 19030, loss = 0.0430402, acc = 0.94\n", "[Train] Batch ID = 19040, loss = 0.190728, acc = 0.88\n", "[Validation] Batch ID = 19040, loss = 0.0323349, acc = 0.98\n", "[Train] Batch ID = 19050, loss = 0.00935074, acc = 1.0\n", "[Validation] Batch ID = 19050, loss = 0.049192, acc = 0.96\n", "[Train] Batch ID = 19060, loss = 0.00853486, acc = 1.0\n", "[Validation] Batch ID = 19060, loss = 0.0433526, acc = 0.98\n", "[Train] Batch ID = 19070, loss = 0.00619371, acc = 1.0\n", "[Validation] Batch ID = 19070, loss = 0.0507182, acc = 0.98\n", "[Train] Batch ID = 19080, loss = 0.0114892, acc = 1.0\n", "[Validation] Batch ID = 19080, loss = 0.0321919, acc = 1.0\n", "[Train] Batch ID = 19090, loss = 0.00625952, acc = 1.0\n", "[Validation] Batch ID = 19090, loss = 0.0314531, acc = 1.0\n", "[Train] Batch ID = 19100, loss = 0.00625073, acc = 1.0\n", "[Validation] Batch ID = 19100, loss = 0.0509139, acc = 0.96\n", "[Train] Batch ID = 19110, loss = 0.0149874, acc = 1.0\n", "[Validation] Batch ID = 19110, loss = 0.0168863, acc = 1.0\n", "[Train] Batch ID = 19120, loss = 0.00975929, acc = 1.0\n", "[Validation] Batch ID = 19120, loss = 0.0285963, acc = 1.0\n", "[Train] Batch ID = 19130, loss = 0.0061408, acc = 1.0\n", "[Validation] Batch ID = 19130, loss = 0.0350475, acc = 1.0\n", "[Train] Batch ID = 19140, loss = 0.00851196, acc = 1.0\n", "[Validation] Batch ID = 19140, loss = 0.0522259, acc = 0.96\n", "[Train] Batch ID = 19150, loss = 0.00802327, acc = 1.0\n", "[Validation] Batch ID = 19150, loss = 0.026807, acc = 1.0\n", "[Train] Batch ID = 19160, loss = 0.210208, acc = 0.78\n", "[Validation] Batch ID = 19160, loss = 0.0298205, acc = 0.98\n", "[Train] Batch ID = 19170, loss = 0.00617634, acc = 1.0\n", "[Validation] Batch ID = 19170, loss = 0.035324, acc = 1.0\n", "[Train] Batch ID = 19180, loss = 0.0102403, acc = 1.0\n", "[Validation] Batch ID = 19180, loss = 0.031316, acc = 1.0\n", "[Train] Batch ID = 19190, loss = 0.00891839, acc = 1.0\n", "[Validation] Batch ID = 19190, loss = 0.0325516, acc = 0.98\n", "[Train] Batch ID = 19200, loss = 0.00520552, acc = 1.0\n", "[Validation] Batch ID = 19200, loss = 0.0243014, acc = 1.0\n", "[Train] Batch ID = 19210, loss = 0.0128635, acc = 1.0\n", "[Validation] Batch ID = 19210, loss = 0.0212604, acc = 1.0\n", "[Train] Batch ID = 19220, loss = 0.00673032, acc = 1.0\n", "[Validation] Batch ID = 19220, loss = 0.0321117, acc = 0.98\n", "[Train] Batch ID = 19230, loss = 0.00621, acc = 1.0\n", "[Validation] Batch ID = 19230, loss = 0.0308013, acc = 0.98\n", "[Train] Batch ID = 19240, loss = 0.00514033, acc = 1.0\n", "[Validation] Batch ID = 19240, loss = 0.0306084, acc = 0.98\n", "[Train] Batch ID = 19250, loss = 0.00746286, acc = 1.0\n", "[Validation] Batch ID = 19250, loss = 0.04212, acc = 0.96\n", "[Train] Batch ID = 19260, loss = 0.00535506, acc = 1.0\n", "[Validation] Batch ID = 19260, loss = 0.0494259, acc = 0.96\n", "[Train] Batch ID = 19270, loss = 0.00556423, acc = 1.0\n", "[Validation] Batch ID = 19270, loss = 0.0388948, acc = 0.96\n", "[Train] Batch ID = 19280, loss = 0.00446363, acc = 1.0\n", "[Validation] Batch ID = 19280, loss = 0.0445765, acc = 1.0\n", "[Train] Batch ID = 19290, loss = 0.00513445, acc = 1.0\n", "[Validation] Batch ID = 19290, loss = 0.032167, acc = 0.98\n", "[Train] Batch ID = 19300, loss = 0.0116354, acc = 1.0\n", "[Validation] Batch ID = 19300, loss = 0.0170416, acc = 1.0\n", "[Train] Batch ID = 19310, loss = 0.0110989, acc = 1.0\n", "[Validation] Batch ID = 19310, loss = 0.0327947, acc = 0.98\n", "[Train] Batch ID = 19320, loss = 0.011688, acc = 1.0\n", "[Validation] Batch ID = 19320, loss = 0.0455786, acc = 0.96\n", "[Train] Batch ID = 19330, loss = 0.00967927, acc = 1.0\n", "[Validation] Batch ID = 19330, loss = 0.048881, acc = 0.96\n", "[Train] Batch ID = 19340, loss = 0.00774668, acc = 1.0\n", "[Validation] Batch ID = 19340, loss = 0.0326324, acc = 0.96\n", "[Train] Batch ID = 19350, loss = 0.00438985, acc = 1.0\n", "[Validation] Batch ID = 19350, loss = 0.0255781, acc = 1.0\n", "[Train] Batch ID = 19360, loss = 0.214245, acc = 0.72\n", "[Validation] Batch ID = 19360, loss = 0.035841, acc = 0.98\n", "[Train] Batch ID = 19370, loss = 0.00575926, acc = 1.0\n", "[Validation] Batch ID = 19370, loss = 0.0345744, acc = 0.98\n", "[Train] Batch ID = 19380, loss = 0.00518546, acc = 1.0\n", "[Validation] Batch ID = 19380, loss = 0.0400761, acc = 0.98\n", "[Train] Batch ID = 19390, loss = 0.0110998, acc = 1.0\n", "[Validation] Batch ID = 19390, loss = 0.0401665, acc = 0.98\n", "[Train] Batch ID = 19400, loss = 0.0106186, acc = 1.0\n", "[Validation] Batch ID = 19400, loss = 0.027817, acc = 0.98\n", "[Train] Batch ID = 19410, loss = 0.0172628, acc = 0.98\n", "[Validation] Batch ID = 19410, loss = 0.0154824, acc = 1.0\n", "[Train] Batch ID = 19420, loss = 0.0035282, acc = 1.0\n", "[Validation] Batch ID = 19420, loss = 0.0501599, acc = 0.96\n", "[Train] Batch ID = 19430, loss = 0.0114891, acc = 1.0\n", "[Validation] Batch ID = 19430, loss = 0.0343084, acc = 0.98\n", "[Train] Batch ID = 19440, loss = 0.00827822, acc = 1.0\n", "[Validation] Batch ID = 19440, loss = 0.0290019, acc = 0.98\n", "[Train] Batch ID = 19450, loss = 0.198542, acc = 0.88\n", "[Validation] Batch ID = 19450, loss = 0.0233754, acc = 1.0\n", "[Train] Batch ID = 19460, loss = 0.224371, acc = 0.8\n", "[Validation] Batch ID = 19460, loss = 0.0364395, acc = 0.98\n", "[Train] Batch ID = 19470, loss = 0.00996934, acc = 1.0\n", "[Validation] Batch ID = 19470, loss = 0.0203768, acc = 1.0\n", "[Train] Batch ID = 19480, loss = 0.00833579, acc = 1.0\n", "[Validation] Batch ID = 19480, loss = 0.0745356, acc = 0.92\n", "[Train] Batch ID = 19490, loss = 0.00599639, acc = 1.0\n", "[Validation] Batch ID = 19490, loss = 0.0206385, acc = 1.0\n", "[Train] Batch ID = 19500, loss = 0.00624416, acc = 1.0\n", "[Validation] Batch ID = 19500, loss = 0.0363185, acc = 0.96\n", "[Train] Batch ID = 19510, loss = 0.00862065, acc = 1.0\n", "[Validation] Batch ID = 19510, loss = 0.0741523, acc = 0.96\n", "[Train] Batch ID = 19520, loss = 0.0107056, acc = 1.0\n", "[Validation] Batch ID = 19520, loss = 0.0603137, acc = 0.96\n", "[Train] Batch ID = 19530, loss = 0.00527332, acc = 1.0\n", "[Validation] Batch ID = 19530, loss = 0.0222762, acc = 1.0\n", "[Train] Batch ID = 19540, loss = 0.0126581, acc = 1.0\n", "[Validation] Batch ID = 19540, loss = 0.0525481, acc = 0.94\n", "[Train] Batch ID = 19550, loss = 0.00686756, acc = 1.0\n", "[Validation] Batch ID = 19550, loss = 0.0325457, acc = 0.98\n", "[Train] Batch ID = 19560, loss = 0.009601, acc = 1.0\n", "[Validation] Batch ID = 19560, loss = 0.0533486, acc = 0.96\n", "[Train] Batch ID = 19570, loss = 0.00630613, acc = 1.0\n", "[Validation] Batch ID = 19570, loss = 0.0239219, acc = 1.0\n", "[Train] Batch ID = 19580, loss = 0.221834, acc = 0.78\n", "[Validation] Batch ID = 19580, loss = 0.0315201, acc = 0.98\n", "[Train] Batch ID = 19590, loss = 0.0175049, acc = 1.0\n", "[Validation] Batch ID = 19590, loss = 0.0414703, acc = 0.98\n", "[Train] Batch ID = 19600, loss = 0.00681674, acc = 1.0\n", "[Validation] Batch ID = 19600, loss = 0.022439, acc = 1.0\n", "[Train] Batch ID = 19610, loss = 0.0108275, acc = 1.0\n", "[Validation] Batch ID = 19610, loss = 0.0349966, acc = 0.98\n", "[Train] Batch ID = 19620, loss = 0.0106411, acc = 1.0\n", "[Validation] Batch ID = 19620, loss = 0.0600635, acc = 0.94\n", "[Train] Batch ID = 19630, loss = 0.0130105, acc = 1.0\n", "[Validation] Batch ID = 19630, loss = 0.0545283, acc = 0.88\n", "[Train] Batch ID = 19640, loss = 0.00427922, acc = 1.0\n", "[Validation] Batch ID = 19640, loss = 0.0353706, acc = 0.98\n", "[Train] Batch ID = 19650, loss = 0.00727035, acc = 1.0\n", "[Validation] Batch ID = 19650, loss = 0.0380934, acc = 1.0\n", "[Train] Batch ID = 19660, loss = 0.010646, acc = 1.0\n", "[Validation] Batch ID = 19660, loss = 0.0462218, acc = 0.96\n", "[Train] Batch ID = 19670, loss = 0.183529, acc = 0.86\n", "[Validation] Batch ID = 19670, loss = 0.040916, acc = 1.0\n", "[Train] Batch ID = 19680, loss = 0.222216, acc = 0.9\n", "[Validation] Batch ID = 19680, loss = 0.0518942, acc = 0.98\n", "[Train] Batch ID = 19690, loss = 0.0069439, acc = 1.0\n", "[Validation] Batch ID = 19690, loss = 0.0602985, acc = 0.94\n", "[Train] Batch ID = 19700, loss = 0.00520478, acc = 1.0\n", "[Validation] Batch ID = 19700, loss = 0.0441358, acc = 0.98\n", "[Train] Batch ID = 19710, loss = 0.0100754, acc = 1.0\n", "[Validation] Batch ID = 19710, loss = 0.0286411, acc = 0.98\n", "[Train] Batch ID = 19720, loss = 0.0104091, acc = 1.0\n", "[Validation] Batch ID = 19720, loss = 0.0767592, acc = 0.9\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "[Train] Batch ID = 19730, loss = 0.0116919, acc = 1.0\n", "[Validation] Batch ID = 19730, loss = 0.0181293, acc = 1.0\n", "[Train] Batch ID = 19740, loss = 0.00531142, acc = 1.0\n", "[Validation] Batch ID = 19740, loss = 0.0339181, acc = 0.98\n", "[Train] Batch ID = 19750, loss = 0.233918, acc = 0.74\n", "[Validation] Batch ID = 19750, loss = 0.0486291, acc = 0.96\n", "[Train] Batch ID = 19760, loss = 0.0074021, acc = 1.0\n", "[Validation] Batch ID = 19760, loss = 0.018361, acc = 1.0\n", "[Train] Batch ID = 19770, loss = 0.00606004, acc = 1.0\n", "[Validation] Batch ID = 19770, loss = 0.0298072, acc = 0.98\n", "[Train] Batch ID = 19780, loss = 0.207894, acc = 0.78\n", "[Validation] Batch ID = 19780, loss = 0.0674197, acc = 0.92\n", "[Train] Batch ID = 19790, loss = 0.00641519, acc = 1.0\n", "[Validation] Batch ID = 19790, loss = 0.0661805, acc = 0.9\n", "[Train] Batch ID = 19800, loss = 0.013629, acc = 1.0\n", "[Validation] Batch ID = 19800, loss = 0.0746337, acc = 0.92\n", "[Train] Batch ID = 19810, loss = 0.202612, acc = 0.8\n", "[Validation] Batch ID = 19810, loss = 0.0728207, acc = 0.94\n", "[Train] Batch ID = 19820, loss = 0.00946282, acc = 1.0\n", "[Validation] Batch ID = 19820, loss = 0.0329975, acc = 0.98\n", "[Train] Batch ID = 19830, loss = 0.00883393, acc = 1.0\n", "[Validation] Batch ID = 19830, loss = 0.0407063, acc = 0.98\n", "[Train] Batch ID = 19840, loss = 0.00462411, acc = 1.0\n", "[Validation] Batch ID = 19840, loss = 0.0242194, acc = 0.98\n", "[Train] Batch ID = 19850, loss = 0.00922284, acc = 1.0\n", "[Validation] Batch ID = 19850, loss = 0.0522201, acc = 0.94\n", "[Train] Batch ID = 19860, loss = 0.204102, acc = 0.74\n", "[Validation] Batch ID = 19860, loss = 0.0444661, acc = 0.96\n", "[Train] Batch ID = 19870, loss = 0.196496, acc = 0.84\n", "[Validation] Batch ID = 19870, loss = 0.0584654, acc = 0.96\n", "[Train] Batch ID = 19880, loss = 0.0106054, acc = 1.0\n", "[Validation] Batch ID = 19880, loss = 0.0491776, acc = 0.96\n", "[Train] Batch ID = 19890, loss = 0.209501, acc = 0.8\n", "[Validation] Batch ID = 19890, loss = 0.0457294, acc = 0.94\n", "[Train] Batch ID = 19900, loss = 0.00547643, acc = 1.0\n", "[Validation] Batch ID = 19900, loss = 0.0377415, acc = 0.96\n", "[Train] Batch ID = 19910, loss = 0.00756409, acc = 1.0\n", "[Validation] Batch ID = 19910, loss = 0.0408649, acc = 0.98\n", "[Train] Batch ID = 19920, loss = 0.00516333, acc = 1.0\n", "[Validation] Batch ID = 19920, loss = 0.0392364, acc = 0.98\n", "[Train] Batch ID = 19930, loss = 0.0118275, acc = 1.0\n", "[Validation] Batch ID = 19930, loss = 0.0384568, acc = 0.98\n", "[Train] Batch ID = 19940, loss = 0.0162089, acc = 0.98\n", "[Validation] Batch ID = 19940, loss = 0.0264268, acc = 0.98\n", "[Train] Batch ID = 19950, loss = 0.23852, acc = 0.76\n", "[Validation] Batch ID = 19950, loss = 0.0439335, acc = 0.96\n", "[Train] Batch ID = 19960, loss = 0.0120941, acc = 1.0\n", "[Validation] Batch ID = 19960, loss = 0.0560773, acc = 0.96\n", "[Train] Batch ID = 19970, loss = 0.00970779, acc = 1.0\n", "[Validation] Batch ID = 19970, loss = 0.0310208, acc = 1.0\n", "[Train] Batch ID = 19980, loss = 0.00542317, acc = 1.0\n", "[Validation] Batch ID = 19980, loss = 0.0466412, acc = 0.98\n", "[Train] Batch ID = 19990, loss = 0.00734296, acc = 1.0\n", "[Validation] Batch ID = 19990, loss = 0.0440015, acc = 0.96\n", "[Train] Batch ID = 20000, loss = 0.225339, acc = 0.76\n", "[Validation] Batch ID = 20000, loss = 0.0204207, acc = 1.0\n", "Evaluate full validation dataset ...\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "ModelBase::Saving model ...\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Current loss: 0.0408133 Best loss: 0.04133\n", "[TOTAL Validation] Batch ID = 20000, loss = 0.0408133, acc = 0.969387755102\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "ModelBase::Model successfully saved here: outputs/checkpoints/c1s_9_c1n_256_c2s_6_c2n_64_c2d_0.7_c1vl_16_c1s_5_c1nf_16_c2vl_32_lr_0.0001_rs_1--TrafficSign--1510487290.423481\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Augmented Factor = 0.10832479924019728\n", "[Train] Batch ID = 20010, loss = 0.0121621, acc = 1.0\n", "[Validation] Batch ID = 20010, loss = 0.0591486, acc = 0.96\n", "[Train] Batch ID = 20020, loss = 0.00480423, acc = 1.0\n", "[Validation] Batch ID = 20020, loss = 0.0150694, acc = 1.0\n", "[Train] Batch ID = 20030, loss = 0.00492804, acc = 1.0\n", "[Validation] Batch ID = 20030, loss = 0.0209972, acc = 1.0\n", "[Train] Batch ID = 20040, loss = 0.00766971, acc = 1.0\n", "[Validation] Batch ID = 20040, loss = 0.0376517, acc = 0.98\n", "[Train] Batch ID = 20050, loss = 0.00550816, acc = 1.0\n", "[Validation] Batch ID = 20050, loss = 0.0319362, acc = 1.0\n", "[Train] Batch ID = 20060, loss = 0.011221, acc = 1.0\n", "[Validation] Batch ID = 20060, loss = 0.0436221, acc = 0.98\n", "[Train] Batch ID = 20070, loss = 0.00795804, acc = 1.0\n", "[Validation] Batch ID = 20070, loss = 0.0520479, acc = 0.96\n", "[Train] Batch ID = 20080, loss = 0.00787, acc = 1.0\n", "[Validation] Batch ID = 20080, loss = 0.0704649, acc = 0.92\n", "[Train] Batch ID = 20090, loss = 0.00772897, acc = 1.0\n", "[Validation] Batch ID = 20090, loss = 0.0586643, acc = 0.94\n", "[Train] Batch ID = 20100, loss = 0.00774926, acc = 1.0\n", "[Validation] Batch ID = 20100, loss = 0.0289221, acc = 1.0\n", "[Train] Batch ID = 20110, loss = 0.00551302, acc = 1.0\n", "[Validation] Batch ID = 20110, loss = 0.049123, acc = 0.96\n", "[Train] Batch ID = 20120, loss = 0.00561796, acc = 1.0\n", "[Validation] Batch ID = 20120, loss = 0.0725273, acc = 0.92\n", "[Train] Batch ID = 20130, loss = 0.00634792, acc = 1.0\n", "[Validation] Batch ID = 20130, loss = 0.0231948, acc = 0.98\n", "[Train] Batch ID = 20140, loss = 0.00705518, acc = 1.0\n", "[Validation] Batch ID = 20140, loss = 0.0348869, acc = 0.98\n", "[Train] Batch ID = 20150, loss = 0.00427323, acc = 1.0\n", "[Validation] Batch ID = 20150, loss = 0.0156809, acc = 1.0\n", "[Train] Batch ID = 20160, loss = 0.00735411, acc = 1.0\n", "[Validation] Batch ID = 20160, loss = 0.0435082, acc = 0.98\n", "[Train] Batch ID = 20170, loss = 0.00650522, acc = 1.0\n", "[Validation] Batch ID = 20170, loss = 0.0352256, acc = 0.96\n", "[Train] Batch ID = 20180, loss = 0.00547402, acc = 1.0\n", "[Validation] Batch ID = 20180, loss = 0.035118, acc = 1.0\n", "[Train] Batch ID = 20190, loss = 0.15671, acc = 0.9\n", "[Validation] Batch ID = 20190, loss = 0.0343312, acc = 0.96\n", "[Train] Batch ID = 20200, loss = 0.00999631, acc = 1.0\n", "[Validation] Batch ID = 20200, loss = 0.0285852, acc = 0.98\n", "[Train] Batch ID = 20210, loss = 0.00336887, acc = 1.0\n", "[Validation] Batch ID = 20210, loss = 0.0198216, acc = 1.0\n", "[Train] Batch ID = 20220, loss = 0.00530345, acc = 1.0\n", "[Validation] Batch ID = 20220, loss = 0.0456875, acc = 0.98\n", "[Train] Batch ID = 20230, loss = 0.00605041, acc = 1.0\n", "[Validation] Batch ID = 20230, loss = 0.0300056, acc = 0.96\n", "[Train] Batch ID = 20240, loss = 0.00620132, acc = 1.0\n", "[Validation] Batch ID = 20240, loss = 0.0413816, acc = 0.98\n", "[Train] Batch ID = 20250, loss = 0.00831628, acc = 1.0\n", "[Validation] Batch ID = 20250, loss = 0.0414614, acc = 0.96\n", "[Train] Batch ID = 20260, loss = 0.0050357, acc = 1.0\n", "[Validation] Batch ID = 20260, loss = 0.0247127, acc = 0.98\n", "[Train] Batch ID = 20270, loss = 0.00407688, acc = 1.0\n", "[Validation] Batch ID = 20270, loss = 0.0390399, acc = 0.96\n", "[Train] Batch ID = 20280, loss = 0.00334446, acc = 1.0\n", "[Validation] Batch ID = 20280, loss = 0.0212297, acc = 1.0\n", "[Train] Batch ID = 20290, loss = 0.222736, acc = 0.8\n", "[Validation] Batch ID = 20290, loss = 0.0459547, acc = 0.96\n", "[Train] Batch ID = 20300, loss = 0.194667, acc = 0.8\n", "[Validation] Batch ID = 20300, loss = 0.0214653, acc = 1.0\n", "[Train] Batch ID = 20310, loss = 0.00975947, acc = 1.0\n", "[Validation] Batch ID = 20310, loss = 0.0414093, acc = 0.96\n", "[Train] Batch ID = 20320, loss = 0.00802601, acc = 1.0\n", "[Validation] Batch ID = 20320, loss = 0.0223646, acc = 1.0\n", "[Train] Batch ID = 20330, loss = 0.00492601, acc = 1.0\n", "[Validation] Batch ID = 20330, loss = 0.0472553, acc = 0.96\n", "[Train] Batch ID = 20340, loss = 0.00417772, acc = 1.0\n", "[Validation] Batch ID = 20340, loss = 0.0310175, acc = 0.96\n", "[Train] Batch ID = 20350, loss = 0.191255, acc = 0.86\n", "[Validation] Batch ID = 20350, loss = 0.0371954, acc = 0.98\n", "[Train] Batch ID = 20360, loss = 0.00456744, acc = 1.0\n", "[Validation] Batch ID = 20360, loss = 0.0228792, acc = 1.0\n", "[Train] Batch ID = 20370, loss = 0.198478, acc = 0.78\n", "[Validation] Batch ID = 20370, loss = 0.0282234, acc = 0.98\n", "[Train] Batch ID = 20380, loss = 0.00521678, acc = 1.0\n", "[Validation] Batch ID = 20380, loss = 0.0126037, acc = 1.0\n", "[Train] Batch ID = 20390, loss = 0.00319034, acc = 1.0\n", "[Validation] Batch ID = 20390, loss = 0.0265952, acc = 0.98\n", "[Train] Batch ID = 20400, loss = 0.00769903, acc = 1.0\n", "[Validation] Batch ID = 20400, loss = 0.0362417, acc = 0.98\n", "[Train] Batch ID = 20410, loss = 0.00902145, acc = 1.0\n", "[Validation] Batch ID = 20410, loss = 0.0570795, acc = 0.94\n", "[Train] Batch ID = 20420, loss = 0.193253, acc = 0.88\n", "[Validation] Batch ID = 20420, loss = 0.0213505, acc = 0.98\n", "[Train] Batch ID = 20430, loss = 0.00455042, acc = 1.0\n", "[Validation] Batch ID = 20430, loss = 0.0342416, acc = 1.0\n", "[Train] Batch ID = 20440, loss = 0.00540219, acc = 1.0\n", "[Validation] Batch ID = 20440, loss = 0.0325335, acc = 0.96\n", "[Train] Batch ID = 20450, loss = 0.181073, acc = 0.86\n", "[Validation] Batch ID = 20450, loss = 0.0223338, acc = 1.0\n", "[Train] Batch ID = 20460, loss = 0.00766363, acc = 1.0\n", "[Validation] Batch ID = 20460, loss = 0.0261662, acc = 0.98\n", "[Train] Batch ID = 20470, loss = 0.00537412, acc = 1.0\n", "[Validation] Batch ID = 20470, loss = 0.0493043, acc = 0.94\n", "[Train] Batch ID = 20480, loss = 0.00675913, acc = 1.0\n", "[Validation] Batch ID = 20480, loss = 0.0405768, acc = 0.94\n", "[Train] Batch ID = 20490, loss = 0.0061647, acc = 1.0\n", "[Validation] Batch ID = 20490, loss = 0.034673, acc = 0.98\n", "[Train] Batch ID = 20500, loss = 0.00453477, acc = 1.0\n", "[Validation] Batch ID = 20500, loss = 0.0274262, acc = 0.98\n", "[Train] Batch ID = 20510, loss = 0.00350715, acc = 1.0\n", "[Validation] Batch ID = 20510, loss = 0.0270086, acc = 1.0\n", "[Train] Batch ID = 20520, loss = 0.00755004, acc = 1.0\n", "[Validation] Batch ID = 20520, loss = 0.0203623, acc = 0.98\n", "[Train] Batch ID = 20530, loss = 0.009068, acc = 0.98\n", "[Validation] Batch ID = 20530, loss = 0.0379256, acc = 0.96\n", "[Train] Batch ID = 20540, loss = 0.00219789, acc = 1.0\n", "[Validation] Batch ID = 20540, loss = 0.0219598, acc = 0.98\n", "[Train] Batch ID = 20550, loss = 0.00390856, acc = 1.0\n", "[Validation] Batch ID = 20550, loss = 0.0370144, acc = 0.96\n", "[Train] Batch ID = 20560, loss = 0.245962, acc = 0.76\n", "[Validation] Batch ID = 20560, loss = 0.0272631, acc = 1.0\n", "[Train] Batch ID = 20570, loss = 0.00575062, acc = 1.0\n", "[Validation] Batch ID = 20570, loss = 0.0368936, acc = 0.98\n", "[Train] Batch ID = 20580, loss = 0.00955593, acc = 1.0\n", "[Validation] Batch ID = 20580, loss = 0.0127142, acc = 1.0\n", "[Train] Batch ID = 20590, loss = 0.0080051, acc = 1.0\n", "[Validation] Batch ID = 20590, loss = 0.0342584, acc = 0.98\n", "[Train] Batch ID = 20600, loss = 0.00939621, acc = 1.0\n", "[Validation] Batch ID = 20600, loss = 0.0483837, acc = 0.96\n", "[Train] Batch ID = 20610, loss = 0.00983075, acc = 1.0\n", "[Validation] Batch ID = 20610, loss = 0.0550517, acc = 0.94\n", "[Train] Batch ID = 20620, loss = 0.00426098, acc = 1.0\n", "[Validation] Batch ID = 20620, loss = 0.0235564, acc = 1.0\n", "[Train] Batch ID = 20630, loss = 0.00686548, acc = 1.0\n", "[Validation] Batch ID = 20630, loss = 0.0230309, acc = 1.0\n", "[Train] Batch ID = 20640, loss = 0.00705257, acc = 1.0\n", "[Validation] Batch ID = 20640, loss = 0.0427395, acc = 0.98\n", "[Train] Batch ID = 20650, loss = 0.00557387, acc = 1.0\n", "[Validation] Batch ID = 20650, loss = 0.0177188, acc = 1.0\n", "[Train] Batch ID = 20660, loss = 0.00582847, acc = 1.0\n", "[Validation] Batch ID = 20660, loss = 0.0465941, acc = 0.96\n", "[Train] Batch ID = 20670, loss = 0.00516201, acc = 1.0\n", "[Validation] Batch ID = 20670, loss = 0.0317679, acc = 0.96\n", "[Train] Batch ID = 20680, loss = 0.217427, acc = 0.88\n", "[Validation] Batch ID = 20680, loss = 0.025204, acc = 0.98\n", "[Train] Batch ID = 20690, loss = 0.0123076, acc = 1.0\n", "[Validation] Batch ID = 20690, loss = 0.0552725, acc = 0.96\n", "[Train] Batch ID = 20700, loss = 0.00655903, acc = 1.0\n", "[Validation] Batch ID = 20700, loss = 0.0344553, acc = 0.98\n", "[Train] Batch ID = 20710, loss = 0.00746698, acc = 1.0\n", "[Validation] Batch ID = 20710, loss = 0.0227591, acc = 0.98\n", "[Train] Batch ID = 20720, loss = 0.0110315, acc = 1.0\n", "[Validation] Batch ID = 20720, loss = 0.0206049, acc = 1.0\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "[Train] Batch ID = 20730, loss = 0.00851594, acc = 1.0\n", "[Validation] Batch ID = 20730, loss = 0.0396499, acc = 0.98\n", "[Train] Batch ID = 20740, loss = 0.0115291, acc = 1.0\n", "[Validation] Batch ID = 20740, loss = 0.048915, acc = 0.94\n", "[Train] Batch ID = 20750, loss = 0.00939869, acc = 1.0\n", "[Validation] Batch ID = 20750, loss = 0.0433844, acc = 0.98\n", "[Train] Batch ID = 20760, loss = 0.189632, acc = 0.88\n", "[Validation] Batch ID = 20760, loss = 0.0395905, acc = 0.98\n", "[Train] Batch ID = 20770, loss = 0.00678353, acc = 1.0\n", "[Validation] Batch ID = 20770, loss = 0.0294514, acc = 0.98\n", "[Train] Batch ID = 20780, loss = 0.00929747, acc = 1.0\n", "[Validation] Batch ID = 20780, loss = 0.0319454, acc = 0.98\n", "[Train] Batch ID = 20790, loss = 0.00438841, acc = 1.0\n", "[Validation] Batch ID = 20790, loss = 0.0323237, acc = 0.98\n", "[Train] Batch ID = 20800, loss = 0.00659886, acc = 1.0\n", "[Validation] Batch ID = 20800, loss = 0.0405213, acc = 0.98\n", "[Train] Batch ID = 20810, loss = 0.010327, acc = 1.0\n", "[Validation] Batch ID = 20810, loss = 0.0420512, acc = 0.96\n", "[Train] Batch ID = 20820, loss = 0.19306, acc = 0.84\n", "[Validation] Batch ID = 20820, loss = 0.053638, acc = 0.94\n", "[Train] Batch ID = 20830, loss = 0.00845104, acc = 1.0\n", "[Validation] Batch ID = 20830, loss = 0.0292836, acc = 0.98\n", "[Train] Batch ID = 20840, loss = 0.00874292, acc = 1.0\n", "[Validation] Batch ID = 20840, loss = 0.0370622, acc = 0.94\n", "[Train] Batch ID = 20850, loss = 0.00738273, acc = 1.0\n", "[Validation] Batch ID = 20850, loss = 0.017642, acc = 0.98\n", "[Train] Batch ID = 20860, loss = 0.00575704, acc = 1.0\n", "[Validation] Batch ID = 20860, loss = 0.0482965, acc = 0.98\n", "[Train] Batch ID = 20870, loss = 0.00539798, acc = 1.0\n", "[Validation] Batch ID = 20870, loss = 0.0752459, acc = 0.92\n", "[Train] Batch ID = 20880, loss = 0.19607, acc = 0.82\n", "[Validation] Batch ID = 20880, loss = 0.0252192, acc = 0.98\n", "[Train] Batch ID = 20890, loss = 0.00597661, acc = 1.0\n", "[Validation] Batch ID = 20890, loss = 0.043592, acc = 0.98\n", "[Train] Batch ID = 20900, loss = 0.0101745, acc = 1.0\n", "[Validation] Batch ID = 20900, loss = 0.0232427, acc = 1.0\n", "[Train] Batch ID = 20910, loss = 0.22139, acc = 0.84\n", "[Validation] Batch ID = 20910, loss = 0.0352304, acc = 0.96\n", "[Train] Batch ID = 20920, loss = 0.0114474, acc = 1.0\n", "[Validation] Batch ID = 20920, loss = 0.0706945, acc = 0.9\n", "[Train] Batch ID = 20930, loss = 0.00519587, acc = 1.0\n", "[Validation] Batch ID = 20930, loss = 0.0287194, acc = 0.98\n", "[Train] Batch ID = 20940, loss = 0.00789449, acc = 1.0\n", "[Validation] Batch ID = 20940, loss = 0.0279124, acc = 0.98\n", "[Train] Batch ID = 20950, loss = 0.00591379, acc = 1.0\n", "[Validation] Batch ID = 20950, loss = 0.0503473, acc = 0.96\n", "[Train] Batch ID = 20960, loss = 0.00515597, acc = 1.0\n", "[Validation] Batch ID = 20960, loss = 0.0435386, acc = 0.94\n", "[Train] Batch ID = 20970, loss = 0.231183, acc = 0.76\n", "[Validation] Batch ID = 20970, loss = 0.0418741, acc = 0.98\n", "[Train] Batch ID = 20980, loss = 0.00501432, acc = 1.0\n", "[Validation] Batch ID = 20980, loss = 0.0235779, acc = 1.0\n", "[Train] Batch ID = 20990, loss = 0.0125432, acc = 1.0\n", "[Validation] Batch ID = 20990, loss = 0.0442443, acc = 0.94\n", "[Train] Batch ID = 21000, loss = 0.00539237, acc = 1.0\n", "[Validation] Batch ID = 21000, loss = 0.0342983, acc = 0.98\n", "Evaluate full validation dataset ...\n", "Current loss: 0.0431974 Best loss: 0.0408133\n", "[TOTAL Validation] Batch ID = 21000, loss = 0.0431974, acc = 0.97074829932\n", "Augmented Factor = 0.09749231931617755\n", "[Train] Batch ID = 21010, loss = 0.00592436, acc = 1.0\n", "[Validation] Batch ID = 21010, loss = 0.0442082, acc = 0.96\n", "[Train] Batch ID = 21020, loss = 0.00853046, acc = 1.0\n", "[Validation] Batch ID = 21020, loss = 0.021082, acc = 1.0\n", "[Train] Batch ID = 21030, loss = 0.00612076, acc = 1.0\n", "[Validation] Batch ID = 21030, loss = 0.0386014, acc = 1.0\n", "[Train] Batch ID = 21040, loss = 0.00284419, acc = 1.0\n", "[Validation] Batch ID = 21040, loss = 0.050859, acc = 0.94\n", "[Train] Batch ID = 21050, loss = 0.215822, acc = 0.8\n", "[Validation] Batch ID = 21050, loss = 0.0445488, acc = 0.98\n", "[Train] Batch ID = 21060, loss = 0.00784949, acc = 1.0\n", "[Validation] Batch ID = 21060, loss = 0.0266466, acc = 1.0\n", "[Train] Batch ID = 21070, loss = 0.00580367, acc = 1.0\n", "[Validation] Batch ID = 21070, loss = 0.0348349, acc = 0.98\n", "[Train] Batch ID = 21080, loss = 0.00470474, acc = 1.0\n", "[Validation] Batch ID = 21080, loss = 0.0411613, acc = 0.98\n", "[Train] Batch ID = 21090, loss = 0.00392595, acc = 1.0\n", "[Validation] Batch ID = 21090, loss = 0.0277769, acc = 0.98\n", "[Train] Batch ID = 21100, loss = 0.00685797, acc = 1.0\n", "[Validation] Batch ID = 21100, loss = 0.0348169, acc = 0.98\n", "[Train] Batch ID = 21110, loss = 0.010224, acc = 1.0\n", "[Validation] Batch ID = 21110, loss = 0.0382668, acc = 0.96\n", "[Train] Batch ID = 21120, loss = 0.0101437, acc = 1.0\n", "[Validation] Batch ID = 21120, loss = 0.0196411, acc = 1.0\n", "[Train] Batch ID = 21130, loss = 0.00685346, acc = 1.0\n", "[Validation] Batch ID = 21130, loss = 0.0361198, acc = 1.0\n", "[Train] Batch ID = 21140, loss = 0.00427253, acc = 1.0\n", "[Validation] Batch ID = 21140, loss = 0.0258955, acc = 1.0\n", "[Train] Batch ID = 21150, loss = 0.00844198, acc = 1.0\n", "[Validation] Batch ID = 21150, loss = 0.0191694, acc = 0.98\n", "[Train] Batch ID = 21160, loss = 0.00512653, acc = 1.0\n", "[Validation] Batch ID = 21160, loss = 0.0374565, acc = 0.98\n", "[Train] Batch ID = 21170, loss = 0.00696004, acc = 1.0\n", "[Validation] Batch ID = 21170, loss = 0.0454637, acc = 0.96\n", "[Train] Batch ID = 21180, loss = 0.00375915, acc = 1.0\n", "[Validation] Batch ID = 21180, loss = 0.046177, acc = 0.96\n", "[Train] Batch ID = 21190, loss = 0.00579243, acc = 1.0\n", "[Validation] Batch ID = 21190, loss = 0.0327552, acc = 0.98\n", "[Train] Batch ID = 21200, loss = 0.00328368, acc = 1.0\n", "[Validation] Batch ID = 21200, loss = 0.0422119, acc = 0.96\n", "[Train] Batch ID = 21210, loss = 0.0100822, acc = 1.0\n", "[Validation] Batch ID = 21210, loss = 0.0453153, acc = 0.96\n", "[Train] Batch ID = 21220, loss = 0.300039, acc = 0.64\n", "[Validation] Batch ID = 21220, loss = 0.0481353, acc = 0.94\n", "[Train] Batch ID = 21230, loss = 0.00564377, acc = 1.0\n", "[Validation] Batch ID = 21230, loss = 0.018417, acc = 1.0\n", "[Train] Batch ID = 21240, loss = 0.00638278, acc = 1.0\n", "[Validation] Batch ID = 21240, loss = 0.0289168, acc = 1.0\n", "[Train] Batch ID = 21250, loss = 0.0151131, acc = 1.0\n", "[Validation] Batch ID = 21250, loss = 0.0152897, acc = 1.0\n", "[Train] Batch ID = 21260, loss = 0.00540018, acc = 1.0\n", "[Validation] Batch ID = 21260, loss = 0.0486957, acc = 0.92\n", "[Train] Batch ID = 21270, loss = 0.00416173, acc = 1.0\n", "[Validation] Batch ID = 21270, loss = 0.02185, acc = 1.0\n", "[Train] Batch ID = 21280, loss = 0.00424879, acc = 1.0\n", "[Validation] Batch ID = 21280, loss = 0.0267887, acc = 1.0\n", "[Train] Batch ID = 21290, loss = 0.00989814, acc = 1.0\n", "[Validation] Batch ID = 21290, loss = 0.0395895, acc = 0.98\n", "[Train] Batch ID = 21300, loss = 0.00658225, acc = 1.0\n", "[Validation] Batch ID = 21300, loss = 0.0221687, acc = 1.0\n", "[Train] Batch ID = 21310, loss = 0.00279934, acc = 1.0\n", "[Validation] Batch ID = 21310, loss = 0.0341257, acc = 0.98\n", "[Train] Batch ID = 21320, loss = 0.00695036, acc = 1.0\n", "[Validation] Batch ID = 21320, loss = 0.0231302, acc = 1.0\n", "[Train] Batch ID = 21330, loss = 0.00335412, acc = 1.0\n", "[Validation] Batch ID = 21330, loss = 0.0368639, acc = 0.98\n", "[Train] Batch ID = 21340, loss = 0.00415824, acc = 1.0\n", "[Validation] Batch ID = 21340, loss = 0.0314373, acc = 0.98\n", "[Train] Batch ID = 21350, loss = 0.00730634, acc = 1.0\n", "[Validation] Batch ID = 21350, loss = 0.0306796, acc = 1.0\n", "[Train] Batch ID = 21360, loss = 0.0113712, acc = 1.0\n", "[Validation] Batch ID = 21360, loss = 0.0193513, acc = 1.0\n", "[Train] Batch ID = 21370, loss = 0.0118525, acc = 1.0\n", "[Validation] Batch ID = 21370, loss = 0.0336994, acc = 0.98\n", "[Train] Batch ID = 21380, loss = 0.227269, acc = 0.84\n", "[Validation] Batch ID = 21380, loss = 0.0185052, acc = 1.0\n", "[Train] Batch ID = 21390, loss = 0.00752672, acc = 1.0\n", "[Validation] Batch ID = 21390, loss = 0.0422564, acc = 0.98\n", "[Train] Batch ID = 21400, loss = 0.00426913, acc = 1.0\n", "[Validation] Batch ID = 21400, loss = 0.0480888, acc = 0.94\n", "[Train] Batch ID = 21410, loss = 0.00875716, acc = 1.0\n", "[Validation] Batch ID = 21410, loss = 0.0318833, acc = 0.98\n", "[Train] Batch ID = 21420, loss = 0.00469748, acc = 1.0\n", "[Validation] Batch ID = 21420, loss = 0.0326736, acc = 0.96\n", "[Train] Batch ID = 21430, loss = 0.0107814, acc = 1.0\n", "[Validation] Batch ID = 21430, loss = 0.0587397, acc = 0.94\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "[Train] Batch ID = 21440, loss = 0.00819353, acc = 1.0\n", "[Validation] Batch ID = 21440, loss = 0.0722991, acc = 0.94\n", "[Train] Batch ID = 21450, loss = 0.00703784, acc = 1.0\n", "[Validation] Batch ID = 21450, loss = 0.0249033, acc = 0.98\n", "[Train] Batch ID = 21460, loss = 0.00469719, acc = 1.0\n", "[Validation] Batch ID = 21460, loss = 0.0303085, acc = 0.98\n", "[Train] Batch ID = 21470, loss = 0.0093959, acc = 1.0\n", "[Validation] Batch ID = 21470, loss = 0.0357923, acc = 0.96\n", "[Train] Batch ID = 21480, loss = 0.00955168, acc = 1.0\n", "[Validation] Batch ID = 21480, loss = 0.0534843, acc = 0.96\n", "[Train] Batch ID = 21490, loss = 0.00721632, acc = 1.0\n", "[Validation] Batch ID = 21490, loss = 0.0456211, acc = 0.98\n", "[Train] Batch ID = 21500, loss = 0.237272, acc = 0.74\n", "[Validation] Batch ID = 21500, loss = 0.0496843, acc = 0.96\n", "[Train] Batch ID = 21510, loss = 0.00778127, acc = 1.0\n", "[Validation] Batch ID = 21510, loss = 0.0422689, acc = 0.98\n", "[Train] Batch ID = 21520, loss = 0.00959985, acc = 1.0\n", "[Validation] Batch ID = 21520, loss = 0.0235647, acc = 1.0\n", "[Train] Batch ID = 21530, loss = 0.0068779, acc = 1.0\n", "[Validation] Batch ID = 21530, loss = 0.0246928, acc = 1.0\n", "[Train] Batch ID = 21540, loss = 0.00397836, acc = 1.0\n", "[Validation] Batch ID = 21540, loss = 0.0326337, acc = 0.98\n", "[Train] Batch ID = 21550, loss = 0.00487709, acc = 1.0\n", "[Validation] Batch ID = 21550, loss = 0.0297762, acc = 0.96\n", "[Train] Batch ID = 21560, loss = 0.0097123, acc = 1.0\n", "[Validation] Batch ID = 21560, loss = 0.02665, acc = 0.98\n", "[Train] Batch ID = 21570, loss = 0.0133579, acc = 1.0\n", "[Validation] Batch ID = 21570, loss = 0.0276386, acc = 1.0\n", "[Train] Batch ID = 21580, loss = 0.00470994, acc = 1.0\n", "[Validation] Batch ID = 21580, loss = 0.0287187, acc = 0.98\n", "[Train] Batch ID = 21590, loss = 0.00426484, acc = 1.0\n", "[Validation] Batch ID = 21590, loss = 0.0251738, acc = 1.0\n", "[Train] Batch ID = 21600, loss = 0.00622298, acc = 1.0\n", "[Validation] Batch ID = 21600, loss = 0.0271167, acc = 1.0\n", "[Train] Batch ID = 21610, loss = 0.00735414, acc = 1.0\n", "[Validation] Batch ID = 21610, loss = 0.0335143, acc = 0.96\n", "[Train] Batch ID = 21620, loss = 0.0116956, acc = 1.0\n", "[Validation] Batch ID = 21620, loss = 0.0272462, acc = 1.0\n", "[Train] Batch ID = 21630, loss = 0.00832986, acc = 1.0\n", "[Validation] Batch ID = 21630, loss = 0.0345959, acc = 0.98\n", "[Train] Batch ID = 21640, loss = 0.00510451, acc = 1.0\n", "[Validation] Batch ID = 21640, loss = 0.020501, acc = 1.0\n", "[Train] Batch ID = 21650, loss = 0.00390019, acc = 1.0\n", "[Validation] Batch ID = 21650, loss = 0.0172508, acc = 1.0\n", "[Train] Batch ID = 21660, loss = 0.00835681, acc = 1.0\n", "[Validation] Batch ID = 21660, loss = 0.0300294, acc = 0.98\n", "[Train] Batch ID = 21670, loss = 0.00759623, acc = 1.0\n", "[Validation] Batch ID = 21670, loss = 0.0248139, acc = 0.98\n", "[Train] Batch ID = 21680, loss = 0.193899, acc = 0.84\n", "[Validation] Batch ID = 21680, loss = 0.040721, acc = 0.98\n", "[Train] Batch ID = 21690, loss = 0.0104687, acc = 1.0\n", "[Validation] Batch ID = 21690, loss = 0.039279, acc = 0.98\n", "[Train] Batch ID = 21700, loss = 0.00675484, acc = 1.0\n", "[Validation] Batch ID = 21700, loss = 0.0225968, acc = 1.0\n", "[Train] Batch ID = 21710, loss = 0.00623222, acc = 1.0\n", "[Validation] Batch ID = 21710, loss = 0.0178677, acc = 1.0\n", "[Train] Batch ID = 21720, loss = 0.00749648, acc = 1.0\n", "[Validation] Batch ID = 21720, loss = 0.0230085, acc = 0.98\n", "[Train] Batch ID = 21730, loss = 0.00276606, acc = 1.0\n", "[Validation] Batch ID = 21730, loss = 0.0549673, acc = 0.94\n", "[Train] Batch ID = 21740, loss = 0.0135969, acc = 1.0\n", "[Validation] Batch ID = 21740, loss = 0.0340798, acc = 0.98\n", "[Train] Batch ID = 21750, loss = 0.00821518, acc = 1.0\n", "[Validation] Batch ID = 21750, loss = 0.0306354, acc = 0.98\n", "[Train] Batch ID = 21760, loss = 0.00762272, acc = 1.0\n", "[Validation] Batch ID = 21760, loss = 0.0364297, acc = 0.98\n", "[Train] Batch ID = 21770, loss = 0.00434228, acc = 1.0\n", "[Validation] Batch ID = 21770, loss = 0.0254823, acc = 1.0\n", "[Train] Batch ID = 21780, loss = 0.00801967, acc = 1.0\n", "[Validation] Batch ID = 21780, loss = 0.0243194, acc = 0.98\n", "[Train] Batch ID = 21790, loss = 0.191941, acc = 0.86\n", "[Validation] Batch ID = 21790, loss = 0.0414873, acc = 0.96\n", "[Train] Batch ID = 21800, loss = 0.00564439, acc = 1.0\n", "[Validation] Batch ID = 21800, loss = 0.0345359, acc = 1.0\n", "[Train] Batch ID = 21810, loss = 0.00623545, acc = 1.0\n", "[Validation] Batch ID = 21810, loss = 0.053455, acc = 0.94\n", "[Train] Batch ID = 21820, loss = 0.00478596, acc = 1.0\n", "[Validation] Batch ID = 21820, loss = 0.0407292, acc = 0.96\n", "[Train] Batch ID = 21830, loss = 0.00727211, acc = 1.0\n", "[Validation] Batch ID = 21830, loss = 0.0221803, acc = 1.0\n", "[Train] Batch ID = 21840, loss = 0.00499463, acc = 1.0\n", "[Validation] Batch ID = 21840, loss = 0.0414901, acc = 0.98\n", "[Train] Batch ID = 21850, loss = 0.00431849, acc = 1.0\n", "[Validation] Batch ID = 21850, loss = 0.0279297, acc = 0.96\n", "[Train] Batch ID = 21860, loss = 0.00340977, acc = 1.0\n", "[Validation] Batch ID = 21860, loss = 0.0304325, acc = 1.0\n", "[Train] Batch ID = 21870, loss = 0.00696346, acc = 1.0\n", "[Validation] Batch ID = 21870, loss = 0.042514, acc = 0.94\n", "[Train] Batch ID = 21880, loss = 0.00543841, acc = 1.0\n", "[Validation] Batch ID = 21880, loss = 0.0156339, acc = 1.0\n", "[Train] Batch ID = 21890, loss = 0.00613783, acc = 1.0\n", "[Validation] Batch ID = 21890, loss = 0.0588162, acc = 0.94\n", "[Train] Batch ID = 21900, loss = 0.0102281, acc = 1.0\n", "[Validation] Batch ID = 21900, loss = 0.0152144, acc = 1.0\n", "[Train] Batch ID = 21910, loss = 0.0106926, acc = 1.0\n", "[Validation] Batch ID = 21910, loss = 0.0208854, acc = 1.0\n", "[Train] Batch ID = 21920, loss = 0.00315863, acc = 1.0\n", "[Validation] Batch ID = 21920, loss = 0.0327086, acc = 0.96\n", "[Train] Batch ID = 21930, loss = 0.00495168, acc = 1.0\n", "[Validation] Batch ID = 21930, loss = 0.0304635, acc = 0.96\n", "[Train] Batch ID = 21940, loss = 0.00887312, acc = 1.0\n", "[Validation] Batch ID = 21940, loss = 0.0522316, acc = 0.92\n", "[Train] Batch ID = 21950, loss = 0.00834389, acc = 1.0\n", "[Validation] Batch ID = 21950, loss = 0.0461208, acc = 0.96\n", "[Train] Batch ID = 21960, loss = 0.00461226, acc = 1.0\n", "[Validation] Batch ID = 21960, loss = 0.0254629, acc = 0.98\n", "[Train] Batch ID = 21970, loss = 0.00934333, acc = 1.0\n", "[Validation] Batch ID = 21970, loss = 0.0391716, acc = 0.96\n", "[Train] Batch ID = 21980, loss = 0.00504281, acc = 1.0\n", "[Validation] Batch ID = 21980, loss = 0.0285056, acc = 1.0\n", "[Train] Batch ID = 21990, loss = 0.00461622, acc = 1.0\n", "[Validation] Batch ID = 21990, loss = 0.0301025, acc = 0.98\n", "[Train] Batch ID = 22000, loss = 0.275685, acc = 0.7\n", "[Validation] Batch ID = 22000, loss = 0.0314925, acc = 0.98\n", "Evaluate full validation dataset ...\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "ModelBase::Saving model ...\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Current loss: 0.0364358 Best loss: 0.0408133\n", "[TOTAL Validation] Batch ID = 22000, loss = 0.0364358, acc = 0.971201814059\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "ModelBase::Model successfully saved here: outputs/checkpoints/c1s_9_c1n_256_c2s_6_c2n_64_c2d_0.7_c1vl_16_c1s_5_c1nf_16_c2vl_32_lr_0.0001_rs_1--TrafficSign--1510487290.423481\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Augmented Factor = 0.0877430873845598\n", "[Train] Batch ID = 22010, loss = 0.00551307, acc = 1.0\n", "[Validation] Batch ID = 22010, loss = 0.0424847, acc = 0.98\n", "[Train] Batch ID = 22020, loss = 0.00857473, acc = 1.0\n", "[Validation] Batch ID = 22020, loss = 0.0304986, acc = 0.98\n", "[Train] Batch ID = 22030, loss = 0.203924, acc = 0.82\n", "[Validation] Batch ID = 22030, loss = 0.0314662, acc = 0.98\n", "[Train] Batch ID = 22040, loss = 0.00704941, acc = 1.0\n", "[Validation] Batch ID = 22040, loss = 0.0315909, acc = 0.96\n", "[Train] Batch ID = 22050, loss = 0.00411784, acc = 1.0\n", "[Validation] Batch ID = 22050, loss = 0.0529924, acc = 0.98\n", "[Train] Batch ID = 22060, loss = 0.00745677, acc = 1.0\n", "[Validation] Batch ID = 22060, loss = 0.0383155, acc = 0.98\n", "[Train] Batch ID = 22070, loss = 0.00996044, acc = 1.0\n", "[Validation] Batch ID = 22070, loss = 0.0193286, acc = 1.0\n", "[Train] Batch ID = 22080, loss = 0.0041457, acc = 1.0\n", "[Validation] Batch ID = 22080, loss = 0.046597, acc = 0.98\n", "[Train] Batch ID = 22090, loss = 0.00480041, acc = 1.0\n", "[Validation] Batch ID = 22090, loss = 0.0534372, acc = 0.96\n", "[Train] Batch ID = 22100, loss = 0.00452239, acc = 1.0\n", "[Validation] Batch ID = 22100, loss = 0.0200988, acc = 1.0\n", "[Train] Batch ID = 22110, loss = 0.0052098, acc = 1.0\n", "[Validation] Batch ID = 22110, loss = 0.0391209, acc = 0.94\n", "[Train] Batch ID = 22120, loss = 0.0030478, acc = 1.0\n", "[Validation] Batch ID = 22120, loss = 0.0168888, acc = 1.0\n", "[Train] Batch ID = 22130, loss = 0.0073088, acc = 1.0\n", "[Validation] Batch ID = 22130, loss = 0.0226463, acc = 0.98\n", "[Train] Batch ID = 22140, loss = 0.00954484, acc = 1.0\n", "[Validation] Batch ID = 22140, loss = 0.0444011, acc = 0.94\n", "[Train] Batch ID = 22150, loss = 0.00649994, acc = 1.0\n", "[Validation] Batch ID = 22150, loss = 0.0337414, acc = 0.96\n", "[Train] Batch ID = 22160, loss = 0.00776088, acc = 1.0\n", "[Validation] Batch ID = 22160, loss = 0.0146413, acc = 1.0\n", "[Train] Batch ID = 22170, loss = 0.00502375, acc = 1.0\n", "[Validation] Batch ID = 22170, loss = 0.034073, acc = 0.98\n", "[Train] Batch ID = 22180, loss = 0.00557847, acc = 1.0\n", "[Validation] Batch ID = 22180, loss = 0.0495318, acc = 0.96\n", "[Train] Batch ID = 22190, loss = 0.00745926, acc = 1.0\n", "[Validation] Batch ID = 22190, loss = 0.0480313, acc = 0.96\n", "[Train] Batch ID = 22200, loss = 0.00775216, acc = 1.0\n", "[Validation] Batch ID = 22200, loss = 0.0501152, acc = 0.96\n", "[Train] Batch ID = 22210, loss = 0.00577299, acc = 1.0\n", "[Validation] Batch ID = 22210, loss = 0.0321411, acc = 0.96\n", "[Train] Batch ID = 22220, loss = 0.00846182, acc = 1.0\n", "[Validation] Batch ID = 22220, loss = 0.0481242, acc = 0.96\n", "[Train] Batch ID = 22230, loss = 0.00587592, acc = 1.0\n", "[Validation] Batch ID = 22230, loss = 0.0636888, acc = 0.92\n", "[Train] Batch ID = 22240, loss = 0.00468166, acc = 1.0\n", "[Validation] Batch ID = 22240, loss = 0.0444666, acc = 0.96\n", "[Train] Batch ID = 22250, loss = 0.00633408, acc = 1.0\n", "[Validation] Batch ID = 22250, loss = 0.0234161, acc = 1.0\n", "[Train] Batch ID = 22260, loss = 0.0066373, acc = 1.0\n", "[Validation] Batch ID = 22260, loss = 0.0299362, acc = 1.0\n", "[Train] Batch ID = 22270, loss = 0.00517482, acc = 1.0\n", "[Validation] Batch ID = 22270, loss = 0.046774, acc = 0.98\n", "[Train] Batch ID = 22280, loss = 0.00672987, acc = 1.0\n", "[Validation] Batch ID = 22280, loss = 0.0196621, acc = 0.98\n", "[Train] Batch ID = 22290, loss = 0.197103, acc = 0.84\n", "[Validation] Batch ID = 22290, loss = 0.0201664, acc = 1.0\n", "[Train] Batch ID = 22300, loss = 0.00548969, acc = 1.0\n", "[Validation] Batch ID = 22300, loss = 0.0414805, acc = 0.96\n", "[Train] Batch ID = 22310, loss = 0.00563474, acc = 1.0\n", "[Validation] Batch ID = 22310, loss = 0.0419719, acc = 0.98\n", "[Train] Batch ID = 22320, loss = 0.00188945, acc = 1.0\n", "[Validation] Batch ID = 22320, loss = 0.0500314, acc = 0.96\n", "[Train] Batch ID = 22330, loss = 0.00647365, acc = 1.0\n", "[Validation] Batch ID = 22330, loss = 0.0454189, acc = 0.96\n", "[Train] Batch ID = 22340, loss = 0.00295725, acc = 1.0\n", "[Validation] Batch ID = 22340, loss = 0.0139679, acc = 1.0\n", "[Train] Batch ID = 22350, loss = 0.00473694, acc = 1.0\n", "[Validation] Batch ID = 22350, loss = 0.0200681, acc = 1.0\n", "[Train] Batch ID = 22360, loss = 0.00505677, acc = 1.0\n", "[Validation] Batch ID = 22360, loss = 0.0598724, acc = 0.92\n", "[Train] Batch ID = 22370, loss = 0.00829745, acc = 1.0\n", "[Validation] Batch ID = 22370, loss = 0.027589, acc = 0.98\n", "[Train] Batch ID = 22380, loss = 0.00293998, acc = 1.0\n", "[Validation] Batch ID = 22380, loss = 0.0544859, acc = 0.96\n", "[Train] Batch ID = 22390, loss = 0.00713597, acc = 1.0\n", "[Validation] Batch ID = 22390, loss = 0.055765, acc = 0.96\n", "[Train] Batch ID = 22400, loss = 0.00628488, acc = 1.0\n", "[Validation] Batch ID = 22400, loss = 0.0335789, acc = 0.96\n", "[Train] Batch ID = 22410, loss = 0.00506182, acc = 1.0\n", "[Validation] Batch ID = 22410, loss = 0.0396103, acc = 0.96\n", "[Train] Batch ID = 22420, loss = 0.0046131, acc = 1.0\n", "[Validation] Batch ID = 22420, loss = 0.0546499, acc = 0.94\n", "[Train] Batch ID = 22430, loss = 0.00563878, acc = 1.0\n", "[Validation] Batch ID = 22430, loss = 0.0548461, acc = 0.94\n", "[Train] Batch ID = 22440, loss = 0.00653127, acc = 1.0\n", "[Validation] Batch ID = 22440, loss = 0.0381548, acc = 0.98\n", "[Train] Batch ID = 22450, loss = 0.00823087, acc = 1.0\n", "[Validation] Batch ID = 22450, loss = 0.0215168, acc = 0.98\n", "[Train] Batch ID = 22460, loss = 0.0050966, acc = 1.0\n", "[Validation] Batch ID = 22460, loss = 0.0457356, acc = 0.96\n", "[Train] Batch ID = 22470, loss = 0.00785023, acc = 1.0\n", "[Validation] Batch ID = 22470, loss = 0.0516294, acc = 0.94\n", "[Train] Batch ID = 22480, loss = 0.0086699, acc = 1.0\n", "[Validation] Batch ID = 22480, loss = 0.0384347, acc = 0.98\n", "[Train] Batch ID = 22490, loss = 0.00317992, acc = 1.0\n", "[Validation] Batch ID = 22490, loss = 0.0338401, acc = 0.98\n", "[Train] Batch ID = 22500, loss = 0.00430499, acc = 1.0\n", "[Validation] Batch ID = 22500, loss = 0.0261521, acc = 0.98\n", "[Train] Batch ID = 22510, loss = 0.00938016, acc = 1.0\n", "[Validation] Batch ID = 22510, loss = 0.0397136, acc = 0.98\n", "[Train] Batch ID = 22520, loss = 0.0062831, acc = 1.0\n", "[Validation] Batch ID = 22520, loss = 0.0509953, acc = 0.94\n", "[Train] Batch ID = 22530, loss = 0.00607588, acc = 1.0\n", "[Validation] Batch ID = 22530, loss = 0.0261833, acc = 0.98\n", "[Train] Batch ID = 22540, loss = 0.00718033, acc = 1.0\n", "[Validation] Batch ID = 22540, loss = 0.0277302, acc = 0.98\n", "[Train] Batch ID = 22550, loss = 0.00505912, acc = 1.0\n", "[Validation] Batch ID = 22550, loss = 0.0516167, acc = 0.94\n", "[Train] Batch ID = 22560, loss = 0.00351145, acc = 1.0\n", "[Validation] Batch ID = 22560, loss = 0.0349169, acc = 0.98\n", "[Train] Batch ID = 22570, loss = 0.00576437, acc = 1.0\n", "[Validation] Batch ID = 22570, loss = 0.0687605, acc = 0.92\n", "[Train] Batch ID = 22580, loss = 0.00734377, acc = 1.0\n", "[Validation] Batch ID = 22580, loss = 0.0217323, acc = 1.0\n", "[Train] Batch ID = 22590, loss = 0.00500316, acc = 1.0\n", "[Validation] Batch ID = 22590, loss = 0.0191992, acc = 0.98\n", "[Train] Batch ID = 22600, loss = 0.00650448, acc = 1.0\n", "[Validation] Batch ID = 22600, loss = 0.0485845, acc = 0.94\n", "[Train] Batch ID = 22610, loss = 0.00536948, acc = 1.0\n", "[Validation] Batch ID = 22610, loss = 0.0406054, acc = 0.96\n", "[Train] Batch ID = 22620, loss = 0.00509968, acc = 1.0\n", "[Validation] Batch ID = 22620, loss = 0.0291728, acc = 0.98\n", "[Train] Batch ID = 22630, loss = 0.00534438, acc = 1.0\n", "[Validation] Batch ID = 22630, loss = 0.0585336, acc = 0.96\n", "[Train] Batch ID = 22640, loss = 0.00662317, acc = 1.0\n", "[Validation] Batch ID = 22640, loss = 0.0328691, acc = 0.96\n", "[Train] Batch ID = 22650, loss = 0.0058527, acc = 1.0\n", "[Validation] Batch ID = 22650, loss = 0.00898803, acc = 1.0\n", "[Train] Batch ID = 22660, loss = 0.00481715, acc = 1.0\n", "[Validation] Batch ID = 22660, loss = 0.0394216, acc = 0.96\n", "[Train] Batch ID = 22670, loss = 0.00393814, acc = 1.0\n", "[Validation] Batch ID = 22670, loss = 0.0197517, acc = 0.96\n", "[Train] Batch ID = 22680, loss = 0.00688012, acc = 1.0\n", "[Validation] Batch ID = 22680, loss = 0.0171295, acc = 1.0\n", "[Train] Batch ID = 22690, loss = 0.00440038, acc = 1.0\n", "[Validation] Batch ID = 22690, loss = 0.0425247, acc = 0.98\n", "[Train] Batch ID = 22700, loss = 0.00569062, acc = 1.0\n", "[Validation] Batch ID = 22700, loss = 0.0246355, acc = 1.0\n", "[Train] Batch ID = 22710, loss = 0.00353526, acc = 1.0\n", "[Validation] Batch ID = 22710, loss = 0.0161825, acc = 1.0\n", "[Train] Batch ID = 22720, loss = 0.195191, acc = 0.86\n", "[Validation] Batch ID = 22720, loss = 0.0248042, acc = 0.98\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "[Train] Batch ID = 22730, loss = 0.00520167, acc = 1.0\n", "[Validation] Batch ID = 22730, loss = 0.0372026, acc = 0.96\n", "[Train] Batch ID = 22740, loss = 0.00261571, acc = 1.0\n", "[Validation] Batch ID = 22740, loss = 0.0210723, acc = 0.98\n", "[Train] Batch ID = 22750, loss = 0.00690142, acc = 1.0\n", "[Validation] Batch ID = 22750, loss = 0.0358433, acc = 0.98\n", "[Train] Batch ID = 22760, loss = 0.00585432, acc = 1.0\n", "[Validation] Batch ID = 22760, loss = 0.03298, acc = 0.98\n", "[Train] Batch ID = 22770, loss = 0.00440441, acc = 1.0\n", "[Validation] Batch ID = 22770, loss = 0.023753, acc = 0.96\n", "[Train] Batch ID = 22780, loss = 0.00607835, acc = 1.0\n", "[Validation] Batch ID = 22780, loss = 0.0355079, acc = 0.98\n", "[Train] Batch ID = 22790, loss = 0.00600801, acc = 1.0\n", "[Validation] Batch ID = 22790, loss = 0.028895, acc = 0.96\n", "[Train] Batch ID = 22800, loss = 0.00502466, acc = 1.0\n", "[Validation] Batch ID = 22800, loss = 0.0373409, acc = 0.94\n", "[Train] Batch ID = 22810, loss = 0.00609741, acc = 1.0\n", "[Validation] Batch ID = 22810, loss = 0.0306922, acc = 0.96\n", "[Train] Batch ID = 22820, loss = 0.00899805, acc = 1.0\n", "[Validation] Batch ID = 22820, loss = 0.0414447, acc = 1.0\n", "[Train] Batch ID = 22830, loss = 0.00446882, acc = 1.0\n", "[Validation] Batch ID = 22830, loss = 0.0190036, acc = 0.98\n", "[Train] Batch ID = 22840, loss = 0.00984922, acc = 1.0\n", "[Validation] Batch ID = 22840, loss = 0.0617702, acc = 0.96\n", "[Train] Batch ID = 22850, loss = 0.00438874, acc = 1.0\n", "[Validation] Batch ID = 22850, loss = 0.0407172, acc = 0.94\n", "[Train] Batch ID = 22860, loss = 0.00674205, acc = 1.0\n", "[Validation] Batch ID = 22860, loss = 0.0213648, acc = 1.0\n", "[Train] Batch ID = 22870, loss = 0.00715968, acc = 1.0\n", "[Validation] Batch ID = 22870, loss = 0.0495591, acc = 0.98\n", "[Train] Batch ID = 22880, loss = 0.00942658, acc = 1.0\n", "[Validation] Batch ID = 22880, loss = 0.0140981, acc = 1.0\n", "[Train] Batch ID = 22890, loss = 0.00653552, acc = 1.0\n", "[Validation] Batch ID = 22890, loss = 0.0455365, acc = 0.94\n", "[Train] Batch ID = 22900, loss = 0.00530616, acc = 1.0\n", "[Validation] Batch ID = 22900, loss = 0.052123, acc = 0.96\n", "[Train] Batch ID = 22910, loss = 0.00610637, acc = 1.0\n", "[Validation] Batch ID = 22910, loss = 0.0244052, acc = 0.98\n", "[Train] Batch ID = 22920, loss = 0.00387799, acc = 1.0\n", "[Validation] Batch ID = 22920, loss = 0.0544203, acc = 0.94\n", "[Train] Batch ID = 22930, loss = 0.00690842, acc = 1.0\n", "[Validation] Batch ID = 22930, loss = 0.029389, acc = 1.0\n", "[Train] Batch ID = 22940, loss = 0.00701489, acc = 1.0\n", "[Validation] Batch ID = 22940, loss = 0.0221939, acc = 0.98\n", "[Train] Batch ID = 22950, loss = 0.00764623, acc = 1.0\n", "[Validation] Batch ID = 22950, loss = 0.0285962, acc = 0.98\n", "[Train] Batch ID = 22960, loss = 0.00337209, acc = 1.0\n", "[Validation] Batch ID = 22960, loss = 0.0340476, acc = 0.98\n", "[Train] Batch ID = 22970, loss = 0.00475364, acc = 1.0\n", "[Validation] Batch ID = 22970, loss = 0.0300634, acc = 0.98\n", "[Train] Batch ID = 22980, loss = 0.00324629, acc = 1.0\n", "[Validation] Batch ID = 22980, loss = 0.0355735, acc = 0.98\n", "[Train] Batch ID = 22990, loss = 0.214933, acc = 0.76\n", "[Validation] Batch ID = 22990, loss = 0.0280351, acc = 0.98\n", "[Train] Batch ID = 23000, loss = 0.0091363, acc = 1.0\n", "[Validation] Batch ID = 23000, loss = 0.0264136, acc = 0.98\n", "Evaluate full validation dataset ...\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "ModelBase::Saving model ...\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Current loss: 0.0357922 Best loss: 0.0364358\n", "[TOTAL Validation] Batch ID = 23000, loss = 0.0357922, acc = 0.971655328798\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "ModelBase::Model successfully saved here: outputs/checkpoints/c1s_9_c1n_256_c2s_6_c2n_64_c2d_0.7_c1vl_16_c1s_5_c1nf_16_c2vl_32_lr_0.0001_rs_1--TrafficSign--1510487290.423481\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Augmented Factor = 0.07896877864610383\n", "[Train] Batch ID = 23010, loss = 0.00660331, acc = 1.0\n", "[Validation] Batch ID = 23010, loss = 0.0485754, acc = 0.98\n", "[Train] Batch ID = 23020, loss = 0.00442421, acc = 1.0\n", "[Validation] Batch ID = 23020, loss = 0.0418112, acc = 0.96\n", "[Train] Batch ID = 23030, loss = 0.0066666, acc = 1.0\n", "[Validation] Batch ID = 23030, loss = 0.0336958, acc = 0.98\n", "[Train] Batch ID = 23040, loss = 0.00516861, acc = 1.0\n", "[Validation] Batch ID = 23040, loss = 0.0514943, acc = 0.94\n", "[Train] Batch ID = 23050, loss = 0.0038622, acc = 1.0\n", "[Validation] Batch ID = 23050, loss = 0.113327, acc = 0.8\n", "[Train] Batch ID = 23060, loss = 0.00431931, acc = 1.0\n", "[Validation] Batch ID = 23060, loss = 0.0316894, acc = 0.98\n", "[Train] Batch ID = 23070, loss = 0.187926, acc = 0.84\n", "[Validation] Batch ID = 23070, loss = 0.0262045, acc = 0.98\n", "[Train] Batch ID = 23080, loss = 0.00529092, acc = 1.0\n", "[Validation] Batch ID = 23080, loss = 0.0492435, acc = 0.96\n", "[Train] Batch ID = 23090, loss = 0.00331653, acc = 1.0\n", "[Validation] Batch ID = 23090, loss = 0.0330777, acc = 1.0\n", "[Train] Batch ID = 23100, loss = 0.00375787, acc = 1.0\n", "[Validation] Batch ID = 23100, loss = 0.0325624, acc = 0.96\n", "[Train] Batch ID = 23110, loss = 0.00493896, acc = 1.0\n", "[Validation] Batch ID = 23110, loss = 0.0194393, acc = 1.0\n", "[Train] Batch ID = 23120, loss = 0.00607216, acc = 1.0\n", "[Validation] Batch ID = 23120, loss = 0.0554626, acc = 0.92\n", "[Train] Batch ID = 23130, loss = 0.0109877, acc = 1.0\n", "[Validation] Batch ID = 23130, loss = 0.0602483, acc = 0.96\n", "[Train] Batch ID = 23140, loss = 0.0051292, acc = 1.0\n", "[Validation] Batch ID = 23140, loss = 0.0219392, acc = 1.0\n", "[Train] Batch ID = 23150, loss = 0.00388309, acc = 1.0\n", "[Validation] Batch ID = 23150, loss = 0.024183, acc = 0.98\n", "[Train] Batch ID = 23160, loss = 0.00345644, acc = 1.0\n", "[Validation] Batch ID = 23160, loss = 0.011019, acc = 1.0\n", "[Train] Batch ID = 23170, loss = 0.00435262, acc = 1.0\n", "[Validation] Batch ID = 23170, loss = 0.043503, acc = 0.96\n", "[Train] Batch ID = 23180, loss = 0.00482166, acc = 1.0\n", "[Validation] Batch ID = 23180, loss = 0.0394002, acc = 0.98\n", "[Train] Batch ID = 23190, loss = 0.00339746, acc = 1.0\n", "[Validation] Batch ID = 23190, loss = 0.0299335, acc = 0.98\n", "[Train] Batch ID = 23200, loss = 0.00785526, acc = 1.0\n", "[Validation] Batch ID = 23200, loss = 0.0400259, acc = 0.98\n", "[Train] Batch ID = 23210, loss = 0.214057, acc = 0.84\n", "[Validation] Batch ID = 23210, loss = 0.0160131, acc = 1.0\n", "[Train] Batch ID = 23220, loss = 0.00519621, acc = 1.0\n", "[Validation] Batch ID = 23220, loss = 0.0250011, acc = 0.98\n", "[Train] Batch ID = 23230, loss = 0.00554828, acc = 1.0\n", "[Validation] Batch ID = 23230, loss = 0.0487912, acc = 0.92\n", "[Train] Batch ID = 23240, loss = 0.0046311, acc = 1.0\n", "[Validation] Batch ID = 23240, loss = 0.0268337, acc = 0.98\n", "[Train] Batch ID = 23250, loss = 0.00228803, acc = 1.0\n", "[Validation] Batch ID = 23250, loss = 0.0441184, acc = 0.98\n", "[Train] Batch ID = 23260, loss = 0.00305359, acc = 1.0\n", "[Validation] Batch ID = 23260, loss = 0.0318816, acc = 0.96\n", "[Train] Batch ID = 23270, loss = 0.00618312, acc = 1.0\n", "[Validation] Batch ID = 23270, loss = 0.0313141, acc = 0.96\n", "[Train] Batch ID = 23280, loss = 0.00651635, acc = 1.0\n", "[Validation] Batch ID = 23280, loss = 0.0382159, acc = 0.96\n", "[Train] Batch ID = 23290, loss = 0.00688975, acc = 1.0\n", "[Validation] Batch ID = 23290, loss = 0.0227398, acc = 1.0\n", "[Train] Batch ID = 23300, loss = 0.00549423, acc = 1.0\n", "[Validation] Batch ID = 23300, loss = 0.0340732, acc = 0.94\n", "[Train] Batch ID = 23310, loss = 0.00317489, acc = 1.0\n", "[Validation] Batch ID = 23310, loss = 0.0697988, acc = 0.9\n", "[Train] Batch ID = 23320, loss = 0.00393973, acc = 1.0\n", "[Validation] Batch ID = 23320, loss = 0.0439772, acc = 0.98\n", "[Train] Batch ID = 23330, loss = 0.00437341, acc = 1.0\n", "[Validation] Batch ID = 23330, loss = 0.0355969, acc = 0.98\n", "[Train] Batch ID = 23340, loss = 0.00675147, acc = 1.0\n", "[Validation] Batch ID = 23340, loss = 0.00877169, acc = 1.0\n", "[Train] Batch ID = 23350, loss = 0.199488, acc = 0.88\n", "[Validation] Batch ID = 23350, loss = 0.0495391, acc = 0.94\n", "[Train] Batch ID = 23360, loss = 0.00754198, acc = 1.0\n", "[Validation] Batch ID = 23360, loss = 0.0241928, acc = 0.98\n", "[Train] Batch ID = 23370, loss = 0.195322, acc = 0.84\n", "[Validation] Batch ID = 23370, loss = 0.0497776, acc = 0.96\n", "[Train] Batch ID = 23380, loss = 0.228287, acc = 0.78\n", "[Validation] Batch ID = 23380, loss = 0.0334007, acc = 1.0\n", "[Train] Batch ID = 23390, loss = 0.0101259, acc = 1.0\n", "[Validation] Batch ID = 23390, loss = 0.0147533, acc = 1.0\n", "[Train] Batch ID = 23400, loss = 0.00712865, acc = 1.0\n", "[Validation] Batch ID = 23400, loss = 0.0568539, acc = 0.9\n", "[Train] Batch ID = 23410, loss = 0.00421961, acc = 1.0\n", "[Validation] Batch ID = 23410, loss = 0.0280702, acc = 0.98\n", "[Train] Batch ID = 23420, loss = 0.00391576, acc = 1.0\n", "[Validation] Batch ID = 23420, loss = 0.0618954, acc = 0.92\n", "[Train] Batch ID = 23430, loss = 0.0127039, acc = 1.0\n", "[Validation] Batch ID = 23430, loss = 0.0539598, acc = 0.94\n", "[Train] Batch ID = 23440, loss = 0.00655749, acc = 1.0\n", "[Validation] Batch ID = 23440, loss = 0.025256, acc = 0.98\n", "[Train] Batch ID = 23450, loss = 0.00790948, acc = 1.0\n", "[Validation] Batch ID = 23450, loss = 0.0600409, acc = 0.94\n", "[Train] Batch ID = 23460, loss = 0.00729581, acc = 1.0\n", "[Validation] Batch ID = 23460, loss = 0.0288129, acc = 1.0\n", "[Train] Batch ID = 23470, loss = 0.00562447, acc = 1.0\n", "[Validation] Batch ID = 23470, loss = 0.0439066, acc = 0.96\n", "[Train] Batch ID = 23480, loss = 0.187612, acc = 0.82\n", "[Validation] Batch ID = 23480, loss = 0.0223645, acc = 0.98\n", "[Train] Batch ID = 23490, loss = 0.00629397, acc = 1.0\n", "[Validation] Batch ID = 23490, loss = 0.0420102, acc = 0.96\n", "[Train] Batch ID = 23500, loss = 0.00721004, acc = 1.0\n", "[Validation] Batch ID = 23500, loss = 0.0407961, acc = 0.96\n", "[Train] Batch ID = 23510, loss = 0.00899995, acc = 1.0\n", "[Validation] Batch ID = 23510, loss = 0.0467837, acc = 0.98\n", "[Train] Batch ID = 23520, loss = 0.00634343, acc = 1.0\n", "[Validation] Batch ID = 23520, loss = 0.0144673, acc = 1.0\n", "[Train] Batch ID = 23530, loss = 0.00897011, acc = 1.0\n", "[Validation] Batch ID = 23530, loss = 0.0447142, acc = 0.96\n", "[Train] Batch ID = 23540, loss = 0.00417968, acc = 1.0\n", "[Validation] Batch ID = 23540, loss = 0.0353222, acc = 0.96\n", "[Train] Batch ID = 23550, loss = 0.257915, acc = 0.7\n", "[Validation] Batch ID = 23550, loss = 0.0273358, acc = 0.98\n", "[Train] Batch ID = 23560, loss = 0.00520934, acc = 1.0\n", "[Validation] Batch ID = 23560, loss = 0.0471971, acc = 0.98\n", "[Train] Batch ID = 23570, loss = 0.00538207, acc = 1.0\n", "[Validation] Batch ID = 23570, loss = 0.0194026, acc = 1.0\n", "[Train] Batch ID = 23580, loss = 0.00752144, acc = 1.0\n", "[Validation] Batch ID = 23580, loss = 0.0320699, acc = 0.98\n", "[Train] Batch ID = 23590, loss = 0.00349439, acc = 1.0\n", "[Validation] Batch ID = 23590, loss = 0.0227085, acc = 1.0\n", "[Train] Batch ID = 23600, loss = 0.00879489, acc = 1.0\n", "[Validation] Batch ID = 23600, loss = 0.053784, acc = 0.98\n", "[Train] Batch ID = 23610, loss = 0.00492119, acc = 1.0\n", "[Validation] Batch ID = 23610, loss = 0.0552925, acc = 0.92\n", "[Train] Batch ID = 23620, loss = 0.00460741, acc = 1.0\n", "[Validation] Batch ID = 23620, loss = 0.0355489, acc = 0.96\n", "[Train] Batch ID = 23630, loss = 0.00531274, acc = 1.0\n", "[Validation] Batch ID = 23630, loss = 0.0269508, acc = 0.98\n", "[Train] Batch ID = 23640, loss = 0.00845728, acc = 1.0\n", "[Validation] Batch ID = 23640, loss = 0.0279656, acc = 1.0\n", "[Train] Batch ID = 23650, loss = 0.00447639, acc = 1.0\n", "[Validation] Batch ID = 23650, loss = 0.0342031, acc = 0.96\n", "[Train] Batch ID = 23660, loss = 0.00609825, acc = 1.0\n", "[Validation] Batch ID = 23660, loss = 0.047885, acc = 0.96\n", "[Train] Batch ID = 23670, loss = 0.00897005, acc = 1.0\n", "[Validation] Batch ID = 23670, loss = 0.0402215, acc = 0.98\n", "[Train] Batch ID = 23680, loss = 0.00389002, acc = 1.0\n", "[Validation] Batch ID = 23680, loss = 0.0234225, acc = 1.0\n", "[Train] Batch ID = 23690, loss = 0.1706, acc = 0.86\n", "[Validation] Batch ID = 23690, loss = 0.0249534, acc = 1.0\n", "[Train] Batch ID = 23700, loss = 0.00830525, acc = 1.0\n", "[Validation] Batch ID = 23700, loss = 0.0424039, acc = 0.96\n", "[Train] Batch ID = 23710, loss = 0.00545218, acc = 1.0\n", "[Validation] Batch ID = 23710, loss = 0.0316907, acc = 0.96\n", "[Train] Batch ID = 23720, loss = 0.0059038, acc = 1.0\n", "[Validation] Batch ID = 23720, loss = 0.0139169, acc = 1.0\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "[Train] Batch ID = 23730, loss = 0.00578118, acc = 1.0\n", "[Validation] Batch ID = 23730, loss = 0.0261535, acc = 1.0\n", "[Train] Batch ID = 23740, loss = 0.00336587, acc = 1.0\n", "[Validation] Batch ID = 23740, loss = 0.0474843, acc = 0.96\n", "[Train] Batch ID = 23750, loss = 0.00602477, acc = 1.0\n", "[Validation] Batch ID = 23750, loss = 0.0291934, acc = 1.0\n", "[Train] Batch ID = 23760, loss = 0.0108792, acc = 1.0\n", "[Validation] Batch ID = 23760, loss = 0.0428995, acc = 0.98\n", "[Train] Batch ID = 23770, loss = 0.00570094, acc = 1.0\n", "[Validation] Batch ID = 23770, loss = 0.0266108, acc = 0.98\n", "[Train] Batch ID = 23780, loss = 0.00327943, acc = 1.0\n", "[Validation] Batch ID = 23780, loss = 0.0362104, acc = 0.98\n", "[Train] Batch ID = 23790, loss = 0.00398458, acc = 1.0\n", "[Validation] Batch ID = 23790, loss = 0.0598628, acc = 0.92\n", "[Train] Batch ID = 23800, loss = 0.00302706, acc = 1.0\n", "[Validation] Batch ID = 23800, loss = 0.0450767, acc = 0.94\n", "[Train] Batch ID = 23810, loss = 0.00617636, acc = 1.0\n", "[Validation] Batch ID = 23810, loss = 0.0245737, acc = 0.98\n", "[Train] Batch ID = 23820, loss = 0.00520702, acc = 1.0\n", "[Validation] Batch ID = 23820, loss = 0.0556911, acc = 0.92\n", "[Train] Batch ID = 23830, loss = 0.00331261, acc = 1.0\n", "[Validation] Batch ID = 23830, loss = 0.0245318, acc = 1.0\n", "[Train] Batch ID = 23840, loss = 0.226168, acc = 0.76\n", "[Validation] Batch ID = 23840, loss = 0.0409855, acc = 0.96\n", "[Train] Batch ID = 23850, loss = 0.00995898, acc = 1.0\n", "[Validation] Batch ID = 23850, loss = 0.0427193, acc = 0.98\n", "[Train] Batch ID = 23860, loss = 0.00738019, acc = 1.0\n", "[Validation] Batch ID = 23860, loss = 0.0294154, acc = 0.98\n", "[Train] Batch ID = 23870, loss = 0.00544425, acc = 1.0\n", "[Validation] Batch ID = 23870, loss = 0.0300088, acc = 0.98\n", "[Train] Batch ID = 23880, loss = 0.00675394, acc = 1.0\n", "[Validation] Batch ID = 23880, loss = 0.030962, acc = 0.98\n", "[Train] Batch ID = 23890, loss = 0.00468673, acc = 1.0\n", "[Validation] Batch ID = 23890, loss = 0.0479049, acc = 0.94\n", "[Train] Batch ID = 23900, loss = 0.00556584, acc = 1.0\n", "[Validation] Batch ID = 23900, loss = 0.027891, acc = 1.0\n", "[Train] Batch ID = 23910, loss = 0.00457006, acc = 1.0\n", "[Validation] Batch ID = 23910, loss = 0.0389271, acc = 0.96\n", "[Train] Batch ID = 23920, loss = 0.22496, acc = 0.74\n", "[Validation] Batch ID = 23920, loss = 0.0389296, acc = 0.98\n", "[Train] Batch ID = 23930, loss = 0.174914, acc = 0.9\n", "[Validation] Batch ID = 23930, loss = 0.0535488, acc = 0.96\n", "[Train] Batch ID = 23940, loss = 0.00701756, acc = 1.0\n", "[Validation] Batch ID = 23940, loss = 0.0354619, acc = 1.0\n", "[Train] Batch ID = 23950, loss = 0.00323051, acc = 1.0\n", "[Validation] Batch ID = 23950, loss = 0.0490318, acc = 0.94\n", "[Train] Batch ID = 23960, loss = 0.00730346, acc = 1.0\n", "[Validation] Batch ID = 23960, loss = 0.0443647, acc = 0.96\n", "[Train] Batch ID = 23970, loss = 0.00872781, acc = 1.0\n", "[Validation] Batch ID = 23970, loss = 0.0220032, acc = 1.0\n", "[Train] Batch ID = 23980, loss = 0.18005, acc = 0.86\n", "[Validation] Batch ID = 23980, loss = 0.0303295, acc = 1.0\n", "[Train] Batch ID = 23990, loss = 0.20618, acc = 0.84\n", "[Validation] Batch ID = 23990, loss = 0.0363862, acc = 0.96\n", "[Train] Batch ID = 24000, loss = 0.00449326, acc = 1.0\n", "[Validation] Batch ID = 24000, loss = 0.0423407, acc = 0.98\n", "Evaluate full validation dataset ...\n", "Current loss: 0.0367299 Best loss: 0.0357922\n", "[TOTAL Validation] Batch ID = 24000, loss = 0.0367299, acc = 0.97619047619\n", "Augmented Factor = 0.07107190078149345\n", "[Train] Batch ID = 24010, loss = 0.00352486, acc = 1.0\n", "[Validation] Batch ID = 24010, loss = 0.0334499, acc = 0.96\n", "[Train] Batch ID = 24020, loss = 0.005968, acc = 1.0\n", "[Validation] Batch ID = 24020, loss = 0.032706, acc = 0.98\n", "[Train] Batch ID = 24030, loss = 0.0057694, acc = 1.0\n", "[Validation] Batch ID = 24030, loss = 0.0322401, acc = 0.98\n", "[Train] Batch ID = 24040, loss = 0.004735, acc = 1.0\n", "[Validation] Batch ID = 24040, loss = 0.035968, acc = 0.98\n", "[Train] Batch ID = 24050, loss = 0.00428464, acc = 1.0\n", "[Validation] Batch ID = 24050, loss = 0.0484945, acc = 0.96\n", "[Train] Batch ID = 24060, loss = 0.00583416, acc = 1.0\n", "[Validation] Batch ID = 24060, loss = 0.0413706, acc = 0.96\n", "[Train] Batch ID = 24070, loss = 0.00213506, acc = 1.0\n", "[Validation] Batch ID = 24070, loss = 0.042967, acc = 0.94\n", "[Train] Batch ID = 24080, loss = 0.00687046, acc = 1.0\n", "[Validation] Batch ID = 24080, loss = 0.0495778, acc = 0.96\n", "[Train] Batch ID = 24090, loss = 0.00750339, acc = 1.0\n", "[Validation] Batch ID = 24090, loss = 0.0225326, acc = 1.0\n", "[Train] Batch ID = 24100, loss = 0.0035057, acc = 1.0\n", "[Validation] Batch ID = 24100, loss = 0.022375, acc = 1.0\n", "[Train] Batch ID = 24110, loss = 0.00570989, acc = 1.0\n", "[Validation] Batch ID = 24110, loss = 0.0286189, acc = 0.98\n", "[Train] Batch ID = 24120, loss = 0.00629952, acc = 1.0\n", "[Validation] Batch ID = 24120, loss = 0.0216584, acc = 0.98\n", "[Train] Batch ID = 24130, loss = 0.00520103, acc = 1.0\n", "[Validation] Batch ID = 24130, loss = 0.0443877, acc = 0.96\n", "[Train] Batch ID = 24140, loss = 0.223145, acc = 0.72\n", "[Validation] Batch ID = 24140, loss = 0.0372075, acc = 0.98\n", "[Train] Batch ID = 24150, loss = 0.00567802, acc = 1.0\n", "[Validation] Batch ID = 24150, loss = 0.0517043, acc = 0.94\n", "[Train] Batch ID = 24160, loss = 0.00600864, acc = 1.0\n", "[Validation] Batch ID = 24160, loss = 0.0243798, acc = 0.98\n", "[Train] Batch ID = 24170, loss = 0.00395606, acc = 1.0\n", "[Validation] Batch ID = 24170, loss = 0.0345373, acc = 0.98\n", "[Train] Batch ID = 24180, loss = 0.00185226, acc = 1.0\n", "[Validation] Batch ID = 24180, loss = 0.0144064, acc = 1.0\n", "[Train] Batch ID = 24190, loss = 0.00225131, acc = 1.0\n", "[Validation] Batch ID = 24190, loss = 0.0281935, acc = 1.0\n", "[Train] Batch ID = 24200, loss = 0.178447, acc = 0.94\n", "[Validation] Batch ID = 24200, loss = 0.0412097, acc = 0.94\n", "[Train] Batch ID = 24210, loss = 0.00513449, acc = 1.0\n", "[Validation] Batch ID = 24210, loss = 0.0167854, acc = 1.0\n", "[Train] Batch ID = 24220, loss = 0.00358039, acc = 1.0\n", "[Validation] Batch ID = 24220, loss = 0.0322637, acc = 0.96\n", "[Train] Batch ID = 24230, loss = 0.00973643, acc = 1.0\n", "[Validation] Batch ID = 24230, loss = 0.0245861, acc = 0.98\n", "[Train] Batch ID = 24240, loss = 0.00385076, acc = 1.0\n", "[Validation] Batch ID = 24240, loss = 0.0240778, acc = 1.0\n", "[Train] Batch ID = 24250, loss = 0.00662441, acc = 1.0\n", "[Validation] Batch ID = 24250, loss = 0.0597829, acc = 0.92\n", "[Train] Batch ID = 24260, loss = 0.00625236, acc = 1.0\n", "[Validation] Batch ID = 24260, loss = 0.0430678, acc = 0.96\n", "[Train] Batch ID = 24270, loss = 0.00745797, acc = 1.0\n", "[Validation] Batch ID = 24270, loss = 0.0274199, acc = 0.98\n", "[Train] Batch ID = 24280, loss = 0.00653947, acc = 1.0\n", "[Validation] Batch ID = 24280, loss = 0.029208, acc = 0.98\n", "[Train] Batch ID = 24290, loss = 0.00401116, acc = 1.0\n", "[Validation] Batch ID = 24290, loss = 0.012159, acc = 1.0\n", "[Train] Batch ID = 24300, loss = 0.00492428, acc = 1.0\n", "[Validation] Batch ID = 24300, loss = 0.0304341, acc = 0.98\n", "[Train] Batch ID = 24310, loss = 0.00364542, acc = 1.0\n", "[Validation] Batch ID = 24310, loss = 0.0369927, acc = 0.96\n", "[Train] Batch ID = 24320, loss = 0.00292067, acc = 1.0\n", "[Validation] Batch ID = 24320, loss = 0.0210507, acc = 1.0\n", "[Train] Batch ID = 24330, loss = 0.00395551, acc = 1.0\n", "[Validation] Batch ID = 24330, loss = 0.0267802, acc = 0.98\n", "[Train] Batch ID = 24340, loss = 0.00802353, acc = 1.0\n", "[Validation] Batch ID = 24340, loss = 0.0112831, acc = 1.0\n", "[Train] Batch ID = 24350, loss = 0.00469307, acc = 1.0\n", "[Validation] Batch ID = 24350, loss = 0.0127294, acc = 1.0\n", "[Train] Batch ID = 24360, loss = 0.00981909, acc = 1.0\n", "[Validation] Batch ID = 24360, loss = 0.0298972, acc = 1.0\n", "[Train] Batch ID = 24370, loss = 0.00593166, acc = 1.0\n", "[Validation] Batch ID = 24370, loss = 0.0196194, acc = 1.0\n", "[Train] Batch ID = 24380, loss = 0.0048641, acc = 1.0\n", "[Validation] Batch ID = 24380, loss = 0.0133046, acc = 1.0\n", "[Train] Batch ID = 24390, loss = 0.00301852, acc = 1.0\n", "[Validation] Batch ID = 24390, loss = 0.0251501, acc = 0.98\n", "[Train] Batch ID = 24400, loss = 0.00410531, acc = 1.0\n", "[Validation] Batch ID = 24400, loss = 0.026933, acc = 1.0\n", "[Train] Batch ID = 24410, loss = 0.00392793, acc = 1.0\n", "[Validation] Batch ID = 24410, loss = 0.0256165, acc = 0.96\n", "[Train] Batch ID = 24420, loss = 0.00416732, acc = 1.0\n", "[Validation] Batch ID = 24420, loss = 0.0273996, acc = 1.0\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "[Train] Batch ID = 24430, loss = 0.00578181, acc = 1.0\n", "[Validation] Batch ID = 24430, loss = 0.0380136, acc = 0.98\n", "[Train] Batch ID = 24440, loss = 0.00579406, acc = 1.0\n", "[Validation] Batch ID = 24440, loss = 0.0539137, acc = 0.96\n", "[Train] Batch ID = 24450, loss = 0.00885114, acc = 1.0\n", "[Validation] Batch ID = 24450, loss = 0.0381758, acc = 0.98\n", "[Train] Batch ID = 24460, loss = 0.00778931, acc = 1.0\n", "[Validation] Batch ID = 24460, loss = 0.0217391, acc = 1.0\n", "[Train] Batch ID = 24470, loss = 0.193765, acc = 0.92\n", "[Validation] Batch ID = 24470, loss = 0.041658, acc = 0.98\n", "[Train] Batch ID = 24480, loss = 0.00529989, acc = 1.0\n", "[Validation] Batch ID = 24480, loss = 0.0308775, acc = 0.98\n", "[Train] Batch ID = 24490, loss = 0.00640004, acc = 1.0\n", "[Validation] Batch ID = 24490, loss = 0.0175122, acc = 0.98\n", "[Train] Batch ID = 24500, loss = 0.00694058, acc = 1.0\n", "[Validation] Batch ID = 24500, loss = 0.0322712, acc = 0.98\n", "[Train] Batch ID = 24510, loss = 0.00552657, acc = 1.0\n", "[Validation] Batch ID = 24510, loss = 0.0194014, acc = 1.0\n", "[Train] Batch ID = 24520, loss = 0.00286053, acc = 1.0\n", "[Validation] Batch ID = 24520, loss = 0.0430332, acc = 0.98\n", "[Train] Batch ID = 24530, loss = 0.0150452, acc = 1.0\n", "[Validation] Batch ID = 24530, loss = 0.0275533, acc = 1.0\n", "[Train] Batch ID = 24540, loss = 0.00293442, acc = 1.0\n", "[Validation] Batch ID = 24540, loss = 0.0446893, acc = 0.96\n", "[Train] Batch ID = 24550, loss = 0.00932711, acc = 1.0\n", "[Validation] Batch ID = 24550, loss = 0.0112964, acc = 1.0\n", "[Train] Batch ID = 24560, loss = 0.00550307, acc = 1.0\n", "[Validation] Batch ID = 24560, loss = 0.0194865, acc = 0.98\n", "[Train] Batch ID = 24570, loss = 0.00969744, acc = 1.0\n", "[Validation] Batch ID = 24570, loss = 0.0400699, acc = 0.96\n", "[Train] Batch ID = 24580, loss = 0.0103241, acc = 1.0\n", "[Validation] Batch ID = 24580, loss = 0.0575275, acc = 0.94\n", "[Train] Batch ID = 24590, loss = 0.204736, acc = 0.86\n", "[Validation] Batch ID = 24590, loss = 0.026332, acc = 0.98\n", "[Train] Batch ID = 24600, loss = 0.186629, acc = 0.84\n", "[Validation] Batch ID = 24600, loss = 0.0205656, acc = 1.0\n", "[Train] Batch ID = 24610, loss = 0.00900012, acc = 1.0\n", "[Validation] Batch ID = 24610, loss = 0.0312581, acc = 0.96\n", "[Train] Batch ID = 24620, loss = 0.00410627, acc = 1.0\n", "[Validation] Batch ID = 24620, loss = 0.04332, acc = 0.96\n", "[Train] Batch ID = 24630, loss = 0.00727379, acc = 1.0\n", "[Validation] Batch ID = 24630, loss = 0.03893, acc = 0.98\n", "[Train] Batch ID = 24640, loss = 0.00247582, acc = 1.0\n", "[Validation] Batch ID = 24640, loss = 0.0158418, acc = 1.0\n", "[Train] Batch ID = 24650, loss = 0.00353379, acc = 1.0\n", "[Validation] Batch ID = 24650, loss = 0.0304606, acc = 0.98\n", "[Train] Batch ID = 24660, loss = 0.00429027, acc = 1.0\n", "[Validation] Batch ID = 24660, loss = 0.0252816, acc = 1.0\n", "[Train] Batch ID = 24670, loss = 0.00526662, acc = 1.0\n", "[Validation] Batch ID = 24670, loss = 0.0178285, acc = 1.0\n", "[Train] Batch ID = 24680, loss = 0.00707979, acc = 1.0\n", "[Validation] Batch ID = 24680, loss = 0.048138, acc = 0.96\n", "[Train] Batch ID = 24690, loss = 0.00580515, acc = 1.0\n", "[Validation] Batch ID = 24690, loss = 0.0355851, acc = 0.98\n", "[Train] Batch ID = 24700, loss = 0.00231191, acc = 1.0\n", "[Validation] Batch ID = 24700, loss = 0.038812, acc = 0.96\n", "[Train] Batch ID = 24710, loss = 0.0043974, acc = 1.0\n", "[Validation] Batch ID = 24710, loss = 0.0373893, acc = 0.96\n", "[Train] Batch ID = 24720, loss = 0.0029025, acc = 1.0\n", "[Validation] Batch ID = 24720, loss = 0.0465178, acc = 0.96\n", "[Train] Batch ID = 24730, loss = 0.00647107, acc = 1.0\n", "[Validation] Batch ID = 24730, loss = 0.0322894, acc = 0.98\n", "[Train] Batch ID = 24740, loss = 0.00485711, acc = 1.0\n", "[Validation] Batch ID = 24740, loss = 0.0520731, acc = 0.94\n", "[Train] Batch ID = 24750, loss = 0.00324136, acc = 1.0\n", "[Validation] Batch ID = 24750, loss = 0.0290797, acc = 0.98\n", "[Train] Batch ID = 24760, loss = 0.00346774, acc = 1.0\n", "[Validation] Batch ID = 24760, loss = 0.0474462, acc = 0.94\n", "[Train] Batch ID = 24770, loss = 0.0089573, acc = 1.0\n", "[Validation] Batch ID = 24770, loss = 0.0485758, acc = 0.94\n", "[Train] Batch ID = 24780, loss = 0.00987406, acc = 1.0\n", "[Validation] Batch ID = 24780, loss = 0.0370981, acc = 0.96\n", "[Train] Batch ID = 24790, loss = 0.00806436, acc = 1.0\n", "[Validation] Batch ID = 24790, loss = 0.0454963, acc = 1.0\n", "[Train] Batch ID = 24800, loss = 0.00577064, acc = 1.0\n", "[Validation] Batch ID = 24800, loss = 0.044444, acc = 0.96\n", "[Train] Batch ID = 24810, loss = 0.159194, acc = 0.88\n", "[Validation] Batch ID = 24810, loss = 0.0312028, acc = 1.0\n", "[Train] Batch ID = 24820, loss = 0.010516, acc = 1.0\n", "[Validation] Batch ID = 24820, loss = 0.0466342, acc = 0.96\n", "[Train] Batch ID = 24830, loss = 0.00417545, acc = 1.0\n", "[Validation] Batch ID = 24830, loss = 0.0965958, acc = 0.8\n", "[Train] Batch ID = 24840, loss = 0.00264482, acc = 1.0\n", "[Validation] Batch ID = 24840, loss = 0.0378908, acc = 0.98\n", "[Train] Batch ID = 24850, loss = 0.00336255, acc = 1.0\n", "[Validation] Batch ID = 24850, loss = 0.0324793, acc = 0.98\n", "[Train] Batch ID = 24860, loss = 0.00567321, acc = 1.0\n", "[Validation] Batch ID = 24860, loss = 0.0796566, acc = 0.92\n", "[Train] Batch ID = 24870, loss = 0.0054318, acc = 1.0\n", "[Validation] Batch ID = 24870, loss = 0.0339976, acc = 0.94\n", "[Train] Batch ID = 24880, loss = 0.0064051, acc = 1.0\n", "[Validation] Batch ID = 24880, loss = 0.0337051, acc = 0.96\n", "[Train] Batch ID = 24890, loss = 0.00642756, acc = 1.0\n", "[Validation] Batch ID = 24890, loss = 0.0206096, acc = 1.0\n", "[Train] Batch ID = 24900, loss = 0.00491377, acc = 1.0\n", "[Validation] Batch ID = 24900, loss = 0.0325694, acc = 0.98\n", "[Train] Batch ID = 24910, loss = 0.00598879, acc = 1.0\n", "[Validation] Batch ID = 24910, loss = 0.0184886, acc = 1.0\n", "[Train] Batch ID = 24920, loss = 0.00784798, acc = 1.0\n", "[Validation] Batch ID = 24920, loss = 0.0289651, acc = 0.98\n", "[Train] Batch ID = 24930, loss = 0.00403902, acc = 1.0\n", "[Validation] Batch ID = 24930, loss = 0.0106058, acc = 1.0\n", "[Train] Batch ID = 24940, loss = 0.00668513, acc = 1.0\n", "[Validation] Batch ID = 24940, loss = 0.0147243, acc = 1.0\n", "[Train] Batch ID = 24950, loss = 0.00278266, acc = 1.0\n", "[Validation] Batch ID = 24950, loss = 0.035463, acc = 0.96\n", "[Train] Batch ID = 24960, loss = 0.00522582, acc = 1.0\n", "[Validation] Batch ID = 24960, loss = 0.0327158, acc = 0.98\n", "[Train] Batch ID = 24970, loss = 0.222803, acc = 0.76\n", "[Validation] Batch ID = 24970, loss = 0.0254868, acc = 1.0\n", "[Train] Batch ID = 24980, loss = 0.00747713, acc = 1.0\n", "[Validation] Batch ID = 24980, loss = 0.0340503, acc = 0.98\n", "[Train] Batch ID = 24990, loss = 0.00232613, acc = 1.0\n", "[Validation] Batch ID = 24990, loss = 0.0392842, acc = 0.94\n", "[Train] Batch ID = 25000, loss = 0.0035359, acc = 1.0\n", "[Validation] Batch ID = 25000, loss = 0.0661726, acc = 0.92\n", "Evaluate full validation dataset ...\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "ModelBase::Saving model ...\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Current loss: 0.0344537 Best loss: 0.0357922\n", "[TOTAL Validation] Batch ID = 25000, loss = 0.0344537, acc = 0.973242630385\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "ModelBase::Model successfully saved here: outputs/checkpoints/c1s_9_c1n_256_c2s_6_c2n_64_c2d_0.7_c1vl_16_c1s_5_c1nf_16_c2vl_32_lr_0.0001_rs_1--TrafficSign--1510487290.423481\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Augmented Factor = 0.0639647107033441\n", "[Train] Batch ID = 25010, loss = 0.00639635, acc = 1.0\n", "[Validation] Batch ID = 25010, loss = 0.0449188, acc = 0.96\n", "[Train] Batch ID = 25020, loss = 0.00420539, acc = 1.0\n", "[Validation] Batch ID = 25020, loss = 0.027596, acc = 0.98\n", "[Train] Batch ID = 25030, loss = 0.00459945, acc = 1.0\n", "[Validation] Batch ID = 25030, loss = 0.00974723, acc = 1.0\n", "[Train] Batch ID = 25040, loss = 0.0034657, acc = 1.0\n", "[Validation] Batch ID = 25040, loss = 0.0230413, acc = 0.98\n", "[Train] Batch ID = 25050, loss = 0.00362659, acc = 1.0\n", "[Validation] Batch ID = 25050, loss = 0.0260174, acc = 0.98\n", "[Train] Batch ID = 25060, loss = 0.0032951, acc = 1.0\n", "[Validation] Batch ID = 25060, loss = 0.0320628, acc = 0.96\n", "[Train] Batch ID = 25070, loss = 0.210708, acc = 0.82\n", "[Validation] Batch ID = 25070, loss = 0.0326852, acc = 0.98\n", "[Train] Batch ID = 25080, loss = 0.00708059, acc = 1.0\n", "[Validation] Batch ID = 25080, loss = 0.0180377, acc = 0.98\n", "[Train] Batch ID = 25090, loss = 0.00390868, acc = 1.0\n", "[Validation] Batch ID = 25090, loss = 0.0409415, acc = 0.96\n", "[Train] Batch ID = 25100, loss = 0.00501257, acc = 1.0\n", "[Validation] Batch ID = 25100, loss = 0.0196659, acc = 0.98\n", "[Train] Batch ID = 25110, loss = 0.00551312, acc = 1.0\n", "[Validation] Batch ID = 25110, loss = 0.0655031, acc = 0.94\n", "[Train] Batch ID = 25120, loss = 0.0080233, acc = 1.0\n", "[Validation] Batch ID = 25120, loss = 0.0378634, acc = 0.96\n", "[Train] Batch ID = 25130, loss = 0.00290751, acc = 1.0\n", "[Validation] Batch ID = 25130, loss = 0.0284173, acc = 1.0\n", "[Train] Batch ID = 25140, loss = 0.00486272, acc = 1.0\n", "[Validation] Batch ID = 25140, loss = 0.0596583, acc = 0.92\n", "[Train] Batch ID = 25150, loss = 0.00660316, acc = 1.0\n", "[Validation] Batch ID = 25150, loss = 0.0335855, acc = 0.98\n", "[Train] Batch ID = 25160, loss = 0.00487435, acc = 1.0\n", "[Validation] Batch ID = 25160, loss = 0.0176225, acc = 0.98\n", "[Train] Batch ID = 25170, loss = 0.00379892, acc = 1.0\n", "[Validation] Batch ID = 25170, loss = 0.0265738, acc = 0.98\n", "[Train] Batch ID = 25180, loss = 0.00209184, acc = 1.0\n", "[Validation] Batch ID = 25180, loss = 0.0495574, acc = 0.94\n", "[Train] Batch ID = 25190, loss = 0.00273337, acc = 1.0\n", "[Validation] Batch ID = 25190, loss = 0.0283798, acc = 0.98\n", "[Train] Batch ID = 25200, loss = 0.00353634, acc = 1.0\n", "[Validation] Batch ID = 25200, loss = 0.0542001, acc = 0.92\n", "[Train] Batch ID = 25210, loss = 0.00700817, acc = 1.0\n", "[Validation] Batch ID = 25210, loss = 0.0185768, acc = 1.0\n", "[Train] Batch ID = 25220, loss = 0.00763123, acc = 1.0\n", "[Validation] Batch ID = 25220, loss = 0.0338626, acc = 0.96\n", "[Train] Batch ID = 25230, loss = 0.0051291, acc = 1.0\n", "[Validation] Batch ID = 25230, loss = 0.0368175, acc = 0.96\n", "[Train] Batch ID = 25240, loss = 0.00337264, acc = 1.0\n", "[Validation] Batch ID = 25240, loss = 0.0319448, acc = 0.98\n", "[Train] Batch ID = 25250, loss = 0.00593421, acc = 1.0\n", "[Validation] Batch ID = 25250, loss = 0.0259666, acc = 1.0\n", "[Train] Batch ID = 25260, loss = 0.162756, acc = 0.86\n", "[Validation] Batch ID = 25260, loss = 0.0151578, acc = 1.0\n", "[Train] Batch ID = 25270, loss = 0.0049257, acc = 1.0\n", "[Validation] Batch ID = 25270, loss = 0.0197664, acc = 1.0\n", "[Train] Batch ID = 25280, loss = 0.00463759, acc = 1.0\n", "[Validation] Batch ID = 25280, loss = 0.021977, acc = 0.98\n", "[Train] Batch ID = 25290, loss = 0.00465225, acc = 1.0\n", "[Validation] Batch ID = 25290, loss = 0.0479826, acc = 0.98\n", "[Train] Batch ID = 25300, loss = 0.00332115, acc = 1.0\n", "[Validation] Batch ID = 25300, loss = 0.0698038, acc = 0.94\n", "[Train] Batch ID = 25310, loss = 0.0049848, acc = 1.0\n", "[Validation] Batch ID = 25310, loss = 0.0351909, acc = 1.0\n", "[Train] Batch ID = 25320, loss = 0.00539496, acc = 1.0\n", "[Validation] Batch ID = 25320, loss = 0.0426134, acc = 0.96\n", "[Train] Batch ID = 25330, loss = 0.173396, acc = 0.8\n", "[Validation] Batch ID = 25330, loss = 0.0190018, acc = 1.0\n", "[Train] Batch ID = 25340, loss = 0.0039035, acc = 1.0\n", "[Validation] Batch ID = 25340, loss = 0.0289742, acc = 0.96\n", "[Train] Batch ID = 25350, loss = 0.00565386, acc = 1.0\n", "[Validation] Batch ID = 25350, loss = 0.0464901, acc = 0.94\n", "[Train] Batch ID = 25360, loss = 0.00457536, acc = 1.0\n", "[Validation] Batch ID = 25360, loss = 0.0356388, acc = 0.96\n", "[Train] Batch ID = 25370, loss = 0.00369901, acc = 1.0\n", "[Validation] Batch ID = 25370, loss = 0.0343777, acc = 1.0\n", "[Train] Batch ID = 25380, loss = 0.180355, acc = 0.88\n", "[Validation] Batch ID = 25380, loss = 0.0190102, acc = 1.0\n", "[Train] Batch ID = 25390, loss = 0.00403948, acc = 1.0\n", "[Validation] Batch ID = 25390, loss = 0.028232, acc = 0.98\n", "[Train] Batch ID = 25400, loss = 0.193305, acc = 0.88\n", "[Validation] Batch ID = 25400, loss = 0.035811, acc = 0.98\n", "[Train] Batch ID = 25410, loss = 0.00609214, acc = 1.0\n", "[Validation] Batch ID = 25410, loss = 0.0647143, acc = 0.92\n", "[Train] Batch ID = 25420, loss = 0.00308192, acc = 1.0\n", "[Validation] Batch ID = 25420, loss = 0.0310692, acc = 0.98\n", "[Train] Batch ID = 25430, loss = 0.19626, acc = 0.8\n", "[Validation] Batch ID = 25430, loss = 0.0129089, acc = 1.0\n", "[Train] Batch ID = 25440, loss = 0.00638872, acc = 1.0\n", "[Validation] Batch ID = 25440, loss = 0.0121976, acc = 1.0\n", "[Train] Batch ID = 25450, loss = 0.00268359, acc = 1.0\n", "[Validation] Batch ID = 25450, loss = 0.0378624, acc = 0.96\n", "[Train] Batch ID = 25460, loss = 0.00537644, acc = 1.0\n", "[Validation] Batch ID = 25460, loss = 0.030431, acc = 0.98\n", "[Train] Batch ID = 25470, loss = 0.00548412, acc = 1.0\n", "[Validation] Batch ID = 25470, loss = 0.0218575, acc = 0.98\n", "[Train] Batch ID = 25480, loss = 0.00518644, acc = 1.0\n", "[Validation] Batch ID = 25480, loss = 0.0207428, acc = 0.98\n", "[Train] Batch ID = 25490, loss = 0.00867511, acc = 1.0\n", "[Validation] Batch ID = 25490, loss = 0.0461688, acc = 0.96\n", "[Train] Batch ID = 25500, loss = 0.00511404, acc = 1.0\n", "[Validation] Batch ID = 25500, loss = 0.0377125, acc = 0.94\n", "[Train] Batch ID = 25510, loss = 0.00521858, acc = 1.0\n", "[Validation] Batch ID = 25510, loss = 0.0253516, acc = 1.0\n", "[Train] Batch ID = 25520, loss = 0.00641138, acc = 1.0\n", "[Validation] Batch ID = 25520, loss = 0.0476274, acc = 0.98\n", "[Train] Batch ID = 25530, loss = 0.00449936, acc = 1.0\n", "[Validation] Batch ID = 25530, loss = 0.0245405, acc = 0.98\n", "[Train] Batch ID = 25540, loss = 0.00409921, acc = 1.0\n", "[Validation] Batch ID = 25540, loss = 0.0515231, acc = 0.96\n", "[Train] Batch ID = 25550, loss = 0.00419816, acc = 1.0\n", "[Validation] Batch ID = 25550, loss = 0.0396991, acc = 0.94\n", "[Train] Batch ID = 25560, loss = 0.00483512, acc = 1.0\n", "[Validation] Batch ID = 25560, loss = 0.0252135, acc = 0.98\n", "[Train] Batch ID = 25570, loss = 0.00738272, acc = 1.0\n", "[Validation] Batch ID = 25570, loss = 0.0450878, acc = 0.98\n", "[Train] Batch ID = 25580, loss = 0.00627595, acc = 1.0\n", "[Validation] Batch ID = 25580, loss = 0.0144401, acc = 1.0\n", "[Train] Batch ID = 25590, loss = 0.00204619, acc = 1.0\n", "[Validation] Batch ID = 25590, loss = 0.0351245, acc = 0.96\n", "[Train] Batch ID = 25600, loss = 0.153193, acc = 0.94\n", "[Validation] Batch ID = 25600, loss = 0.0326385, acc = 1.0\n", "[Train] Batch ID = 25610, loss = 0.00663038, acc = 1.0\n", "[Validation] Batch ID = 25610, loss = 0.0232786, acc = 1.0\n", "[Train] Batch ID = 25620, loss = 0.00416398, acc = 1.0\n", "[Validation] Batch ID = 25620, loss = 0.0339643, acc = 0.96\n", "[Train] Batch ID = 25630, loss = 0.00577202, acc = 1.0\n", "[Validation] Batch ID = 25630, loss = 0.0429454, acc = 0.96\n", "[Train] Batch ID = 25640, loss = 0.00381897, acc = 1.0\n", "[Validation] Batch ID = 25640, loss = 0.0234658, acc = 0.98\n", "[Train] Batch ID = 25650, loss = 0.00503051, acc = 1.0\n", "[Validation] Batch ID = 25650, loss = 0.0512088, acc = 0.96\n", "[Train] Batch ID = 25660, loss = 0.00575399, acc = 1.0\n", "[Validation] Batch ID = 25660, loss = 0.0181857, acc = 0.98\n", "[Train] Batch ID = 25670, loss = 0.00437739, acc = 1.0\n", "[Validation] Batch ID = 25670, loss = 0.0374583, acc = 0.96\n", "[Train] Batch ID = 25680, loss = 0.00392275, acc = 1.0\n", "[Validation] Batch ID = 25680, loss = 0.0643692, acc = 0.9\n", "[Train] Batch ID = 25690, loss = 0.00262643, acc = 1.0\n", "[Validation] Batch ID = 25690, loss = 0.0221178, acc = 0.98\n", "[Train] Batch ID = 25700, loss = 0.0066677, acc = 1.0\n", "[Validation] Batch ID = 25700, loss = 0.0535426, acc = 0.92\n", "[Train] Batch ID = 25710, loss = 0.0064405, acc = 1.0\n", "[Validation] Batch ID = 25710, loss = 0.0438907, acc = 0.96\n", "[Train] Batch ID = 25720, loss = 0.00399391, acc = 1.0\n", "[Validation] Batch ID = 25720, loss = 0.00851319, acc = 1.0\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "[Train] Batch ID = 25730, loss = 0.00533695, acc = 1.0\n", "[Validation] Batch ID = 25730, loss = 0.0134686, acc = 1.0\n", "[Train] Batch ID = 25740, loss = 0.00425786, acc = 1.0\n", "[Validation] Batch ID = 25740, loss = 0.0144386, acc = 1.0\n", "[Train] Batch ID = 25750, loss = 0.00332391, acc = 1.0\n", "[Validation] Batch ID = 25750, loss = 0.0175227, acc = 1.0\n", "[Train] Batch ID = 25760, loss = 0.00227195, acc = 1.0\n", "[Validation] Batch ID = 25760, loss = 0.0430957, acc = 0.96\n", "[Train] Batch ID = 25770, loss = 0.00387504, acc = 1.0\n", "[Validation] Batch ID = 25770, loss = 0.0271849, acc = 0.98\n", "[Train] Batch ID = 25780, loss = 0.00297543, acc = 1.0\n", "[Validation] Batch ID = 25780, loss = 0.0315987, acc = 0.98\n", "[Train] Batch ID = 25790, loss = 0.00331605, acc = 1.0\n", "[Validation] Batch ID = 25790, loss = 0.0251438, acc = 1.0\n", "[Train] Batch ID = 25800, loss = 0.00301288, acc = 1.0\n", "[Validation] Batch ID = 25800, loss = 0.0361691, acc = 0.96\n", "[Train] Batch ID = 25810, loss = 0.00305112, acc = 1.0\n", "[Validation] Batch ID = 25810, loss = 0.0370814, acc = 0.98\n", "[Train] Batch ID = 25820, loss = 0.00353276, acc = 1.0\n", "[Validation] Batch ID = 25820, loss = 0.0361633, acc = 1.0\n", "[Train] Batch ID = 25830, loss = 0.00934081, acc = 1.0\n", "[Validation] Batch ID = 25830, loss = 0.0271243, acc = 0.98\n", "[Train] Batch ID = 25840, loss = 0.00581993, acc = 1.0\n", "[Validation] Batch ID = 25840, loss = 0.0441077, acc = 0.96\n", "[Train] Batch ID = 25850, loss = 0.00750682, acc = 1.0\n", "[Validation] Batch ID = 25850, loss = 0.0347248, acc = 0.98\n", "[Train] Batch ID = 25860, loss = 0.00838789, acc = 1.0\n", "[Validation] Batch ID = 25860, loss = 0.0270179, acc = 1.0\n", "[Train] Batch ID = 25870, loss = 0.006683, acc = 1.0\n", "[Validation] Batch ID = 25870, loss = 0.0347112, acc = 0.98\n", "[Train] Batch ID = 25880, loss = 0.00275969, acc = 1.0\n", "[Validation] Batch ID = 25880, loss = 0.0367162, acc = 0.96\n", "[Train] Batch ID = 25890, loss = 0.00343216, acc = 1.0\n", "[Validation] Batch ID = 25890, loss = 0.0538582, acc = 0.92\n", "[Train] Batch ID = 25900, loss = 0.00772962, acc = 1.0\n", "[Validation] Batch ID = 25900, loss = 0.0259975, acc = 0.98\n", "[Train] Batch ID = 25910, loss = 0.00433735, acc = 1.0\n", "[Validation] Batch ID = 25910, loss = 0.0115889, acc = 1.0\n", "[Train] Batch ID = 25920, loss = 0.00337505, acc = 1.0\n", "[Validation] Batch ID = 25920, loss = 0.0115876, acc = 1.0\n", "[Train] Batch ID = 25930, loss = 0.00403224, acc = 1.0\n", "[Validation] Batch ID = 25930, loss = 0.0147867, acc = 1.0\n", "[Train] Batch ID = 25940, loss = 0.185585, acc = 0.82\n", "[Validation] Batch ID = 25940, loss = 0.0270805, acc = 0.98\n", "[Train] Batch ID = 25950, loss = 0.00718152, acc = 1.0\n", "[Validation] Batch ID = 25950, loss = 0.0189938, acc = 1.0\n", "[Train] Batch ID = 25960, loss = 0.00611538, acc = 1.0\n", "[Validation] Batch ID = 25960, loss = 0.0266209, acc = 0.98\n", "[Train] Batch ID = 25970, loss = 0.0044575, acc = 1.0\n", "[Validation] Batch ID = 25970, loss = 0.0418553, acc = 0.94\n", "[Train] Batch ID = 25980, loss = 0.00801087, acc = 1.0\n", "[Validation] Batch ID = 25980, loss = 0.0621258, acc = 0.96\n", "[Train] Batch ID = 25990, loss = 0.197612, acc = 0.82\n", "[Validation] Batch ID = 25990, loss = 0.0345656, acc = 0.96\n", "[Train] Batch ID = 26000, loss = 0.00912309, acc = 1.0\n", "[Validation] Batch ID = 26000, loss = 0.0419714, acc = 0.96\n", "Evaluate full validation dataset ...\n", "Current loss: 0.0366307 Best loss: 0.0344537\n", "[TOTAL Validation] Batch ID = 26000, loss = 0.0366307, acc = 0.97664399093\n", "Augmented Factor = 0.057568239633009693\n", "[Train] Batch ID = 26010, loss = 0.00578859, acc = 1.0\n", "[Validation] Batch ID = 26010, loss = 0.0370199, acc = 0.94\n", "[Train] Batch ID = 26020, loss = 0.00342464, acc = 1.0\n", "[Validation] Batch ID = 26020, loss = 0.0341786, acc = 0.96\n", "[Train] Batch ID = 26030, loss = 0.00453978, acc = 1.0\n", "[Validation] Batch ID = 26030, loss = 0.0197331, acc = 1.0\n", "[Train] Batch ID = 26040, loss = 0.00256224, acc = 1.0\n", "[Validation] Batch ID = 26040, loss = 0.0196859, acc = 1.0\n", "[Train] Batch ID = 26050, loss = 0.00340631, acc = 1.0\n", "[Validation] Batch ID = 26050, loss = 0.0452105, acc = 0.94\n", "[Train] Batch ID = 26060, loss = 0.00225872, acc = 1.0\n", "[Validation] Batch ID = 26060, loss = 0.0155485, acc = 1.0\n", "[Train] Batch ID = 26070, loss = 0.00560962, acc = 1.0\n", "[Validation] Batch ID = 26070, loss = 0.0266955, acc = 1.0\n", "[Train] Batch ID = 26080, loss = 0.00393269, acc = 1.0\n", "[Validation] Batch ID = 26080, loss = 0.0303223, acc = 1.0\n", "[Train] Batch ID = 26090, loss = 0.0048605, acc = 1.0\n", "[Validation] Batch ID = 26090, loss = 0.0414392, acc = 0.98\n", "[Train] Batch ID = 26100, loss = 0.00979519, acc = 1.0\n", "[Validation] Batch ID = 26100, loss = 0.0479835, acc = 0.94\n", "[Train] Batch ID = 26110, loss = 0.00481187, acc = 1.0\n", "[Validation] Batch ID = 26110, loss = 0.027029, acc = 0.96\n", "[Train] Batch ID = 26120, loss = 0.00537806, acc = 1.0\n", "[Validation] Batch ID = 26120, loss = 0.0250419, acc = 0.98\n", "[Train] Batch ID = 26130, loss = 0.00388486, acc = 1.0\n", "[Validation] Batch ID = 26130, loss = 0.0148263, acc = 0.98\n", "[Train] Batch ID = 26140, loss = 0.0059843, acc = 1.0\n", "[Validation] Batch ID = 26140, loss = 0.034666, acc = 0.98\n", "[Train] Batch ID = 26150, loss = 0.0045862, acc = 1.0\n", "[Validation] Batch ID = 26150, loss = 0.0215482, acc = 1.0\n", "[Train] Batch ID = 26160, loss = 0.00302086, acc = 1.0\n", "[Validation] Batch ID = 26160, loss = 0.0185783, acc = 0.98\n", "[Train] Batch ID = 26170, loss = 0.00269747, acc = 1.0\n", "[Validation] Batch ID = 26170, loss = 0.0086549, acc = 1.0\n", "[Train] Batch ID = 26180, loss = 0.00266846, acc = 1.0\n", "[Validation] Batch ID = 26180, loss = 0.0519928, acc = 0.94\n", "[Train] Batch ID = 26190, loss = 0.00209302, acc = 1.0\n", "[Validation] Batch ID = 26190, loss = 0.0202654, acc = 0.98\n", "[Train] Batch ID = 26200, loss = 0.00907939, acc = 1.0\n", "[Validation] Batch ID = 26200, loss = 0.0224886, acc = 0.98\n", "[Train] Batch ID = 26210, loss = 0.0026054, acc = 1.0\n", "[Validation] Batch ID = 26210, loss = 0.0332879, acc = 0.98\n", "[Train] Batch ID = 26220, loss = 0.00269661, acc = 1.0\n", "[Validation] Batch ID = 26220, loss = 0.0238039, acc = 0.98\n", "[Train] Batch ID = 26230, loss = 0.0035253, acc = 1.0\n", "[Validation] Batch ID = 26230, loss = 0.034603, acc = 0.98\n", "[Train] Batch ID = 26240, loss = 0.00399141, acc = 1.0\n", "[Validation] Batch ID = 26240, loss = 0.0519859, acc = 0.94\n", "[Train] Batch ID = 26250, loss = 0.00169044, acc = 1.0\n", "[Validation] Batch ID = 26250, loss = 0.0365988, acc = 0.98\n", "[Train] Batch ID = 26260, loss = 0.00282942, acc = 1.0\n", "[Validation] Batch ID = 26260, loss = 0.0296884, acc = 0.98\n", "[Train] Batch ID = 26270, loss = 0.18625, acc = 0.86\n", "[Validation] Batch ID = 26270, loss = 0.0567259, acc = 0.92\n", "[Train] Batch ID = 26280, loss = 0.00668649, acc = 1.0\n", "[Validation] Batch ID = 26280, loss = 0.0542342, acc = 0.94\n", "[Train] Batch ID = 26290, loss = 0.189436, acc = 0.77551\n", "[Validation] Batch ID = 26290, loss = 0.0218903, acc = 1.0\n", "[Train] Batch ID = 26300, loss = 0.00955191, acc = 1.0\n", "[Validation] Batch ID = 26300, loss = 0.0240006, acc = 0.98\n", "[Train] Batch ID = 26310, loss = 0.00536634, acc = 1.0\n", "[Validation] Batch ID = 26310, loss = 0.0181581, acc = 0.98\n", "[Train] Batch ID = 26320, loss = 0.0076938, acc = 1.0\n", "[Validation] Batch ID = 26320, loss = 0.0237479, acc = 0.98\n", "[Train] Batch ID = 26330, loss = 0.00301295, acc = 1.0\n", "[Validation] Batch ID = 26330, loss = 0.0271867, acc = 1.0\n", "[Train] Batch ID = 26340, loss = 0.00397235, acc = 1.0\n", "[Validation] Batch ID = 26340, loss = 0.0459381, acc = 0.94\n", "[Train] Batch ID = 26350, loss = 0.00645607, acc = 1.0\n", "[Validation] Batch ID = 26350, loss = 0.028852, acc = 1.0\n", "[Train] Batch ID = 26360, loss = 0.00282513, acc = 1.0\n", "[Validation] Batch ID = 26360, loss = 0.0278333, acc = 0.98\n", "[Train] Batch ID = 26370, loss = 0.00559427, acc = 1.0\n", "[Validation] Batch ID = 26370, loss = 0.0239033, acc = 1.0\n", "[Train] Batch ID = 26380, loss = 0.00523777, acc = 1.0\n", "[Validation] Batch ID = 26380, loss = 0.0280567, acc = 0.98\n", "[Train] Batch ID = 26390, loss = 0.0033703, acc = 1.0\n", "[Validation] Batch ID = 26390, loss = 0.0260484, acc = 0.98\n", "[Train] Batch ID = 26400, loss = 0.00215853, acc = 1.0\n", "[Validation] Batch ID = 26400, loss = 0.00590714, acc = 1.0\n", "[Train] Batch ID = 26410, loss = 0.00703167, acc = 1.0\n", "[Validation] Batch ID = 26410, loss = 0.0243345, acc = 1.0\n", "[Train] Batch ID = 26420, loss = 0.00475593, acc = 1.0\n", "[Validation] Batch ID = 26420, loss = 0.0320021, acc = 0.98\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "[Train] Batch ID = 26430, loss = 0.00396824, acc = 1.0\n", "[Validation] Batch ID = 26430, loss = 0.0541277, acc = 0.94\n", "[Train] Batch ID = 26440, loss = 0.00328267, acc = 1.0\n", "[Validation] Batch ID = 26440, loss = 0.0369022, acc = 0.96\n", "[Train] Batch ID = 26450, loss = 0.00263134, acc = 1.0\n", "[Validation] Batch ID = 26450, loss = 0.0278014, acc = 0.98\n", "[Train] Batch ID = 26460, loss = 0.00421793, acc = 1.0\n", "[Validation] Batch ID = 26460, loss = 0.0217491, acc = 0.98\n", "[Train] Batch ID = 26470, loss = 0.200859, acc = 0.84\n", "[Validation] Batch ID = 26470, loss = 0.0306074, acc = 0.98\n", "[Train] Batch ID = 26480, loss = 0.00522908, acc = 1.0\n", "[Validation] Batch ID = 26480, loss = 0.0188927, acc = 1.0\n", "[Train] Batch ID = 26490, loss = 0.00466273, acc = 1.0\n", "[Validation] Batch ID = 26490, loss = 0.0113572, acc = 1.0\n", "[Train] Batch ID = 26500, loss = 0.00286973, acc = 1.0\n", "[Validation] Batch ID = 26500, loss = 0.0316676, acc = 1.0\n", "[Train] Batch ID = 26510, loss = 0.00175133, acc = 1.0\n", "[Validation] Batch ID = 26510, loss = 0.0251474, acc = 0.98\n", "[Train] Batch ID = 26520, loss = 0.00279293, acc = 1.0\n", "[Validation] Batch ID = 26520, loss = 0.0336185, acc = 0.98\n", "[Train] Batch ID = 26530, loss = 0.00484142, acc = 1.0\n", "[Validation] Batch ID = 26530, loss = 0.0672743, acc = 0.92\n", "[Train] Batch ID = 26540, loss = 0.00493622, acc = 1.0\n", "[Validation] Batch ID = 26540, loss = 0.0370524, acc = 0.96\n", "[Train] Batch ID = 26550, loss = 0.168307, acc = 0.86\n", "[Validation] Batch ID = 26550, loss = 0.0385802, acc = 0.96\n", "[Train] Batch ID = 26560, loss = 0.00593387, acc = 1.0\n", "[Validation] Batch ID = 26560, loss = 0.0115282, acc = 1.0\n", "[Train] Batch ID = 26570, loss = 0.00370316, acc = 1.0\n", "[Validation] Batch ID = 26570, loss = 0.0406835, acc = 0.96\n", "[Train] Batch ID = 26580, loss = 0.00291659, acc = 1.0\n", "[Validation] Batch ID = 26580, loss = 0.0204569, acc = 0.98\n", "[Train] Batch ID = 26590, loss = 0.00291656, acc = 1.0\n", "[Validation] Batch ID = 26590, loss = 0.0260496, acc = 1.0\n", "[Train] Batch ID = 26600, loss = 0.00436872, acc = 1.0\n", "[Validation] Batch ID = 26600, loss = 0.0369429, acc = 0.96\n", "[Train] Batch ID = 26610, loss = 0.00292887, acc = 1.0\n", "[Validation] Batch ID = 26610, loss = 0.052785, acc = 0.9\n", "[Train] Batch ID = 26620, loss = 0.182779, acc = 0.84\n", "[Validation] Batch ID = 26620, loss = 0.0529491, acc = 0.96\n", "[Train] Batch ID = 26630, loss = 0.00462629, acc = 1.0\n", "[Validation] Batch ID = 26630, loss = 0.0496139, acc = 0.94\n", "[Train] Batch ID = 26640, loss = 0.00323106, acc = 1.0\n", "[Validation] Batch ID = 26640, loss = 0.0357215, acc = 1.0\n", "[Train] Batch ID = 26650, loss = 0.00396145, acc = 1.0\n", "[Validation] Batch ID = 26650, loss = 0.0460461, acc = 0.96\n", "[Train] Batch ID = 26660, loss = 0.00480894, acc = 1.0\n", "[Validation] Batch ID = 26660, loss = 0.0358499, acc = 0.98\n", "[Train] Batch ID = 26670, loss = 0.00657377, acc = 1.0\n", "[Validation] Batch ID = 26670, loss = 0.0281682, acc = 0.98\n", "[Train] Batch ID = 26680, loss = 0.00332897, acc = 1.0\n", "[Validation] Batch ID = 26680, loss = 0.0234043, acc = 0.96\n", "[Train] Batch ID = 26690, loss = 0.00337948, acc = 1.0\n", "[Validation] Batch ID = 26690, loss = 0.0234602, acc = 0.96\n", "[Train] Batch ID = 26700, loss = 0.00346916, acc = 1.0\n", "[Validation] Batch ID = 26700, loss = 0.023408, acc = 1.0\n", "[Train] Batch ID = 26710, loss = 0.00478993, acc = 1.0\n", "[Validation] Batch ID = 26710, loss = 0.0358729, acc = 0.96\n", "[Train] Batch ID = 26720, loss = 0.00496879, acc = 1.0\n", "[Validation] Batch ID = 26720, loss = 0.0274833, acc = 0.98\n", "[Train] Batch ID = 26730, loss = 0.00416248, acc = 1.0\n", "[Validation] Batch ID = 26730, loss = 0.0214859, acc = 0.98\n", "[Train] Batch ID = 26740, loss = 0.00582328, acc = 1.0\n", "[Validation] Batch ID = 26740, loss = 0.060164, acc = 0.92\n", "[Train] Batch ID = 26750, loss = 0.00265176, acc = 1.0\n", "[Validation] Batch ID = 26750, loss = 0.0254673, acc = 0.98\n", "[Train] Batch ID = 26760, loss = 0.174635, acc = 0.94\n", "[Validation] Batch ID = 26760, loss = 0.0408336, acc = 0.96\n", "[Train] Batch ID = 26770, loss = 0.00392071, acc = 1.0\n", "[Validation] Batch ID = 26770, loss = 0.0337866, acc = 0.96\n", "[Train] Batch ID = 26780, loss = 0.00369409, acc = 1.0\n", "[Validation] Batch ID = 26780, loss = 0.0106499, acc = 1.0\n", "[Train] Batch ID = 26790, loss = 0.00324345, acc = 1.0\n", "[Validation] Batch ID = 26790, loss = 0.0303946, acc = 0.96\n", "[Train] Batch ID = 26800, loss = 0.00568823, acc = 1.0\n", "[Validation] Batch ID = 26800, loss = 0.0131908, acc = 1.0\n", "[Train] Batch ID = 26810, loss = 0.00564457, acc = 1.0\n", "[Validation] Batch ID = 26810, loss = 0.0651951, acc = 0.94\n", "[Train] Batch ID = 26820, loss = 0.00590674, acc = 1.0\n", "[Validation] Batch ID = 26820, loss = 0.0508425, acc = 0.94\n", "[Train] Batch ID = 26830, loss = 0.00483907, acc = 1.0\n", "[Validation] Batch ID = 26830, loss = 0.0384995, acc = 0.96\n", "[Train] Batch ID = 26840, loss = 0.00542458, acc = 1.0\n", "[Validation] Batch ID = 26840, loss = 0.0316136, acc = 0.98\n", "[Train] Batch ID = 26850, loss = 0.00505711, acc = 1.0\n", "[Validation] Batch ID = 26850, loss = 0.0617723, acc = 0.94\n", "[Train] Batch ID = 26860, loss = 0.00412953, acc = 1.0\n", "[Validation] Batch ID = 26860, loss = 0.0155764, acc = 1.0\n", "[Train] Batch ID = 26870, loss = 0.00201616, acc = 1.0\n", "[Validation] Batch ID = 26870, loss = 0.0493092, acc = 0.94\n", "[Train] Batch ID = 26880, loss = 0.23393, acc = 0.78\n", "[Validation] Batch ID = 26880, loss = 0.05607, acc = 0.96\n", "[Train] Batch ID = 26890, loss = 0.00445797, acc = 1.0\n", "[Validation] Batch ID = 26890, loss = 0.0248622, acc = 0.98\n", "[Train] Batch ID = 26900, loss = 0.00403341, acc = 1.0\n", "[Validation] Batch ID = 26900, loss = 0.0247395, acc = 0.98\n", "[Train] Batch ID = 26910, loss = 0.00226296, acc = 1.0\n", "[Validation] Batch ID = 26910, loss = 0.00926258, acc = 1.0\n", "[Train] Batch ID = 26920, loss = 0.00215366, acc = 1.0\n", "[Validation] Batch ID = 26920, loss = 0.0303627, acc = 0.98\n", "[Train] Batch ID = 26930, loss = 0.00133493, acc = 1.0\n", "[Validation] Batch ID = 26930, loss = 0.014699, acc = 1.0\n", "[Train] Batch ID = 26940, loss = 0.00125113, acc = 1.0\n", "[Validation] Batch ID = 26940, loss = 0.0439244, acc = 0.98\n", "[Train] Batch ID = 26950, loss = 0.00288408, acc = 1.0\n", "[Validation] Batch ID = 26950, loss = 0.0448899, acc = 0.94\n", "[Train] Batch ID = 26960, loss = 0.00600772, acc = 1.0\n", "[Validation] Batch ID = 26960, loss = 0.0274735, acc = 0.98\n", "[Train] Batch ID = 26970, loss = 0.00206654, acc = 1.0\n", "[Validation] Batch ID = 26970, loss = 0.0220249, acc = 1.0\n", "[Train] Batch ID = 26980, loss = 0.00154794, acc = 1.0\n", "[Validation] Batch ID = 26980, loss = 0.0188516, acc = 1.0\n", "[Train] Batch ID = 26990, loss = 0.00463967, acc = 1.0\n", "[Validation] Batch ID = 26990, loss = 0.0280851, acc = 0.98\n", "[Train] Batch ID = 27000, loss = 0.00306024, acc = 1.0\n", "[Validation] Batch ID = 27000, loss = 0.0241877, acc = 0.98\n", "Evaluate full validation dataset ...\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "ModelBase::Saving model ...\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Current loss: 0.0288538 Best loss: 0.0344537\n", "[TOTAL Validation] Batch ID = 27000, loss = 0.0288538, acc = 0.975283446712\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "ModelBase::Model successfully saved here: outputs/checkpoints/c1s_9_c1n_256_c2s_6_c2n_64_c2d_0.7_c1vl_16_c1s_5_c1nf_16_c2vl_32_lr_0.0001_rs_1--TrafficSign--1510487290.423481\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Augmented Factor = 0.051811415669708726\n", "[Train] Batch ID = 27010, loss = 0.00511028, acc = 1.0\n", "[Validation] Batch ID = 27010, loss = 0.0165535, acc = 1.0\n", "[Train] Batch ID = 27020, loss = 0.00426955, acc = 1.0\n", "[Validation] Batch ID = 27020, loss = 0.0351558, acc = 0.98\n", "[Train] Batch ID = 27030, loss = 0.00411893, acc = 1.0\n", "[Validation] Batch ID = 27030, loss = 0.0209745, acc = 0.98\n", "[Train] Batch ID = 27040, loss = 0.00332543, acc = 1.0\n", "[Validation] Batch ID = 27040, loss = 0.0352275, acc = 0.96\n", "[Train] Batch ID = 27050, loss = 0.00368007, acc = 1.0\n", "[Validation] Batch ID = 27050, loss = 0.0459675, acc = 0.96\n", "[Train] Batch ID = 27060, loss = 0.00379479, acc = 1.0\n", "[Validation] Batch ID = 27060, loss = 0.025172, acc = 0.98\n", "[Train] Batch ID = 27070, loss = 0.0038915, acc = 1.0\n", "[Validation] Batch ID = 27070, loss = 0.0343857, acc = 0.96\n", "[Train] Batch ID = 27080, loss = 0.00317512, acc = 1.0\n", "[Validation] Batch ID = 27080, loss = 0.0245631, acc = 1.0\n", "[Train] Batch ID = 27090, loss = 0.00547263, acc = 1.0\n", "[Validation] Batch ID = 27090, loss = 0.054059, acc = 0.92\n", "[Train] Batch ID = 27100, loss = 0.00289482, acc = 1.0\n", "[Validation] Batch ID = 27100, loss = 0.0119446, acc = 1.0\n", "[Train] Batch ID = 27110, loss = 0.00858852, acc = 1.0\n", "[Validation] Batch ID = 27110, loss = 0.0456612, acc = 0.96\n", "[Train] Batch ID = 27120, loss = 0.00525914, acc = 1.0\n", "[Validation] Batch ID = 27120, loss = 0.0401797, acc = 0.96\n", "[Train] Batch ID = 27130, loss = 0.00853301, acc = 1.0\n", "[Validation] Batch ID = 27130, loss = 0.031492, acc = 0.96\n", "[Train] Batch ID = 27140, loss = 0.00509303, acc = 1.0\n", "[Validation] Batch ID = 27140, loss = 0.0521615, acc = 0.96\n", "[Train] Batch ID = 27150, loss = 0.00506715, acc = 1.0\n", "[Validation] Batch ID = 27150, loss = 0.0284795, acc = 0.96\n", "[Train] Batch ID = 27160, loss = 0.00174473, acc = 1.0\n", "[Validation] Batch ID = 27160, loss = 0.0249244, acc = 0.98\n", "[Train] Batch ID = 27170, loss = 0.00213509, acc = 1.0\n", "[Validation] Batch ID = 27170, loss = 0.0141826, acc = 1.0\n", "[Train] Batch ID = 27180, loss = 0.00329272, acc = 1.0\n", "[Validation] Batch ID = 27180, loss = 0.0212482, acc = 0.98\n", "[Train] Batch ID = 27190, loss = 0.00468888, acc = 1.0\n", "[Validation] Batch ID = 27190, loss = 0.0308753, acc = 1.0\n", "[Train] Batch ID = 27200, loss = 0.00497168, acc = 1.0\n", "[Validation] Batch ID = 27200, loss = 0.0155546, acc = 1.0\n", "[Train] Batch ID = 27210, loss = 0.0040175, acc = 1.0\n", "[Validation] Batch ID = 27210, loss = 0.0166102, acc = 1.0\n", "[Train] Batch ID = 27220, loss = 0.00439152, acc = 1.0\n", "[Validation] Batch ID = 27220, loss = 0.0392602, acc = 0.96\n", "[Train] Batch ID = 27230, loss = 0.162589, acc = 0.84\n", "[Validation] Batch ID = 27230, loss = 0.0393884, acc = 0.98\n", "[Train] Batch ID = 27240, loss = 0.00438648, acc = 1.0\n", "[Validation] Batch ID = 27240, loss = 0.0274206, acc = 1.0\n", "[Train] Batch ID = 27250, loss = 0.00161945, acc = 1.0\n", "[Validation] Batch ID = 27250, loss = 0.0400404, acc = 0.98\n", "[Train] Batch ID = 27260, loss = 0.00240711, acc = 1.0\n", "[Validation] Batch ID = 27260, loss = 0.0264643, acc = 1.0\n", "[Train] Batch ID = 27270, loss = 0.00205574, acc = 1.0\n", "[Validation] Batch ID = 27270, loss = 0.0308662, acc = 0.96\n", "[Train] Batch ID = 27280, loss = 0.00210773, acc = 1.0\n", "[Validation] Batch ID = 27280, loss = 0.0250496, acc = 1.0\n", "[Train] Batch ID = 27290, loss = 0.00264712, acc = 1.0\n", "[Validation] Batch ID = 27290, loss = 0.0227238, acc = 1.0\n", "[Train] Batch ID = 27300, loss = 0.00321466, acc = 1.0\n", "[Validation] Batch ID = 27300, loss = 0.0184655, acc = 1.0\n", "[Train] Batch ID = 27310, loss = 0.00538398, acc = 1.0\n", "[Validation] Batch ID = 27310, loss = 0.0323665, acc = 0.98\n", "[Train] Batch ID = 27320, loss = 0.00256569, acc = 1.0\n", "[Validation] Batch ID = 27320, loss = 0.0418785, acc = 0.96\n", "[Train] Batch ID = 27330, loss = 0.00428335, acc = 1.0\n", "[Validation] Batch ID = 27330, loss = 0.018436, acc = 1.0\n", "[Train] Batch ID = 27340, loss = 0.0043995, acc = 1.0\n", "[Validation] Batch ID = 27340, loss = 0.0174451, acc = 1.0\n", "[Train] Batch ID = 27350, loss = 0.00282584, acc = 1.0\n", "[Validation] Batch ID = 27350, loss = 0.0342281, acc = 0.96\n", "[Train] Batch ID = 27360, loss = 0.00249544, acc = 1.0\n", "[Validation] Batch ID = 27360, loss = 0.0408371, acc = 0.96\n", "[Train] Batch ID = 27370, loss = 0.00713182, acc = 1.0\n", "[Validation] Batch ID = 27370, loss = 0.0283601, acc = 0.98\n", "[Train] Batch ID = 27380, loss = 0.00484642, acc = 1.0\n", "[Validation] Batch ID = 27380, loss = 0.0623501, acc = 0.96\n", "[Train] Batch ID = 27390, loss = 0.00440441, acc = 1.0\n", "[Validation] Batch ID = 27390, loss = 0.0734918, acc = 0.94\n", "[Train] Batch ID = 27400, loss = 0.0040726, acc = 1.0\n", "[Validation] Batch ID = 27400, loss = 0.0245252, acc = 1.0\n", "[Train] Batch ID = 27410, loss = 0.00184892, acc = 1.0\n", "[Validation] Batch ID = 27410, loss = 0.0475885, acc = 0.94\n", "[Train] Batch ID = 27420, loss = 0.00294766, acc = 1.0\n", "[Validation] Batch ID = 27420, loss = 0.0276553, acc = 1.0\n", "[Train] Batch ID = 27430, loss = 0.00348575, acc = 1.0\n", "[Validation] Batch ID = 27430, loss = 0.0535204, acc = 0.96\n", "[Train] Batch ID = 27440, loss = 0.00377619, acc = 1.0\n", "[Validation] Batch ID = 27440, loss = 0.0260394, acc = 0.98\n", "[Train] Batch ID = 27450, loss = 0.00398294, acc = 1.0\n", "[Validation] Batch ID = 27450, loss = 0.0253127, acc = 1.0\n", "[Train] Batch ID = 27460, loss = 0.00179457, acc = 1.0\n", "[Validation] Batch ID = 27460, loss = 0.0368867, acc = 0.98\n", "[Train] Batch ID = 27470, loss = 0.00485747, acc = 1.0\n", "[Validation] Batch ID = 27470, loss = 0.0436458, acc = 0.96\n", "[Train] Batch ID = 27480, loss = 0.00582817, acc = 1.0\n", "[Validation] Batch ID = 27480, loss = 0.0342999, acc = 0.98\n", "[Train] Batch ID = 27490, loss = 0.00277406, acc = 1.0\n", "[Validation] Batch ID = 27490, loss = 0.0544706, acc = 0.94\n", "[Train] Batch ID = 27500, loss = 0.00381071, acc = 1.0\n", "[Validation] Batch ID = 27500, loss = 0.00362776, acc = 1.0\n", "[Train] Batch ID = 27510, loss = 0.00379636, acc = 1.0\n", "[Validation] Batch ID = 27510, loss = 0.0264396, acc = 1.0\n", "[Train] Batch ID = 27520, loss = 0.0028638, acc = 1.0\n", "[Validation] Batch ID = 27520, loss = 0.0228713, acc = 1.0\n", "[Train] Batch ID = 27530, loss = 0.00693576, acc = 1.0\n", "[Validation] Batch ID = 27530, loss = 0.0201265, acc = 1.0\n", "[Train] Batch ID = 27540, loss = 0.00420036, acc = 1.0\n", "[Validation] Batch ID = 27540, loss = 0.0309738, acc = 0.98\n", "[Train] Batch ID = 27550, loss = 0.00283662, acc = 1.0\n", "[Validation] Batch ID = 27550, loss = 0.0179669, acc = 1.0\n", "[Train] Batch ID = 27560, loss = 0.00240371, acc = 1.0\n", "[Validation] Batch ID = 27560, loss = 0.0258558, acc = 0.98\n", "[Train] Batch ID = 27570, loss = 0.00252555, acc = 1.0\n", "[Validation] Batch ID = 27570, loss = 0.0318374, acc = 0.98\n", "[Train] Batch ID = 27580, loss = 0.00141832, acc = 1.0\n", "[Validation] Batch ID = 27580, loss = 0.0205535, acc = 0.98\n", "[Train] Batch ID = 27590, loss = 0.00298626, acc = 1.0\n", "[Validation] Batch ID = 27590, loss = 0.0381441, acc = 0.96\n", "[Train] Batch ID = 27600, loss = 0.0025265, acc = 1.0\n", "[Validation] Batch ID = 27600, loss = 0.0240987, acc = 0.98\n", "[Train] Batch ID = 27610, loss = 0.00269176, acc = 1.0\n", "[Validation] Batch ID = 27610, loss = 0.0294533, acc = 0.98\n", "[Train] Batch ID = 27620, loss = 0.00349637, acc = 1.0\n", "[Validation] Batch ID = 27620, loss = 0.0456181, acc = 0.96\n", "[Train] Batch ID = 27630, loss = 0.00553599, acc = 1.0\n", "[Validation] Batch ID = 27630, loss = 0.0502782, acc = 0.96\n", "[Train] Batch ID = 27640, loss = 0.00286797, acc = 1.0\n", "[Validation] Batch ID = 27640, loss = 0.0266564, acc = 0.96\n", "[Train] Batch ID = 27650, loss = 0.00177842, acc = 1.0\n", "[Validation] Batch ID = 27650, loss = 0.0208164, acc = 1.0\n", "[Train] Batch ID = 27660, loss = 0.00337631, acc = 1.0\n", "[Validation] Batch ID = 27660, loss = 0.0487182, acc = 0.96\n", "[Train] Batch ID = 27670, loss = 0.00450622, acc = 1.0\n", "[Validation] Batch ID = 27670, loss = 0.0354008, acc = 0.98\n", "[Train] Batch ID = 27680, loss = 0.00501884, acc = 1.0\n", "[Validation] Batch ID = 27680, loss = 0.0233731, acc = 0.98\n", "[Train] Batch ID = 27690, loss = 0.00395974, acc = 1.0\n", "[Validation] Batch ID = 27690, loss = 0.0156231, acc = 1.0\n", "[Train] Batch ID = 27700, loss = 0.0020192, acc = 1.0\n", "[Validation] Batch ID = 27700, loss = 0.0284574, acc = 0.98\n", "[Train] Batch ID = 27710, loss = 0.00354789, acc = 1.0\n", "[Validation] Batch ID = 27710, loss = 0.0225502, acc = 0.98\n", "[Train] Batch ID = 27720, loss = 0.00342917, acc = 1.0\n", "[Validation] Batch ID = 27720, loss = 0.0314516, acc = 0.96\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "[Train] Batch ID = 27730, loss = 0.00876324, acc = 1.0\n", "[Validation] Batch ID = 27730, loss = 0.0208891, acc = 1.0\n", "[Train] Batch ID = 27740, loss = 0.00735486, acc = 1.0\n", "[Validation] Batch ID = 27740, loss = 0.0456446, acc = 0.98\n", "[Train] Batch ID = 27750, loss = 0.19702, acc = 0.82\n", "[Validation] Batch ID = 27750, loss = 0.0072705, acc = 1.0\n", "[Train] Batch ID = 27760, loss = 0.00326728, acc = 1.0\n", "[Validation] Batch ID = 27760, loss = 0.0170011, acc = 1.0\n", "[Train] Batch ID = 27770, loss = 0.00552057, acc = 1.0\n", "[Validation] Batch ID = 27770, loss = 0.0403789, acc = 0.96\n", "[Train] Batch ID = 27780, loss = 0.00320928, acc = 1.0\n", "[Validation] Batch ID = 27780, loss = 0.044519, acc = 0.94\n", "[Train] Batch ID = 27790, loss = 0.212572, acc = 0.82\n", "[Validation] Batch ID = 27790, loss = 0.0424083, acc = 0.96\n", "[Train] Batch ID = 27800, loss = 0.00346044, acc = 1.0\n", "[Validation] Batch ID = 27800, loss = 0.0487666, acc = 0.98\n", "[Train] Batch ID = 27810, loss = 0.00328715, acc = 1.0\n", "[Validation] Batch ID = 27810, loss = 0.0415209, acc = 0.96\n", "[Train] Batch ID = 27820, loss = 0.00699302, acc = 1.0\n", "[Validation] Batch ID = 27820, loss = 0.0218442, acc = 0.98\n", "[Train] Batch ID = 27830, loss = 0.00400849, acc = 1.0\n", "[Validation] Batch ID = 27830, loss = 0.0383321, acc = 0.98\n", "[Train] Batch ID = 27840, loss = 0.00345799, acc = 1.0\n", "[Validation] Batch ID = 27840, loss = 0.00681413, acc = 1.0\n", "[Train] Batch ID = 27850, loss = 0.00364605, acc = 1.0\n", "[Validation] Batch ID = 27850, loss = 0.00989431, acc = 1.0\n", "[Train] Batch ID = 27860, loss = 0.177231, acc = 0.82\n", "[Validation] Batch ID = 27860, loss = 0.034446, acc = 0.98\n", "[Train] Batch ID = 27870, loss = 0.00482243, acc = 1.0\n", "[Validation] Batch ID = 27870, loss = 0.0370102, acc = 0.98\n", "[Train] Batch ID = 27880, loss = 0.00301864, acc = 1.0\n", "[Validation] Batch ID = 27880, loss = 0.0245813, acc = 1.0\n", "[Train] Batch ID = 27890, loss = 0.00238273, acc = 1.0\n", "[Validation] Batch ID = 27890, loss = 0.0108975, acc = 1.0\n", "[Train] Batch ID = 27900, loss = 0.0037313, acc = 1.0\n", "[Validation] Batch ID = 27900, loss = 0.0318729, acc = 0.98\n", "[Train] Batch ID = 27910, loss = 0.00220983, acc = 1.0\n", "[Validation] Batch ID = 27910, loss = 0.0317025, acc = 1.0\n", "[Train] Batch ID = 27920, loss = 0.00454798, acc = 1.0\n", "[Validation] Batch ID = 27920, loss = 0.034279, acc = 0.94\n", "[Train] Batch ID = 27930, loss = 0.00456027, acc = 1.0\n", "[Validation] Batch ID = 27930, loss = 0.0375703, acc = 0.96\n", "[Train] Batch ID = 27940, loss = 0.00207326, acc = 1.0\n", "[Validation] Batch ID = 27940, loss = 0.0245635, acc = 0.98\n", "[Train] Batch ID = 27950, loss = 0.00254769, acc = 1.0\n", "[Validation] Batch ID = 27950, loss = 0.0272671, acc = 0.98\n", "[Train] Batch ID = 27960, loss = 0.00293592, acc = 1.0\n", "[Validation] Batch ID = 27960, loss = 0.0281415, acc = 0.96\n", "[Train] Batch ID = 27970, loss = 0.00211629, acc = 1.0\n", "[Validation] Batch ID = 27970, loss = 0.0138597, acc = 1.0\n", "[Train] Batch ID = 27980, loss = 0.00623275, acc = 1.0\n", "[Validation] Batch ID = 27980, loss = 0.0294323, acc = 0.96\n", "[Train] Batch ID = 27990, loss = 0.00163982, acc = 1.0\n", "[Validation] Batch ID = 27990, loss = 0.0236676, acc = 0.98\n", "[Train] Batch ID = 28000, loss = 0.00254689, acc = 1.0\n", "[Validation] Batch ID = 28000, loss = 0.0199397, acc = 1.0\n", "Evaluate full validation dataset ...\n", "Current loss: 0.030012 Best loss: 0.0288538\n", "[TOTAL Validation] Batch ID = 28000, loss = 0.030012, acc = 0.975736961451\n", "Augmented Factor = 0.04663027410273785\n", "[Train] Batch ID = 28010, loss = 0.00187517, acc = 1.0\n", "[Validation] Batch ID = 28010, loss = 0.0148295, acc = 0.98\n", "[Train] Batch ID = 28020, loss = 0.00282962, acc = 1.0\n", "[Validation] Batch ID = 28020, loss = 0.0294613, acc = 0.96\n", "[Train] Batch ID = 28030, loss = 0.00181198, acc = 1.0\n", "[Validation] Batch ID = 28030, loss = 0.0198276, acc = 0.98\n", "[Train] Batch ID = 28040, loss = 0.0029496, acc = 1.0\n", "[Validation] Batch ID = 28040, loss = 0.0201372, acc = 1.0\n", "[Train] Batch ID = 28050, loss = 0.00334896, acc = 1.0\n", "[Validation] Batch ID = 28050, loss = 0.0251114, acc = 0.98\n", "[Train] Batch ID = 28060, loss = 0.00249863, acc = 1.0\n", "[Validation] Batch ID = 28060, loss = 0.0112194, acc = 1.0\n", "[Train] Batch ID = 28070, loss = 0.00246355, acc = 1.0\n", "[Validation] Batch ID = 28070, loss = 0.0610709, acc = 0.94\n", "[Train] Batch ID = 28080, loss = 0.00649246, acc = 1.0\n", "[Validation] Batch ID = 28080, loss = 0.026216, acc = 0.98\n", "[Train] Batch ID = 28090, loss = 0.00303462, acc = 1.0\n", "[Validation] Batch ID = 28090, loss = 0.0378549, acc = 0.98\n", "[Train] Batch ID = 28100, loss = 0.00347731, acc = 1.0\n", "[Validation] Batch ID = 28100, loss = 0.0222453, acc = 0.98\n", "[Train] Batch ID = 28110, loss = 0.00421006, acc = 1.0\n", "[Validation] Batch ID = 28110, loss = 0.0195487, acc = 1.0\n", "[Train] Batch ID = 28120, loss = 0.00320211, acc = 1.0\n", "[Validation] Batch ID = 28120, loss = 0.0396301, acc = 0.96\n", "[Train] Batch ID = 28130, loss = 0.000717742, acc = 1.0\n", "[Validation] Batch ID = 28130, loss = 0.0516516, acc = 0.94\n", "[Train] Batch ID = 28140, loss = 0.00242869, acc = 1.0\n", "[Validation] Batch ID = 28140, loss = 0.0381379, acc = 0.96\n", "[Train] Batch ID = 28150, loss = 0.00196508, acc = 1.0\n", "[Validation] Batch ID = 28150, loss = 0.0192463, acc = 0.98\n", "[Train] Batch ID = 28160, loss = 0.00260866, acc = 1.0\n", "[Validation] Batch ID = 28160, loss = 0.0447866, acc = 0.96\n", "[Train] Batch ID = 28170, loss = 0.00851993, acc = 1.0\n", "[Validation] Batch ID = 28170, loss = 0.0234473, acc = 1.0\n", "[Train] Batch ID = 28180, loss = 0.00495754, acc = 1.0\n", "[Validation] Batch ID = 28180, loss = 0.0296174, acc = 0.98\n", "[Train] Batch ID = 28190, loss = 0.00353983, acc = 1.0\n", "[Validation] Batch ID = 28190, loss = 0.0131416, acc = 1.0\n", "[Train] Batch ID = 28200, loss = 0.00157515, acc = 1.0\n", "[Validation] Batch ID = 28200, loss = 0.0171649, acc = 1.0\n", "[Train] Batch ID = 28210, loss = 0.00253486, acc = 1.0\n", "[Validation] Batch ID = 28210, loss = 0.0307121, acc = 0.98\n", "[Train] Batch ID = 28220, loss = 0.00335755, acc = 1.0\n", "[Validation] Batch ID = 28220, loss = 0.0493128, acc = 0.96\n", "[Train] Batch ID = 28230, loss = 0.00275743, acc = 1.0\n", "[Validation] Batch ID = 28230, loss = 0.0510425, acc = 0.94\n", "[Train] Batch ID = 28240, loss = 0.00629263, acc = 1.0\n", "[Validation] Batch ID = 28240, loss = 0.0141851, acc = 1.0\n", "[Train] Batch ID = 28250, loss = 0.00417819, acc = 1.0\n", "[Validation] Batch ID = 28250, loss = 0.0299346, acc = 0.98\n", "[Train] Batch ID = 28260, loss = 0.00310623, acc = 1.0\n", "[Validation] Batch ID = 28260, loss = 0.0284007, acc = 1.0\n", "[Train] Batch ID = 28270, loss = 0.00471785, acc = 1.0\n", "[Validation] Batch ID = 28270, loss = 0.0341935, acc = 0.98\n", "[Train] Batch ID = 28280, loss = 0.00593985, acc = 1.0\n", "[Validation] Batch ID = 28280, loss = 0.014572, acc = 1.0\n", "[Train] Batch ID = 28290, loss = 0.00565017, acc = 1.0\n", "[Validation] Batch ID = 28290, loss = 0.0380004, acc = 1.0\n", "[Train] Batch ID = 28300, loss = 0.00331818, acc = 1.0\n", "[Validation] Batch ID = 28300, loss = 0.029631, acc = 0.98\n", "[Train] Batch ID = 28310, loss = 0.00217559, acc = 1.0\n", "[Validation] Batch ID = 28310, loss = 0.0203245, acc = 0.98\n", "[Train] Batch ID = 28320, loss = 0.00309005, acc = 1.0\n", "[Validation] Batch ID = 28320, loss = 0.0155592, acc = 1.0\n", "[Train] Batch ID = 28330, loss = 0.0029702, acc = 1.0\n", "[Validation] Batch ID = 28330, loss = 0.0617228, acc = 0.92\n", "[Train] Batch ID = 28340, loss = 0.000899298, acc = 1.0\n", "[Validation] Batch ID = 28340, loss = 0.0127443, acc = 1.0\n", "[Train] Batch ID = 28350, loss = 0.00355056, acc = 1.0\n", "[Validation] Batch ID = 28350, loss = 0.0372019, acc = 0.96\n", "[Train] Batch ID = 28360, loss = 0.00291447, acc = 1.0\n", "[Validation] Batch ID = 28360, loss = 0.0447046, acc = 0.94\n", "[Train] Batch ID = 28370, loss = 0.00308209, acc = 1.0\n", "[Validation] Batch ID = 28370, loss = 0.022357, acc = 0.98\n", "[Train] Batch ID = 28380, loss = 0.00271913, acc = 1.0\n", "[Validation] Batch ID = 28380, loss = 0.024885, acc = 0.98\n", "[Train] Batch ID = 28390, loss = 0.208916, acc = 0.78\n", "[Validation] Batch ID = 28390, loss = 0.0711173, acc = 0.9\n", "[Train] Batch ID = 28400, loss = 0.00296322, acc = 1.0\n", "[Validation] Batch ID = 28400, loss = 0.0191428, acc = 1.0\n", "[Train] Batch ID = 28410, loss = 0.00235889, acc = 1.0\n", "[Validation] Batch ID = 28410, loss = 0.0272752, acc = 0.98\n", "[Train] Batch ID = 28420, loss = 0.00465191, acc = 1.0\n", "[Validation] Batch ID = 28420, loss = 0.0346188, acc = 0.98\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "[Train] Batch ID = 28430, loss = 0.00310973, acc = 1.0\n", "[Validation] Batch ID = 28430, loss = 0.0433816, acc = 0.94\n", "[Train] Batch ID = 28440, loss = 0.217337, acc = 0.8\n", "[Validation] Batch ID = 28440, loss = 0.020323, acc = 1.0\n", "[Train] Batch ID = 28450, loss = 0.0018264, acc = 1.0\n", "[Validation] Batch ID = 28450, loss = 0.0367968, acc = 0.96\n", "[Train] Batch ID = 28460, loss = 0.00391045, acc = 1.0\n", "[Validation] Batch ID = 28460, loss = 0.0493477, acc = 0.96\n", "[Train] Batch ID = 28470, loss = 0.00269479, acc = 1.0\n", "[Validation] Batch ID = 28470, loss = 0.0227373, acc = 0.98\n", "[Train] Batch ID = 28480, loss = 0.00397583, acc = 1.0\n", "[Validation] Batch ID = 28480, loss = 0.0238048, acc = 1.0\n", "[Train] Batch ID = 28490, loss = 0.00300744, acc = 1.0\n", "[Validation] Batch ID = 28490, loss = 0.0544896, acc = 0.96\n", "[Train] Batch ID = 28500, loss = 0.00680725, acc = 1.0\n", "[Validation] Batch ID = 28500, loss = 0.0505459, acc = 0.94\n", "[Train] Batch ID = 28510, loss = 0.00250771, acc = 1.0\n", "[Validation] Batch ID = 28510, loss = 0.0273664, acc = 0.98\n", "[Train] Batch ID = 28520, loss = 0.00225257, acc = 1.0\n", "[Validation] Batch ID = 28520, loss = 0.014909, acc = 1.0\n", "[Train] Batch ID = 28530, loss = 0.00351722, acc = 1.0\n", "[Validation] Batch ID = 28530, loss = 0.0119792, acc = 1.0\n", "[Train] Batch ID = 28540, loss = 0.00299136, acc = 1.0\n", "[Validation] Batch ID = 28540, loss = 0.025234, acc = 1.0\n", "[Train] Batch ID = 28550, loss = 0.00511427, acc = 1.0\n", "[Validation] Batch ID = 28550, loss = 0.0379574, acc = 0.96\n", "[Train] Batch ID = 28560, loss = 0.00287795, acc = 1.0\n", "[Validation] Batch ID = 28560, loss = 0.0251482, acc = 1.0\n", "[Train] Batch ID = 28570, loss = 0.00487774, acc = 1.0\n", "[Validation] Batch ID = 28570, loss = 0.0444929, acc = 0.96\n", "[Train] Batch ID = 28580, loss = 0.00217892, acc = 1.0\n", "[Validation] Batch ID = 28580, loss = 0.0191939, acc = 0.98\n", "[Train] Batch ID = 28590, loss = 0.0060878, acc = 1.0\n", "[Validation] Batch ID = 28590, loss = 0.0197076, acc = 1.0\n", "[Train] Batch ID = 28600, loss = 0.00638748, acc = 1.0\n", "[Validation] Batch ID = 28600, loss = 0.0273514, acc = 0.98\n", "[Train] Batch ID = 28610, loss = 0.00305316, acc = 1.0\n", "[Validation] Batch ID = 28610, loss = 0.037881, acc = 0.96\n", "[Train] Batch ID = 28620, loss = 0.00238016, acc = 1.0\n", "[Validation] Batch ID = 28620, loss = 0.0586842, acc = 0.92\n", "[Train] Batch ID = 28630, loss = 0.00160888, acc = 1.0\n", "[Validation] Batch ID = 28630, loss = 0.0184048, acc = 1.0\n", "[Train] Batch ID = 28640, loss = 0.00374865, acc = 1.0\n", "[Validation] Batch ID = 28640, loss = 0.0218343, acc = 1.0\n", "[Train] Batch ID = 28650, loss = 0.00298201, acc = 1.0\n", "[Validation] Batch ID = 28650, loss = 0.0714884, acc = 0.9\n", "[Train] Batch ID = 28660, loss = 0.00555242, acc = 1.0\n", "[Validation] Batch ID = 28660, loss = 0.0381605, acc = 0.98\n", "[Train] Batch ID = 28670, loss = 0.00354916, acc = 1.0\n", "[Validation] Batch ID = 28670, loss = 0.0427044, acc = 0.96\n", "[Train] Batch ID = 28680, loss = 0.00249881, acc = 1.0\n", "[Validation] Batch ID = 28680, loss = 0.0395053, acc = 0.96\n", "[Train] Batch ID = 28690, loss = 0.00208115, acc = 1.0\n", "[Validation] Batch ID = 28690, loss = 0.0358692, acc = 0.98\n", "[Train] Batch ID = 28700, loss = 0.0015764, acc = 1.0\n", "[Validation] Batch ID = 28700, loss = 0.060289, acc = 0.92\n", "[Train] Batch ID = 28710, loss = 0.00121999, acc = 1.0\n", "[Validation] Batch ID = 28710, loss = 0.0121361, acc = 1.0\n", "[Train] Batch ID = 28720, loss = 0.00561682, acc = 1.0\n", "[Validation] Batch ID = 28720, loss = 0.0401307, acc = 0.98\n", "[Train] Batch ID = 28730, loss = 0.00820093, acc = 1.0\n", "[Validation] Batch ID = 28730, loss = 0.0293135, acc = 0.98\n", "[Train] Batch ID = 28740, loss = 0.00329881, acc = 1.0\n", "[Validation] Batch ID = 28740, loss = 0.0198598, acc = 0.98\n", "[Train] Batch ID = 28750, loss = 0.00204191, acc = 1.0\n", "[Validation] Batch ID = 28750, loss = 0.0497055, acc = 0.96\n", "[Train] Batch ID = 28760, loss = 0.00207496, acc = 1.0\n", "[Validation] Batch ID = 28760, loss = 0.0242623, acc = 0.98\n", "[Train] Batch ID = 28770, loss = 0.00220595, acc = 1.0\n", "[Validation] Batch ID = 28770, loss = 0.0106344, acc = 1.0\n", "[Train] Batch ID = 28780, loss = 0.00307546, acc = 1.0\n", "[Validation] Batch ID = 28780, loss = 0.0420062, acc = 0.96\n", "[Train] Batch ID = 28790, loss = 0.00332108, acc = 1.0\n", "[Validation] Batch ID = 28790, loss = 0.0400945, acc = 0.94\n", "[Train] Batch ID = 28800, loss = 0.00481934, acc = 1.0\n", "[Validation] Batch ID = 28800, loss = 0.0378716, acc = 0.98\n", "[Train] Batch ID = 28810, loss = 0.00714701, acc = 1.0\n", "[Validation] Batch ID = 28810, loss = 0.0172037, acc = 0.98\n", "[Train] Batch ID = 28820, loss = 0.00726843, acc = 1.0\n", "[Validation] Batch ID = 28820, loss = 0.0420491, acc = 0.98\n", "[Train] Batch ID = 28830, loss = 0.174289, acc = 0.86\n", "[Validation] Batch ID = 28830, loss = 0.0172853, acc = 0.98\n", "[Train] Batch ID = 28840, loss = 0.00381695, acc = 1.0\n", "[Validation] Batch ID = 28840, loss = 0.0463148, acc = 0.94\n", "[Train] Batch ID = 28850, loss = 0.00689381, acc = 1.0\n", "[Validation] Batch ID = 28850, loss = 0.0582483, acc = 0.94\n", "[Train] Batch ID = 28860, loss = 0.00313813, acc = 1.0\n", "[Validation] Batch ID = 28860, loss = 0.0322532, acc = 0.98\n", "[Train] Batch ID = 28870, loss = 0.00181361, acc = 1.0\n", "[Validation] Batch ID = 28870, loss = 0.0611829, acc = 0.92\n", "[Train] Batch ID = 28880, loss = 0.00223306, acc = 1.0\n", "[Validation] Batch ID = 28880, loss = 0.0278901, acc = 0.98\n", "[Train] Batch ID = 28890, loss = 0.00206606, acc = 1.0\n", "[Validation] Batch ID = 28890, loss = 0.0358936, acc = 0.98\n", "[Train] Batch ID = 28900, loss = 0.00286588, acc = 1.0\n", "[Validation] Batch ID = 28900, loss = 0.0331103, acc = 0.98\n", "[Train] Batch ID = 28910, loss = 0.00308549, acc = 1.0\n", "[Validation] Batch ID = 28910, loss = 0.0230195, acc = 1.0\n", "[Train] Batch ID = 28920, loss = 0.00227246, acc = 1.0\n", "[Validation] Batch ID = 28920, loss = 0.0594105, acc = 0.94\n", "[Train] Batch ID = 28930, loss = 0.00381859, acc = 1.0\n", "[Validation] Batch ID = 28930, loss = 0.0461507, acc = 0.94\n", "[Train] Batch ID = 28940, loss = 0.0056247, acc = 1.0\n", "[Validation] Batch ID = 28940, loss = 0.0358883, acc = 0.98\n", "[Train] Batch ID = 28950, loss = 0.00230527, acc = 1.0\n", "[Validation] Batch ID = 28950, loss = 0.0357706, acc = 0.98\n", "[Train] Batch ID = 28960, loss = 0.0050136, acc = 1.0\n", "[Validation] Batch ID = 28960, loss = 0.0150801, acc = 0.98\n", "[Train] Batch ID = 28970, loss = 0.165283, acc = 0.86\n", "[Validation] Batch ID = 28970, loss = 0.0466333, acc = 0.98\n", "[Train] Batch ID = 28980, loss = 0.00816504, acc = 1.0\n", "[Validation] Batch ID = 28980, loss = 0.0410329, acc = 0.96\n", "[Train] Batch ID = 28990, loss = 0.00268747, acc = 1.0\n", "[Validation] Batch ID = 28990, loss = 0.0654232, acc = 0.92\n", "[Train] Batch ID = 29000, loss = 0.00296797, acc = 1.0\n", "[Validation] Batch ID = 29000, loss = 0.0252606, acc = 0.96\n", "Evaluate full validation dataset ...\n", "Current loss: 0.0305534 Best loss: 0.0288538\n", "[TOTAL Validation] Batch ID = 29000, loss = 0.0305534, acc = 0.974376417234\n", "Augmented Factor = 0.041967246692464065\n", "[Train] Batch ID = 29010, loss = 0.0038844, acc = 1.0\n", "[Validation] Batch ID = 29010, loss = 0.031116, acc = 0.96\n", "[Train] Batch ID = 29020, loss = 0.00256857, acc = 1.0\n", "[Validation] Batch ID = 29020, loss = 0.0513856, acc = 0.96\n", "[Train] Batch ID = 29030, loss = 0.00246887, acc = 1.0\n", "[Validation] Batch ID = 29030, loss = 0.0114498, acc = 1.0\n", "[Train] Batch ID = 29040, loss = 0.00251095, acc = 1.0\n", "[Validation] Batch ID = 29040, loss = 0.0544572, acc = 0.94\n", "[Train] Batch ID = 29050, loss = 0.00212128, acc = 1.0\n", "[Validation] Batch ID = 29050, loss = 0.0284784, acc = 0.96\n", "[Train] Batch ID = 29060, loss = 0.00353372, acc = 1.0\n", "[Validation] Batch ID = 29060, loss = 0.0485321, acc = 0.96\n", "[Train] Batch ID = 29070, loss = 0.00553347, acc = 1.0\n", "[Validation] Batch ID = 29070, loss = 0.0411138, acc = 0.96\n", "[Train] Batch ID = 29080, loss = 0.00240105, acc = 1.0\n", "[Validation] Batch ID = 29080, loss = 0.0532665, acc = 0.94\n", "[Train] Batch ID = 29090, loss = 0.00532016, acc = 1.0\n", "[Validation] Batch ID = 29090, loss = 0.0231304, acc = 0.96\n", "[Train] Batch ID = 29100, loss = 0.00451271, acc = 1.0\n", "[Validation] Batch ID = 29100, loss = 0.0361954, acc = 0.98\n", "[Train] Batch ID = 29110, loss = 0.00430247, acc = 1.0\n", "[Validation] Batch ID = 29110, loss = 0.0303963, acc = 0.98\n", "[Train] Batch ID = 29120, loss = 0.00430035, acc = 1.0\n", "[Validation] Batch ID = 29120, loss = 0.0549169, acc = 0.94\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "[Train] Batch ID = 29130, loss = 0.00229102, acc = 1.0\n", "[Validation] Batch ID = 29130, loss = 0.0567443, acc = 0.94\n", "[Train] Batch ID = 29140, loss = 0.00287827, acc = 1.0\n", "[Validation] Batch ID = 29140, loss = 0.0258817, acc = 1.0\n", "[Train] Batch ID = 29150, loss = 0.00324381, acc = 1.0\n", "[Validation] Batch ID = 29150, loss = 0.0108777, acc = 1.0\n", "[Train] Batch ID = 29160, loss = 0.00439642, acc = 1.0\n", "[Validation] Batch ID = 29160, loss = 0.0146374, acc = 1.0\n", "[Train] Batch ID = 29170, loss = 0.00489323, acc = 1.0\n", "[Validation] Batch ID = 29170, loss = 0.0232258, acc = 1.0\n", "[Train] Batch ID = 29180, loss = 0.215129, acc = 0.82\n", "[Validation] Batch ID = 29180, loss = 0.016429, acc = 1.0\n", "[Train] Batch ID = 29190, loss = 0.00769889, acc = 1.0\n", "[Validation] Batch ID = 29190, loss = 0.0509269, acc = 0.96\n", "[Train] Batch ID = 29200, loss = 0.00232387, acc = 1.0\n", "[Validation] Batch ID = 29200, loss = 0.0245043, acc = 0.98\n", "[Train] Batch ID = 29210, loss = 0.00237136, acc = 1.0\n", "[Validation] Batch ID = 29210, loss = 0.029129, acc = 1.0\n", "[Train] Batch ID = 29220, loss = 0.0021763, acc = 1.0\n", "[Validation] Batch ID = 29220, loss = 0.0208607, acc = 1.0\n", "[Train] Batch ID = 29230, loss = 0.00385343, acc = 1.0\n", "[Validation] Batch ID = 29230, loss = 0.0227971, acc = 1.0\n", "[Train] Batch ID = 29240, loss = 0.00287054, acc = 1.0\n", "[Validation] Batch ID = 29240, loss = 0.0193502, acc = 1.0\n", "[Train] Batch ID = 29250, loss = 0.00488642, acc = 1.0\n", "[Validation] Batch ID = 29250, loss = 0.0148413, acc = 1.0\n", "[Train] Batch ID = 29260, loss = 0.00536227, acc = 1.0\n", "[Validation] Batch ID = 29260, loss = 0.0235412, acc = 0.98\n", "[Train] Batch ID = 29270, loss = 0.0036957, acc = 1.0\n", "[Validation] Batch ID = 29270, loss = 0.0155122, acc = 1.0\n", "[Train] Batch ID = 29280, loss = 0.00438094, acc = 1.0\n", "[Validation] Batch ID = 29280, loss = 0.0599261, acc = 0.9\n", "[Train] Batch ID = 29290, loss = 0.00301456, acc = 1.0\n", "[Validation] Batch ID = 29290, loss = 0.0354964, acc = 0.98\n", "[Train] Batch ID = 29300, loss = 0.00131375, acc = 1.0\n", "[Validation] Batch ID = 29300, loss = 0.0121265, acc = 1.0\n", "[Train] Batch ID = 29310, loss = 0.00527284, acc = 1.0\n", "[Validation] Batch ID = 29310, loss = 0.0292488, acc = 0.98\n", "[Train] Batch ID = 29320, loss = 0.00360234, acc = 1.0\n", "[Validation] Batch ID = 29320, loss = 0.019855, acc = 0.98\n", "[Train] Batch ID = 29330, loss = 0.00250239, acc = 1.0\n", "[Validation] Batch ID = 29330, loss = 0.0465166, acc = 0.96\n", "[Train] Batch ID = 29340, loss = 0.00284056, acc = 1.0\n", "[Validation] Batch ID = 29340, loss = 0.0185543, acc = 1.0\n", "[Train] Batch ID = 29350, loss = 0.00349764, acc = 1.0\n", "[Validation] Batch ID = 29350, loss = 0.0279455, acc = 0.98\n", "[Train] Batch ID = 29360, loss = 0.00242556, acc = 1.0\n", "[Validation] Batch ID = 29360, loss = 0.0143339, acc = 1.0\n", "[Train] Batch ID = 29370, loss = 0.00297518, acc = 1.0\n", "[Validation] Batch ID = 29370, loss = 0.0659745, acc = 0.94\n", "[Train] Batch ID = 29380, loss = 0.00174884, acc = 1.0\n", "[Validation] Batch ID = 29380, loss = 0.0156295, acc = 1.0\n", "[Train] Batch ID = 29390, loss = 0.00255615, acc = 1.0\n", "[Validation] Batch ID = 29390, loss = 0.0181886, acc = 1.0\n", "[Train] Batch ID = 29400, loss = 0.00268685, acc = 1.0\n", "[Validation] Batch ID = 29400, loss = 0.0130103, acc = 1.0\n", "[Train] Batch ID = 29410, loss = 0.00239325, acc = 1.0\n", "[Validation] Batch ID = 29410, loss = 0.0322887, acc = 0.96\n", "[Train] Batch ID = 29420, loss = 0.00331816, acc = 1.0\n", "[Validation] Batch ID = 29420, loss = 0.01989, acc = 0.96\n", "[Train] Batch ID = 29430, loss = 0.00281455, acc = 1.0\n", "[Validation] Batch ID = 29430, loss = 0.0173552, acc = 1.0\n", "[Train] Batch ID = 29440, loss = 0.00452452, acc = 1.0\n", "[Validation] Batch ID = 29440, loss = 0.0226489, acc = 1.0\n", "[Train] Batch ID = 29450, loss = 0.00195001, acc = 1.0\n", "[Validation] Batch ID = 29450, loss = 0.0310046, acc = 0.96\n", "[Train] Batch ID = 29460, loss = 0.00265407, acc = 1.0\n", "[Validation] Batch ID = 29460, loss = 0.0135432, acc = 0.98\n", "[Train] Batch ID = 29470, loss = 0.00453543, acc = 1.0\n", "[Validation] Batch ID = 29470, loss = 0.0217565, acc = 0.98\n", "[Train] Batch ID = 29480, loss = 0.00257016, acc = 1.0\n", "[Validation] Batch ID = 29480, loss = 0.0105343, acc = 1.0\n", "[Train] Batch ID = 29490, loss = 0.0034656, acc = 1.0\n", "[Validation] Batch ID = 29490, loss = 0.0339107, acc = 0.98\n", "[Train] Batch ID = 29500, loss = 0.00361954, acc = 1.0\n", "[Validation] Batch ID = 29500, loss = 0.0208016, acc = 0.98\n", "[Train] Batch ID = 29510, loss = 0.00244643, acc = 1.0\n", "[Validation] Batch ID = 29510, loss = 0.0168126, acc = 1.0\n", "[Train] Batch ID = 29520, loss = 0.00116432, acc = 1.0\n", "[Validation] Batch ID = 29520, loss = 0.0486197, acc = 0.94\n", "[Train] Batch ID = 29530, loss = 0.00154674, acc = 1.0\n", "[Validation] Batch ID = 29530, loss = 0.0342671, acc = 0.96\n", "[Train] Batch ID = 29540, loss = 0.00186046, acc = 1.0\n", "[Validation] Batch ID = 29540, loss = 0.0214592, acc = 0.98\n", "[Train] Batch ID = 29550, loss = 0.00201071, acc = 1.0\n", "[Validation] Batch ID = 29550, loss = 0.0346468, acc = 0.96\n", "[Train] Batch ID = 29560, loss = 0.00322824, acc = 1.0\n", "[Validation] Batch ID = 29560, loss = 0.0108135, acc = 1.0\n", "[Train] Batch ID = 29570, loss = 0.00231557, acc = 1.0\n", "[Validation] Batch ID = 29570, loss = 0.0312824, acc = 0.96\n", "[Train] Batch ID = 29580, loss = 0.00291333, acc = 1.0\n", "[Validation] Batch ID = 29580, loss = 0.0270655, acc = 0.98\n", "[Train] Batch ID = 29590, loss = 0.00497232, acc = 1.0\n", "[Validation] Batch ID = 29590, loss = 0.0238215, acc = 1.0\n", "[Train] Batch ID = 29600, loss = 0.0024114, acc = 1.0\n", "[Validation] Batch ID = 29600, loss = 0.0274955, acc = 0.98\n", "[Train] Batch ID = 29610, loss = 0.00174403, acc = 1.0\n", "[Validation] Batch ID = 29610, loss = 0.0238297, acc = 0.98\n", "[Train] Batch ID = 29620, loss = 0.00225151, acc = 1.0\n", "[Validation] Batch ID = 29620, loss = 0.019734, acc = 0.98\n", "[Train] Batch ID = 29630, loss = 0.00610198, acc = 1.0\n", "[Validation] Batch ID = 29630, loss = 0.0324072, acc = 0.96\n", "[Train] Batch ID = 29640, loss = 0.00527555, acc = 1.0\n", "[Validation] Batch ID = 29640, loss = 0.0249677, acc = 1.0\n", "[Train] Batch ID = 29650, loss = 0.00298039, acc = 1.0\n", "[Validation] Batch ID = 29650, loss = 0.0238455, acc = 1.0\n", "[Train] Batch ID = 29660, loss = 0.00232286, acc = 1.0\n", "[Validation] Batch ID = 29660, loss = 0.0201177, acc = 0.98\n", "[Train] Batch ID = 29670, loss = 0.00131186, acc = 1.0\n", "[Validation] Batch ID = 29670, loss = 0.052216, acc = 0.96\n", "[Train] Batch ID = 29680, loss = 0.000613342, acc = 1.0\n", "[Validation] Batch ID = 29680, loss = 0.0300524, acc = 0.96\n", "[Train] Batch ID = 29690, loss = 0.00156731, acc = 1.0\n", "[Validation] Batch ID = 29690, loss = 0.0436714, acc = 0.94\n", "[Train] Batch ID = 29700, loss = 0.00267004, acc = 1.0\n", "[Validation] Batch ID = 29700, loss = 0.0427525, acc = 0.96\n", "[Train] Batch ID = 29710, loss = 0.0020074, acc = 1.0\n", "[Validation] Batch ID = 29710, loss = 0.0242303, acc = 1.0\n", "[Train] Batch ID = 29720, loss = 0.00600549, acc = 1.0\n", "[Validation] Batch ID = 29720, loss = 0.0214799, acc = 1.0\n", "[Train] Batch ID = 29730, loss = 0.00751813, acc = 1.0\n", "[Validation] Batch ID = 29730, loss = 0.0221981, acc = 1.0\n", "[Train] Batch ID = 29740, loss = 0.0040346, acc = 1.0\n", "[Validation] Batch ID = 29740, loss = 0.0228101, acc = 0.98\n", "[Train] Batch ID = 29750, loss = 0.00277805, acc = 1.0\n", "[Validation] Batch ID = 29750, loss = 0.0279392, acc = 0.98\n", "[Train] Batch ID = 29760, loss = 0.00340124, acc = 1.0\n", "[Validation] Batch ID = 29760, loss = 0.0120123, acc = 1.0\n", "[Train] Batch ID = 29770, loss = 0.00270091, acc = 1.0\n", "[Validation] Batch ID = 29770, loss = 0.044132, acc = 0.94\n", "[Train] Batch ID = 29780, loss = 0.00452921, acc = 1.0\n", "[Validation] Batch ID = 29780, loss = 0.0128293, acc = 1.0\n", "[Train] Batch ID = 29790, loss = 0.00301279, acc = 1.0\n", "[Validation] Batch ID = 29790, loss = 0.0306247, acc = 0.98\n", "[Train] Batch ID = 29800, loss = 0.00219593, acc = 1.0\n", "[Validation] Batch ID = 29800, loss = 0.0394418, acc = 0.96\n", "[Train] Batch ID = 29810, loss = 0.00256027, acc = 1.0\n", "[Validation] Batch ID = 29810, loss = 0.0166895, acc = 1.0\n", "[Train] Batch ID = 29820, loss = 0.00309072, acc = 1.0\n", "[Validation] Batch ID = 29820, loss = 0.0408857, acc = 0.96\n", "[Train] Batch ID = 29830, loss = 0.000998118, acc = 1.0\n", "[Validation] Batch ID = 29830, loss = 0.039212, acc = 0.98\n", "[Train] Batch ID = 29840, loss = 0.00367502, acc = 1.0\n", "[Validation] Batch ID = 29840, loss = 0.0188063, acc = 1.0\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "[Train] Batch ID = 29850, loss = 0.000793363, acc = 1.0\n", "[Validation] Batch ID = 29850, loss = 0.0151321, acc = 1.0\n", "[Train] Batch ID = 29860, loss = 0.00624411, acc = 1.0\n", "[Validation] Batch ID = 29860, loss = 0.0587721, acc = 0.96\n", "[Train] Batch ID = 29870, loss = 0.00866576, acc = 1.0\n", "[Validation] Batch ID = 29870, loss = 0.0466332, acc = 0.96\n", "[Train] Batch ID = 29880, loss = 0.00274511, acc = 1.0\n", "[Validation] Batch ID = 29880, loss = 0.0189194, acc = 1.0\n", "[Train] Batch ID = 29890, loss = 0.0014106, acc = 1.0\n", "[Validation] Batch ID = 29890, loss = 0.0257046, acc = 0.98\n", "[Train] Batch ID = 29900, loss = 0.00186409, acc = 1.0\n", "[Validation] Batch ID = 29900, loss = 0.0350293, acc = 0.98\n", "[Train] Batch ID = 29910, loss = 0.00321869, acc = 1.0\n", "[Validation] Batch ID = 29910, loss = 0.0376301, acc = 0.96\n", "[Train] Batch ID = 29920, loss = 0.00143117, acc = 1.0\n", "[Validation] Batch ID = 29920, loss = 0.0411825, acc = 0.96\n", "[Train] Batch ID = 29930, loss = 0.000999447, acc = 1.0\n", "[Validation] Batch ID = 29930, loss = 0.0343564, acc = 0.98\n", "[Train] Batch ID = 29940, loss = 0.00127585, acc = 1.0\n", "[Validation] Batch ID = 29940, loss = 0.0254181, acc = 1.0\n", "[Train] Batch ID = 29950, loss = 0.00336109, acc = 1.0\n", "[Validation] Batch ID = 29950, loss = 0.0471523, acc = 0.94\n", "[Train] Batch ID = 29960, loss = 0.0029882, acc = 1.0\n", "[Validation] Batch ID = 29960, loss = 0.0176365, acc = 1.0\n", "[Train] Batch ID = 29970, loss = 0.00244312, acc = 1.0\n", "[Validation] Batch ID = 29970, loss = 0.0292141, acc = 0.98\n", "[Train] Batch ID = 29980, loss = 0.00348194, acc = 1.0\n", "[Validation] Batch ID = 29980, loss = 0.0214035, acc = 0.98\n", "[Train] Batch ID = 29990, loss = 0.00290159, acc = 1.0\n", "[Validation] Batch ID = 29990, loss = 0.0328107, acc = 0.96\n", "[Train] Batch ID = 30000, loss = 0.0033496, acc = 1.0\n", "[Validation] Batch ID = 30000, loss = 0.013939, acc = 1.0\n", "Evaluate full validation dataset ...\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "ModelBase::Saving model ...\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Current loss: 0.0281227 Best loss: 0.0288538\n", "[TOTAL Validation] Batch ID = 30000, loss = 0.0281227, acc = 0.978458049887\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "ModelBase::Model successfully saved here: outputs/checkpoints/c1s_9_c1n_256_c2s_6_c2n_64_c2d_0.7_c1vl_16_c1s_5_c1nf_16_c2vl_32_lr_0.0001_rs_1--TrafficSign--1510487290.423481\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Augmented Factor = 0.03777052202321766\n", "[Train] Batch ID = 30010, loss = 0.00308558, acc = 1.0\n", "[Validation] Batch ID = 30010, loss = 0.0298162, acc = 0.98\n", "[Train] Batch ID = 30020, loss = 0.00409182, acc = 1.0\n", "[Validation] Batch ID = 30020, loss = 0.0267626, acc = 0.98\n", "[Train] Batch ID = 30030, loss = 0.00184304, acc = 1.0\n", "[Validation] Batch ID = 30030, loss = 0.0167693, acc = 1.0\n", "[Train] Batch ID = 30040, loss = 0.00163594, acc = 1.0\n", "[Validation] Batch ID = 30040, loss = 0.0353338, acc = 0.96\n", "[Train] Batch ID = 30050, loss = 0.00188912, acc = 1.0\n", "[Validation] Batch ID = 30050, loss = 0.0216687, acc = 0.98\n", "[Train] Batch ID = 30060, loss = 0.00255838, acc = 1.0\n", "[Validation] Batch ID = 30060, loss = 0.013865, acc = 1.0\n", "[Train] Batch ID = 30070, loss = 0.00305114, acc = 1.0\n", "[Validation] Batch ID = 30070, loss = 0.0242632, acc = 0.98\n", "[Train] Batch ID = 30080, loss = 0.00290655, acc = 1.0\n", "[Validation] Batch ID = 30080, loss = 0.0201221, acc = 1.0\n", "[Train] Batch ID = 30090, loss = 0.0027923, acc = 1.0\n", "[Validation] Batch ID = 30090, loss = 0.0542704, acc = 0.96\n", "[Train] Batch ID = 30100, loss = 0.00346498, acc = 1.0\n", "[Validation] Batch ID = 30100, loss = 0.0388422, acc = 0.96\n", "[Train] Batch ID = 30110, loss = 0.00511713, acc = 1.0\n", "[Validation] Batch ID = 30110, loss = 0.0403253, acc = 0.96\n", "[Train] Batch ID = 30120, loss = 0.165509, acc = 0.92\n", "[Validation] Batch ID = 30120, loss = 0.0451424, acc = 0.96\n", "[Train] Batch ID = 30130, loss = 0.00740871, acc = 1.0\n", "[Validation] Batch ID = 30130, loss = 0.0469599, acc = 0.96\n", "[Train] Batch ID = 30140, loss = 0.224502, acc = 0.68\n", "[Validation] Batch ID = 30140, loss = 0.032461, acc = 0.98\n", "[Train] Batch ID = 30150, loss = 0.00703456, acc = 1.0\n", "[Validation] Batch ID = 30150, loss = 0.019953, acc = 1.0\n", "[Train] Batch ID = 30160, loss = 0.00355368, acc = 1.0\n", "[Validation] Batch ID = 30160, loss = 0.0219064, acc = 0.98\n", "[Train] Batch ID = 30170, loss = 0.00204645, acc = 1.0\n", "[Validation] Batch ID = 30170, loss = 0.0498067, acc = 1.0\n", "[Train] Batch ID = 30180, loss = 0.00232646, acc = 1.0\n", "[Validation] Batch ID = 30180, loss = 0.0371475, acc = 0.98\n", "[Train] Batch ID = 30190, loss = 0.00243541, acc = 1.0\n", "[Validation] Batch ID = 30190, loss = 0.017446, acc = 1.0\n", "[Train] Batch ID = 30200, loss = 0.00330877, acc = 1.0\n", "[Validation] Batch ID = 30200, loss = 0.0270755, acc = 0.98\n", "[Train] Batch ID = 30210, loss = 0.00171942, acc = 1.0\n", "[Validation] Batch ID = 30210, loss = 0.0156927, acc = 1.0\n", "[Train] Batch ID = 30220, loss = 0.00193393, acc = 1.0\n", "[Validation] Batch ID = 30220, loss = 0.0156462, acc = 1.0\n", "[Train] Batch ID = 30230, loss = 0.00162406, acc = 1.0\n", "[Validation] Batch ID = 30230, loss = 0.0349887, acc = 0.96\n", "[Train] Batch ID = 30240, loss = 0.00275971, acc = 1.0\n", "[Validation] Batch ID = 30240, loss = 0.0388496, acc = 0.96\n", "[Train] Batch ID = 30250, loss = 0.166583, acc = 0.82\n", "[Validation] Batch ID = 30250, loss = 0.0408573, acc = 0.96\n", "[Train] Batch ID = 30260, loss = 0.0037323, acc = 1.0\n", "[Validation] Batch ID = 30260, loss = 0.0351399, acc = 0.98\n", "[Train] Batch ID = 30270, loss = 0.00198307, acc = 1.0\n", "[Validation] Batch ID = 30270, loss = 0.0308444, acc = 0.98\n", "[Train] Batch ID = 30280, loss = 0.00345518, acc = 1.0\n", "[Validation] Batch ID = 30280, loss = 0.0333832, acc = 0.98\n", "[Train] Batch ID = 30290, loss = 0.0025137, acc = 1.0\n", "[Validation] Batch ID = 30290, loss = 0.0358848, acc = 0.96\n", "[Train] Batch ID = 30300, loss = 0.00252573, acc = 1.0\n", "[Validation] Batch ID = 30300, loss = 0.0434974, acc = 0.94\n", "[Train] Batch ID = 30310, loss = 0.00225887, acc = 1.0\n", "[Validation] Batch ID = 30310, loss = 0.0285508, acc = 0.96\n", "[Train] Batch ID = 30320, loss = 0.00161825, acc = 1.0\n", "[Validation] Batch ID = 30320, loss = 0.015969, acc = 1.0\n", "[Train] Batch ID = 30330, loss = 0.00651159, acc = 1.0\n", "[Validation] Batch ID = 30330, loss = 0.0381881, acc = 1.0\n", "[Train] Batch ID = 30340, loss = 0.00194908, acc = 1.0\n", "[Validation] Batch ID = 30340, loss = 0.0560107, acc = 0.96\n", "[Train] Batch ID = 30350, loss = 0.00274221, acc = 1.0\n", "[Validation] Batch ID = 30350, loss = 0.0619698, acc = 0.92\n", "[Train] Batch ID = 30360, loss = 0.0034279, acc = 1.0\n", "[Validation] Batch ID = 30360, loss = 0.0471996, acc = 0.94\n", "[Train] Batch ID = 30370, loss = 0.00311877, acc = 1.0\n", "[Validation] Batch ID = 30370, loss = 0.0139151, acc = 1.0\n", "[Train] Batch ID = 30380, loss = 0.00342589, acc = 1.0\n", "[Validation] Batch ID = 30380, loss = 0.0206453, acc = 1.0\n", "[Train] Batch ID = 30390, loss = 0.00329326, acc = 1.0\n", "[Validation] Batch ID = 30390, loss = 0.0141933, acc = 1.0\n", "[Train] Batch ID = 30400, loss = 0.00235963, acc = 1.0\n", "[Validation] Batch ID = 30400, loss = 0.0224919, acc = 1.0\n", "[Train] Batch ID = 30410, loss = 0.00281501, acc = 1.0\n", "[Validation] Batch ID = 30410, loss = 0.0637048, acc = 0.92\n", "[Train] Batch ID = 30420, loss = 0.00441067, acc = 1.0\n", "[Validation] Batch ID = 30420, loss = 0.0368943, acc = 0.96\n", "[Train] Batch ID = 30430, loss = 0.00256141, acc = 1.0\n", "[Validation] Batch ID = 30430, loss = 0.052466, acc = 0.94\n", "[Train] Batch ID = 30440, loss = 0.00231464, acc = 1.0\n", "[Validation] Batch ID = 30440, loss = 0.0153817, acc = 0.98\n", "[Train] Batch ID = 30450, loss = 0.00214256, acc = 1.0\n", "[Validation] Batch ID = 30450, loss = 0.0245095, acc = 0.98\n", "[Train] Batch ID = 30460, loss = 0.00153847, acc = 1.0\n", "[Validation] Batch ID = 30460, loss = 0.0587088, acc = 0.94\n", "[Train] Batch ID = 30470, loss = 0.00235586, acc = 1.0\n", "[Validation] Batch ID = 30470, loss = 0.0311099, acc = 0.98\n", "[Train] Batch ID = 30480, loss = 0.00496623, acc = 1.0\n", "[Validation] Batch ID = 30480, loss = 0.0403023, acc = 0.98\n", "[Train] Batch ID = 30490, loss = 0.0036113, acc = 1.0\n", "[Validation] Batch ID = 30490, loss = 0.0298248, acc = 1.0\n", "[Train] Batch ID = 30500, loss = 0.00260245, acc = 1.0\n", "[Validation] Batch ID = 30500, loss = 0.0398998, acc = 0.96\n", "[Train] Batch ID = 30510, loss = 0.00217038, acc = 1.0\n", "[Validation] Batch ID = 30510, loss = 0.020265, acc = 0.98\n", "[Train] Batch ID = 30520, loss = 0.00180789, acc = 1.0\n", "[Validation] Batch ID = 30520, loss = 0.0270737, acc = 0.98\n", "[Train] Batch ID = 30530, loss = 0.00241464, acc = 1.0\n", "[Validation] Batch ID = 30530, loss = 0.018195, acc = 0.98\n", "[Train] Batch ID = 30540, loss = 0.00357134, acc = 1.0\n", "[Validation] Batch ID = 30540, loss = 0.040771, acc = 0.96\n", "[Train] Batch ID = 30550, loss = 0.00117278, acc = 1.0\n", "[Validation] Batch ID = 30550, loss = 0.0270232, acc = 0.98\n", "[Train] Batch ID = 30560, loss = 0.00238039, acc = 1.0\n", "[Validation] Batch ID = 30560, loss = 0.0324522, acc = 0.98\n", "[Train] Batch ID = 30570, loss = 0.00174935, acc = 1.0\n", "[Validation] Batch ID = 30570, loss = 0.0621308, acc = 0.94\n", "[Train] Batch ID = 30580, loss = 0.00292681, acc = 1.0\n", "[Validation] Batch ID = 30580, loss = 0.0495532, acc = 0.96\n", "[Train] Batch ID = 30590, loss = 0.00150827, acc = 1.0\n", "[Validation] Batch ID = 30590, loss = 0.0223394, acc = 0.98\n", "[Train] Batch ID = 30600, loss = 0.00192335, acc = 1.0\n", "[Validation] Batch ID = 30600, loss = 0.0168607, acc = 1.0\n", "[Train] Batch ID = 30610, loss = 0.00323653, acc = 1.0\n", "[Validation] Batch ID = 30610, loss = 0.0295714, acc = 0.98\n", "[Train] Batch ID = 30620, loss = 0.00207161, acc = 1.0\n", "[Validation] Batch ID = 30620, loss = 0.0290416, acc = 0.98\n", "[Train] Batch ID = 30630, loss = 0.00397435, acc = 1.0\n", "[Validation] Batch ID = 30630, loss = 0.0556789, acc = 0.96\n", "[Train] Batch ID = 30640, loss = 0.00351983, acc = 1.0\n", "[Validation] Batch ID = 30640, loss = 0.00791785, acc = 1.0\n", "[Train] Batch ID = 30650, loss = 0.00174651, acc = 1.0\n", "[Validation] Batch ID = 30650, loss = 0.0422654, acc = 0.96\n", "[Train] Batch ID = 30660, loss = 0.00273615, acc = 1.0\n", "[Validation] Batch ID = 30660, loss = 0.0535341, acc = 0.9\n", "[Train] Batch ID = 30670, loss = 0.00278145, acc = 1.0\n", "[Validation] Batch ID = 30670, loss = 0.00938919, acc = 1.0\n", "[Train] Batch ID = 30680, loss = 0.00272183, acc = 1.0\n", "[Validation] Batch ID = 30680, loss = 0.0198699, acc = 0.98\n", "[Train] Batch ID = 30690, loss = 0.174083, acc = 0.82\n", "[Validation] Batch ID = 30690, loss = 0.0409344, acc = 0.96\n", "[Train] Batch ID = 30700, loss = 0.00441883, acc = 1.0\n", "[Validation] Batch ID = 30700, loss = 0.0370503, acc = 1.0\n", "[Train] Batch ID = 30710, loss = 0.0120226, acc = 1.0\n", "[Validation] Batch ID = 30710, loss = 0.0770121, acc = 0.94\n", "[Train] Batch ID = 30720, loss = 0.00324649, acc = 1.0\n", "[Validation] Batch ID = 30720, loss = 0.019695, acc = 0.98\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "[Train] Batch ID = 30730, loss = 0.00726951, acc = 1.0\n", "[Validation] Batch ID = 30730, loss = 0.0457008, acc = 0.94\n", "[Train] Batch ID = 30740, loss = 0.00262897, acc = 1.0\n", "[Validation] Batch ID = 30740, loss = 0.0351115, acc = 0.98\n", "[Train] Batch ID = 30750, loss = 0.00153887, acc = 1.0\n", "[Validation] Batch ID = 30750, loss = 0.0211766, acc = 1.0\n", "[Train] Batch ID = 30760, loss = 0.00299434, acc = 1.0\n", "[Validation] Batch ID = 30760, loss = 0.00991762, acc = 1.0\n", "[Train] Batch ID = 30770, loss = 0.00735433, acc = 1.0\n", "[Validation] Batch ID = 30770, loss = 0.0222274, acc = 0.98\n", "[Train] Batch ID = 30780, loss = 0.00576768, acc = 1.0\n", "[Validation] Batch ID = 30780, loss = 0.030316, acc = 0.96\n", "[Train] Batch ID = 30790, loss = 0.00307421, acc = 1.0\n", "[Validation] Batch ID = 30790, loss = 0.0150448, acc = 1.0\n", "[Train] Batch ID = 30800, loss = 0.00522711, acc = 1.0\n", "[Validation] Batch ID = 30800, loss = 0.0102159, acc = 1.0\n", "[Train] Batch ID = 30810, loss = 0.00159104, acc = 1.0\n", "[Validation] Batch ID = 30810, loss = 0.018668, acc = 1.0\n", "[Train] Batch ID = 30820, loss = 0.00209257, acc = 1.0\n", "[Validation] Batch ID = 30820, loss = 0.0143923, acc = 0.98\n", "[Train] Batch ID = 30830, loss = 0.00293544, acc = 1.0\n", "[Validation] Batch ID = 30830, loss = 0.0195162, acc = 0.98\n", "[Train] Batch ID = 30840, loss = 0.00101926, acc = 1.0\n", "[Validation] Batch ID = 30840, loss = 0.0301813, acc = 0.96\n", "[Train] Batch ID = 30850, loss = 0.00348647, acc = 1.0\n", "[Validation] Batch ID = 30850, loss = 0.0279274, acc = 0.98\n", "[Train] Batch ID = 30860, loss = 0.00116152, acc = 1.0\n", "[Validation] Batch ID = 30860, loss = 0.0505418, acc = 0.94\n", "[Train] Batch ID = 30870, loss = 0.00126153, acc = 1.0\n", "[Validation] Batch ID = 30870, loss = 0.0473751, acc = 0.96\n", "[Train] Batch ID = 30880, loss = 0.00305089, acc = 1.0\n", "[Validation] Batch ID = 30880, loss = 0.0415256, acc = 0.96\n", "[Train] Batch ID = 30890, loss = 0.0011835, acc = 1.0\n", "[Validation] Batch ID = 30890, loss = 0.0265887, acc = 1.0\n", "[Train] Batch ID = 30900, loss = 0.00317623, acc = 1.0\n", "[Validation] Batch ID = 30900, loss = 0.0416649, acc = 0.98\n", "[Train] Batch ID = 30910, loss = 0.00629843, acc = 1.0\n", "[Validation] Batch ID = 30910, loss = 0.0445942, acc = 0.96\n", "[Train] Batch ID = 30920, loss = 0.00561427, acc = 1.0\n", "[Validation] Batch ID = 30920, loss = 0.0307548, acc = 0.98\n", "[Train] Batch ID = 30930, loss = 0.00464124, acc = 1.0\n", "[Validation] Batch ID = 30930, loss = 0.0290602, acc = 0.96\n", "[Train] Batch ID = 30940, loss = 0.00261114, acc = 1.0\n", "[Validation] Batch ID = 30940, loss = 0.0383824, acc = 0.94\n", "[Train] Batch ID = 30950, loss = 0.00281591, acc = 1.0\n", "[Validation] Batch ID = 30950, loss = 0.0231211, acc = 0.98\n", "[Train] Batch ID = 30960, loss = 0.00134218, acc = 1.0\n", "[Validation] Batch ID = 30960, loss = 0.00769898, acc = 1.0\n", "[Train] Batch ID = 30970, loss = 0.00263869, acc = 1.0\n", "[Validation] Batch ID = 30970, loss = 0.0480683, acc = 0.92\n", "[Train] Batch ID = 30980, loss = 0.00142341, acc = 1.0\n", "[Validation] Batch ID = 30980, loss = 0.0273591, acc = 0.98\n", "[Train] Batch ID = 30990, loss = 0.00142448, acc = 1.0\n", "[Validation] Batch ID = 30990, loss = 0.00866922, acc = 1.0\n", "[Train] Batch ID = 31000, loss = 0.00183827, acc = 1.0\n", "[Validation] Batch ID = 31000, loss = 0.0293035, acc = 0.98\n", "Evaluate full validation dataset ...\n", "Current loss: 0.0293512 Best loss: 0.0281227\n", "[TOTAL Validation] Batch ID = 31000, loss = 0.0293512, acc = 0.973696145125\n", "Augmented Factor = 0.03399346982089589\n", "[Train] Batch ID = 31010, loss = 0.00109526, acc = 1.0\n", "[Validation] Batch ID = 31010, loss = 0.0209888, acc = 0.98\n", "[Train] Batch ID = 31020, loss = 0.00149772, acc = 1.0\n", "[Validation] Batch ID = 31020, loss = 0.0367371, acc = 0.96\n", "[Train] Batch ID = 31030, loss = 0.00287742, acc = 1.0\n", "[Validation] Batch ID = 31030, loss = 0.0357544, acc = 0.96\n", "[Train] Batch ID = 31040, loss = 0.00622898, acc = 1.0\n", "[Validation] Batch ID = 31040, loss = 0.0516094, acc = 0.96\n", "[Train] Batch ID = 31050, loss = 0.00314686, acc = 1.0\n", "[Validation] Batch ID = 31050, loss = 0.0395477, acc = 0.96\n", "[Train] Batch ID = 31060, loss = 0.00232349, acc = 1.0\n", "[Validation] Batch ID = 31060, loss = 0.0491235, acc = 0.9\n", "[Train] Batch ID = 31070, loss = 0.00257453, acc = 1.0\n", "[Validation] Batch ID = 31070, loss = 0.0205726, acc = 1.0\n", "[Train] Batch ID = 31080, loss = 0.00108937, acc = 1.0\n", "[Validation] Batch ID = 31080, loss = 0.0183345, acc = 1.0\n", "[Train] Batch ID = 31090, loss = 0.00246596, acc = 1.0\n", "[Validation] Batch ID = 31090, loss = 0.0336431, acc = 0.96\n", "[Train] Batch ID = 31100, loss = 0.00278701, acc = 1.0\n", "[Validation] Batch ID = 31100, loss = 0.0453568, acc = 0.98\n", "[Train] Batch ID = 31110, loss = 0.192478, acc = 0.82\n", "[Validation] Batch ID = 31110, loss = 0.0239345, acc = 1.0\n", "[Train] Batch ID = 31120, loss = 0.00425275, acc = 1.0\n", "[Validation] Batch ID = 31120, loss = 0.00838458, acc = 1.0\n", "[Train] Batch ID = 31130, loss = 0.00224531, acc = 1.0\n", "[Validation] Batch ID = 31130, loss = 0.0419688, acc = 0.96\n", "[Train] Batch ID = 31140, loss = 0.0031795, acc = 1.0\n", "[Validation] Batch ID = 31140, loss = 0.0432402, acc = 0.94\n", "[Train] Batch ID = 31150, loss = 0.00178239, acc = 1.0\n", "[Validation] Batch ID = 31150, loss = 0.0144345, acc = 0.98\n", "[Train] Batch ID = 31160, loss = 0.00231957, acc = 1.0\n", "[Validation] Batch ID = 31160, loss = 0.0134037, acc = 1.0\n", "[Train] Batch ID = 31170, loss = 0.0015889, acc = 1.0\n", "[Validation] Batch ID = 31170, loss = 0.0142935, acc = 1.0\n", "[Train] Batch ID = 31180, loss = 0.00309462, acc = 1.0\n", "[Validation] Batch ID = 31180, loss = 0.0192129, acc = 1.0\n", "[Train] Batch ID = 31190, loss = 0.00134566, acc = 1.0\n", "[Validation] Batch ID = 31190, loss = 0.0216003, acc = 0.98\n", "[Train] Batch ID = 31200, loss = 0.00211744, acc = 1.0\n", "[Validation] Batch ID = 31200, loss = 0.0327926, acc = 0.96\n", "[Train] Batch ID = 31210, loss = 0.00301934, acc = 1.0\n", "[Validation] Batch ID = 31210, loss = 0.0611122, acc = 0.94\n", "[Train] Batch ID = 31220, loss = 0.00380254, acc = 1.0\n", "[Validation] Batch ID = 31220, loss = 0.0120143, acc = 1.0\n", "[Train] Batch ID = 31230, loss = 0.00120407, acc = 1.0\n", "[Validation] Batch ID = 31230, loss = 0.00670944, acc = 1.0\n", "[Train] Batch ID = 31240, loss = 0.00330565, acc = 1.0\n", "[Validation] Batch ID = 31240, loss = 0.0193155, acc = 1.0\n", "[Train] Batch ID = 31250, loss = 0.0017795, acc = 1.0\n", "[Validation] Batch ID = 31250, loss = 0.02187, acc = 0.98\n", "[Train] Batch ID = 31260, loss = 0.000966598, acc = 1.0\n", "[Validation] Batch ID = 31260, loss = 0.00780236, acc = 1.0\n", "[Train] Batch ID = 31270, loss = 0.00169157, acc = 1.0\n", "[Validation] Batch ID = 31270, loss = 0.0066283, acc = 1.0\n", "[Train] Batch ID = 31280, loss = 0.00149083, acc = 1.0\n", "[Validation] Batch ID = 31280, loss = 0.0183884, acc = 0.98\n", "[Train] Batch ID = 31290, loss = 0.00145079, acc = 1.0\n", "[Validation] Batch ID = 31290, loss = 0.00428045, acc = 1.0\n", "[Train] Batch ID = 31300, loss = 0.000778875, acc = 1.0\n", "[Validation] Batch ID = 31300, loss = 0.0280677, acc = 0.98\n", "[Train] Batch ID = 31310, loss = 0.00268299, acc = 1.0\n", "[Validation] Batch ID = 31310, loss = 0.0393795, acc = 0.96\n", "[Train] Batch ID = 31320, loss = 0.0016673, acc = 1.0\n", "[Validation] Batch ID = 31320, loss = 0.00898811, acc = 1.0\n", "[Train] Batch ID = 31330, loss = 0.00104528, acc = 1.0\n", "[Validation] Batch ID = 31330, loss = 0.00902743, acc = 1.0\n", "[Train] Batch ID = 31340, loss = 0.00241876, acc = 1.0\n", "[Validation] Batch ID = 31340, loss = 0.0196604, acc = 0.98\n", "[Train] Batch ID = 31350, loss = 0.00149815, acc = 1.0\n", "[Validation] Batch ID = 31350, loss = 0.0299185, acc = 0.98\n", "[Train] Batch ID = 31360, loss = 0.00215979, acc = 1.0\n", "[Validation] Batch ID = 31360, loss = 0.0428622, acc = 0.96\n", "[Train] Batch ID = 31370, loss = 0.00334863, acc = 1.0\n", "[Validation] Batch ID = 31370, loss = 0.0282145, acc = 1.0\n", "[Train] Batch ID = 31380, loss = 0.00408889, acc = 1.0\n", "[Validation] Batch ID = 31380, loss = 0.0378733, acc = 0.94\n", "[Train] Batch ID = 31390, loss = 0.00345361, acc = 1.0\n", "[Validation] Batch ID = 31390, loss = 0.0219698, acc = 1.0\n", "[Train] Batch ID = 31400, loss = 0.00200021, acc = 1.0\n", "[Validation] Batch ID = 31400, loss = 0.0274301, acc = 0.98\n", "[Train] Batch ID = 31410, loss = 0.00186481, acc = 1.0\n", "[Validation] Batch ID = 31410, loss = 0.030923, acc = 0.96\n", "[Train] Batch ID = 31420, loss = 0.0025669, acc = 1.0\n", "[Validation] Batch ID = 31420, loss = 0.0149037, acc = 0.98\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "[Train] Batch ID = 31430, loss = 0.00234606, acc = 1.0\n", "[Validation] Batch ID = 31430, loss = 0.0197291, acc = 1.0\n", "[Train] Batch ID = 31440, loss = 0.00203573, acc = 1.0\n", "[Validation] Batch ID = 31440, loss = 0.0255656, acc = 0.98\n", "[Train] Batch ID = 31450, loss = 0.00294161, acc = 1.0\n", "[Validation] Batch ID = 31450, loss = 0.01591, acc = 1.0\n", "[Train] Batch ID = 31460, loss = 0.00601573, acc = 1.0\n", "[Validation] Batch ID = 31460, loss = 0.0287948, acc = 0.98\n", "[Train] Batch ID = 31470, loss = 0.00508016, acc = 1.0\n", "[Validation] Batch ID = 31470, loss = 0.026645, acc = 0.98\n", "[Train] Batch ID = 31480, loss = 0.00196063, acc = 1.0\n", "[Validation] Batch ID = 31480, loss = 0.0304203, acc = 0.96\n", "[Train] Batch ID = 31490, loss = 0.00179898, acc = 1.0\n", "[Validation] Batch ID = 31490, loss = 0.0220754, acc = 0.98\n", "[Train] Batch ID = 31500, loss = 0.00227282, acc = 1.0\n", "[Validation] Batch ID = 31500, loss = 0.0185636, acc = 1.0\n", "[Train] Batch ID = 31510, loss = 0.000770672, acc = 1.0\n", "[Validation] Batch ID = 31510, loss = 0.0710147, acc = 0.92\n", "[Train] Batch ID = 31520, loss = 0.00240887, acc = 1.0\n", "[Validation] Batch ID = 31520, loss = 0.0183172, acc = 1.0\n", "[Train] Batch ID = 31530, loss = 0.00145106, acc = 1.0\n", "[Validation] Batch ID = 31530, loss = 0.028365, acc = 0.98\n", "[Train] Batch ID = 31540, loss = 0.00106641, acc = 1.0\n", "[Validation] Batch ID = 31540, loss = 0.0219807, acc = 0.96\n", "[Train] Batch ID = 31550, loss = 0.199072, acc = 0.86\n", "[Validation] Batch ID = 31550, loss = 0.0395239, acc = 0.98\n", "[Train] Batch ID = 31560, loss = 0.00292863, acc = 1.0\n", "[Validation] Batch ID = 31560, loss = 0.03267, acc = 0.98\n", "[Train] Batch ID = 31570, loss = 0.250853, acc = 0.7\n", "[Validation] Batch ID = 31570, loss = 0.0377817, acc = 0.98\n", "[Train] Batch ID = 31580, loss = 0.00391347, acc = 1.0\n", "[Validation] Batch ID = 31580, loss = 0.030578, acc = 0.98\n", "[Train] Batch ID = 31590, loss = 0.00424812, acc = 1.0\n", "[Validation] Batch ID = 31590, loss = 0.0219569, acc = 1.0\n", "[Train] Batch ID = 31600, loss = 0.00288475, acc = 1.0\n", "[Validation] Batch ID = 31600, loss = 0.052804, acc = 0.96\n", "[Train] Batch ID = 31610, loss = 0.00174762, acc = 1.0\n", "[Validation] Batch ID = 31610, loss = 0.021121, acc = 0.98\n", "[Train] Batch ID = 31620, loss = 0.00347886, acc = 1.0\n", "[Validation] Batch ID = 31620, loss = 0.0134904, acc = 1.0\n", "[Train] Batch ID = 31630, loss = 0.00147968, acc = 1.0\n", "[Validation] Batch ID = 31630, loss = 0.0270738, acc = 0.98\n", "[Train] Batch ID = 31640, loss = 0.00209516, acc = 1.0\n", "[Validation] Batch ID = 31640, loss = 0.0214039, acc = 1.0\n", "[Train] Batch ID = 31650, loss = 0.224207, acc = 0.84\n", "[Validation] Batch ID = 31650, loss = 0.0110585, acc = 1.0\n", "[Train] Batch ID = 31660, loss = 0.00139218, acc = 1.0\n", "[Validation] Batch ID = 31660, loss = 0.0202217, acc = 1.0\n", "[Train] Batch ID = 31670, loss = 0.0010174, acc = 1.0\n", "[Validation] Batch ID = 31670, loss = 0.0339531, acc = 0.98\n", "[Train] Batch ID = 31680, loss = 0.00492307, acc = 1.0\n", "[Validation] Batch ID = 31680, loss = 0.0264508, acc = 0.98\n", "[Train] Batch ID = 31690, loss = 0.00246523, acc = 1.0\n", "[Validation] Batch ID = 31690, loss = 0.0255473, acc = 0.98\n", "[Train] Batch ID = 31700, loss = 0.00400027, acc = 1.0\n", "[Validation] Batch ID = 31700, loss = 0.0270714, acc = 0.98\n", "[Train] Batch ID = 31710, loss = 0.00133492, acc = 1.0\n", "[Validation] Batch ID = 31710, loss = 0.0315654, acc = 0.96\n", "[Train] Batch ID = 31720, loss = 0.00497223, acc = 1.0\n", "[Validation] Batch ID = 31720, loss = 0.0239318, acc = 1.0\n", "[Train] Batch ID = 31730, loss = 0.00252467, acc = 1.0\n", "[Validation] Batch ID = 31730, loss = 0.0173167, acc = 1.0\n", "[Train] Batch ID = 31740, loss = 0.00391987, acc = 1.0\n", "[Validation] Batch ID = 31740, loss = 0.0176395, acc = 1.0\n", "[Train] Batch ID = 31750, loss = 0.00195219, acc = 1.0\n", "[Validation] Batch ID = 31750, loss = 0.0252507, acc = 1.0\n", "[Train] Batch ID = 31760, loss = 0.00203188, acc = 1.0\n", "[Validation] Batch ID = 31760, loss = 0.0429484, acc = 0.94\n", "[Train] Batch ID = 31770, loss = 0.00149816, acc = 1.0\n", "[Validation] Batch ID = 31770, loss = 0.0743951, acc = 0.88\n", "[Train] Batch ID = 31780, loss = 0.00113559, acc = 1.0\n", "[Validation] Batch ID = 31780, loss = 0.035306, acc = 0.98\n", "[Train] Batch ID = 31790, loss = 0.00168533, acc = 1.0\n", "[Validation] Batch ID = 31790, loss = 0.0157123, acc = 0.98\n", "[Train] Batch ID = 31800, loss = 0.00204551, acc = 1.0\n", "[Validation] Batch ID = 31800, loss = 0.0197226, acc = 1.0\n", "[Train] Batch ID = 31810, loss = 0.00149921, acc = 1.0\n", "[Validation] Batch ID = 31810, loss = 0.0238835, acc = 0.98\n", "[Train] Batch ID = 31820, loss = 0.00323012, acc = 1.0\n", "[Validation] Batch ID = 31820, loss = 0.0104428, acc = 1.0\n", "[Train] Batch ID = 31830, loss = 0.00295867, acc = 1.0\n", "[Validation] Batch ID = 31830, loss = 0.0397866, acc = 0.94\n", "[Train] Batch ID = 31840, loss = 0.0016805, acc = 1.0\n", "[Validation] Batch ID = 31840, loss = 0.0245933, acc = 0.96\n", "[Train] Batch ID = 31850, loss = 0.0013261, acc = 1.0\n", "[Validation] Batch ID = 31850, loss = 0.016168, acc = 0.98\n", "[Train] Batch ID = 31860, loss = 0.00212478, acc = 1.0\n", "[Validation] Batch ID = 31860, loss = 0.039522, acc = 0.96\n", "[Train] Batch ID = 31870, loss = 0.00299583, acc = 1.0\n", "[Validation] Batch ID = 31870, loss = 0.0145088, acc = 1.0\n", "[Train] Batch ID = 31880, loss = 0.00376722, acc = 1.0\n", "[Validation] Batch ID = 31880, loss = 0.0287992, acc = 0.98\n", "[Train] Batch ID = 31890, loss = 0.00180234, acc = 1.0\n", "[Validation] Batch ID = 31890, loss = 0.0359838, acc = 0.96\n", "[Train] Batch ID = 31900, loss = 0.00139798, acc = 1.0\n", "[Validation] Batch ID = 31900, loss = 0.0201998, acc = 1.0\n", "[Train] Batch ID = 31910, loss = 0.00191381, acc = 1.0\n", "[Validation] Batch ID = 31910, loss = 0.0290803, acc = 0.98\n", "[Train] Batch ID = 31920, loss = 0.0063396, acc = 1.0\n", "[Validation] Batch ID = 31920, loss = 0.0322938, acc = 0.98\n", "[Train] Batch ID = 31930, loss = 0.00657362, acc = 1.0\n", "[Validation] Batch ID = 31930, loss = 0.0325126, acc = 0.98\n", "[Train] Batch ID = 31940, loss = 0.00666376, acc = 1.0\n", "[Validation] Batch ID = 31940, loss = 0.0350213, acc = 0.98\n", "[Train] Batch ID = 31950, loss = 0.00555858, acc = 1.0\n", "[Validation] Batch ID = 31950, loss = 0.0405503, acc = 1.0\n", "[Train] Batch ID = 31960, loss = 0.00853985, acc = 1.0\n", "[Validation] Batch ID = 31960, loss = 0.0285326, acc = 1.0\n", "[Train] Batch ID = 31970, loss = 0.00273717, acc = 1.0\n", "[Validation] Batch ID = 31970, loss = 0.037582, acc = 0.94\n", "[Train] Batch ID = 31980, loss = 0.00391666, acc = 1.0\n", "[Validation] Batch ID = 31980, loss = 0.024414, acc = 0.98\n", "[Train] Batch ID = 31990, loss = 0.00195356, acc = 1.0\n", "[Validation] Batch ID = 31990, loss = 0.0190577, acc = 1.0\n", "[Train] Batch ID = 32000, loss = 0.00328198, acc = 1.0\n", "[Validation] Batch ID = 32000, loss = 0.0251426, acc = 1.0\n", "Evaluate full validation dataset ...\n", "Current loss: 0.0283315 Best loss: 0.0281227\n", "[TOTAL Validation] Batch ID = 32000, loss = 0.0283315, acc = 0.980498866213\n", "Augmented Factor = 0.030594122838806304\n", "[Train] Batch ID = 32010, loss = 0.00244792, acc = 1.0\n", "[Validation] Batch ID = 32010, loss = 0.0152536, acc = 1.0\n", "[Train] Batch ID = 32020, loss = 0.00539285, acc = 1.0\n", "[Validation] Batch ID = 32020, loss = 0.0192728, acc = 1.0\n", "[Train] Batch ID = 32030, loss = 0.00254554, acc = 1.0\n", "[Validation] Batch ID = 32030, loss = 0.0483486, acc = 0.94\n", "[Train] Batch ID = 32040, loss = 0.226445, acc = 0.78\n", "[Validation] Batch ID = 32040, loss = 0.0241564, acc = 0.98\n", "[Train] Batch ID = 32050, loss = 0.00198244, acc = 1.0\n", "[Validation] Batch ID = 32050, loss = 0.0288919, acc = 0.98\n", "[Train] Batch ID = 32060, loss = 0.00143583, acc = 1.0\n", "[Validation] Batch ID = 32060, loss = 0.0305794, acc = 0.96\n", "[Train] Batch ID = 32070, loss = 0.00369631, acc = 1.0\n", "[Validation] Batch ID = 32070, loss = 0.0632883, acc = 0.96\n", "[Train] Batch ID = 32080, loss = 0.00326873, acc = 1.0\n", "[Validation] Batch ID = 32080, loss = 0.0547151, acc = 0.96\n", "[Train] Batch ID = 32090, loss = 0.00352583, acc = 1.0\n", "[Validation] Batch ID = 32090, loss = 0.0115315, acc = 1.0\n", "[Train] Batch ID = 32100, loss = 0.00337912, acc = 1.0\n", "[Validation] Batch ID = 32100, loss = 0.0278435, acc = 0.98\n", "[Train] Batch ID = 32110, loss = 0.00183454, acc = 1.0\n", "[Validation] Batch ID = 32110, loss = 0.0478019, acc = 0.94\n", "[Train] Batch ID = 32120, loss = 0.00186462, acc = 1.0\n", "[Validation] Batch ID = 32120, loss = 0.0230001, acc = 1.0\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "[Train] Batch ID = 32130, loss = 0.00245284, acc = 1.0\n", "[Validation] Batch ID = 32130, loss = 0.021992, acc = 0.98\n", "[Train] Batch ID = 32140, loss = 0.0015283, acc = 1.0\n", "[Validation] Batch ID = 32140, loss = 0.0171926, acc = 0.98\n", "[Train] Batch ID = 32150, loss = 0.00198823, acc = 1.0\n", "[Validation] Batch ID = 32150, loss = 0.0378377, acc = 0.94\n", "[Train] Batch ID = 32160, loss = 0.00194967, acc = 1.0\n", "[Validation] Batch ID = 32160, loss = 0.0196612, acc = 1.0\n", "[Train] Batch ID = 32170, loss = 0.000975529, acc = 1.0\n", "[Validation] Batch ID = 32170, loss = 0.0182886, acc = 0.96\n", "[Train] Batch ID = 32180, loss = 0.00184632, acc = 1.0\n", "[Validation] Batch ID = 32180, loss = 0.0181237, acc = 1.0\n", "[Train] Batch ID = 32190, loss = 0.00116337, acc = 1.0\n", "[Validation] Batch ID = 32190, loss = 0.0218746, acc = 0.98\n", "[Train] Batch ID = 32200, loss = 0.00163323, acc = 1.0\n", "[Validation] Batch ID = 32200, loss = 0.0175637, acc = 1.0\n", "[Train] Batch ID = 32210, loss = 0.000977775, acc = 1.0\n", "[Validation] Batch ID = 32210, loss = 0.0297615, acc = 1.0\n", "[Train] Batch ID = 32220, loss = 0.00463468, acc = 1.0\n", "[Validation] Batch ID = 32220, loss = 0.0406702, acc = 0.94\n", "[Train] Batch ID = 32230, loss = 0.00296435, acc = 1.0\n", "[Validation] Batch ID = 32230, loss = 0.0184173, acc = 0.98\n", "[Train] Batch ID = 32240, loss = 0.0023784, acc = 1.0\n", "[Validation] Batch ID = 32240, loss = 0.0287957, acc = 0.98\n", "[Train] Batch ID = 32250, loss = 0.00222009, acc = 1.0\n", "[Validation] Batch ID = 32250, loss = 0.0515997, acc = 0.94\n", "[Train] Batch ID = 32260, loss = 0.00246799, acc = 1.0\n", "[Validation] Batch ID = 32260, loss = 0.0400675, acc = 0.98\n", "[Train] Batch ID = 32270, loss = 0.00137399, acc = 1.0\n", "[Validation] Batch ID = 32270, loss = 0.0458705, acc = 0.94\n", "[Train] Batch ID = 32280, loss = 0.00309487, acc = 1.0\n", "[Validation] Batch ID = 32280, loss = 0.0551574, acc = 0.94\n", "[Train] Batch ID = 32290, loss = 0.00121884, acc = 1.0\n", "[Validation] Batch ID = 32290, loss = 0.0290543, acc = 0.96\n", "[Train] Batch ID = 32300, loss = 0.00221107, acc = 1.0\n", "[Validation] Batch ID = 32300, loss = 0.0138598, acc = 1.0\n", "[Train] Batch ID = 32310, loss = 0.000732373, acc = 1.0\n", "[Validation] Batch ID = 32310, loss = 0.017209, acc = 0.98\n", "[Train] Batch ID = 32320, loss = 0.00127065, acc = 1.0\n", "[Validation] Batch ID = 32320, loss = 0.0153215, acc = 1.0\n", "[Train] Batch ID = 32330, loss = 0.00126636, acc = 1.0\n", "[Validation] Batch ID = 32330, loss = 0.0272918, acc = 0.98\n", "[Train] Batch ID = 32340, loss = 0.00271425, acc = 1.0\n", "[Validation] Batch ID = 32340, loss = 0.054351, acc = 0.94\n", "[Train] Batch ID = 32350, loss = 0.00198749, acc = 1.0\n", "[Validation] Batch ID = 32350, loss = 0.0367771, acc = 1.0\n", "[Train] Batch ID = 32360, loss = 0.00293163, acc = 1.0\n", "[Validation] Batch ID = 32360, loss = 0.0244586, acc = 1.0\n", "[Train] Batch ID = 32370, loss = 0.00397864, acc = 1.0\n", "[Validation] Batch ID = 32370, loss = 0.0140845, acc = 1.0\n", "[Train] Batch ID = 32380, loss = 0.00140013, acc = 1.0\n", "[Validation] Batch ID = 32380, loss = 0.0518198, acc = 0.96\n", "[Train] Batch ID = 32390, loss = 0.000612135, acc = 1.0\n", "[Validation] Batch ID = 32390, loss = 0.0161579, acc = 0.98\n", "[Train] Batch ID = 32400, loss = 0.00193689, acc = 1.0\n", "[Validation] Batch ID = 32400, loss = 0.0275207, acc = 0.98\n", "[Train] Batch ID = 32410, loss = 0.0032033, acc = 1.0\n", "[Validation] Batch ID = 32410, loss = 0.017851, acc = 1.0\n", "[Train] Batch ID = 32420, loss = 0.00243046, acc = 1.0\n", "[Validation] Batch ID = 32420, loss = 0.034153, acc = 0.96\n", "[Train] Batch ID = 32430, loss = 0.00272799, acc = 1.0\n", "[Validation] Batch ID = 32430, loss = 0.0262465, acc = 0.98\n", "[Train] Batch ID = 32440, loss = 0.00196897, acc = 1.0\n", "[Validation] Batch ID = 32440, loss = 0.0278712, acc = 0.98\n", "[Train] Batch ID = 32450, loss = 0.000943169, acc = 1.0\n", "[Validation] Batch ID = 32450, loss = 0.0297475, acc = 0.96\n", "[Train] Batch ID = 32460, loss = 0.00126869, acc = 1.0\n", "[Validation] Batch ID = 32460, loss = 0.0186871, acc = 1.0\n", "[Train] Batch ID = 32470, loss = 0.00138185, acc = 1.0\n", "[Validation] Batch ID = 32470, loss = 0.0250948, acc = 0.98\n", "[Train] Batch ID = 32480, loss = 0.00326513, acc = 1.0\n", "[Validation] Batch ID = 32480, loss = 0.030942, acc = 0.96\n", "[Train] Batch ID = 32490, loss = 0.00252428, acc = 1.0\n", "[Validation] Batch ID = 32490, loss = 0.0343268, acc = 0.98\n", "[Train] Batch ID = 32500, loss = 0.00202878, acc = 1.0\n", "[Validation] Batch ID = 32500, loss = 0.0125569, acc = 1.0\n", "[Train] Batch ID = 32510, loss = 0.00248645, acc = 1.0\n", "[Validation] Batch ID = 32510, loss = 0.0134091, acc = 1.0\n", "[Train] Batch ID = 32520, loss = 0.00168562, acc = 1.0\n", "[Validation] Batch ID = 32520, loss = 0.0231548, acc = 0.96\n", "[Train] Batch ID = 32530, loss = 0.00160326, acc = 1.0\n", "[Validation] Batch ID = 32530, loss = 0.00875802, acc = 1.0\n", "[Train] Batch ID = 32540, loss = 0.000880266, acc = 1.0\n", "[Validation] Batch ID = 32540, loss = 0.0305853, acc = 0.96\n", "[Train] Batch ID = 32550, loss = 0.00255616, acc = 1.0\n", "[Validation] Batch ID = 32550, loss = 0.0271652, acc = 0.98\n", "[Train] Batch ID = 32560, loss = 0.00297306, acc = 1.0\n", "[Validation] Batch ID = 32560, loss = 0.0193047, acc = 1.0\n", "[Train] Batch ID = 32570, loss = 0.00274726, acc = 1.0\n", "[Validation] Batch ID = 32570, loss = 0.0185353, acc = 0.98\n", "[Train] Batch ID = 32580, loss = 0.00194632, acc = 1.0\n", "[Validation] Batch ID = 32580, loss = 0.0304191, acc = 0.96\n", "[Train] Batch ID = 32590, loss = 0.00162661, acc = 1.0\n", "[Validation] Batch ID = 32590, loss = 0.0319835, acc = 0.98\n", "[Train] Batch ID = 32600, loss = 0.00161296, acc = 1.0\n", "[Validation] Batch ID = 32600, loss = 0.01074, acc = 1.0\n", "[Train] Batch ID = 32610, loss = 0.00329993, acc = 1.0\n", "[Validation] Batch ID = 32610, loss = 0.0157735, acc = 1.0\n", "[Train] Batch ID = 32620, loss = 0.00941771, acc = 1.0\n", "[Validation] Batch ID = 32620, loss = 0.01756, acc = 1.0\n", "[Train] Batch ID = 32630, loss = 0.0092046, acc = 1.0\n", "[Validation] Batch ID = 32630, loss = 0.0369092, acc = 1.0\n", "[Train] Batch ID = 32640, loss = 0.00188782, acc = 1.0\n", "[Validation] Batch ID = 32640, loss = 0.00659924, acc = 1.0\n", "[Train] Batch ID = 32650, loss = 0.00166541, acc = 1.0\n", "[Validation] Batch ID = 32650, loss = 0.0212478, acc = 0.98\n", "[Train] Batch ID = 32660, loss = 0.000854403, acc = 1.0\n", "[Validation] Batch ID = 32660, loss = 0.0254204, acc = 0.98\n", "[Train] Batch ID = 32670, loss = 0.00489171, acc = 1.0\n", "[Validation] Batch ID = 32670, loss = 0.0227241, acc = 1.0\n", "[Train] Batch ID = 32680, loss = 0.00388071, acc = 1.0\n", "[Validation] Batch ID = 32680, loss = 0.0139344, acc = 1.0\n", "[Train] Batch ID = 32690, loss = 0.00205495, acc = 1.0\n", "[Validation] Batch ID = 32690, loss = 0.0117917, acc = 1.0\n", "[Train] Batch ID = 32700, loss = 0.00199648, acc = 1.0\n", "[Validation] Batch ID = 32700, loss = 0.0321297, acc = 0.96\n", "[Train] Batch ID = 32710, loss = 0.00142083, acc = 1.0\n", "[Validation] Batch ID = 32710, loss = 0.0291808, acc = 0.96\n", "[Train] Batch ID = 32720, loss = 0.000962315, acc = 1.0\n", "[Validation] Batch ID = 32720, loss = 0.0243412, acc = 1.0\n", "[Train] Batch ID = 32730, loss = 0.000814988, acc = 1.0\n", "[Validation] Batch ID = 32730, loss = 0.0157139, acc = 1.0\n", "[Train] Batch ID = 32740, loss = 0.00254767, acc = 1.0\n", "[Validation] Batch ID = 32740, loss = 0.0278855, acc = 1.0\n", "[Train] Batch ID = 32750, loss = 0.0018026, acc = 1.0\n", "[Validation] Batch ID = 32750, loss = 0.0376208, acc = 0.96\n", "[Train] Batch ID = 32760, loss = 0.00122523, acc = 1.0\n", "[Validation] Batch ID = 32760, loss = 0.0438346, acc = 0.92\n", "[Train] Batch ID = 32770, loss = 0.00376461, acc = 1.0\n", "[Validation] Batch ID = 32770, loss = 0.0393185, acc = 0.98\n", "[Train] Batch ID = 32780, loss = 0.00216467, acc = 1.0\n", "[Validation] Batch ID = 32780, loss = 0.031257, acc = 0.98\n", "[Train] Batch ID = 32790, loss = 0.00138312, acc = 1.0\n", "[Validation] Batch ID = 32790, loss = 0.0150523, acc = 1.0\n", "[Train] Batch ID = 32800, loss = 0.00215408, acc = 1.0\n", "[Validation] Batch ID = 32800, loss = 0.0366487, acc = 0.98\n", "[Train] Batch ID = 32810, loss = 0.00129638, acc = 1.0\n", "[Validation] Batch ID = 32810, loss = 0.0092653, acc = 1.0\n", "[Train] Batch ID = 32820, loss = 0.00185204, acc = 1.0\n", "[Validation] Batch ID = 32820, loss = 0.0215562, acc = 0.98\n", "[Train] Batch ID = 32830, loss = 0.0013449, acc = 1.0\n", "[Validation] Batch ID = 32830, loss = 0.0446077, acc = 0.96\n", "[Train] Batch ID = 32840, loss = 0.00127398, acc = 1.0\n", "[Validation] Batch ID = 32840, loss = 0.00356353, acc = 1.0\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "[Train] Batch ID = 32850, loss = 0.00389033, acc = 1.0\n", "[Validation] Batch ID = 32850, loss = 0.0164521, acc = 0.98\n", "[Train] Batch ID = 32860, loss = 0.00461923, acc = 1.0\n", "[Validation] Batch ID = 32860, loss = 0.0254456, acc = 1.0\n", "[Train] Batch ID = 32870, loss = 0.00203537, acc = 1.0\n", "[Validation] Batch ID = 32870, loss = 0.04042, acc = 0.96\n", "[Train] Batch ID = 32880, loss = 0.00203483, acc = 1.0\n", "[Validation] Batch ID = 32880, loss = 0.0234942, acc = 0.98\n", "[Train] Batch ID = 32890, loss = 0.00187033, acc = 1.0\n", "[Validation] Batch ID = 32890, loss = 0.0369457, acc = 0.96\n", "[Train] Batch ID = 32900, loss = 0.0010437, acc = 1.0\n", "[Validation] Batch ID = 32900, loss = 0.0447355, acc = 0.96\n", "[Train] Batch ID = 32910, loss = 0.00304987, acc = 1.0\n", "[Validation] Batch ID = 32910, loss = 0.0208077, acc = 0.98\n", "[Train] Batch ID = 32920, loss = 0.002313, acc = 1.0\n", "[Validation] Batch ID = 32920, loss = 0.0433858, acc = 0.96\n", "[Train] Batch ID = 32930, loss = 0.00103577, acc = 1.0\n", "[Validation] Batch ID = 32930, loss = 0.0121091, acc = 1.0\n", "[Train] Batch ID = 32940, loss = 0.00477809, acc = 1.0\n", "[Validation] Batch ID = 32940, loss = 0.0383068, acc = 0.96\n", "[Train] Batch ID = 32950, loss = 0.000994055, acc = 1.0\n", "[Validation] Batch ID = 32950, loss = 0.0133046, acc = 1.0\n", "[Train] Batch ID = 32960, loss = 0.00215455, acc = 1.0\n", "[Validation] Batch ID = 32960, loss = 0.0466382, acc = 0.94\n", "[Train] Batch ID = 32970, loss = 0.00113158, acc = 1.0\n", "[Validation] Batch ID = 32970, loss = 0.0266435, acc = 0.98\n", "[Train] Batch ID = 32980, loss = 0.000771765, acc = 1.0\n", "[Validation] Batch ID = 32980, loss = 0.0358519, acc = 0.98\n", "[Train] Batch ID = 32990, loss = 0.000754133, acc = 1.0\n", "[Validation] Batch ID = 32990, loss = 0.00959618, acc = 1.0\n", "[Train] Batch ID = 33000, loss = 0.00288395, acc = 1.0\n", "[Validation] Batch ID = 33000, loss = 0.0116783, acc = 1.0\n", "Evaluate full validation dataset ...\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "ModelBase::Saving model ...\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Current loss: 0.0279286 Best loss: 0.0281227\n", "[TOTAL Validation] Batch ID = 33000, loss = 0.0279286, acc = 0.977777777778\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "ModelBase::Model successfully saved here: outputs/checkpoints/c1s_9_c1n_256_c2s_6_c2n_64_c2d_0.7_c1vl_16_c1s_5_c1nf_16_c2vl_32_lr_0.0001_rs_1--TrafficSign--1510487290.423481\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Augmented Factor = 0.027534710554925675\n", "[Train] Batch ID = 33010, loss = 0.00181849, acc = 1.0\n", "[Validation] Batch ID = 33010, loss = 0.0340514, acc = 0.98\n", "[Train] Batch ID = 33020, loss = 0.00325495, acc = 1.0\n", "[Validation] Batch ID = 33020, loss = 0.0228029, acc = 0.98\n", "[Train] Batch ID = 33030, loss = 0.00318333, acc = 1.0\n", "[Validation] Batch ID = 33030, loss = 0.0273975, acc = 1.0\n", "[Train] Batch ID = 33040, loss = 0.00121912, acc = 1.0\n", "[Validation] Batch ID = 33040, loss = 0.018543, acc = 1.0\n", "[Train] Batch ID = 33050, loss = 0.00053879, acc = 1.0\n", "[Validation] Batch ID = 33050, loss = 0.0185162, acc = 1.0\n", "[Train] Batch ID = 33060, loss = 0.00249961, acc = 1.0\n", "[Validation] Batch ID = 33060, loss = 0.0175863, acc = 0.98\n", "[Train] Batch ID = 33070, loss = 0.00226629, acc = 1.0\n", "[Validation] Batch ID = 33070, loss = 0.00575258, acc = 1.0\n", "[Train] Batch ID = 33080, loss = 0.00122987, acc = 1.0\n", "[Validation] Batch ID = 33080, loss = 0.0185106, acc = 0.98\n", "[Train] Batch ID = 33090, loss = 0.00130267, acc = 1.0\n", "[Validation] Batch ID = 33090, loss = 0.0171537, acc = 1.0\n", "[Train] Batch ID = 33100, loss = 0.000840497, acc = 1.0\n", "[Validation] Batch ID = 33100, loss = 0.0248239, acc = 1.0\n", "[Train] Batch ID = 33110, loss = 0.00497245, acc = 1.0\n", "[Validation] Batch ID = 33110, loss = 0.0266441, acc = 1.0\n", "[Train] Batch ID = 33120, loss = 0.00246843, acc = 1.0\n", "[Validation] Batch ID = 33120, loss = 0.0120394, acc = 0.98\n", "[Train] Batch ID = 33130, loss = 0.0030819, acc = 1.0\n", "[Validation] Batch ID = 33130, loss = 0.013348, acc = 1.0\n", "[Train] Batch ID = 33140, loss = 0.00110325, acc = 1.0\n", "[Validation] Batch ID = 33140, loss = 0.0175235, acc = 1.0\n", "[Train] Batch ID = 33150, loss = 0.00124824, acc = 1.0\n", "[Validation] Batch ID = 33150, loss = 0.0273643, acc = 0.98\n", "[Train] Batch ID = 33160, loss = 0.000870531, acc = 1.0\n", "[Validation] Batch ID = 33160, loss = 0.0325356, acc = 0.96\n", "[Train] Batch ID = 33170, loss = 0.000935222, acc = 1.0\n", "[Validation] Batch ID = 33170, loss = 0.0186631, acc = 1.0\n", "[Train] Batch ID = 33180, loss = 0.00160773, acc = 1.0\n", "[Validation] Batch ID = 33180, loss = 0.0371717, acc = 0.96\n", "[Train] Batch ID = 33190, loss = 0.000552651, acc = 1.0\n", "[Validation] Batch ID = 33190, loss = 0.0195016, acc = 0.98\n", "[Train] Batch ID = 33200, loss = 0.00226886, acc = 1.0\n", "[Validation] Batch ID = 33200, loss = 0.0231467, acc = 0.98\n", "[Train] Batch ID = 33210, loss = 0.00445881, acc = 1.0\n", "[Validation] Batch ID = 33210, loss = 0.0258166, acc = 0.98\n", "[Train] Batch ID = 33220, loss = 0.00281248, acc = 1.0\n", "[Validation] Batch ID = 33220, loss = 0.0155061, acc = 1.0\n", "[Train] Batch ID = 33230, loss = 0.00334207, acc = 1.0\n", "[Validation] Batch ID = 33230, loss = 0.00982972, acc = 1.0\n", "[Train] Batch ID = 33240, loss = 0.00369319, acc = 1.0\n", "[Validation] Batch ID = 33240, loss = 0.0407696, acc = 0.98\n", "[Train] Batch ID = 33250, loss = 0.00178102, acc = 1.0\n", "[Validation] Batch ID = 33250, loss = 0.0148712, acc = 1.0\n", "[Train] Batch ID = 33260, loss = 0.0019711, acc = 1.0\n", "[Validation] Batch ID = 33260, loss = 0.0283755, acc = 0.98\n", "[Train] Batch ID = 33270, loss = 0.00140165, acc = 1.0\n", "[Validation] Batch ID = 33270, loss = 0.0285463, acc = 0.98\n", "[Train] Batch ID = 33280, loss = 0.00123305, acc = 1.0\n", "[Validation] Batch ID = 33280, loss = 0.00876212, acc = 1.0\n", "[Train] Batch ID = 33290, loss = 0.00159225, acc = 1.0\n", "[Validation] Batch ID = 33290, loss = 0.0250008, acc = 0.98\n", "[Train] Batch ID = 33300, loss = 0.00171913, acc = 1.0\n", "[Validation] Batch ID = 33300, loss = 0.0219332, acc = 0.98\n", "[Train] Batch ID = 33310, loss = 0.00226492, acc = 1.0\n", "[Validation] Batch ID = 33310, loss = 0.0258679, acc = 0.98\n", "[Train] Batch ID = 33320, loss = 0.00115471, acc = 1.0\n", "[Validation] Batch ID = 33320, loss = 0.0182495, acc = 1.0\n", "[Train] Batch ID = 33330, loss = 0.0011099, acc = 1.0\n", "[Validation] Batch ID = 33330, loss = 0.0129627, acc = 1.0\n", "[Train] Batch ID = 33340, loss = 0.00114239, acc = 1.0\n", "[Validation] Batch ID = 33340, loss = 0.0224047, acc = 0.98\n", "[Train] Batch ID = 33350, loss = 0.00143153, acc = 1.0\n", "[Validation] Batch ID = 33350, loss = 0.0392582, acc = 0.96\n", "[Train] Batch ID = 33360, loss = 0.000775912, acc = 1.0\n", "[Validation] Batch ID = 33360, loss = 0.0567734, acc = 0.96\n", "[Train] Batch ID = 33370, loss = 0.00127811, acc = 1.0\n", "[Validation] Batch ID = 33370, loss = 0.0158642, acc = 0.98\n", "[Train] Batch ID = 33380, loss = 0.0021451, acc = 1.0\n", "[Validation] Batch ID = 33380, loss = 0.00478845, acc = 1.0\n", "[Train] Batch ID = 33390, loss = 0.00133939, acc = 1.0\n", "[Validation] Batch ID = 33390, loss = 0.0467568, acc = 0.96\n", "[Train] Batch ID = 33400, loss = 0.00114221, acc = 1.0\n", "[Validation] Batch ID = 33400, loss = 0.018701, acc = 0.98\n", "[Train] Batch ID = 33410, loss = 0.000656294, acc = 1.0\n", "[Validation] Batch ID = 33410, loss = 0.029396, acc = 0.98\n", "[Train] Batch ID = 33420, loss = 0.00128939, acc = 1.0\n", "[Validation] Batch ID = 33420, loss = 0.0134015, acc = 1.0\n", "[Train] Batch ID = 33430, loss = 0.00117163, acc = 1.0\n", "[Validation] Batch ID = 33430, loss = 0.0122138, acc = 1.0\n", "[Train] Batch ID = 33440, loss = 0.00219798, acc = 1.0\n", "[Validation] Batch ID = 33440, loss = 0.0177056, acc = 1.0\n", "[Train] Batch ID = 33450, loss = 0.00086066, acc = 1.0\n", "[Validation] Batch ID = 33450, loss = 0.0244949, acc = 1.0\n", "[Train] Batch ID = 33460, loss = 0.00161027, acc = 1.0\n", "[Validation] Batch ID = 33460, loss = 0.0135184, acc = 0.98\n", "[Train] Batch ID = 33470, loss = 0.00181402, acc = 1.0\n", "[Validation] Batch ID = 33470, loss = 0.0469599, acc = 0.94\n", "[Train] Batch ID = 33480, loss = 0.00222441, acc = 1.0\n", "[Validation] Batch ID = 33480, loss = 0.0401, acc = 0.96\n", "[Train] Batch ID = 33490, loss = 0.00267539, acc = 1.0\n", "[Validation] Batch ID = 33490, loss = 0.0254628, acc = 0.98\n", "[Train] Batch ID = 33500, loss = 0.00203254, acc = 1.0\n", "[Validation] Batch ID = 33500, loss = 0.0134601, acc = 1.0\n", "[Train] Batch ID = 33510, loss = 0.00101351, acc = 1.0\n", "[Validation] Batch ID = 33510, loss = 0.0173526, acc = 1.0\n", "[Train] Batch ID = 33520, loss = 0.000351228, acc = 1.0\n", "[Validation] Batch ID = 33520, loss = 0.028063, acc = 0.98\n", "[Train] Batch ID = 33530, loss = 0.00309073, acc = 1.0\n", "[Validation] Batch ID = 33530, loss = 0.0241765, acc = 1.0\n", "[Train] Batch ID = 33540, loss = 0.00135097, acc = 1.0\n", "[Validation] Batch ID = 33540, loss = 0.0356681, acc = 0.98\n", "[Train] Batch ID = 33550, loss = 0.000931253, acc = 1.0\n", "[Validation] Batch ID = 33550, loss = 0.0337044, acc = 0.98\n", "[Train] Batch ID = 33560, loss = 0.00121306, acc = 1.0\n", "[Validation] Batch ID = 33560, loss = 0.0198492, acc = 0.98\n", "[Train] Batch ID = 33570, loss = 0.00183575, acc = 1.0\n", "[Validation] Batch ID = 33570, loss = 0.0261529, acc = 0.98\n", "[Train] Batch ID = 33580, loss = 0.00537902, acc = 1.0\n", "[Validation] Batch ID = 33580, loss = 0.0219252, acc = 1.0\n", "[Train] Batch ID = 33590, loss = 0.00305744, acc = 1.0\n", "[Validation] Batch ID = 33590, loss = 0.0587448, acc = 0.96\n", "[Train] Batch ID = 33600, loss = 0.00222588, acc = 1.0\n", "[Validation] Batch ID = 33600, loss = 0.0113798, acc = 1.0\n", "[Train] Batch ID = 33610, loss = 0.216053, acc = 0.84\n", "[Validation] Batch ID = 33610, loss = 0.0456582, acc = 0.96\n", "[Train] Batch ID = 33620, loss = 0.00403571, acc = 1.0\n", "[Validation] Batch ID = 33620, loss = 0.0358384, acc = 0.98\n", "[Train] Batch ID = 33630, loss = 0.00245096, acc = 1.0\n", "[Validation] Batch ID = 33630, loss = 0.0400173, acc = 0.96\n", "[Train] Batch ID = 33640, loss = 0.00419924, acc = 1.0\n", "[Validation] Batch ID = 33640, loss = 0.0129962, acc = 1.0\n", "[Train] Batch ID = 33650, loss = 0.00203869, acc = 1.0\n", "[Validation] Batch ID = 33650, loss = 0.0323964, acc = 0.98\n", "[Train] Batch ID = 33660, loss = 0.00269876, acc = 1.0\n", "[Validation] Batch ID = 33660, loss = 0.0328521, acc = 0.98\n", "[Train] Batch ID = 33670, loss = 0.00179589, acc = 1.0\n", "[Validation] Batch ID = 33670, loss = 0.068287, acc = 0.9\n", "[Train] Batch ID = 33680, loss = 0.0016557, acc = 1.0\n", "[Validation] Batch ID = 33680, loss = 0.036526, acc = 0.96\n", "[Train] Batch ID = 33690, loss = 0.00080653, acc = 1.0\n", "[Validation] Batch ID = 33690, loss = 0.0252813, acc = 0.96\n", "[Train] Batch ID = 33700, loss = 0.000873974, acc = 1.0\n", "[Validation] Batch ID = 33700, loss = 0.0223677, acc = 1.0\n", "[Train] Batch ID = 33710, loss = 0.00123022, acc = 1.0\n", "[Validation] Batch ID = 33710, loss = 0.0334933, acc = 0.96\n", "[Train] Batch ID = 33720, loss = 0.0026075, acc = 1.0\n", "[Validation] Batch ID = 33720, loss = 0.0388142, acc = 0.98\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "[Train] Batch ID = 33730, loss = 0.0014227, acc = 1.0\n", "[Validation] Batch ID = 33730, loss = 0.0465692, acc = 1.0\n", "[Train] Batch ID = 33740, loss = 0.00154358, acc = 1.0\n", "[Validation] Batch ID = 33740, loss = 0.0217439, acc = 0.98\n", "[Train] Batch ID = 33750, loss = 0.00108881, acc = 1.0\n", "[Validation] Batch ID = 33750, loss = 0.0153538, acc = 1.0\n", "[Train] Batch ID = 33760, loss = 0.00208851, acc = 1.0\n", "[Validation] Batch ID = 33760, loss = 0.0187131, acc = 0.98\n", "[Train] Batch ID = 33770, loss = 0.00230359, acc = 1.0\n", "[Validation] Batch ID = 33770, loss = 0.0193091, acc = 0.98\n", "[Train] Batch ID = 33780, loss = 0.00255943, acc = 1.0\n", "[Validation] Batch ID = 33780, loss = 0.0253616, acc = 1.0\n", "[Train] Batch ID = 33790, loss = 0.00141364, acc = 1.0\n", "[Validation] Batch ID = 33790, loss = 0.0381494, acc = 0.94\n", "[Train] Batch ID = 33800, loss = 0.000759173, acc = 1.0\n", "[Validation] Batch ID = 33800, loss = 0.0206996, acc = 0.98\n", "[Train] Batch ID = 33810, loss = 0.00153981, acc = 1.0\n", "[Validation] Batch ID = 33810, loss = 0.0403791, acc = 0.96\n", "[Train] Batch ID = 33820, loss = 0.00112776, acc = 1.0\n", "[Validation] Batch ID = 33820, loss = 0.0104464, acc = 1.0\n", "[Train] Batch ID = 33830, loss = 0.000706016, acc = 1.0\n", "[Validation] Batch ID = 33830, loss = 0.0349083, acc = 1.0\n", "[Train] Batch ID = 33840, loss = 0.00193746, acc = 1.0\n", "[Validation] Batch ID = 33840, loss = 0.0152287, acc = 1.0\n", "[Train] Batch ID = 33850, loss = 0.00201659, acc = 1.0\n", "[Validation] Batch ID = 33850, loss = 0.0305157, acc = 0.98\n", "[Train] Batch ID = 33860, loss = 0.000779262, acc = 1.0\n", "[Validation] Batch ID = 33860, loss = 0.0289241, acc = 0.98\n", "[Train] Batch ID = 33870, loss = 0.000919842, acc = 1.0\n", "[Validation] Batch ID = 33870, loss = 0.01571, acc = 0.98\n", "[Train] Batch ID = 33880, loss = 0.0056259, acc = 1.0\n", "[Validation] Batch ID = 33880, loss = 0.0336432, acc = 0.96\n", "[Train] Batch ID = 33890, loss = 0.00305266, acc = 1.0\n", "[Validation] Batch ID = 33890, loss = 0.0531919, acc = 0.96\n", "[Train] Batch ID = 33900, loss = 0.00429765, acc = 1.0\n", "[Validation] Batch ID = 33900, loss = 0.0155319, acc = 1.0\n", "[Train] Batch ID = 33910, loss = 0.00375414, acc = 1.0\n", "[Validation] Batch ID = 33910, loss = 0.0496658, acc = 0.96\n", "[Train] Batch ID = 33920, loss = 0.00597919, acc = 1.0\n", "[Validation] Batch ID = 33920, loss = 0.0353993, acc = 0.98\n", "[Train] Batch ID = 33930, loss = 0.00523041, acc = 1.0\n", "[Validation] Batch ID = 33930, loss = 0.018453, acc = 1.0\n", "[Train] Batch ID = 33940, loss = 0.00379052, acc = 1.0\n", "[Validation] Batch ID = 33940, loss = 0.0335519, acc = 0.96\n", "[Train] Batch ID = 33950, loss = 0.00246781, acc = 1.0\n", "[Validation] Batch ID = 33950, loss = 0.0246614, acc = 0.98\n", "[Train] Batch ID = 33960, loss = 0.00737513, acc = 1.0\n", "[Validation] Batch ID = 33960, loss = 0.0202566, acc = 0.98\n", "[Train] Batch ID = 33970, loss = 0.258969, acc = 0.78\n", "[Validation] Batch ID = 33970, loss = 0.0498904, acc = 0.96\n", "[Train] Batch ID = 33980, loss = 0.00358301, acc = 1.0\n", "[Validation] Batch ID = 33980, loss = 0.0265126, acc = 0.98\n", "[Train] Batch ID = 33990, loss = 0.00441193, acc = 1.0\n", "[Validation] Batch ID = 33990, loss = 0.0612483, acc = 0.94\n", "[Train] Batch ID = 34000, loss = 0.00127521, acc = 1.0\n", "[Validation] Batch ID = 34000, loss = 0.035544, acc = 0.98\n", "Evaluate full validation dataset ...\n", "Current loss: 0.0281532 Best loss: 0.0279286\n", "[TOTAL Validation] Batch ID = 34000, loss = 0.0281532, acc = 0.974376417234\n", "Augmented Factor = 0.02478123949943311\n", "[Train] Batch ID = 34010, loss = 0.00292716, acc = 1.0\n", "[Validation] Batch ID = 34010, loss = 0.0388733, acc = 0.94\n", "[Train] Batch ID = 34020, loss = 0.00390851, acc = 1.0\n", "[Validation] Batch ID = 34020, loss = 0.0079285, acc = 1.0\n", "[Train] Batch ID = 34030, loss = 0.214262, acc = 0.78\n", "[Validation] Batch ID = 34030, loss = 0.054598, acc = 0.94\n", "[Train] Batch ID = 34040, loss = 0.00420655, acc = 1.0\n", "[Validation] Batch ID = 34040, loss = 0.0246616, acc = 0.98\n", "[Train] Batch ID = 34050, loss = 0.00320833, acc = 1.0\n", "[Validation] Batch ID = 34050, loss = 0.0262696, acc = 1.0\n", "[Train] Batch ID = 34060, loss = 0.00179443, acc = 1.0\n", "[Validation] Batch ID = 34060, loss = 0.00724466, acc = 1.0\n", "[Train] Batch ID = 34070, loss = 0.00134016, acc = 1.0\n", "[Validation] Batch ID = 34070, loss = 0.0265773, acc = 0.98\n", "[Train] Batch ID = 34080, loss = 0.0022292, acc = 1.0\n", "[Validation] Batch ID = 34080, loss = 0.00986422, acc = 1.0\n", "[Train] Batch ID = 34090, loss = 0.00253996, acc = 1.0\n", "[Validation] Batch ID = 34090, loss = 0.0284195, acc = 0.98\n", "[Train] Batch ID = 34100, loss = 0.00144634, acc = 1.0\n", "[Validation] Batch ID = 34100, loss = 0.0455917, acc = 0.96\n", "[Train] Batch ID = 34110, loss = 0.00408443, acc = 1.0\n", "[Validation] Batch ID = 34110, loss = 0.0470518, acc = 0.94\n", "[Train] Batch ID = 34120, loss = 0.00180702, acc = 1.0\n", "[Validation] Batch ID = 34120, loss = 0.0287269, acc = 0.98\n", "[Train] Batch ID = 34130, loss = 0.00221286, acc = 1.0\n", "[Validation] Batch ID = 34130, loss = 0.0182229, acc = 1.0\n", "[Train] Batch ID = 34140, loss = 0.00104676, acc = 1.0\n", "[Validation] Batch ID = 34140, loss = 0.0589918, acc = 0.96\n", "[Train] Batch ID = 34150, loss = 0.00153778, acc = 1.0\n", "[Validation] Batch ID = 34150, loss = 0.025807, acc = 0.96\n", "[Train] Batch ID = 34160, loss = 0.00139048, acc = 1.0\n", "[Validation] Batch ID = 34160, loss = 0.0254652, acc = 0.98\n", "[Train] Batch ID = 34170, loss = 0.00108228, acc = 1.0\n", "[Validation] Batch ID = 34170, loss = 0.024228, acc = 0.98\n", "[Train] Batch ID = 34180, loss = 0.00138399, acc = 1.0\n", "[Validation] Batch ID = 34180, loss = 0.0115673, acc = 1.0\n", "[Train] Batch ID = 34190, loss = 0.000957156, acc = 1.0\n", "[Validation] Batch ID = 34190, loss = 0.0292247, acc = 1.0\n", "[Train] Batch ID = 34200, loss = 0.00126168, acc = 1.0\n", "[Validation] Batch ID = 34200, loss = 0.0266125, acc = 0.98\n", "[Train] Batch ID = 34210, loss = 0.00107253, acc = 1.0\n", "[Validation] Batch ID = 34210, loss = 0.0177075, acc = 1.0\n", "[Train] Batch ID = 34220, loss = 0.00158458, acc = 1.0\n", "[Validation] Batch ID = 34220, loss = 0.0250548, acc = 1.0\n", "[Train] Batch ID = 34230, loss = 0.0028385, acc = 1.0\n", "[Validation] Batch ID = 34230, loss = 0.0099975, acc = 1.0\n", "[Train] Batch ID = 34240, loss = 0.00333945, acc = 1.0\n", "[Validation] Batch ID = 34240, loss = 0.015042, acc = 1.0\n", "[Train] Batch ID = 34250, loss = 0.00107485, acc = 1.0\n", "[Validation] Batch ID = 34250, loss = 0.054031, acc = 0.9\n", "[Train] Batch ID = 34260, loss = 0.00162134, acc = 1.0\n", "[Validation] Batch ID = 34260, loss = 0.0463529, acc = 0.96\n", "[Train] Batch ID = 34270, loss = 0.00232209, acc = 1.0\n", "[Validation] Batch ID = 34270, loss = 0.0213975, acc = 0.98\n", "[Train] Batch ID = 34280, loss = 0.00206215, acc = 1.0\n", "[Validation] Batch ID = 34280, loss = 0.0232347, acc = 1.0\n", "[Train] Batch ID = 34290, loss = 0.00403854, acc = 1.0\n", "[Validation] Batch ID = 34290, loss = 0.0474341, acc = 0.94\n", "[Train] Batch ID = 34300, loss = 0.00318019, acc = 1.0\n", "[Validation] Batch ID = 34300, loss = 0.0267329, acc = 1.0\n", "[Train] Batch ID = 34310, loss = 0.000890194, acc = 1.0\n", "[Validation] Batch ID = 34310, loss = 0.0168448, acc = 1.0\n", "[Train] Batch ID = 34320, loss = 0.0016286, acc = 1.0\n", "[Validation] Batch ID = 34320, loss = 0.0243907, acc = 0.98\n", "[Train] Batch ID = 34330, loss = 0.00374931, acc = 1.0\n", "[Validation] Batch ID = 34330, loss = 0.044567, acc = 0.92\n", "[Train] Batch ID = 34340, loss = 0.00427511, acc = 1.0\n", "[Validation] Batch ID = 34340, loss = 0.0267493, acc = 0.98\n", "[Train] Batch ID = 34350, loss = 0.00228432, acc = 1.0\n", "[Validation] Batch ID = 34350, loss = 0.0195777, acc = 0.98\n", "[Train] Batch ID = 34360, loss = 0.00170838, acc = 1.0\n", "[Validation] Batch ID = 34360, loss = 0.0147028, acc = 1.0\n", "[Train] Batch ID = 34370, loss = 0.00405182, acc = 1.0\n", "[Validation] Batch ID = 34370, loss = 0.0135615, acc = 1.0\n", "[Train] Batch ID = 34380, loss = 0.00274036, acc = 1.0\n", "[Validation] Batch ID = 34380, loss = 0.0360181, acc = 0.96\n", "[Train] Batch ID = 34390, loss = 0.00214647, acc = 1.0\n", "[Validation] Batch ID = 34390, loss = 0.0267034, acc = 1.0\n", "[Train] Batch ID = 34400, loss = 0.00217682, acc = 1.0\n", "[Validation] Batch ID = 34400, loss = 0.0277916, acc = 0.98\n", "[Train] Batch ID = 34410, loss = 0.00205903, acc = 1.0\n", "[Validation] Batch ID = 34410, loss = 0.0168659, acc = 0.98\n", "[Train] Batch ID = 34420, loss = 0.00129326, acc = 1.0\n", "[Validation] Batch ID = 34420, loss = 0.0388039, acc = 0.96\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "[Train] Batch ID = 34430, loss = 0.000940373, acc = 1.0\n", "[Validation] Batch ID = 34430, loss = 0.00654498, acc = 1.0\n", "[Train] Batch ID = 34440, loss = 0.00165389, acc = 1.0\n", "[Validation] Batch ID = 34440, loss = 0.0258308, acc = 0.96\n", "[Train] Batch ID = 34450, loss = 0.000799451, acc = 1.0\n", "[Validation] Batch ID = 34450, loss = 0.0224393, acc = 0.98\n", "[Train] Batch ID = 34460, loss = 0.0012742, acc = 1.0\n", "[Validation] Batch ID = 34460, loss = 0.0368613, acc = 0.96\n", "[Train] Batch ID = 34470, loss = 0.00241067, acc = 1.0\n", "[Validation] Batch ID = 34470, loss = 0.0621379, acc = 0.92\n", "[Train] Batch ID = 34480, loss = 0.00240353, acc = 1.0\n", "[Validation] Batch ID = 34480, loss = 0.0251606, acc = 0.98\n", "[Train] Batch ID = 34490, loss = 0.00104062, acc = 1.0\n", "[Validation] Batch ID = 34490, loss = 0.0313245, acc = 0.98\n", "[Train] Batch ID = 34500, loss = 0.00123432, acc = 1.0\n", "[Validation] Batch ID = 34500, loss = 0.0399166, acc = 0.94\n", "[Train] Batch ID = 34510, loss = 0.00264213, acc = 1.0\n", "[Validation] Batch ID = 34510, loss = 0.0418553, acc = 0.96\n", "[Train] Batch ID = 34520, loss = 0.00286723, acc = 1.0\n", "[Validation] Batch ID = 34520, loss = 0.020106, acc = 1.0\n", "[Train] Batch ID = 34530, loss = 0.000727647, acc = 1.0\n", "[Validation] Batch ID = 34530, loss = 0.0168686, acc = 0.98\n", "[Train] Batch ID = 34540, loss = 0.00105633, acc = 1.0\n", "[Validation] Batch ID = 34540, loss = 0.01112, acc = 1.0\n", "[Train] Batch ID = 34550, loss = 0.0011426, acc = 1.0\n", "[Validation] Batch ID = 34550, loss = 0.0230898, acc = 0.98\n", "[Train] Batch ID = 34560, loss = 0.00202895, acc = 1.0\n", "[Validation] Batch ID = 34560, loss = 0.0362619, acc = 0.96\n", "[Train] Batch ID = 34570, loss = 0.205977, acc = 0.88\n", "[Validation] Batch ID = 34570, loss = 0.0313396, acc = 0.98\n", "[Train] Batch ID = 34580, loss = 0.00168833, acc = 1.0\n", "[Validation] Batch ID = 34580, loss = 0.0361696, acc = 0.98\n", "[Train] Batch ID = 34590, loss = 0.00191977, acc = 1.0\n", "[Validation] Batch ID = 34590, loss = 0.0214165, acc = 1.0\n", "[Train] Batch ID = 34600, loss = 0.000828731, acc = 1.0\n", "[Validation] Batch ID = 34600, loss = 0.0237738, acc = 0.98\n", "[Train] Batch ID = 34610, loss = 0.00225998, acc = 1.0\n", "[Validation] Batch ID = 34610, loss = 0.0436404, acc = 0.96\n", "[Train] Batch ID = 34620, loss = 0.00321665, acc = 1.0\n", "[Validation] Batch ID = 34620, loss = 0.0136035, acc = 1.0\n", "[Train] Batch ID = 34630, loss = 0.00378405, acc = 1.0\n", "[Validation] Batch ID = 34630, loss = 0.0248081, acc = 1.0\n", "[Train] Batch ID = 34640, loss = 0.00346752, acc = 1.0\n", "[Validation] Batch ID = 34640, loss = 0.0154217, acc = 0.98\n", "[Train] Batch ID = 34650, loss = 0.00265397, acc = 1.0\n", "[Validation] Batch ID = 34650, loss = 0.0140412, acc = 1.0\n", "[Train] Batch ID = 34660, loss = 0.176497, acc = 0.88\n", "[Validation] Batch ID = 34660, loss = 0.00914493, acc = 1.0\n", "[Train] Batch ID = 34670, loss = 0.00544764, acc = 1.0\n", "[Validation] Batch ID = 34670, loss = 0.0423473, acc = 0.96\n", "[Train] Batch ID = 34680, loss = 0.0112335, acc = 1.0\n", "[Validation] Batch ID = 34680, loss = 0.0327307, acc = 0.98\n", "[Train] Batch ID = 34690, loss = 0.280758, acc = 0.68\n", "[Validation] Batch ID = 34690, loss = 0.0364617, acc = 0.98\n", "[Train] Batch ID = 34700, loss = 0.00217996, acc = 1.0\n", "[Validation] Batch ID = 34700, loss = 0.0302443, acc = 0.98\n", "[Train] Batch ID = 34710, loss = 0.00427503, acc = 1.0\n", "[Validation] Batch ID = 34710, loss = 0.0164207, acc = 1.0\n", "[Train] Batch ID = 34720, loss = 0.00319668, acc = 1.0\n", "[Validation] Batch ID = 34720, loss = 0.0257829, acc = 0.98\n", "[Train] Batch ID = 34730, loss = 0.00244617, acc = 1.0\n", "[Validation] Batch ID = 34730, loss = 0.0491925, acc = 0.96\n", "[Train] Batch ID = 34740, loss = 0.00130755, acc = 1.0\n", "[Validation] Batch ID = 34740, loss = 0.0159836, acc = 1.0\n", "[Train] Batch ID = 34750, loss = 0.000922704, acc = 1.0\n", "[Validation] Batch ID = 34750, loss = 0.0202928, acc = 0.98\n", "[Train] Batch ID = 34760, loss = 0.00113312, acc = 1.0\n", "[Validation] Batch ID = 34760, loss = 0.0267652, acc = 0.98\n", "[Train] Batch ID = 34770, loss = 0.00113025, acc = 1.0\n", "[Validation] Batch ID = 34770, loss = 0.0303798, acc = 0.98\n", "[Train] Batch ID = 34780, loss = 0.00107034, acc = 1.0\n", "[Validation] Batch ID = 34780, loss = 0.0085439, acc = 1.0\n", "[Train] Batch ID = 34790, loss = 0.000568644, acc = 1.0\n", "[Validation] Batch ID = 34790, loss = 0.0381623, acc = 0.98\n", "[Train] Batch ID = 34800, loss = 0.000406391, acc = 1.0\n", "[Validation] Batch ID = 34800, loss = 0.041879, acc = 0.96\n", "[Train] Batch ID = 34810, loss = 0.000527877, acc = 1.0\n", "[Validation] Batch ID = 34810, loss = 0.0153544, acc = 1.0\n", "[Train] Batch ID = 34820, loss = 0.00124814, acc = 1.0\n", "[Validation] Batch ID = 34820, loss = 0.022132, acc = 0.98\n", "[Train] Batch ID = 34830, loss = 0.00131949, acc = 1.0\n", "[Validation] Batch ID = 34830, loss = 0.0181519, acc = 0.98\n", "[Train] Batch ID = 34840, loss = 0.00059383, acc = 1.0\n", "[Validation] Batch ID = 34840, loss = 0.0282374, acc = 0.98\n", "[Train] Batch ID = 34850, loss = 0.00164318, acc = 1.0\n", "[Validation] Batch ID = 34850, loss = 0.0201427, acc = 1.0\n", "[Train] Batch ID = 34860, loss = 0.00267948, acc = 1.0\n", "[Validation] Batch ID = 34860, loss = 0.01531, acc = 1.0\n", "[Train] Batch ID = 34870, loss = 0.00182316, acc = 1.0\n", "[Validation] Batch ID = 34870, loss = 0.0642087, acc = 0.94\n", "[Train] Batch ID = 34880, loss = 0.0020084, acc = 1.0\n", "[Validation] Batch ID = 34880, loss = 0.0181483, acc = 1.0\n", "[Train] Batch ID = 34890, loss = 0.00117665, acc = 1.0\n", "[Validation] Batch ID = 34890, loss = 0.0181139, acc = 0.98\n", "[Train] Batch ID = 34900, loss = 0.000585932, acc = 1.0\n", "[Validation] Batch ID = 34900, loss = 0.0299241, acc = 0.98\n", "[Train] Batch ID = 34910, loss = 0.00195954, acc = 1.0\n", "[Validation] Batch ID = 34910, loss = 0.0415075, acc = 0.96\n", "[Train] Batch ID = 34920, loss = 0.000746637, acc = 1.0\n", "[Validation] Batch ID = 34920, loss = 0.0228915, acc = 0.98\n", "[Train] Batch ID = 34930, loss = 0.00301906, acc = 1.0\n", "[Validation] Batch ID = 34930, loss = 0.0226889, acc = 1.0\n", "[Train] Batch ID = 34940, loss = 0.00361435, acc = 1.0\n", "[Validation] Batch ID = 34940, loss = 0.0203312, acc = 1.0\n", "[Train] Batch ID = 34950, loss = 0.0013223, acc = 1.0\n", "[Validation] Batch ID = 34950, loss = 0.0347867, acc = 0.96\n", "[Train] Batch ID = 34960, loss = 0.00272004, acc = 1.0\n", "[Validation] Batch ID = 34960, loss = 0.016318, acc = 1.0\n", "[Train] Batch ID = 34970, loss = 0.00154643, acc = 1.0\n", "[Validation] Batch ID = 34970, loss = 0.0209945, acc = 0.98\n", "[Train] Batch ID = 34980, loss = 0.00342527, acc = 1.0\n", "[Validation] Batch ID = 34980, loss = 0.0467939, acc = 0.94\n", "[Train] Batch ID = 34990, loss = 0.00251763, acc = 1.0\n", "[Validation] Batch ID = 34990, loss = 0.0196573, acc = 1.0\n", "[Train] Batch ID = 35000, loss = 0.00489313, acc = 1.0\n", "[Validation] Batch ID = 35000, loss = 0.0346506, acc = 0.98\n", "Evaluate full validation dataset ...\n", "Current loss: 0.0338471 Best loss: 0.0279286\n", "[TOTAL Validation] Batch ID = 35000, loss = 0.0338471, acc = 0.974376417234\n", "Augmented Factor = 0.0223031155494898\n", "[Train] Batch ID = 35010, loss = 0.00123101, acc = 1.0\n", "[Validation] Batch ID = 35010, loss = 0.0211353, acc = 0.98\n", "[Train] Batch ID = 35020, loss = 0.00483166, acc = 1.0\n", "[Validation] Batch ID = 35020, loss = 0.030276, acc = 0.98\n", "[Train] Batch ID = 35030, loss = 0.00303367, acc = 1.0\n", "[Validation] Batch ID = 35030, loss = 0.0321597, acc = 0.96\n", "[Train] Batch ID = 35040, loss = 0.00195591, acc = 1.0\n", "[Validation] Batch ID = 35040, loss = 0.0105399, acc = 1.0\n", "[Train] Batch ID = 35050, loss = 0.00064356, acc = 1.0\n", "[Validation] Batch ID = 35050, loss = 0.0212917, acc = 0.98\n", "[Train] Batch ID = 35060, loss = 0.00151086, acc = 1.0\n", "[Validation] Batch ID = 35060, loss = 0.0185054, acc = 1.0\n", "[Train] Batch ID = 35070, loss = 0.0019008, acc = 1.0\n", "[Validation] Batch ID = 35070, loss = 0.0245975, acc = 0.98\n", "[Train] Batch ID = 35080, loss = 0.00178826, acc = 1.0\n", "[Validation] Batch ID = 35080, loss = 0.0149673, acc = 1.0\n", "[Train] Batch ID = 35090, loss = 0.00141485, acc = 1.0\n", "[Validation] Batch ID = 35090, loss = 0.0288711, acc = 0.98\n", "[Train] Batch ID = 35100, loss = 0.00148675, acc = 1.0\n", "[Validation] Batch ID = 35100, loss = 0.0315895, acc = 0.98\n", "[Train] Batch ID = 35110, loss = 0.00496753, acc = 1.0\n", "[Validation] Batch ID = 35110, loss = 0.0291774, acc = 1.0\n", "[Train] Batch ID = 35120, loss = 0.00148082, acc = 1.0\n", "[Validation] Batch ID = 35120, loss = 0.0237277, acc = 0.98\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "[Train] Batch ID = 35130, loss = 0.00146676, acc = 1.0\n", "[Validation] Batch ID = 35130, loss = 0.0198125, acc = 1.0\n", "[Train] Batch ID = 35140, loss = 0.00168412, acc = 1.0\n", "[Validation] Batch ID = 35140, loss = 0.0157836, acc = 1.0\n", "[Train] Batch ID = 35150, loss = 0.00223866, acc = 1.0\n", "[Validation] Batch ID = 35150, loss = 0.0122051, acc = 1.0\n", "[Train] Batch ID = 35160, loss = 0.00195233, acc = 1.0\n", "[Validation] Batch ID = 35160, loss = 0.0115557, acc = 1.0\n", "[Train] Batch ID = 35170, loss = 0.00185339, acc = 1.0\n", "[Validation] Batch ID = 35170, loss = 0.032402, acc = 0.96\n", "[Train] Batch ID = 35180, loss = 0.00139078, acc = 1.0\n", "[Validation] Batch ID = 35180, loss = 0.0296124, acc = 0.98\n", "[Train] Batch ID = 35190, loss = 0.00199218, acc = 1.0\n", "[Validation] Batch ID = 35190, loss = 0.0219612, acc = 0.98\n", "[Train] Batch ID = 35200, loss = 0.000734279, acc = 1.0\n", "[Validation] Batch ID = 35200, loss = 0.0523639, acc = 0.96\n", "[Train] Batch ID = 35210, loss = 0.000791422, acc = 1.0\n", "[Validation] Batch ID = 35210, loss = 0.0186676, acc = 0.98\n", "[Train] Batch ID = 35220, loss = 0.000668661, acc = 1.0\n", "[Validation] Batch ID = 35220, loss = 0.0182843, acc = 1.0\n", "[Train] Batch ID = 35230, loss = 0.00239851, acc = 1.0\n", "[Validation] Batch ID = 35230, loss = 0.0164689, acc = 1.0\n", "[Train] Batch ID = 35240, loss = 0.00144483, acc = 1.0\n", "[Validation] Batch ID = 35240, loss = 0.0359894, acc = 0.96\n", "[Train] Batch ID = 35250, loss = 0.000911718, acc = 1.0\n", "[Validation] Batch ID = 35250, loss = 0.0228408, acc = 0.98\n", "[Train] Batch ID = 35260, loss = 0.00181636, acc = 1.0\n", "[Validation] Batch ID = 35260, loss = 0.0277013, acc = 0.98\n", "[Train] Batch ID = 35270, loss = 0.00129693, acc = 1.0\n", "[Validation] Batch ID = 35270, loss = 0.0122954, acc = 1.0\n", "[Train] Batch ID = 35280, loss = 0.00106596, acc = 1.0\n", "[Validation] Batch ID = 35280, loss = 0.0290187, acc = 0.96\n", "[Train] Batch ID = 35290, loss = 0.00186773, acc = 1.0\n", "[Validation] Batch ID = 35290, loss = 0.0259945, acc = 0.96\n", "[Train] Batch ID = 35300, loss = 0.00165797, acc = 1.0\n", "[Validation] Batch ID = 35300, loss = 0.0342112, acc = 0.96\n", "[Train] Batch ID = 35310, loss = 0.00238422, acc = 1.0\n", "[Validation] Batch ID = 35310, loss = 0.019165, acc = 1.0\n", "[Train] Batch ID = 35320, loss = 0.00265946, acc = 1.0\n", "[Validation] Batch ID = 35320, loss = 0.018348, acc = 1.0\n", "[Train] Batch ID = 35330, loss = 0.00112968, acc = 1.0\n", "[Validation] Batch ID = 35330, loss = 0.0108394, acc = 1.0\n", "[Train] Batch ID = 35340, loss = 0.00133968, acc = 1.0\n", "[Validation] Batch ID = 35340, loss = 0.0343262, acc = 0.98\n", "[Train] Batch ID = 35350, loss = 0.000579713, acc = 1.0\n", "[Validation] Batch ID = 35350, loss = 0.0472246, acc = 0.94\n", "[Train] Batch ID = 35360, loss = 0.000474305, acc = 1.0\n", "[Validation] Batch ID = 35360, loss = 0.0320105, acc = 0.96\n", "[Train] Batch ID = 35370, loss = 0.00151863, acc = 1.0\n", "[Validation] Batch ID = 35370, loss = 0.00748708, acc = 1.0\n", "[Train] Batch ID = 35380, loss = 0.00241837, acc = 1.0\n", "[Validation] Batch ID = 35380, loss = 0.0298927, acc = 0.98\n", "[Train] Batch ID = 35390, loss = 0.188076, acc = 0.86\n", "[Validation] Batch ID = 35390, loss = 0.0526109, acc = 0.92\n", "[Train] Batch ID = 35400, loss = 0.00330111, acc = 1.0\n", "[Validation] Batch ID = 35400, loss = 0.0161357, acc = 1.0\n", "[Train] Batch ID = 35410, loss = 0.0028664, acc = 1.0\n", "[Validation] Batch ID = 35410, loss = 0.0191126, acc = 1.0\n", "[Train] Batch ID = 35420, loss = 0.00106006, acc = 1.0\n", "[Validation] Batch ID = 35420, loss = 0.0172395, acc = 0.98\n", "[Train] Batch ID = 35430, loss = 0.000549528, acc = 1.0\n", "[Validation] Batch ID = 35430, loss = 0.013277, acc = 0.98\n", "[Train] Batch ID = 35440, loss = 0.00108247, acc = 1.0\n", "[Validation] Batch ID = 35440, loss = 0.0432458, acc = 0.94\n", "[Train] Batch ID = 35450, loss = 0.00114345, acc = 1.0\n", "[Validation] Batch ID = 35450, loss = 0.0327118, acc = 0.94\n", "[Train] Batch ID = 35460, loss = 0.0014665, acc = 1.0\n", "[Validation] Batch ID = 35460, loss = 0.0619566, acc = 0.92\n", "[Train] Batch ID = 35470, loss = 0.000570245, acc = 1.0\n", "[Validation] Batch ID = 35470, loss = 0.0112915, acc = 1.0\n", "[Train] Batch ID = 35480, loss = 0.00288832, acc = 1.0\n", "[Validation] Batch ID = 35480, loss = 0.0247959, acc = 0.98\n", "[Train] Batch ID = 35490, loss = 0.00278684, acc = 1.0\n", "[Validation] Batch ID = 35490, loss = 0.0375957, acc = 0.96\n", "[Train] Batch ID = 35500, loss = 0.00255916, acc = 1.0\n", "[Validation] Batch ID = 35500, loss = 0.0348293, acc = 0.96\n", "[Train] Batch ID = 35510, loss = 0.219207, acc = 0.82\n", "[Validation] Batch ID = 35510, loss = 0.00482722, acc = 1.0\n", "[Train] Batch ID = 35520, loss = 0.00254461, acc = 1.0\n", "[Validation] Batch ID = 35520, loss = 0.0154841, acc = 1.0\n", "[Train] Batch ID = 35530, loss = 0.0015859, acc = 1.0\n", "[Validation] Batch ID = 35530, loss = 0.0313105, acc = 0.96\n", "[Train] Batch ID = 35540, loss = 0.0028022, acc = 1.0\n", "[Validation] Batch ID = 35540, loss = 0.0300512, acc = 0.98\n", "[Train] Batch ID = 35550, loss = 0.0009475, acc = 1.0\n", "[Validation] Batch ID = 35550, loss = 0.0221287, acc = 1.0\n", "[Train] Batch ID = 35560, loss = 0.0010983, acc = 1.0\n", "[Validation] Batch ID = 35560, loss = 0.0213457, acc = 0.96\n", "[Train] Batch ID = 35570, loss = 0.00231058, acc = 1.0\n", "[Validation] Batch ID = 35570, loss = 0.0316365, acc = 0.98\n", "[Train] Batch ID = 35580, loss = 0.00255997, acc = 1.0\n", "[Validation] Batch ID = 35580, loss = 0.068434, acc = 0.92\n", "[Train] Batch ID = 35590, loss = 0.00150198, acc = 1.0\n", "[Validation] Batch ID = 35590, loss = 0.0297742, acc = 0.98\n", "[Train] Batch ID = 35600, loss = 0.00116091, acc = 1.0\n", "[Validation] Batch ID = 35600, loss = 0.00840573, acc = 1.0\n", "[Train] Batch ID = 35610, loss = 0.0015711, acc = 1.0\n", "[Validation] Batch ID = 35610, loss = 0.0110809, acc = 1.0\n", "[Train] Batch ID = 35620, loss = 0.00549141, acc = 1.0\n", "[Validation] Batch ID = 35620, loss = 0.0167908, acc = 1.0\n", "[Train] Batch ID = 35630, loss = 0.00389095, acc = 1.0\n", "[Validation] Batch ID = 35630, loss = 0.0517466, acc = 0.94\n", "[Train] Batch ID = 35640, loss = 0.00257538, acc = 1.0\n", "[Validation] Batch ID = 35640, loss = 0.0368672, acc = 0.96\n", "[Train] Batch ID = 35650, loss = 0.00188736, acc = 1.0\n", "[Validation] Batch ID = 35650, loss = 0.0139378, acc = 1.0\n", "[Train] Batch ID = 35660, loss = 0.00122664, acc = 1.0\n", "[Validation] Batch ID = 35660, loss = 0.0149245, acc = 1.0\n", "[Train] Batch ID = 35670, loss = 0.00115179, acc = 1.0\n", "[Validation] Batch ID = 35670, loss = 0.0401415, acc = 0.94\n", "[Train] Batch ID = 35680, loss = 0.00113401, acc = 1.0\n", "[Validation] Batch ID = 35680, loss = 0.0245407, acc = 1.0\n", "[Train] Batch ID = 35690, loss = 0.001514, acc = 1.0\n", "[Validation] Batch ID = 35690, loss = 0.0452087, acc = 0.92\n", "[Train] Batch ID = 35700, loss = 0.000824824, acc = 1.0\n", "[Validation] Batch ID = 35700, loss = 0.025087, acc = 0.98\n", "[Train] Batch ID = 35710, loss = 0.00133319, acc = 1.0\n", "[Validation] Batch ID = 35710, loss = 0.0234307, acc = 0.98\n", "[Train] Batch ID = 35720, loss = 0.00197493, acc = 1.0\n", "[Validation] Batch ID = 35720, loss = 0.0229535, acc = 0.98\n", "[Train] Batch ID = 35730, loss = 0.00374448, acc = 1.0\n", "[Validation] Batch ID = 35730, loss = 0.0337954, acc = 0.98\n", "[Train] Batch ID = 35740, loss = 0.00343965, acc = 1.0\n", "[Validation] Batch ID = 35740, loss = 0.0219215, acc = 0.98\n", "[Train] Batch ID = 35750, loss = 0.00201432, acc = 1.0\n", "[Validation] Batch ID = 35750, loss = 0.011466, acc = 1.0\n", "[Train] Batch ID = 35760, loss = 0.00141768, acc = 1.0\n", "[Validation] Batch ID = 35760, loss = 0.00873763, acc = 1.0\n", "[Train] Batch ID = 35770, loss = 0.000926716, acc = 1.0\n", "[Validation] Batch ID = 35770, loss = 0.00837433, acc = 1.0\n", "[Train] Batch ID = 35780, loss = 0.00168031, acc = 1.0\n", "[Validation] Batch ID = 35780, loss = 0.0322792, acc = 0.96\n", "[Train] Batch ID = 35790, loss = 0.0014129, acc = 1.0\n", "[Validation] Batch ID = 35790, loss = 0.0144773, acc = 0.98\n", "[Train] Batch ID = 35800, loss = 0.00128679, acc = 1.0\n", "[Validation] Batch ID = 35800, loss = 0.0263892, acc = 0.98\n", "[Train] Batch ID = 35810, loss = 0.00140809, acc = 1.0\n", "[Validation] Batch ID = 35810, loss = 0.0217168, acc = 1.0\n", "[Train] Batch ID = 35820, loss = 0.00457105, acc = 1.0\n", "[Validation] Batch ID = 35820, loss = 0.0217399, acc = 1.0\n", "[Train] Batch ID = 35830, loss = 0.00135411, acc = 1.0\n", "[Validation] Batch ID = 35830, loss = 0.0276325, acc = 0.98\n", "[Train] Batch ID = 35840, loss = 0.0020144, acc = 1.0\n", "[Validation] Batch ID = 35840, loss = 0.0280892, acc = 0.98\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "[Train] Batch ID = 35850, loss = 0.00229682, acc = 1.0\n", "[Validation] Batch ID = 35850, loss = 0.0187131, acc = 0.98\n", "[Train] Batch ID = 35860, loss = 0.0031632, acc = 1.0\n", "[Validation] Batch ID = 35860, loss = 0.0141907, acc = 1.0\n", "[Train] Batch ID = 35870, loss = 0.0016642, acc = 1.0\n", "[Validation] Batch ID = 35870, loss = 0.039399, acc = 0.96\n", "[Train] Batch ID = 35880, loss = 0.00201166, acc = 1.0\n", "[Validation] Batch ID = 35880, loss = 0.0098812, acc = 1.0\n", "[Train] Batch ID = 35890, loss = 0.00132046, acc = 1.0\n", "[Validation] Batch ID = 35890, loss = 0.0193322, acc = 0.98\n", "[Train] Batch ID = 35900, loss = 0.00105584, acc = 1.0\n", "[Validation] Batch ID = 35900, loss = 0.00898944, acc = 1.0\n", "[Train] Batch ID = 35910, loss = 0.000852348, acc = 1.0\n", "[Validation] Batch ID = 35910, loss = 0.0090617, acc = 1.0\n", "[Train] Batch ID = 35920, loss = 0.000753168, acc = 1.0\n", "[Validation] Batch ID = 35920, loss = 0.0315808, acc = 0.98\n", "[Train] Batch ID = 35930, loss = 0.00113977, acc = 1.0\n", "[Validation] Batch ID = 35930, loss = 0.0249847, acc = 0.98\n", "[Train] Batch ID = 35940, loss = 0.000651954, acc = 1.0\n", "[Validation] Batch ID = 35940, loss = 0.0387029, acc = 0.94\n", "[Train] Batch ID = 35950, loss = 0.000960406, acc = 1.0\n", "[Validation] Batch ID = 35950, loss = 0.00776293, acc = 1.0\n", "[Train] Batch ID = 35960, loss = 0.00253778, acc = 1.0\n", "[Validation] Batch ID = 35960, loss = 0.0403442, acc = 0.94\n", "[Train] Batch ID = 35970, loss = 0.00231554, acc = 1.0\n", "[Validation] Batch ID = 35970, loss = 0.022458, acc = 0.98\n", "[Train] Batch ID = 35980, loss = 0.00144338, acc = 1.0\n", "[Validation] Batch ID = 35980, loss = 0.0207997, acc = 1.0\n", "[Train] Batch ID = 35990, loss = 0.000867255, acc = 1.0\n", "[Validation] Batch ID = 35990, loss = 0.0347783, acc = 0.96\n", "[Train] Batch ID = 36000, loss = 0.00100862, acc = 1.0\n", "[Validation] Batch ID = 36000, loss = 0.0304484, acc = 0.96\n", "Evaluate full validation dataset ...\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "ModelBase::Saving model ...\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Current loss: 0.0264652 Best loss: 0.0279286\n", "[TOTAL Validation] Batch ID = 36000, loss = 0.0264652, acc = 0.978004535147\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "ModelBase::Model successfully saved here: outputs/checkpoints/c1s_9_c1n_256_c2s_6_c2n_64_c2d_0.7_c1vl_16_c1s_5_c1nf_16_c2vl_32_lr_0.0001_rs_1--TrafficSign--1510487290.423481\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Augmented Factor = 0.02007280399454082\n", "[Train] Batch ID = 36010, loss = 0.200188, acc = 0.78\n", "[Validation] Batch ID = 36010, loss = 0.050085, acc = 0.94\n", "[Train] Batch ID = 36020, loss = 0.00255817, acc = 1.0\n", "[Validation] Batch ID = 36020, loss = 0.0587653, acc = 0.92\n", "[Train] Batch ID = 36030, loss = 0.00352771, acc = 1.0\n", "[Validation] Batch ID = 36030, loss = 0.0208967, acc = 0.98\n", "[Train] Batch ID = 36040, loss = 0.00204748, acc = 1.0\n", "[Validation] Batch ID = 36040, loss = 0.0359496, acc = 0.98\n", "[Train] Batch ID = 36050, loss = 0.00096165, acc = 1.0\n", "[Validation] Batch ID = 36050, loss = 0.023482, acc = 0.96\n", "[Train] Batch ID = 36060, loss = 0.00224286, acc = 1.0\n", "[Validation] Batch ID = 36060, loss = 0.0203404, acc = 1.0\n", "[Train] Batch ID = 36070, loss = 0.000565031, acc = 1.0\n", "[Validation] Batch ID = 36070, loss = 0.0364635, acc = 0.96\n", "[Train] Batch ID = 36080, loss = 0.00221873, acc = 1.0\n", "[Validation] Batch ID = 36080, loss = 0.0371938, acc = 0.94\n", "[Train] Batch ID = 36090, loss = 0.000865876, acc = 1.0\n", "[Validation] Batch ID = 36090, loss = 0.0301647, acc = 0.98\n", "[Train] Batch ID = 36100, loss = 0.00114873, acc = 1.0\n", "[Validation] Batch ID = 36100, loss = 0.0209461, acc = 1.0\n", "[Train] Batch ID = 36110, loss = 0.0017317, acc = 1.0\n", "[Validation] Batch ID = 36110, loss = 0.0221933, acc = 1.0\n", "[Train] Batch ID = 36120, loss = 0.0045195, acc = 1.0\n", "[Validation] Batch ID = 36120, loss = 0.0384292, acc = 0.98\n", "[Train] Batch ID = 36130, loss = 0.00467786, acc = 1.0\n", "[Validation] Batch ID = 36130, loss = 0.0307506, acc = 0.94\n", "[Train] Batch ID = 36140, loss = 0.00114053, acc = 1.0\n", "[Validation] Batch ID = 36140, loss = 0.0701763, acc = 0.92\n", "[Train] Batch ID = 36150, loss = 0.000975655, acc = 1.0\n", "[Validation] Batch ID = 36150, loss = 0.0180731, acc = 1.0\n", "[Train] Batch ID = 36160, loss = 0.00112731, acc = 1.0\n", "[Validation] Batch ID = 36160, loss = 0.025659, acc = 0.98\n", "[Train] Batch ID = 36170, loss = 0.00302265, acc = 1.0\n", "[Validation] Batch ID = 36170, loss = 0.0115467, acc = 1.0\n", "[Train] Batch ID = 36180, loss = 0.00326234, acc = 1.0\n", "[Validation] Batch ID = 36180, loss = 0.0200813, acc = 1.0\n", "[Train] Batch ID = 36190, loss = 0.00400732, acc = 1.0\n", "[Validation] Batch ID = 36190, loss = 0.0434149, acc = 0.98\n", "[Train] Batch ID = 36200, loss = 0.00298995, acc = 1.0\n", "[Validation] Batch ID = 36200, loss = 0.0447065, acc = 0.96\n", "[Train] Batch ID = 36210, loss = 0.00112196, acc = 1.0\n", "[Validation] Batch ID = 36210, loss = 0.0238598, acc = 0.98\n", "[Train] Batch ID = 36220, loss = 0.0011598, acc = 1.0\n", "[Validation] Batch ID = 36220, loss = 0.0158512, acc = 1.0\n", "[Train] Batch ID = 36230, loss = 0.00127889, acc = 1.0\n", "[Validation] Batch ID = 36230, loss = 0.0159166, acc = 0.98\n", "[Train] Batch ID = 36240, loss = 0.000847863, acc = 1.0\n", "[Validation] Batch ID = 36240, loss = 0.0112617, acc = 1.0\n", "[Train] Batch ID = 36250, loss = 0.000660449, acc = 1.0\n", "[Validation] Batch ID = 36250, loss = 0.027839, acc = 1.0\n", "[Train] Batch ID = 36260, loss = 0.000654596, acc = 1.0\n", "[Validation] Batch ID = 36260, loss = 0.0140631, acc = 1.0\n", "[Train] Batch ID = 36270, loss = 0.00349554, acc = 1.0\n", "[Validation] Batch ID = 36270, loss = 0.0327893, acc = 0.98\n", "[Train] Batch ID = 36280, loss = 0.00145731, acc = 1.0\n", "[Validation] Batch ID = 36280, loss = 0.0398115, acc = 0.94\n", "[Train] Batch ID = 36290, loss = 0.00253798, acc = 1.0\n", "[Validation] Batch ID = 36290, loss = 0.0203192, acc = 0.98\n", "[Train] Batch ID = 36300, loss = 0.00170909, acc = 1.0\n", "[Validation] Batch ID = 36300, loss = 0.0342698, acc = 0.96\n", "[Train] Batch ID = 36310, loss = 0.000979109, acc = 1.0\n", "[Validation] Batch ID = 36310, loss = 0.0152062, acc = 0.98\n", "[Train] Batch ID = 36320, loss = 0.00123555, acc = 1.0\n", "[Validation] Batch ID = 36320, loss = 0.0101658, acc = 1.0\n", "[Train] Batch ID = 36330, loss = 0.00119133, acc = 1.0\n", "[Validation] Batch ID = 36330, loss = 0.028515, acc = 0.98\n", "[Train] Batch ID = 36340, loss = 0.000626183, acc = 1.0\n", "[Validation] Batch ID = 36340, loss = 0.0206513, acc = 0.98\n", "[Train] Batch ID = 36350, loss = 0.00305864, acc = 1.0\n", "[Validation] Batch ID = 36350, loss = 0.0229075, acc = 0.98\n", "[Train] Batch ID = 36360, loss = 0.00357254, acc = 1.0\n", "[Validation] Batch ID = 36360, loss = 0.0134957, acc = 1.0\n", "[Train] Batch ID = 36370, loss = 0.00248249, acc = 1.0\n", "[Validation] Batch ID = 36370, loss = 0.0320324, acc = 1.0\n", "[Train] Batch ID = 36380, loss = 0.00182497, acc = 1.0\n", "[Validation] Batch ID = 36380, loss = 0.0485939, acc = 0.94\n", "[Train] Batch ID = 36390, loss = 0.00237705, acc = 1.0\n", "[Validation] Batch ID = 36390, loss = 0.0396345, acc = 0.98\n", "[Train] Batch ID = 36400, loss = 0.000892917, acc = 1.0\n", "[Validation] Batch ID = 36400, loss = 0.0135154, acc = 1.0\n", "[Train] Batch ID = 36410, loss = 0.00112621, acc = 1.0\n", "[Validation] Batch ID = 36410, loss = 0.0141791, acc = 1.0\n", "[Train] Batch ID = 36420, loss = 0.0051444, acc = 1.0\n", "[Validation] Batch ID = 36420, loss = 0.0550196, acc = 0.96\n", "[Train] Batch ID = 36430, loss = 0.00208048, acc = 1.0\n", "[Validation] Batch ID = 36430, loss = 0.0601402, acc = 0.96\n", "[Train] Batch ID = 36440, loss = 0.00213177, acc = 1.0\n", "[Validation] Batch ID = 36440, loss = 0.0205095, acc = 0.98\n", "[Train] Batch ID = 36450, loss = 0.00440013, acc = 1.0\n", "[Validation] Batch ID = 36450, loss = 0.0603165, acc = 0.96\n", "[Train] Batch ID = 36460, loss = 0.00540139, acc = 1.0\n", "[Validation] Batch ID = 36460, loss = 0.0281102, acc = 0.98\n", "[Train] Batch ID = 36470, loss = 0.00272452, acc = 1.0\n", "[Validation] Batch ID = 36470, loss = 0.0239488, acc = 1.0\n", "[Train] Batch ID = 36480, loss = 0.00265926, acc = 1.0\n", "[Validation] Batch ID = 36480, loss = 0.00841701, acc = 1.0\n", "[Train] Batch ID = 36490, loss = 0.00151518, acc = 1.0\n", "[Validation] Batch ID = 36490, loss = 0.0160414, acc = 0.98\n", "[Train] Batch ID = 36500, loss = 0.00165567, acc = 1.0\n", "[Validation] Batch ID = 36500, loss = 0.0115224, acc = 1.0\n", "[Train] Batch ID = 36510, loss = 0.00123466, acc = 1.0\n", "[Validation] Batch ID = 36510, loss = 0.0290231, acc = 0.98\n", "[Train] Batch ID = 36520, loss = 0.00128063, acc = 1.0\n", "[Validation] Batch ID = 36520, loss = 0.00632217, acc = 1.0\n", "[Train] Batch ID = 36530, loss = 0.00397213, acc = 1.0\n", "[Validation] Batch ID = 36530, loss = 0.0248125, acc = 0.98\n", "[Train] Batch ID = 36540, loss = 0.00216018, acc = 1.0\n", "[Validation] Batch ID = 36540, loss = 0.0290568, acc = 0.98\n", "[Train] Batch ID = 36550, loss = 0.00106494, acc = 1.0\n", "[Validation] Batch ID = 36550, loss = 0.0319098, acc = 1.0\n", "[Train] Batch ID = 36560, loss = 0.00145958, acc = 1.0\n", "[Validation] Batch ID = 36560, loss = 0.0399346, acc = 0.96\n", "[Train] Batch ID = 36570, loss = 0.000718598, acc = 1.0\n", "[Validation] Batch ID = 36570, loss = 0.0169471, acc = 1.0\n", "[Train] Batch ID = 36580, loss = 0.00101994, acc = 1.0\n", "[Validation] Batch ID = 36580, loss = 0.0191743, acc = 0.98\n", "[Train] Batch ID = 36590, loss = 0.00127438, acc = 1.0\n", "[Validation] Batch ID = 36590, loss = 0.0322477, acc = 0.96\n", "[Train] Batch ID = 36600, loss = 0.0021684, acc = 1.0\n", "[Validation] Batch ID = 36600, loss = 0.0439625, acc = 0.98\n", "[Train] Batch ID = 36610, loss = 0.00154091, acc = 1.0\n", "[Validation] Batch ID = 36610, loss = 0.0172619, acc = 1.0\n", "[Train] Batch ID = 36620, loss = 0.00172869, acc = 1.0\n", "[Validation] Batch ID = 36620, loss = 0.059736, acc = 0.94\n", "[Train] Batch ID = 36630, loss = 0.00103565, acc = 1.0\n", "[Validation] Batch ID = 36630, loss = 0.0186352, acc = 1.0\n", "[Train] Batch ID = 36640, loss = 0.00131421, acc = 1.0\n", "[Validation] Batch ID = 36640, loss = 0.0195324, acc = 1.0\n", "[Train] Batch ID = 36650, loss = 0.00133124, acc = 1.0\n", "[Validation] Batch ID = 36650, loss = 0.044695, acc = 0.94\n", "[Train] Batch ID = 36660, loss = 0.191446, acc = 0.82\n", "[Validation] Batch ID = 36660, loss = 0.0327608, acc = 0.96\n", "[Train] Batch ID = 36670, loss = 0.00234586, acc = 1.0\n", "[Validation] Batch ID = 36670, loss = 0.0416938, acc = 0.96\n", "[Train] Batch ID = 36680, loss = 0.00355926, acc = 1.0\n", "[Validation] Batch ID = 36680, loss = 0.0188118, acc = 1.0\n", "[Train] Batch ID = 36690, loss = 0.00141413, acc = 1.0\n", "[Validation] Batch ID = 36690, loss = 0.0100994, acc = 1.0\n", "[Train] Batch ID = 36700, loss = 0.00198118, acc = 1.0\n", "[Validation] Batch ID = 36700, loss = 0.027812, acc = 0.98\n", "[Train] Batch ID = 36710, loss = 0.000971419, acc = 1.0\n", "[Validation] Batch ID = 36710, loss = 0.027191, acc = 0.98\n", "[Train] Batch ID = 36720, loss = 0.000378196, acc = 1.0\n", "[Validation] Batch ID = 36720, loss = 0.0105049, acc = 1.0\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "[Train] Batch ID = 36730, loss = 0.0025604, acc = 1.0\n", "[Validation] Batch ID = 36730, loss = 0.0169361, acc = 1.0\n", "[Train] Batch ID = 36740, loss = 0.00218077, acc = 1.0\n", "[Validation] Batch ID = 36740, loss = 0.0387151, acc = 0.98\n", "[Train] Batch ID = 36750, loss = 0.00176128, acc = 1.0\n", "[Validation] Batch ID = 36750, loss = 0.0318839, acc = 0.98\n", "[Train] Batch ID = 36760, loss = 0.00410441, acc = 1.0\n", "[Validation] Batch ID = 36760, loss = 0.0445748, acc = 0.96\n", "[Train] Batch ID = 36770, loss = 0.000961732, acc = 1.0\n", "[Validation] Batch ID = 36770, loss = 0.0351225, acc = 0.98\n", "[Train] Batch ID = 36780, loss = 0.00447581, acc = 1.0\n", "[Validation] Batch ID = 36780, loss = 0.0121757, acc = 1.0\n", "[Train] Batch ID = 36790, loss = 0.0052812, acc = 1.0\n", "[Validation] Batch ID = 36790, loss = 0.039876, acc = 0.96\n", "[Train] Batch ID = 36800, loss = 0.00405995, acc = 1.0\n", "[Validation] Batch ID = 36800, loss = 0.0196059, acc = 1.0\n", "[Train] Batch ID = 36810, loss = 0.00152738, acc = 1.0\n", "[Validation] Batch ID = 36810, loss = 0.0163322, acc = 0.98\n", "[Train] Batch ID = 36820, loss = 0.00179688, acc = 1.0\n", "[Validation] Batch ID = 36820, loss = 0.0159203, acc = 0.98\n", "[Train] Batch ID = 36830, loss = 0.00164828, acc = 1.0\n", "[Validation] Batch ID = 36830, loss = 0.0190434, acc = 0.98\n", "[Train] Batch ID = 36840, loss = 0.0036785, acc = 1.0\n", "[Validation] Batch ID = 36840, loss = 0.0218362, acc = 0.98\n", "[Train] Batch ID = 36850, loss = 0.00237001, acc = 1.0\n", "[Validation] Batch ID = 36850, loss = 0.0450192, acc = 0.94\n", "[Train] Batch ID = 36860, loss = 0.00205953, acc = 1.0\n", "[Validation] Batch ID = 36860, loss = 0.0202107, acc = 1.0\n", "[Train] Batch ID = 36870, loss = 0.0019133, acc = 1.0\n", "[Validation] Batch ID = 36870, loss = 0.0312143, acc = 0.98\n", "[Train] Batch ID = 36880, loss = 0.00126145, acc = 1.0\n", "[Validation] Batch ID = 36880, loss = 0.0352698, acc = 0.96\n", "[Train] Batch ID = 36890, loss = 0.000639507, acc = 1.0\n", "[Validation] Batch ID = 36890, loss = 0.0362391, acc = 0.92\n", "[Train] Batch ID = 36900, loss = 0.000972909, acc = 1.0\n", "[Validation] Batch ID = 36900, loss = 0.0265807, acc = 0.98\n", "[Train] Batch ID = 36910, loss = 0.00166517, acc = 1.0\n", "[Validation] Batch ID = 36910, loss = 0.0145177, acc = 0.98\n", "[Train] Batch ID = 36920, loss = 0.000424803, acc = 1.0\n", "[Validation] Batch ID = 36920, loss = 0.024946, acc = 0.98\n", "[Train] Batch ID = 36930, loss = 0.00122428, acc = 1.0\n", "[Validation] Batch ID = 36930, loss = 0.0103561, acc = 1.0\n", "[Train] Batch ID = 36940, loss = 0.000987635, acc = 1.0\n", "[Validation] Batch ID = 36940, loss = 0.0216528, acc = 0.96\n", "[Train] Batch ID = 36950, loss = 0.00243964, acc = 1.0\n", "[Validation] Batch ID = 36950, loss = 0.0215313, acc = 0.98\n", "[Train] Batch ID = 36960, loss = 0.00213407, acc = 1.0\n", "[Validation] Batch ID = 36960, loss = 0.0195071, acc = 1.0\n", "[Train] Batch ID = 36970, loss = 0.00147166, acc = 1.0\n", "[Validation] Batch ID = 36970, loss = 0.0198261, acc = 1.0\n", "[Train] Batch ID = 36980, loss = 0.00117199, acc = 1.0\n", "[Validation] Batch ID = 36980, loss = 0.0270078, acc = 0.98\n", "[Train] Batch ID = 36990, loss = 0.000867529, acc = 1.0\n", "[Validation] Batch ID = 36990, loss = 0.0206978, acc = 1.0\n", "[Train] Batch ID = 37000, loss = 0.000824032, acc = 1.0\n", "[Validation] Batch ID = 37000, loss = 0.0259292, acc = 0.98\n", "Evaluate full validation dataset ...\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "ModelBase::Saving model ...\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Current loss: 0.0254414 Best loss: 0.0264652\n", "[TOTAL Validation] Batch ID = 37000, loss = 0.0254414, acc = 0.975510204082\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "ModelBase::Model successfully saved here: outputs/checkpoints/c1s_9_c1n_256_c2s_6_c2n_64_c2d_0.7_c1vl_16_c1s_5_c1nf_16_c2vl_32_lr_0.0001_rs_1--TrafficSign--1510487290.423481\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Augmented Factor = 0.01806552359508674\n", "[Train] Batch ID = 37010, loss = 0.00219439, acc = 1.0\n", "[Validation] Batch ID = 37010, loss = 0.0213016, acc = 0.96\n", "[Train] Batch ID = 37020, loss = 0.000328499, acc = 1.0\n", "[Validation] Batch ID = 37020, loss = 0.0340482, acc = 0.98\n", "[Train] Batch ID = 37030, loss = 0.000604523, acc = 1.0\n", "[Validation] Batch ID = 37030, loss = 0.0299739, acc = 0.98\n", "[Train] Batch ID = 37040, loss = 0.00110161, acc = 1.0\n", "[Validation] Batch ID = 37040, loss = 0.0181824, acc = 0.98\n", "[Train] Batch ID = 37050, loss = 0.00123481, acc = 1.0\n", "[Validation] Batch ID = 37050, loss = 0.048744, acc = 0.96\n", "[Train] Batch ID = 37060, loss = 0.000347122, acc = 1.0\n", "[Validation] Batch ID = 37060, loss = 0.0270024, acc = 0.98\n", "[Train] Batch ID = 37070, loss = 0.000961318, acc = 1.0\n", "[Validation] Batch ID = 37070, loss = 0.0254172, acc = 0.96\n", "[Train] Batch ID = 37080, loss = 0.000748675, acc = 1.0\n", "[Validation] Batch ID = 37080, loss = 0.0200109, acc = 0.98\n", "[Train] Batch ID = 37090, loss = 0.000891692, acc = 1.0\n", "[Validation] Batch ID = 37090, loss = 0.0192072, acc = 0.98\n", "[Train] Batch ID = 37100, loss = 0.000955008, acc = 1.0\n", "[Validation] Batch ID = 37100, loss = 0.0302344, acc = 0.98\n", "[Train] Batch ID = 37110, loss = 0.00153561, acc = 1.0\n", "[Validation] Batch ID = 37110, loss = 0.0325721, acc = 1.0\n", "[Train] Batch ID = 37120, loss = 0.000750753, acc = 1.0\n", "[Validation] Batch ID = 37120, loss = 0.0366266, acc = 0.96\n", "[Train] Batch ID = 37130, loss = 0.000712051, acc = 1.0\n", "[Validation] Batch ID = 37130, loss = 0.0262635, acc = 0.98\n", "[Train] Batch ID = 37140, loss = 0.00163962, acc = 1.0\n", "[Validation] Batch ID = 37140, loss = 0.0275794, acc = 0.96\n", "[Train] Batch ID = 37150, loss = 0.00433396, acc = 1.0\n", "[Validation] Batch ID = 37150, loss = 0.035029, acc = 0.98\n", "[Train] Batch ID = 37160, loss = 0.00381715, acc = 1.0\n", "[Validation] Batch ID = 37160, loss = 0.0216777, acc = 0.96\n", "[Train] Batch ID = 37170, loss = 0.00123481, acc = 1.0\n", "[Validation] Batch ID = 37170, loss = 0.0242624, acc = 1.0\n", "[Train] Batch ID = 37180, loss = 0.00148104, acc = 1.0\n", "[Validation] Batch ID = 37180, loss = 0.0424997, acc = 0.94\n", "[Train] Batch ID = 37190, loss = 0.00155893, acc = 1.0\n", "[Validation] Batch ID = 37190, loss = 0.0222218, acc = 0.96\n", "[Train] Batch ID = 37200, loss = 0.00170277, acc = 1.0\n", "[Validation] Batch ID = 37200, loss = 0.0285615, acc = 0.98\n", "[Train] Batch ID = 37210, loss = 0.00311964, acc = 1.0\n", "[Validation] Batch ID = 37210, loss = 0.0228171, acc = 0.98\n", "[Train] Batch ID = 37220, loss = 0.00084114, acc = 1.0\n", "[Validation] Batch ID = 37220, loss = 0.0318931, acc = 0.96\n", "[Train] Batch ID = 37230, loss = 0.00175938, acc = 1.0\n", "[Validation] Batch ID = 37230, loss = 0.0100522, acc = 1.0\n", "[Train] Batch ID = 37240, loss = 0.00308574, acc = 1.0\n", "[Validation] Batch ID = 37240, loss = 0.016312, acc = 0.98\n", "[Train] Batch ID = 37250, loss = 0.000713381, acc = 1.0\n", "[Validation] Batch ID = 37250, loss = 0.0522177, acc = 0.96\n", "[Train] Batch ID = 37260, loss = 0.000759051, acc = 1.0\n", "[Validation] Batch ID = 37260, loss = 0.0436251, acc = 0.96\n", "[Train] Batch ID = 37270, loss = 0.000975786, acc = 1.0\n", "[Validation] Batch ID = 37270, loss = 0.0101251, acc = 1.0\n", "[Train] Batch ID = 37280, loss = 0.0011086, acc = 1.0\n", "[Validation] Batch ID = 37280, loss = 0.00910077, acc = 1.0\n", "[Train] Batch ID = 37290, loss = 0.00200636, acc = 1.0\n", "[Validation] Batch ID = 37290, loss = 0.0358176, acc = 0.9\n", "[Train] Batch ID = 37300, loss = 0.00777636, acc = 1.0\n", "[Validation] Batch ID = 37300, loss = 0.0117058, acc = 1.0\n", "[Train] Batch ID = 37310, loss = 0.0024414, acc = 1.0\n", "[Validation] Batch ID = 37310, loss = 0.0204751, acc = 0.98\n", "[Train] Batch ID = 37320, loss = 0.000981288, acc = 1.0\n", "[Validation] Batch ID = 37320, loss = 0.0188924, acc = 1.0\n", "[Train] Batch ID = 37330, loss = 0.000897745, acc = 1.0\n", "[Validation] Batch ID = 37330, loss = 0.0130475, acc = 1.0\n", "[Train] Batch ID = 37340, loss = 0.00177241, acc = 1.0\n", "[Validation] Batch ID = 37340, loss = 0.036657, acc = 0.96\n", "[Train] Batch ID = 37350, loss = 0.000939688, acc = 1.0\n", "[Validation] Batch ID = 37350, loss = 0.023476, acc = 0.96\n", "[Train] Batch ID = 37360, loss = 0.00125714, acc = 1.0\n", "[Validation] Batch ID = 37360, loss = 0.0240832, acc = 0.98\n", "[Train] Batch ID = 37370, loss = 0.000906425, acc = 1.0\n", "[Validation] Batch ID = 37370, loss = 0.0151605, acc = 1.0\n", "[Train] Batch ID = 37380, loss = 0.000967521, acc = 1.0\n", "[Validation] Batch ID = 37380, loss = 0.0304334, acc = 0.96\n", "[Train] Batch ID = 37390, loss = 0.00121941, acc = 1.0\n", "[Validation] Batch ID = 37390, loss = 0.0181249, acc = 0.98\n", "[Train] Batch ID = 37400, loss = 0.00106544, acc = 1.0\n", "[Validation] Batch ID = 37400, loss = 0.0570694, acc = 0.92\n", "[Train] Batch ID = 37410, loss = 0.00176347, acc = 1.0\n", "[Validation] Batch ID = 37410, loss = 0.0360286, acc = 0.96\n", "[Train] Batch ID = 37420, loss = 0.0029126, acc = 1.0\n", "[Validation] Batch ID = 37420, loss = 0.0353016, acc = 0.96\n", "[Train] Batch ID = 37430, loss = 0.00301982, acc = 1.0\n", "[Validation] Batch ID = 37430, loss = 0.0216013, acc = 1.0\n", "[Train] Batch ID = 37440, loss = 0.00494126, acc = 1.0\n", "[Validation] Batch ID = 37440, loss = 0.0298347, acc = 0.98\n", "[Train] Batch ID = 37450, loss = 0.00326622, acc = 1.0\n", "[Validation] Batch ID = 37450, loss = 0.0568239, acc = 0.98\n", "[Train] Batch ID = 37460, loss = 0.00260797, acc = 1.0\n", "[Validation] Batch ID = 37460, loss = 0.0284146, acc = 0.96\n", "[Train] Batch ID = 37470, loss = 0.00109283, acc = 1.0\n", "[Validation] Batch ID = 37470, loss = 0.0390337, acc = 0.98\n", "[Train] Batch ID = 37480, loss = 0.0012269, acc = 1.0\n", "[Validation] Batch ID = 37480, loss = 0.0202388, acc = 1.0\n", "[Train] Batch ID = 37490, loss = 0.00185064, acc = 1.0\n", "[Validation] Batch ID = 37490, loss = 0.027772, acc = 0.98\n", "[Train] Batch ID = 37500, loss = 0.00286272, acc = 1.0\n", "[Validation] Batch ID = 37500, loss = 0.0371534, acc = 0.98\n", "[Train] Batch ID = 37510, loss = 0.00122545, acc = 1.0\n", "[Validation] Batch ID = 37510, loss = 0.0218342, acc = 1.0\n", "[Train] Batch ID = 37520, loss = 0.00177784, acc = 1.0\n", "[Validation] Batch ID = 37520, loss = 0.0196635, acc = 0.98\n", "[Train] Batch ID = 37530, loss = 0.00127242, acc = 1.0\n", "[Validation] Batch ID = 37530, loss = 0.0380079, acc = 0.94\n", "[Train] Batch ID = 37540, loss = 0.00044425, acc = 1.0\n", "[Validation] Batch ID = 37540, loss = 0.0343205, acc = 0.96\n", "[Train] Batch ID = 37550, loss = 0.000908291, acc = 1.0\n", "[Validation] Batch ID = 37550, loss = 0.0288307, acc = 0.96\n", "[Train] Batch ID = 37560, loss = 0.00121291, acc = 1.0\n", "[Validation] Batch ID = 37560, loss = 0.0269828, acc = 1.0\n", "[Train] Batch ID = 37570, loss = 0.000699753, acc = 1.0\n", "[Validation] Batch ID = 37570, loss = 0.033114, acc = 0.96\n", "[Train] Batch ID = 37580, loss = 0.000472514, acc = 1.0\n", "[Validation] Batch ID = 37580, loss = 0.0216205, acc = 1.0\n", "[Train] Batch ID = 37590, loss = 0.000877045, acc = 1.0\n", "[Validation] Batch ID = 37590, loss = 0.0184613, acc = 1.0\n", "[Train] Batch ID = 37600, loss = 0.000992497, acc = 1.0\n", "[Validation] Batch ID = 37600, loss = 0.0194417, acc = 0.96\n", "[Train] Batch ID = 37610, loss = 0.00095358, acc = 1.0\n", "[Validation] Batch ID = 37610, loss = 0.0199265, acc = 0.98\n", "[Train] Batch ID = 37620, loss = 0.000848513, acc = 1.0\n", "[Validation] Batch ID = 37620, loss = 0.0476511, acc = 0.94\n", "[Train] Batch ID = 37630, loss = 0.00115382, acc = 1.0\n", "[Validation] Batch ID = 37630, loss = 0.0388899, acc = 0.94\n", "[Train] Batch ID = 37640, loss = 0.000717152, acc = 1.0\n", "[Validation] Batch ID = 37640, loss = 0.0392804, acc = 0.96\n", "[Train] Batch ID = 37650, loss = 0.000750362, acc = 1.0\n", "[Validation] Batch ID = 37650, loss = 0.0205194, acc = 0.98\n", "[Train] Batch ID = 37660, loss = 0.00191947, acc = 1.0\n", "[Validation] Batch ID = 37660, loss = 0.0251928, acc = 0.98\n", "[Train] Batch ID = 37670, loss = 0.00217696, acc = 1.0\n", "[Validation] Batch ID = 37670, loss = 0.0153992, acc = 1.0\n", "[Train] Batch ID = 37680, loss = 0.000975817, acc = 1.0\n", "[Validation] Batch ID = 37680, loss = 0.0231079, acc = 0.98\n", "[Train] Batch ID = 37690, loss = 0.000572098, acc = 1.0\n", "[Validation] Batch ID = 37690, loss = 0.0255703, acc = 0.96\n", "[Train] Batch ID = 37700, loss = 0.00079442, acc = 1.0\n", "[Validation] Batch ID = 37700, loss = 0.0237417, acc = 0.98\n", "[Train] Batch ID = 37710, loss = 0.000269621, acc = 1.0\n", "[Validation] Batch ID = 37710, loss = 0.0269557, acc = 0.98\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "[Train] Batch ID = 37720, loss = 0.00203224, acc = 1.0\n", "[Validation] Batch ID = 37720, loss = 0.0248781, acc = 0.98\n", "[Train] Batch ID = 37730, loss = 0.00110009, acc = 1.0\n", "[Validation] Batch ID = 37730, loss = 0.0469319, acc = 0.96\n", "[Train] Batch ID = 37740, loss = 0.000753219, acc = 1.0\n", "[Validation] Batch ID = 37740, loss = 0.0232629, acc = 1.0\n", "[Train] Batch ID = 37750, loss = 0.000811752, acc = 1.0\n", "[Validation] Batch ID = 37750, loss = 0.0154835, acc = 1.0\n", "[Train] Batch ID = 37760, loss = 0.0011162, acc = 1.0\n", "[Validation] Batch ID = 37760, loss = 0.0184545, acc = 1.0\n", "[Train] Batch ID = 37770, loss = 0.00100909, acc = 1.0\n", "[Validation] Batch ID = 37770, loss = 0.0357438, acc = 0.96\n", "[Train] Batch ID = 37780, loss = 0.000712245, acc = 1.0\n", "[Validation] Batch ID = 37780, loss = 0.0192121, acc = 0.98\n", "[Train] Batch ID = 37790, loss = 0.00193588, acc = 1.0\n", "[Validation] Batch ID = 37790, loss = 0.0311035, acc = 0.98\n", "[Train] Batch ID = 37800, loss = 0.00257869, acc = 1.0\n", "[Validation] Batch ID = 37800, loss = 0.0499938, acc = 0.94\n", "[Train] Batch ID = 37810, loss = 0.00265965, acc = 1.0\n", "[Validation] Batch ID = 37810, loss = 0.0277208, acc = 0.98\n", "[Train] Batch ID = 37820, loss = 0.00157478, acc = 1.0\n", "[Validation] Batch ID = 37820, loss = 0.00830829, acc = 1.0\n", "[Train] Batch ID = 37830, loss = 0.00218248, acc = 1.0\n", "[Validation] Batch ID = 37830, loss = 0.0103641, acc = 1.0\n", "[Train] Batch ID = 37840, loss = 0.00132101, acc = 1.0\n", "[Validation] Batch ID = 37840, loss = 0.00902896, acc = 0.98\n", "[Train] Batch ID = 37850, loss = 0.000503887, acc = 1.0\n", "[Validation] Batch ID = 37850, loss = 0.00674285, acc = 1.0\n", "[Train] Batch ID = 37860, loss = 0.000996867, acc = 1.0\n", "[Validation] Batch ID = 37860, loss = 0.019344, acc = 0.98\n", "[Train] Batch ID = 37870, loss = 0.00140236, acc = 1.0\n", "[Validation] Batch ID = 37870, loss = 0.022957, acc = 0.96\n", "[Train] Batch ID = 37880, loss = 0.000615535, acc = 1.0\n", "[Validation] Batch ID = 37880, loss = 0.0140036, acc = 1.0\n", "[Train] Batch ID = 37890, loss = 0.000882416, acc = 1.0\n", "[Validation] Batch ID = 37890, loss = 0.0489776, acc = 0.92\n", "[Train] Batch ID = 37900, loss = 0.000691616, acc = 1.0\n", "[Validation] Batch ID = 37900, loss = 0.0249626, acc = 0.98\n", "[Train] Batch ID = 37910, loss = 0.000303196, acc = 1.0\n", "[Validation] Batch ID = 37910, loss = 0.0137402, acc = 1.0\n", "[Train] Batch ID = 37920, loss = 0.00179201, acc = 1.0\n", "[Validation] Batch ID = 37920, loss = 0.0104005, acc = 1.0\n", "[Train] Batch ID = 37930, loss = 0.00270238, acc = 1.0\n", "[Validation] Batch ID = 37930, loss = 0.0384267, acc = 0.96\n", "[Train] Batch ID = 37940, loss = 0.00164577, acc = 1.0\n", "[Validation] Batch ID = 37940, loss = 0.00693579, acc = 1.0\n", "[Train] Batch ID = 37950, loss = 0.0016245, acc = 1.0\n", "[Validation] Batch ID = 37950, loss = 0.0170104, acc = 0.98\n", "[Train] Batch ID = 37960, loss = 0.00103855, acc = 1.0\n", "[Validation] Batch ID = 37960, loss = 0.0401362, acc = 0.96\n", "[Train] Batch ID = 37970, loss = 0.00117575, acc = 1.0\n", "[Validation] Batch ID = 37970, loss = 0.0317617, acc = 0.98\n", "[Train] Batch ID = 37980, loss = 0.00131384, acc = 1.0\n", "[Validation] Batch ID = 37980, loss = 0.0204108, acc = 0.98\n", "[Train] Batch ID = 37990, loss = 0.000580951, acc = 1.0\n", "[Validation] Batch ID = 37990, loss = 0.0288793, acc = 0.98\n", "[Train] Batch ID = 38000, loss = 0.000873868, acc = 1.0\n", "[Validation] Batch ID = 38000, loss = 0.0470329, acc = 0.96\n", "Evaluate full validation dataset ...\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "ModelBase::Saving model ...\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Current loss: 0.0254155 Best loss: 0.0254414\n", "[TOTAL Validation] Batch ID = 38000, loss = 0.0254155, acc = 0.978911564626\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "ModelBase::Model successfully saved here: outputs/checkpoints/c1s_9_c1n_256_c2s_6_c2n_64_c2d_0.7_c1vl_16_c1s_5_c1nf_16_c2vl_32_lr_0.0001_rs_1--TrafficSign--1510487290.423481\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Augmented Factor = 0.016258971235578068\n", "[Train] Batch ID = 38010, loss = 0.00127426, acc = 1.0\n", "[Validation] Batch ID = 38010, loss = 0.0350408, acc = 0.98\n", "[Train] Batch ID = 38020, loss = 0.000956805, acc = 1.0\n", "[Validation] Batch ID = 38020, loss = 0.0209388, acc = 1.0\n", "[Train] Batch ID = 38030, loss = 0.000882704, acc = 1.0\n", "[Validation] Batch ID = 38030, loss = 0.0118166, acc = 1.0\n", "[Train] Batch ID = 38040, loss = 0.00107406, acc = 1.0\n", "[Validation] Batch ID = 38040, loss = 0.0138267, acc = 1.0\n", "[Train] Batch ID = 38050, loss = 0.000383219, acc = 1.0\n", "[Validation] Batch ID = 38050, loss = 0.0214781, acc = 0.98\n", "[Train] Batch ID = 38060, loss = 0.000667237, acc = 1.0\n", "[Validation] Batch ID = 38060, loss = 0.0254197, acc = 0.98\n", "[Train] Batch ID = 38070, loss = 0.000743433, acc = 1.0\n", "[Validation] Batch ID = 38070, loss = 0.0095235, acc = 1.0\n", "[Train] Batch ID = 38080, loss = 0.00136138, acc = 1.0\n", "[Validation] Batch ID = 38080, loss = 0.00993024, acc = 1.0\n", "[Train] Batch ID = 38090, loss = 0.00140649, acc = 1.0\n", "[Validation] Batch ID = 38090, loss = 0.0568554, acc = 0.96\n", "[Train] Batch ID = 38100, loss = 0.00168229, acc = 1.0\n", "[Validation] Batch ID = 38100, loss = 0.0271529, acc = 0.96\n", "[Train] Batch ID = 38110, loss = 0.000772352, acc = 1.0\n", "[Validation] Batch ID = 38110, loss = 0.0375415, acc = 0.96\n", "[Train] Batch ID = 38120, loss = 0.000371287, acc = 1.0\n", "[Validation] Batch ID = 38120, loss = 0.0302386, acc = 0.98\n", "[Train] Batch ID = 38130, loss = 0.00298079, acc = 1.0\n", "[Validation] Batch ID = 38130, loss = 0.0287891, acc = 0.98\n", "[Train] Batch ID = 38140, loss = 0.00128598, acc = 1.0\n", "[Validation] Batch ID = 38140, loss = 0.0133479, acc = 1.0\n", "[Train] Batch ID = 38150, loss = 0.00132046, acc = 1.0\n", "[Validation] Batch ID = 38150, loss = 0.0395106, acc = 0.96\n", "[Train] Batch ID = 38160, loss = 0.00397412, acc = 1.0\n", "[Validation] Batch ID = 38160, loss = 0.024257, acc = 0.98\n", "[Train] Batch ID = 38170, loss = 0.00158877, acc = 1.0\n", "[Validation] Batch ID = 38170, loss = 0.0254606, acc = 0.98\n", "[Train] Batch ID = 38180, loss = 0.00213705, acc = 1.0\n", "[Validation] Batch ID = 38180, loss = 0.0851418, acc = 0.9\n", "[Train] Batch ID = 38190, loss = 0.00227948, acc = 1.0\n", "[Validation] Batch ID = 38190, loss = 0.0174252, acc = 1.0\n", "[Train] Batch ID = 38200, loss = 0.00165916, acc = 1.0\n", "[Validation] Batch ID = 38200, loss = 0.0300326, acc = 0.98\n", "[Train] Batch ID = 38210, loss = 0.00104245, acc = 1.0\n", "[Validation] Batch ID = 38210, loss = 0.0457456, acc = 0.96\n", "[Train] Batch ID = 38220, loss = 0.00114705, acc = 1.0\n", "[Validation] Batch ID = 38220, loss = 0.0443231, acc = 0.94\n", "[Train] Batch ID = 38230, loss = 0.00210591, acc = 1.0\n", "[Validation] Batch ID = 38230, loss = 0.0170409, acc = 1.0\n", "[Train] Batch ID = 38240, loss = 0.00194562, acc = 1.0\n", "[Validation] Batch ID = 38240, loss = 0.0133817, acc = 1.0\n", "[Train] Batch ID = 38250, loss = 0.00147689, acc = 1.0\n", "[Validation] Batch ID = 38250, loss = 0.0391976, acc = 0.98\n", "[Train] Batch ID = 38260, loss = 0.00460597, acc = 1.0\n", "[Validation] Batch ID = 38260, loss = 0.045498, acc = 0.94\n", "[Train] Batch ID = 38270, loss = 0.00227097, acc = 1.0\n", "[Validation] Batch ID = 38270, loss = 0.0355538, acc = 0.98\n", "[Train] Batch ID = 38280, loss = 0.00272821, acc = 1.0\n", "[Validation] Batch ID = 38280, loss = 0.038554, acc = 0.96\n", "[Train] Batch ID = 38290, loss = 0.00169602, acc = 1.0\n", "[Validation] Batch ID = 38290, loss = 0.0205616, acc = 1.0\n", "[Train] Batch ID = 38300, loss = 0.00142095, acc = 1.0\n", "[Validation] Batch ID = 38300, loss = 0.0200929, acc = 0.98\n", "[Train] Batch ID = 38310, loss = 0.000980565, acc = 1.0\n", "[Validation] Batch ID = 38310, loss = 0.0424986, acc = 0.96\n", "[Train] Batch ID = 38320, loss = 0.00195072, acc = 1.0\n", "[Validation] Batch ID = 38320, loss = 0.0197234, acc = 0.98\n", "[Train] Batch ID = 38330, loss = 0.00137805, acc = 1.0\n", "[Validation] Batch ID = 38330, loss = 0.0224008, acc = 0.98\n", "[Train] Batch ID = 38340, loss = 0.00134311, acc = 1.0\n", "[Validation] Batch ID = 38340, loss = 0.0258613, acc = 0.96\n", "[Train] Batch ID = 38350, loss = 0.00150395, acc = 1.0\n", "[Validation] Batch ID = 38350, loss = 0.0123743, acc = 0.98\n", "[Train] Batch ID = 38360, loss = 0.000863326, acc = 1.0\n", "[Validation] Batch ID = 38360, loss = 0.0206325, acc = 1.0\n", "[Train] Batch ID = 38370, loss = 0.170731, acc = 0.86\n", "[Validation] Batch ID = 38370, loss = 0.0391262, acc = 0.98\n", "[Train] Batch ID = 38380, loss = 0.00186632, acc = 1.0\n", "[Validation] Batch ID = 38380, loss = 0.0287267, acc = 0.98\n", "[Train] Batch ID = 38390, loss = 0.00834115, acc = 1.0\n", "[Validation] Batch ID = 38390, loss = 0.0340762, acc = 0.98\n", "[Train] Batch ID = 38400, loss = 0.0040914, acc = 1.0\n", "[Validation] Batch ID = 38400, loss = 0.0415357, acc = 0.98\n", "[Train] Batch ID = 38410, loss = 0.0024918, acc = 1.0\n", "[Validation] Batch ID = 38410, loss = 0.0222924, acc = 0.98\n", "[Train] Batch ID = 38420, loss = 0.00105142, acc = 1.0\n", "[Validation] Batch ID = 38420, loss = 0.0291319, acc = 0.96\n", "[Train] Batch ID = 38430, loss = 0.000826551, acc = 1.0\n", "[Validation] Batch ID = 38430, loss = 0.0463568, acc = 0.98\n", "[Train] Batch ID = 38440, loss = 0.00068495, acc = 1.0\n", "[Validation] Batch ID = 38440, loss = 0.0285424, acc = 0.98\n", "[Train] Batch ID = 38450, loss = 0.00132063, acc = 1.0\n", "[Validation] Batch ID = 38450, loss = 0.0299334, acc = 0.98\n", "[Train] Batch ID = 38460, loss = 0.00162856, acc = 1.0\n", "[Validation] Batch ID = 38460, loss = 0.0294329, acc = 0.96\n", "[Train] Batch ID = 38470, loss = 0.00127725, acc = 1.0\n", "[Validation] Batch ID = 38470, loss = 0.00872903, acc = 1.0\n", "[Train] Batch ID = 38480, loss = 0.00107155, acc = 1.0\n", "[Validation] Batch ID = 38480, loss = 0.0119642, acc = 1.0\n", "[Train] Batch ID = 38490, loss = 0.000964883, acc = 1.0\n", "[Validation] Batch ID = 38490, loss = 0.0553975, acc = 0.92\n", "[Train] Batch ID = 38500, loss = 0.000534654, acc = 1.0\n", "[Validation] Batch ID = 38500, loss = 0.033053, acc = 0.96\n", "[Train] Batch ID = 38510, loss = 0.000696871, acc = 1.0\n", "[Validation] Batch ID = 38510, loss = 0.0447776, acc = 0.96\n", "[Train] Batch ID = 38520, loss = 0.00318911, acc = 1.0\n", "[Validation] Batch ID = 38520, loss = 0.0406054, acc = 1.0\n", "[Train] Batch ID = 38530, loss = 0.00239767, acc = 1.0\n", "[Validation] Batch ID = 38530, loss = 0.024247, acc = 1.0\n", "[Train] Batch ID = 38540, loss = 0.00116827, acc = 1.0\n", "[Validation] Batch ID = 38540, loss = 0.0186592, acc = 0.98\n", "[Train] Batch ID = 38550, loss = 0.00178877, acc = 1.0\n", "[Validation] Batch ID = 38550, loss = 0.0257275, acc = 0.98\n", "[Train] Batch ID = 38560, loss = 0.000771803, acc = 1.0\n", "[Validation] Batch ID = 38560, loss = 0.0323878, acc = 0.98\n", "[Train] Batch ID = 38570, loss = 0.00124786, acc = 1.0\n", "[Validation] Batch ID = 38570, loss = 0.0100446, acc = 1.0\n", "[Train] Batch ID = 38580, loss = 0.000618459, acc = 1.0\n", "[Validation] Batch ID = 38580, loss = 0.0383244, acc = 0.96\n", "[Train] Batch ID = 38590, loss = 0.000772228, acc = 1.0\n", "[Validation] Batch ID = 38590, loss = 0.0308014, acc = 0.96\n", "[Train] Batch ID = 38600, loss = 0.00165526, acc = 1.0\n", "[Validation] Batch ID = 38600, loss = 0.0193809, acc = 0.98\n", "[Train] Batch ID = 38610, loss = 0.00145715, acc = 1.0\n", "[Validation] Batch ID = 38610, loss = 0.0145645, acc = 0.98\n", "[Train] Batch ID = 38620, loss = 0.00219446, acc = 1.0\n", "[Validation] Batch ID = 38620, loss = 0.0233388, acc = 1.0\n", "[Train] Batch ID = 38630, loss = 0.000707247, acc = 1.0\n", "[Validation] Batch ID = 38630, loss = 0.0558707, acc = 0.92\n", "[Train] Batch ID = 38640, loss = 0.00153203, acc = 1.0\n", "[Validation] Batch ID = 38640, loss = 0.0117385, acc = 1.0\n", "[Train] Batch ID = 38650, loss = 0.0016247, acc = 1.0\n", "[Validation] Batch ID = 38650, loss = 0.0172804, acc = 1.0\n", "[Train] Batch ID = 38660, loss = 0.00301985, acc = 1.0\n", "[Validation] Batch ID = 38660, loss = 0.00864521, acc = 1.0\n", "[Train] Batch ID = 38670, loss = 0.000927912, acc = 1.0\n", "[Validation] Batch ID = 38670, loss = 0.0233263, acc = 1.0\n", "[Train] Batch ID = 38680, loss = 0.000736744, acc = 1.0\n", "[Validation] Batch ID = 38680, loss = 0.0108782, acc = 1.0\n", "[Train] Batch ID = 38690, loss = 0.0014492, acc = 1.0\n", "[Validation] Batch ID = 38690, loss = 0.0358421, acc = 1.0\n", "[Train] Batch ID = 38700, loss = 0.00154679, acc = 1.0\n", "[Validation] Batch ID = 38700, loss = 0.0276107, acc = 0.96\n", "[Train] Batch ID = 38710, loss = 0.00532646, acc = 1.0\n", "[Validation] Batch ID = 38710, loss = 0.0140915, acc = 1.0\n", "[Train] Batch ID = 38720, loss = 0.00223791, acc = 1.0\n", "[Validation] Batch ID = 38720, loss = 0.0279973, acc = 1.0\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "[Train] Batch ID = 38730, loss = 0.00189701, acc = 1.0\n", "[Validation] Batch ID = 38730, loss = 0.00645008, acc = 1.0\n", "[Train] Batch ID = 38740, loss = 0.00230352, acc = 1.0\n", "[Validation] Batch ID = 38740, loss = 0.0184136, acc = 0.98\n", "[Train] Batch ID = 38750, loss = 0.00268211, acc = 1.0\n", "[Validation] Batch ID = 38750, loss = 0.0215661, acc = 1.0\n", "[Train] Batch ID = 38760, loss = 0.00457277, acc = 1.0\n", "[Validation] Batch ID = 38760, loss = 0.0433518, acc = 0.96\n", "[Train] Batch ID = 38770, loss = 0.00330429, acc = 1.0\n", "[Validation] Batch ID = 38770, loss = 0.0198763, acc = 0.98\n", "[Train] Batch ID = 38780, loss = 0.000720369, acc = 1.0\n", "[Validation] Batch ID = 38780, loss = 0.0443286, acc = 0.96\n", "[Train] Batch ID = 38790, loss = 0.0016142, acc = 1.0\n", "[Validation] Batch ID = 38790, loss = 0.0578755, acc = 0.94\n", "[Train] Batch ID = 38800, loss = 0.000302942, acc = 1.0\n", "[Validation] Batch ID = 38800, loss = 0.0113212, acc = 1.0\n", "[Train] Batch ID = 38810, loss = 0.00107272, acc = 1.0\n", "[Validation] Batch ID = 38810, loss = 0.0258947, acc = 0.98\n", "[Train] Batch ID = 38820, loss = 0.0010258, acc = 1.0\n", "[Validation] Batch ID = 38820, loss = 0.0333209, acc = 0.98\n", "[Train] Batch ID = 38830, loss = 0.00230507, acc = 1.0\n", "[Validation] Batch ID = 38830, loss = 0.0237396, acc = 0.98\n", "[Train] Batch ID = 38840, loss = 0.000935915, acc = 1.0\n", "[Validation] Batch ID = 38840, loss = 0.0435639, acc = 0.94\n", "[Train] Batch ID = 38850, loss = 0.00155814, acc = 1.0\n", "[Validation] Batch ID = 38850, loss = 0.0352852, acc = 0.98\n", "[Train] Batch ID = 38860, loss = 0.000889952, acc = 1.0\n", "[Validation] Batch ID = 38860, loss = 0.0291988, acc = 0.98\n", "[Train] Batch ID = 38870, loss = 0.00103695, acc = 1.0\n", "[Validation] Batch ID = 38870, loss = 0.0199554, acc = 1.0\n", "[Train] Batch ID = 38880, loss = 0.000765492, acc = 1.0\n", "[Validation] Batch ID = 38880, loss = 0.0212793, acc = 0.98\n", "[Train] Batch ID = 38890, loss = 0.00181694, acc = 1.0\n", "[Validation] Batch ID = 38890, loss = 0.0295611, acc = 0.98\n", "[Train] Batch ID = 38900, loss = 0.000546289, acc = 1.0\n", "[Validation] Batch ID = 38900, loss = 0.0295596, acc = 0.98\n", "[Train] Batch ID = 38910, loss = 0.00134746, acc = 1.0\n", "[Validation] Batch ID = 38910, loss = 0.0110999, acc = 1.0\n", "[Train] Batch ID = 38920, loss = 0.0015986, acc = 1.0\n", "[Validation] Batch ID = 38920, loss = 0.0352543, acc = 0.96\n", "[Train] Batch ID = 38930, loss = 0.000362096, acc = 1.0\n", "[Validation] Batch ID = 38930, loss = 0.0383362, acc = 0.96\n", "[Train] Batch ID = 38940, loss = 0.000596293, acc = 1.0\n", "[Validation] Batch ID = 38940, loss = 0.0518469, acc = 0.94\n", "[Train] Batch ID = 38950, loss = 0.00126123, acc = 1.0\n", "[Validation] Batch ID = 38950, loss = 0.0224572, acc = 1.0\n", "[Train] Batch ID = 38960, loss = 0.00118702, acc = 1.0\n", "[Validation] Batch ID = 38960, loss = 0.0164987, acc = 0.98\n", "[Train] Batch ID = 38970, loss = 0.000883441, acc = 1.0\n", "[Validation] Batch ID = 38970, loss = 0.00711842, acc = 1.0\n", "[Train] Batch ID = 38980, loss = 0.00201727, acc = 1.0\n", "[Validation] Batch ID = 38980, loss = 0.0159498, acc = 1.0\n", "[Train] Batch ID = 38990, loss = 0.00258629, acc = 1.0\n", "[Validation] Batch ID = 38990, loss = 0.0398028, acc = 0.96\n", "[Train] Batch ID = 39000, loss = 0.00189284, acc = 1.0\n", "[Validation] Batch ID = 39000, loss = 0.0139362, acc = 1.0\n", "Evaluate full validation dataset ...\n", "Current loss: 0.0271079 Best loss: 0.0254155\n", "[TOTAL Validation] Batch ID = 39000, loss = 0.0271079, acc = 0.97641723356\n", "Augmented Factor = 0.014633074112020262\n", "[Train] Batch ID = 39010, loss = 0.00176929, acc = 1.0\n", "[Validation] Batch ID = 39010, loss = 0.0138865, acc = 0.98\n", "[Train] Batch ID = 39020, loss = 0.0023623, acc = 1.0\n", "[Validation] Batch ID = 39020, loss = 0.0130478, acc = 1.0\n", "[Train] Batch ID = 39030, loss = 0.00309093, acc = 1.0\n", "[Validation] Batch ID = 39030, loss = 0.00392264, acc = 1.0\n", "[Train] Batch ID = 39040, loss = 0.0015213, acc = 1.0\n", "[Validation] Batch ID = 39040, loss = 0.019257, acc = 0.98\n", "[Train] Batch ID = 39050, loss = 0.000661352, acc = 1.0\n", "[Validation] Batch ID = 39050, loss = 0.033629, acc = 0.98\n", "[Train] Batch ID = 39060, loss = 0.000923142, acc = 1.0\n", "[Validation] Batch ID = 39060, loss = 0.0239484, acc = 0.98\n", "[Train] Batch ID = 39070, loss = 0.00057004, acc = 1.0\n", "[Validation] Batch ID = 39070, loss = 0.0341158, acc = 1.0\n", "[Train] Batch ID = 39080, loss = 0.00189745, acc = 1.0\n", "[Validation] Batch ID = 39080, loss = 0.0163904, acc = 0.98\n", "[Train] Batch ID = 39090, loss = 0.00148706, acc = 1.0\n", "[Validation] Batch ID = 39090, loss = 0.0334534, acc = 0.98\n", "[Train] Batch ID = 39100, loss = 0.00128108, acc = 1.0\n", "[Validation] Batch ID = 39100, loss = 0.0245813, acc = 0.96\n", "[Train] Batch ID = 39110, loss = 0.000524287, acc = 1.0\n", "[Validation] Batch ID = 39110, loss = 0.0171096, acc = 0.98\n", "[Train] Batch ID = 39120, loss = 0.000790245, acc = 1.0\n", "[Validation] Batch ID = 39120, loss = 0.0288631, acc = 0.96\n", "[Train] Batch ID = 39130, loss = 0.000615459, acc = 1.0\n", "[Validation] Batch ID = 39130, loss = 0.0149825, acc = 1.0\n" ] }, { "ename": "KeyboardInterrupt", "evalue": "", "output_type": "error", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mKeyboardInterrupt\u001b[0m Traceback (most recent call last)", "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[1;32m 26\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 27\u001b[0m \u001b[0;31m### Training\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 28\u001b[0;31m \u001b[0mcost\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0macc\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mmodel\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0moptimize\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mx_batch\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0my_batch\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 29\u001b[0m \u001b[0;31m### Validation\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 30\u001b[0m \u001b[0mx_batch\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0my_batch\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mnext\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mvalid_batch\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m\u001b[0m in \u001b[0;36moptimize\u001b[0;34m(self, images, labels, tb_save)\u001b[0m\n\u001b[1;32m 195\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mtf_images\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0mimages\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 196\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mtf_labels\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0mlabels\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 197\u001b[0;31m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mtf_conv_2_dropout\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mh\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mconv_2_dropout\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 198\u001b[0m })\n\u001b[1;32m 199\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m~/anaconda3/envs/dl3-gpu/lib/python3.6/site-packages/tensorflow/python/client/session.py\u001b[0m in \u001b[0;36mrun\u001b[0;34m(self, fetches, feed_dict, options, run_metadata)\u001b[0m\n\u001b[1;32m 893\u001b[0m \u001b[0;32mtry\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 894\u001b[0m result = self._run(None, fetches, feed_dict, options_ptr,\n\u001b[0;32m--> 895\u001b[0;31m run_metadata_ptr)\n\u001b[0m\u001b[1;32m 896\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mrun_metadata\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 897\u001b[0m \u001b[0mproto_data\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mtf_session\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mTF_GetBuffer\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mrun_metadata_ptr\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m~/anaconda3/envs/dl3-gpu/lib/python3.6/site-packages/tensorflow/python/client/session.py\u001b[0m in \u001b[0;36m_run\u001b[0;34m(self, handle, fetches, feed_dict, options, run_metadata)\u001b[0m\n\u001b[1;32m 1122\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mfinal_fetches\u001b[0m \u001b[0;32mor\u001b[0m \u001b[0mfinal_targets\u001b[0m \u001b[0;32mor\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0mhandle\u001b[0m \u001b[0;32mand\u001b[0m \u001b[0mfeed_dict_tensor\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1123\u001b[0m results = self._do_run(handle, final_targets, final_fetches,\n\u001b[0;32m-> 1124\u001b[0;31m feed_dict_tensor, options, run_metadata)\n\u001b[0m\u001b[1;32m 1125\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1126\u001b[0m \u001b[0mresults\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m[\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m~/anaconda3/envs/dl3-gpu/lib/python3.6/site-packages/tensorflow/python/client/session.py\u001b[0m in \u001b[0;36m_do_run\u001b[0;34m(self, handle, target_list, fetch_list, feed_dict, options, run_metadata)\u001b[0m\n\u001b[1;32m 1319\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mhandle\u001b[0m \u001b[0;32mis\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1320\u001b[0m return self._do_call(_run_fn, self._session, feeds, fetches, targets,\n\u001b[0;32m-> 1321\u001b[0;31m options, run_metadata)\n\u001b[0m\u001b[1;32m 1322\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1323\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_do_call\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0m_prun_fn\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_session\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mhandle\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mfeeds\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mfetches\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m~/anaconda3/envs/dl3-gpu/lib/python3.6/site-packages/tensorflow/python/client/session.py\u001b[0m in \u001b[0;36m_do_call\u001b[0;34m(self, fn, *args)\u001b[0m\n\u001b[1;32m 1325\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0m_do_call\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mfn\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1326\u001b[0m \u001b[0;32mtry\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1327\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mfn\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 1328\u001b[0m \u001b[0;32mexcept\u001b[0m \u001b[0merrors\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mOpError\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0me\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1329\u001b[0m \u001b[0mmessage\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mcompat\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mas_text\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0me\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mmessage\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m~/anaconda3/envs/dl3-gpu/lib/python3.6/site-packages/tensorflow/python/client/session.py\u001b[0m in \u001b[0;36m_run_fn\u001b[0;34m(session, feed_dict, fetch_list, target_list, options, run_metadata)\u001b[0m\n\u001b[1;32m 1304\u001b[0m return tf_session.TF_Run(session, options,\n\u001b[1;32m 1305\u001b[0m \u001b[0mfeed_dict\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mfetch_list\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mtarget_list\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1306\u001b[0;31m status, run_metadata)\n\u001b[0m\u001b[1;32m 1307\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1308\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0m_prun_fn\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0msession\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mhandle\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mfeed_dict\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mfetch_list\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;31mKeyboardInterrupt\u001b[0m: " ] } ], "source": [ "### Train your model here.\n", "### Calculate and report the accuracy on the training and validation set.\n", "### Once a final model architecture is selected, \n", "### the accuracy on the test set should be calculated and reported as well.\n", "### Feel free to use as many code cells as needed.\n", "\n", "BATCH_SIZE = 50\n", "\n", "# Utils method to print the current progression\n", "def plot_progression(b, cost, acc, label): print(\n", " \"[%s] Batch ID = %s, loss = %s, acc = %s\" % (label, b, cost, acc))\n", "\n", "# Training pipeline\n", "b = 0\n", "valid_batch = inference_datagen.flow(X_valid, y_valid, batch_size=BATCH_SIZE)\n", "best_validation_loss = None\n", "augmented_factor = 0.99\n", "decrease_factor = 0.90\n", "train_batches = train_datagen.flow(X_train, y_train, batch_size=BATCH_SIZE)\n", "augmented_train_batches = train_datagen_augmented.flow(X_train, y_train, batch_size=BATCH_SIZE)\n", "\n", "while True:\n", " next_batch = next(\n", " augmented_train_batches if random.uniform(0, 1) < augmented_factor else train_batches)\n", " x_batch, y_batch = next_batch\n", "\n", " ### Training\n", " cost, acc = model.optimize(x_batch, y_batch)\n", " ### Validation\n", " x_batch, y_batch = next(valid_batch, None)\n", " # Retrieve the cost and acc on this validation batch and save it in tensorboard\n", " cost_val, acc_val = model.evaluate(x_batch, y_batch, tb_test_save=True)\n", "\n", " if b % 10 == 0: # Plot the last results\n", " plot_progression(b, cost, acc, \"Train\")\n", " plot_progression(b, cost_val, acc_val, \"Validation\")\n", " if b % 1000 == 0: # Test the model on all the validation\n", " print(\"Evaluate full validation dataset ...\")\n", " loss, acc, _ = model.evaluate_dataset(X_valid, y_valid)\n", " print(\"Current loss: %s Best loss: %s\" % (loss, best_validation_loss))\n", " plot_progression(b, loss, acc, \"TOTAL Validation\")\n", " if best_validation_loss is None or loss < best_validation_loss:\n", " best_validation_loss = loss\n", " model.save()\n", " augmented_factor = augmented_factor * decrease_factor\n", " print(\"Augmented Factor = %s\" % augmented_factor)\n", "\n", " b += 1\n", "\n", "\n", " " ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Test Accuracy = 0.976009501188\n", "Test Loss = 0.0311028\n" ] } ], "source": [ "# Test the model on the test set\n", "\n", "# Evaluate all the dataset\n", "loss, acc, predicted_class = model.evaluate_dataset(X_test, y_test)\n", "\n", "print(\"Test Accuracy = \", acc)\n", "print(\"Test Loss = \", loss)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "---\n", "\n", "## Step 3: Test a Model on New Images\n", "\n", "To give yourself more insight into how your model is working, download at least five pictures of German traffic signs from the web and use your model to predict the traffic sign type.\n", "\n", "You may find `signnames.csv` useful as it contains mappings from the class id (integer) to the actual sign name." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Load and Output the Images" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAP8AAAD8CAYAAAC4nHJkAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAH95JREFUeJztnXmYnHWV77+nlt67k3TS2RNCFnZCCJ2wBYgsigwz6Dii\nODKM4xifuQxXHR2Hq/eOXO991HFEH736MIOKMA6gKCCIIEoEMRBiFrNBA4GsnaQ7nfS+d1Wd+0cV\n94bw+77d2aqD7/fzPHnSfb516v31r+rUW/WeOueYu0MIET8So70AIcTooOAXIqYo+IWIKQp+IWKK\ngl+ImKLgFyKmKPiFiCkKfiFiioJfiJiSOhpnM7sawDcBJAF8z92/EnX7dDrtZaUlQa2idgr1y/T3\nBu0l5VXUx3NZqiXAv9WY7e+gWi9ZR0X1eOrT1dlJtdrJM6k20N1GtWSqjGpIkNfzwW7qki7j+4hE\nkko5cI3tfyodfvwBwMz4OqKIciMPdWawP+L++DkxGbH+yO/KRohOxcP/w9r2NaKno3VEG3nEwW9m\nSQDfAXAVgEYAq83sUXd/ifmUlZbgvHPOCmoLr/8neqzmLRuD9pPPvpD69HXxIK5OZqjW+tIvqbZ+\ny5qgfcFlN1GfZ558kmo3fvbbVHt11cNUG1c7l2rZynAgJ3Y+T32mnHYR1RIV1VTryoyhWqYvvP91\n006mPsmSNNWiiHrRyOVyQXvrjgbq46WVVBs3cTrVBiOCNeJchKyH12g5/uIKC9/htz51Dfc5hKN5\n278YwGvuvtXdBwH8CMB1R3F/QogicjTBPw3AroN+byzYhBBvA47qM/9IMLNlAJYBQGkJ/7wkhCgu\nR3Pm3w1gxkG/Ty/Y3oS73+nu9e5en04f99caIcQIOZrgXw1gnpmdbGYlAD4I4NFjsywhxPHmiE/F\n7p4xs78H8CTyqb673P3FKJ9MNovm1vaglh3iV+DT1ZOC9tbG1dRn4tyrqbb+wVuoNtTfR7W66vKg\n/ckf30F9FpzD04CZnre8Ufp/nHn6EqrtadlLtap0OAW0q62L+qA1/HcBwMBLv6FaetKpVJsya2HQ\nniFXtgEgFXHVPpvll8ujNKTCT/H23TQphVRJLdUqxtRRLVFWyrVkRPaNbIkbj4ljwVG9D3f3xwE8\nfozWIoQoIvqGnxAxRcEvRExR8AsRUxT8QsQUBb8QMaW437pxB7KDQWnOTF4wgdPOCZq3bdpEXXau\nuJtqU09dSrXtm9dRLZkKpwFnTubpwTln30i1Wz98JdX++9f/k2q1tbzYpmHlY0F7265XqM+GjTup\ndsll4ZQdANiB16g2bmE4VZmKKN7JkiIcAPCIGpdshpfMNW39Q9CeBP+2aUmC319X0+tUmzz3DKpl\nI7J2fX3h9HdJWQ318VT4vH04hZE68wsRUxT8QsQUBb8QMUXBL0RMUfALEVOKerW/vKIC8xecF9S2\nrP019auZPj9ot45Xqc9A9w6qDbb3UK0yoj/e/gPhq/qJUl6807SN1zp96vqL+Tou/AzVJk3g/Q53\nVowL2tc3bqU+77nh81SbfGo91Tpam6lWWhoucrGIK+kW0ecuSQp0AMDT/Bw20HYgaM9076M+pSUT\nqFaW4f0Od6xeTrV5519BtUQqnApo2xluGwcANXUzgnbLDlGftxx3xLcUQvxRoeAXIqYo+IWIKQp+\nIWKKgl+ImKLgFyKmFDXVVzlmEi649r8GtdfX8t6fyc7tQXtpivdu6+3hlRTJLP+z0yTtAgB7msPr\nmDtvEfWZPnMe1d7zk81UG/vlcDETADy5kqfttr8YnjiUTvC/ua8/XFgCAC/9gaevxk/jf1tJIlxh\n4uD760l+LmJTbQCgt5Ovf0x1uAiq+bVdQTsADERUEZXXnUS18bN4T8OBQZ6C29GwNmifteAq6tNE\nehBmovoZHoLO/ELEFAW/EDFFwS9ETFHwCxFTFPxCxBQFvxAx5ahSfWa2HUAXgCyAjLvzEjAAfT3t\n2PTCL4LalEnhKiUA6GnvCNp3bQ/3ZwOAgQPhai4AaOsJ3x8ATB7PK+YWzA+neeYs4KO1/vpDH6Ja\ny/28T9+exe+gWtX3f0K1vr5wii2R4K/ziWo+Wb1zVwPVSlN8bNi2deEqzYlnL6U+WedpwFxEf78E\n6QsJAPtbW4N2G8ufb6dMH0O1J3/JH7NzLrqWaj1NvMo0mQj/bY0NK6lP2w6S6uvrpj6Hcizy/O9w\n9/3H4H6EEEVEb/uFiClHG/wO4CkzW2tmy47FgoQQxeFo3/YvcffdZjYRwK/N7GV3f/bgGxReFJYB\nQGUV70MuhCguR3Xmd/fdhf/3AXgYwOLAbe5093p3ry8r53PghRDF5YiD38wqzaz6jZ8BvBMAr1QR\nQpxQHM3b/kkAHrb8fKAUgPvcPVxSViBpWVSl2oJaZUkl9du6NzyWa7CTj8kaP20i1aaVzaTaviae\nIsz2hd+5tGzlr3l7zruIalG4826Wp59VR7XM4EDQPpTj1V65Et609MxLrqHajgaeaq2eOjdo9xxP\ny6UjKvcsorvnnj08jTamNFyh19bZSX02bGik2slzws1kAaCsgu9jbSV/15sumRy0t7aHYwUAGrvD\nI9ZyEft7KEcc/O6+FQCvOxVCnNAo1SdETFHwCxFTFPxCxBQFvxAxRcEvREwpagPPZLoS46eHm11u\nWv0Q9WvaFZ6rVjeTV6OdvpA31Vz19INUG+SFZRjKhOfPffV//Cv1aVnzZ/xYu1qoVkihBskufRfV\nUjPDKaVZE3jjyak1vGFlmfPGk2Mq+Dc2y6rDlXGJTDgVCQBGmn4CQDqiuef06dOp9r0vfiFon7eI\nV+CNqeVp4pNnz6ZaeW0t1TK7+czG7Xt3B+11c8+nPq1N4VRlZkgNPIUQw6DgFyKmKPiFiCkKfiFi\nioJfiJhS1Kv9Q/3d2PPKc2ExyQt7kpXhq8oVSX51eO1vf0W1rVt5UcecObyHX09Xb9C+/VyeWUil\n0lSbsHYF1fYtvoxqUS/Z37krnMn46w9cTX2eeeTLVPuTv/wa1caU89RIw/OPB+3zl7yb+qQi+gwi\nxwt7Wpt4IU5nd1fQXmq8111lRBFUM+mdBwAl+yqoVjeWa7NPe0slPAAgVcF7CZaXhZ9XiYiMyVtu\nO+JbCiH+qFDwCxFTFPxCxBQFvxAxRcEvRExR8AsRU4qa6uvv68XLm8J9385edAF3TFUHzdlB3m9v\n7tk8/YYS3k+tuz2czgOAf/7GPeF1XMULbaLGTKWcp2UmrX6WavsXXky1A5deGbSPO4P3/Rvq6Kfa\nMw9/iWqLLn4f1cqS4dRcrrud+pTUhB9nAOjp5CPWtqx+lGpDuXBh0qsbScoZQCpVQrUz5/PnVdue\nV/h9nnQy1erKwgVBuc491Cfb0xS0e5YXYh2KzvxCxBQFvxAxRcEvRExR8AsRUxT8QsQUBb8QMWXY\nVJ+Z3QXgWgD73P2sgq0WwI8BzAKwHcD17s5nCxVIJAxlFeE+eB0d4eorAPjIjX8btH/jS/9Ifdra\neKUXjI806mjnml8ZTuk5eMXZ2WvXUq0loj9exF0iF/WSnQlX2v37PQ9Qlw+9l4/kOtAZHgsFAGXJ\n5VSbNSNcHdndyEd8bd+9hWo9u/dSbfPudVS7+eabg/Yf/vCH1KemnIdF+/5mqmX7eBrzuad4D7/K\ninB151COx8RKMlKsu5enbQ9lJGf+uwEcWg96K4Dl7j4PwPLC70KItxHDBr+7Pwug9RDzdQDe+MbL\nPQDec4zXJYQ4zhzpZ/5J7v7G+7Am5Cf2CiHeRhz1BT/Pz5Kmn1DNbJmZrTGzNYNDEU3xhRBF5UiD\nv9nMpgBA4f/wVA0A7n6nu9e7e31JuqilBEKICI40+B8FcFPh55sAPHJsliOEKBaWf9cecQOz+wEs\nBTABQDOALwD4GYAHAMwEsAP5VN+hFwXfQk11pZ9/7ulB7caP/h31+9Wj4aaUM2fMoD4bNv6eapmI\nBo2J9DyqfXYlSVMleCXgxHV8HVF7XxoxnirKb89CPuKJ8S/1M6nW18k/qk2o5e/k6mrGB+1VKd6o\ntSTNm52edflSqu1q4unIX/z8sfA6SvllqsoxY6nW08Er7RaU8QrOlwf5Xk0eVxa0r925lfr09Yef\nH1u27EBvb/+IungO+z7c3W8g0hUjOYAQ4sRE3/ATIqYo+IWIKQp+IWKKgl+ImKLgFyKmFPVbNwYg\nSWaJ3Xf396hfaVm4UumlBj5vrXkfr7CaNGUy1f7hDy9QzS2c9tqT4PP9JlIFSKX49l9yIW8U+Zvn\nVvH7tGTQnjOeHvz6D+6l2keu5bP1OnrCKSoAKC8PN0kti5hdmB3Hm1yOGcPn1lVVnk21FeVPB+1j\nJ/CGpgP9PL1ZOsCr5vaW8cawddX8PNvV2xO0nztnNvXp7Q0/93fv2E19DkVnfiFiioJfiJii4Bci\npij4hYgpCn4hYoqCX4iYUtRUn7sjQxpMtjbtp36LFk0L2psP8PTVKfNOpVppabiJKAAkBrdRLUWK\nthau/zn1gfFKr5zx6sJMlmtRVX0TVoebQTYvuoj6dF/8J1SrnspTc6WlXKsuCVfvlSV5Ouy6v+CN\nREsqeDXghtUrqZYl+7hw/mnUp3nPy1TbuI8/LtkEf1zae/qo1tMXTh8ODPG0YoYsI5uLrtI9GJ35\nhYgpCn4hYoqCX4iYouAXIqYo+IWIKUW92p9zoG8wfDVywoxq6lcx7pSgvXfXeuqzv4W3FLzlS1+j\nWupXfLxWb3947X9+QT31eep3vAjn0vMXUG3luo1Uy2QjRoplw2tMGX+d7+8JF5YAwF0/5VfSl93E\nOrwBubpwtqVyTvixBIAf3ft9qtVU8yzBtl38sa6uqQ3af7f8Pupz8SV/SrWqCTuodsHSQwdb/X9e\na9hEtetqw5mAKdN4AVrVmPB+XL11F/U5FJ35hYgpCn4hYoqCX4iYouAXIqYo+IWIKQp+IWLKSMZ1\n3QXgWgD73P2sgu02AB8D0FK42efc/fHhDlZdWe4LTp8b1KbPmkD9+jvC47CGsnwqUcr569p/Wfc6\n1UpTJVQb/0K4aGbJ+fOpTwLhnnpAdIHO8hV8zNfAwADVxlaFC2CyEam+lvN4v8DSiIKaz8zk6bck\nKVqqKh1Hfb79tx+m2swUGZUGIJPmnRJXNzYH7VPKeJb7xRaeSp3ewlN2m/fz3n+pillUm1kVnnM7\nfyrf+8GKqUH7O//1F1i/88CIxnWN5Mx/N4BQAvMb7r6g8G/YwBdCnFgMG/zu/iyAYYdwCiHeXhzN\nZ/5bzGyjmd1lZvy9nBDihORIg/8OALMBLACwF8Dt7IZmtszM1pjZmiHWgUAIUXSOKPjdvdnds+6e\nA/BdAIsjbnunu9e7e306xS9+CSGKyxEFv5kdPKLmvQA2H5vlCCGKxbBVfWZ2P4ClACaYWSOALwBY\namYLADiA7QA+PpKDWSKB8srwiKeO/eF0HgDc/m/hcVJjaiqoT3tbxCivJUuplhvgr4e5XLgf34pV\nvALv4nqeBtzy2laqNXfw9Uf1IHTSRy5pPPtjEU+DzABPe/3owXDqEwBe3xm+Rvz7O/6B+vTMXUi1\n5773Fard8xxPmc6pGwra33cWf+5cc+OnqYYmPuardFs4rQgA3rKTaq3tnUF7f/ks6pOO6A05UoYN\nfncP1W3y2kshxNsCfcNPiJii4Bcipij4hYgpCn4hYoqCX4iYMmxV37GkorzMT5s9I6iNHzOeO06e\nFTT/5Ad3UZfVJ82hmpGUHQBMW/MC1WrKw80gly6ZRX06+3mVYMs+Po5p46s8fchSjgCQTIa/SJVI\nRKQwB8PpMADYt/jCwz4WAHQ98FDQPu3Rm6nPt8ZfSbX/Y49RrSPF02+1c8LfP7OINPH25fxY7QO8\ncm+wpIpqVSV8tNkr+8PffJ1k4Wo/AFg19uKg/ds/fASNTS3HrKpPCPFHiIJfiJii4Bcipij4hYgp\nCn4hYoqCX4iYUtRZfe459JHmk5/9/Ceo3zfvDbcIfGXLFn6wiJe1pPEUVQY8S5JLhivcWrv5Nr68\nfRvVmvbyVM4lF15OtRUvPE218+efF7SXlPFGKitWb6BaWxmfoTi+r4Nqj94frv26McerBP8++wTV\nBifydTTuaqLa/qpwdWTfyuepz6otu6n24EaeZi2NaFdRN5XP3bvh2ncE7b/v5qngxl2vBe2DQ7y5\n66HozC9ETFHwCxFTFPxCxBQFvxAxRcEvREwp6tX+ZCKJMVVjiMgLLZoP7A/a297BC0FKI67on/bi\nSqp18Aus6O0LF8D86rfPUZ/mphaqvfvKcHEGADz7PL/Ps877INXGVoazFZbjWYzKNN+rM59/imp7\nz6NNm3H9Qz8L2lv+4hzqM8X4Xn35d/wq9jYP94UEgMfu/m7QnvOI2pccL3ZLpvn5MqqaZuxQRDHZ\n9nB/v4mTpgTtANDbG87eRNR8vQWd+YWIKQp+IWKKgl+ImKLgFyKmKPiFiCkKfiFiykjGdc0A8B8A\nJiE/nutOd/+mmdUC+DGAWciP7Lre3dui7itdksb0GROD2pe/9UXqd/d3Hg7a98zn4508ydM1HZH5\nEP56eOlF4aKZ5St43790RP6nt4cXuWSzvBBncsUOqg0Ohv9ui0h9nr+Y7+NvV6yiWjLJ+9J5Jtzr\nrqFyNvW58Xt8/NdHPnIT1Z74wT1UW3xu+DE7dxx/6u9Oh3s1AsAVl19Atcd/+RuqnTa9hmr9/eHn\nweAQzztPmhzuW5hOjzx7P5IzfwbAp939DAAXALjZzM4AcCuA5e4+D8Dywu9CiLcJwwa/u+9193WF\nn7sANACYBuA6AG+85N4D4D3Ha5FCiGPPYX3mN7NZAM4FsArAJHffW5CakP9YIIR4mzDi4DezKgAP\nAviku79pprDnm/8HP2ya2TIzW2NmawYG+WdcIURxGVHwm1ka+cC/193fmMbQbGZTCvoUAMG2NO5+\np7vXu3t9aQkfYCGEKC7DBr+ZGYDvA2hw968fJD0K4I1LsDcBeOTYL08IcbwYSV7gYgA3AthkZusL\nts8B+AqAB8zsowB2ALh+uDvK5XLo7Q2nL04/tZL6bXpHOL1SE1GNdsoTz1CtM+LTRyIixZZ/HXwr\nqYh6rmyWj3dKJHnK8V2X84q/TI6/ZldUhdNvn/jM31Gf22//DtUqa/gorMkrn6Fa04WXBu0VT62h\nPh//yF9SbeJEnn776F/xa81VleOC9rvv5+eqj3/gFKo9/8yvqHbaTD5yLpXgz9WBnnDV6lf/7Rnq\n8/6rFgXtmSH+fHvLmoa7gbuvAK9WvGLERxJCnFDoG35CxBQFvxAxRcEvRExR8AsRUxT8QsSUojbw\nnDh5Km75xy8EtWxEuqzk3g8f9rGGZvOGjx2PP0a1Pbf8b6r9LB0eGdV+/hLq05vg1YUPpHnT0ixp\nFgoAluB7VTpE0pFJ3gzygi5enbfttLlUiyKZDKe2rv0bXp13x87NVOvr4iO0ykv4KK++3p6g3dLh\nMV4A8IdNG6lWWcEfs56uXqrlwFPIXf3hx/qm6y6jPpksqd6MeG4cis78QsQUBb8QMUXBL0RMUfAL\nEVMU/ELEFAW/EDHF8n04isO46kq/vP6MoPb+Np4KGfv6rsM+lkXMWytL874CUfuRI40/KyvLqc9A\nbx/VMpfxxpllz/G0Vy7HK7fS6XDabmgoInVIqhWH0xIR+9jLqhmzpdTnrFefptp3bvsk1TqG2qnW\n2RNunPnKyw3U5/TZU6k2qS7cgBYAdjVuo1p1Vbi6EAC6u8Mpwro6XlFZkgw/nj94+FnsbWkfUb5P\nZ34hYoqCX4iYouAXIqYo+IWIKQp+IWJKUQt7stkcOjvCVzZnvNZM/aYtCl8Vb1i9jvqUpSJGSTnP\nLES9HlbnwgUk/X28oCOT4Pd32c+f4H453mjwmY99jWrnfeXTQfuB9tepT00ZHyXVneNZgooBflE5\nXU3+bpKNAIDbPv8pqk0fU0W1U8eeTLU+MgqrcQcfeTZ92kyqdbTzzEJ5Bd/HgYi+i+Nqw/0Jdzfz\nmOjuCz+H+wZG3sNPZ34hYoqCX4iYouAXIqYo+IWIKQp+IWKKgl+ImDJsYY+ZzQDwH8iP4HYAd7r7\nN83sNgAfA9BSuOnn3P3xqPuaM/sk/8r/ujWopRI8BTS4rSloP/DUauqTtHDvNgCoff+fUe2unz1K\ntZuuCw8oykaUUXS08tTQvh7uOBhRvHNqHS8kmjY5XECyY8926rNj106qZTN8jalSntpqbGwM2s8+\n9Uzqs/FFXsxUW8vHuXV0tFLtQHs41dfTzXs8Tpwwlmp1E/hIrh27eZ/Bykq+/oGB8FoyGf4c6OkO\np2BXbnwFHd29IyrsGUmePwPg0+6+zsyqAaw1s18XtG+4O086CyFOWEYyq28vgL2Fn7vMrAHAtOO9\nMCHE8eWwPvOb2SwA5wJYVTDdYmYbzewuM+MFy0KIE44RB7+ZVQF4EMAn3b0TwB0AZgNYgPw7g9uJ\n3zIzW2Nmazo7ea90IURxGVHwm1ka+cC/190fAgB3b3b3rLvnAHwXwOKQr7vf6e717l5fU8O/ny2E\nKC7DBr/l+zh9H0CDu3/9IPvBI2DeC4BfqhVCnHCMJNW3BMDvAGwC8EYTu88BuAH5t/wOYDuAjxcu\nDlKmTqn1ZX8TTpftO7Cf+uXICKK6snA1FABUlkygWu1kXrU1cdJkqrGUTDLFX0Mn1k2i2j/9t89R\n7VOf+jjVuppbqPbKq68G7U889QL1+cD7rqTa2HF8zNf+fTy1NZgNp9ja2jqpzxWXXUK1H9z3U6pN\nqOFptPqLlgbtDRt4mri9h6+xs6OLahNreRqwtYOnfMePD/ux5xsAtHeFtRVrNqO9s/vYpPrcfQUQ\nHKQXmdMXQpzY6Bt+QsQUBb8QMUXBL0RMUfALEVMU/ELElKI28BwY6MdrW7cEtYl1PMXW2RVukDl3\nCk/xpKfx6rGy8gqqDWV440zPhZsmDg7y6qvGiIq5M84+i2pI8Iq5ti7ejLO1NVzh9lcfvo76jKnk\n+7F1e/jxAoAdr75EtUUXhdN2u7bx/Vi9ei3VLrngVKrt3LaHao88+GDQvuTCBdRn9smzqNY31E+1\ndes2UC1l/Dw70BOuQPVgki1PIk1S9Dby8Xs68wsRUxT8QsQUBb8QMUXBL0RMUfALEVMU/ELElKKm\n+swMyVRJUOsd4hVM2UQuaB+onkd9aip4GpCl7PIalZDNhdMo6Yj5cyBrB4DLllxMtfvu/0+q3XDt\nVVQ70BKutGt4/QHqk4s4B/R28PWPG3821X63YlXQ3nKAV8X19vVR7ZyaU6jW1sH9KsrC6bJt2/is\nvg6SegOASeN5w6rJdXVU6x3gKcKdew8E7SdN5feXbQv/zcMU6b4JnfmFiCkKfiFiioJfiJii4Bci\npij4hYgpCn4hYsqwDTyPJZWVY/y00y8q2vGEiBsvNzyPnp6OETXw1JlfiJii4Bcipij4hYgpCn4h\nYoqCX4iYMmxhj5mVAXgWQGnh9j919y+YWS2AHwOYhfy4ruvdve1IF7J2zS+otmhhuP/cECL67UVk\nMX503zep9t4//yTVGhqeDNrPWfAu6mPghTElySTVfr/2l1Rz8L9tUf01VBMnJiuefSJoL+OtFVFf\n/+6jPu5IzvwDAC5393OQn813tZldAOBWAMvdfR6A5YXfhRBvE4YNfs/TXfg1XfjnAK4DcE/Bfg+A\n9xyXFQohjgsj+sxvZkkzWw9gH4Bfu/sqAJMOmsrbBICPoxVCnHCMKPjdPevuCwBMB7DYzM46RHcg\n/EHUzJaZ2RozW5OJ6IkvhCguh3W1393bATwN4GoAzWY2BQAK/+8jPne6e72716dIFx8hRPEZNvjN\nrM7MxhZ+LgdwFYCXATwK4KbCzW4C8MjxWqQQ4tgzbGGPmc1H/oJeEvkXiwfc/YtmNh7AAwBmAtiB\nfKovPCuqgAp7hDi+HE5hz7B5fnffCODcgP0AgCsOf3lCiBMBfcNPiJii4Bcipij4hYgpCn4hYoqC\nX4iYUtQefmbWgnxaEAAmANhftINztI43o3W8mbfbOk5ydz7n6yCKGvxvOrDZGnevH5WDax1ah9ah\nt/1CxBUFvxAxZTSD/85RPPbBaB1vRut4M3+06xi1z/xCiNFFb/uFiCmjEvxmdrWZvWJmr5nZqPX+\nM7PtZrbJzNab2ZoiHvcuM9tnZpsPstWa2a/NbEvh/3GjtI7bzGx3YU/Wm9lx7whqZjPM7Gkze8nM\nXjSzTxTsRd2TiHUUdU/MrMzMfm9mGwrr+J8F+7HdD3cv6j/kS4NfBzAbQAmADQDOKPY6CmvZDmDC\nKBz3UgALAWw+yPZVALcWfr4VwL+M0jpuA/CZIu/HFAALCz9XA3gVwBnF3pOIdRR1TwAYgKrCz2kA\nqwBccKz3YzTO/IsBvObuW919EMCPkG8GGhvc/VkAh/Y+KHpDVLKOouPue919XeHnLgANAKahyHsS\nsY6i4nmOe9Pc0Qj+aQB2HfR7I0Zhgws4gKfMbK2ZLRulNbzBidQQ9RYz21j4WHDcP34cjJnNQr5/\nxKg2iT1kHUCR96QYTXPjfsFviecbk74bwM1mduloLwiIbohaBO5A/iPZAgB7AdxerAObWRWABwF8\n0t07D9aKuSeBdRR9T/womuaOlNEI/t0AZhz0+/SCrei4++7C//sAPIz8R5LRYkQNUY837t5ceOLl\nAHwXRdoTM0sjH3D3uvtDBXPR9yS0jtHak8KxD7tp7kgZjeBfDWCemZ1sZiUAPoh8M9CiYmaVZlb9\nxs8A3glgc7TXceWEaIj6xpOrwHtRhD0xMwPwfQAN7v71g6Si7glbR7H3pGhNc4t1BfOQq5nXIH8l\n9XUAnx+lNcxGPtOwAcCLxVwHgPuRf/s4hPw1j48CGI/82LMtAJ4CUDtK6/ghgE0ANhaebFOKsI4l\nyL+F3QhgfeHfNcXek4h1FHVPAMwH8IfC8TYD+OeC/Zjuh77hJ0RMifsFPyFii4JfiJii4Bcipij4\nhYgpCn4hYoqCX4iYouAXIqYo+IWIKf8X9l5r1hTYBDIAAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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\nTPl/63fWlf5COywAAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "### Load the images and plot them here.\n", "### Feel free to use as many code cells as needed.\n", "import os\n", "images = []\n", "\n", "# Read all image into the folder\n", "for filename in os.listdir(\"from_web\"):\n", " img = Image.open(os.path.join(\"from_web\", filename))\n", " img = img.resize((32, 32))\n", " plt.imshow(img)\n", " plt.show()\n", " img = np.array(img) / 255\n", " images.append(img)\n", " \n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Predict the Sign Type for Each Image" ] }, { "cell_type": "code", "execution_count": 17, "metadata": { "collapsed": true }, "outputs": [], "source": [ "### Run the predictions here and use the model to output the prediction for each image.\n", "### Make sure to pre-process the images with the same pre-processing pipeline used earlier.\n", "### Feel free to use as many code cells as needed.\n", "\n", "# Get the prediction\n", "predictions = model.predict(images)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Analyze Performance" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "data": { "image/png": "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\nrcnYJh3pGMCkSekyRm1tg/OyrFu3Lhlbu7bPQuRP6enpqbTORnNpaUm/NuOU34a5vseNr/43Qq7f\nzTbbLBlbs2ZNMgaw+ebp8lhdXV3pWGfmzU3+PZx7XRuNN/eaH/ret+YHNcpstdVWMW3atOEehpkN\nkZtvvvmRiJjSn2WbKpEyM2tG06ZN46abbhruYZjZEJGU+wm79fjQnpmZmVlFTqTMzMzMKnIiZWZm\nZlaREykzMzOziprqZPOWjvZkLFrzOV8umrkwjPb2/MVHuavKcrFG481dEdXVnb6aqurVcwCdXZ3J\nWEv+Ajl6In1VWW47oHzB19a29GueudgSgK6WdN+tLemrPBtdSdjemh5T7iq48ePH5/ttz8w187qu\nXLci2+8TXauSsa7M6xYd+ffSugZXcpqZmfdImZmZmVXmRMrMRhxJ+0u6S9JCSXP6iEvSmWX8Vkl7\n1sTuk3SbpFskuaaBmQ1IUx3aMzNrRFIrcBbwRmAxcKOkeRFxR81iBwDTy9s+wNnlv71eGxGPDNGQ\nzWwU8x4pMxtp9gYWRsS9EbEOuBiYVbfMLODCKFwPTJa07VAP1MxGP++RMrORZiqwqObxYtbf25Ra\nZiqwBAjgl5K6gW9HxDmDONZRb9qcn633+L7T3jxMIzEbHk6kzGyseWVEPCDp2cCVkv4SEb+pX0jS\nkcCRADvuuONQj9HMRggf2jOzkeYBYIeax9uXz/VrmYjo/fdh4FKKQ4XPEBHnRMSMiJgxZUq/frvU\nzMagptojla2t1JWuhwMNahllTJgwoXK/ufE2qvfU2bU6vc5GBZQqGkgNqqpytZMG00Bem55x6e0/\nLlNjauLEfB0pSL+HuzIveUdHR7bXqu/RiHyNr+F4v/TTjcB0STtTJEfvAQ6uW2YeMFvSxRSH/VZE\nxBJJmwItEbGyvP8m4HNDOHYzG2WaKpEyM2skIrokzQauAFqB8yJigaSjyvhcYD4wE1gIrAYOK5tv\nDVwqCYr///4nIv5viKdgZqOIEykzG3EiYj5FslT73Nya+wEc3Ue7e4HdB32AZjZm+BwpMzMzs4qc\nSJmZmZlV5ETKzMzMrCInUmZmZmYVNdXJ5t3d3ZViAK2trRt7OIOq6uX5Vcs8DGa/A2nb1p0uJ9AS\nDfptS1++nxtTR4O/HzZtT7+XJk7cJBmbtEm+1MOadenxjsuU91i9tjPbb3kFWp9y22HNmjXZfht9\n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\nAADU9P8B0FgRSoIoFl8AAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "### Calculate the accuracy for these 5 new images. \n", "### For example, if the model predicted 1 out of 5 signs correctly, it's 20% accurate on these new images.\n", "\n", "# Plot the result\n", "fig, axs = plt.subplots(5, 2, figsize=(10, 25))\n", "axs = axs.ravel()\n", "for i in range(10):\n", " if i%2 == 0:\n", " axs[i].axis('off')\n", " axs[i].imshow(images[i // 2])\n", " axs[i].set_title(\"Prediction: %s\" % id_to_name[np.argmax(predictions[i // 2])])\n", " else:\n", " axs[i].bar(np.arange(43), predictions[i // 2])\n", " axs[i].set_ylabel(\"Softmax\")\n", " axs[i].set_xlabel(\"Labels\")\n", "\n", "plt.show()\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Output Top 5 Softmax Probabilities For Each Image Found on the Web" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "For each of the new images, print out the model's softmax probabilities to show the **certainty** of the model's predictions (limit the output to the top 5 probabilities for each image). [`tf.nn.top_k`](https://www.tensorflow.org/versions/r0.12/api_docs/python/nn.html#top_k) could prove helpful here. \n", "\n", "The example below demonstrates how tf.nn.top_k can be used to find the top k predictions for each image.\n", "\n", "`tf.nn.top_k` will return the values and indices (class ids) of the top k predictions. So if k=3, for each sign, it'll return the 3 largest probabilities (out of a possible 43) and the correspoding class ids.\n", "\n", "Take this numpy array as an example. The values in the array represent predictions. The array contains softmax probabilities for five candidate images with six possible classes. `tf.nn.top_k` is used to choose the three classes with the highest probability:\n", "\n", "```\n", "# (5, 6) array\n", "a = np.array([[ 0.24879643, 0.07032244, 0.12641572, 0.34763842, 0.07893497,\n", " 0.12789202],\n", " [ 0.28086119, 0.27569815, 0.08594638, 0.0178669 , 0.18063401,\n", " 0.15899337],\n", " [ 0.26076848, 0.23664738, 0.08020603, 0.07001922, 0.1134371 ,\n", " 0.23892179],\n", " [ 0.11943333, 0.29198961, 0.02605103, 0.26234032, 0.1351348 ,\n", " 0.16505091],\n", " [ 0.09561176, 0.34396535, 0.0643941 , 0.16240774, 0.24206137,\n", " 0.09155967]])\n", "```\n", "\n", "Running it through `sess.run(tf.nn.top_k(tf.constant(a), k=3))` produces:\n", "\n", "```\n", "TopKV2(values=array([[ 0.34763842, 0.24879643, 0.12789202],\n", " [ 0.28086119, 0.27569815, 0.18063401],\n", " [ 0.26076848, 0.23892179, 0.23664738],\n", " [ 0.29198961, 0.26234032, 0.16505091],\n", " [ 0.34396535, 0.24206137, 0.16240774]]), indices=array([[3, 0, 5],\n", " [0, 1, 4],\n", " [0, 5, 1],\n", " [1, 3, 5],\n", " [1, 4, 3]], dtype=int32))\n", "```\n", "\n", "Looking just at the first row we get `[ 0.34763842, 0.24879643, 0.12789202]`, you can confirm these are the 3 largest probabilities in `a`. You'll also notice `[3, 0, 5]` are the corresponding indices." ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "### Print out the top five softmax probabilities for the predictions on the German traffic sign images found on the web. \n", "### Feel free to use as many code cells as needed." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Project Writeup\n", "\n", "Once you have completed the code implementation, document your results in a project writeup using this [template](https://github.com/udacity/CarND-Traffic-Sign-Classifier-Project/blob/master/writeup_template.md) as a guide. The writeup can be in a markdown or pdf file. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "> **Note**: Once you have completed all of the code implementations and successfully answered each question above, you may finalize your work by exporting the iPython Notebook as an HTML document. You can do this by using the menu above and navigating to \\n\",\n", " \"**File -> Download as -> HTML (.html)**. Include the finished document along with this notebook as your submission." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "---\n", "\n", "## Step 4 (Optional): Visualize the Neural Network's State with Test Images\n", "\n", " This Section is not required to complete but acts as an additional excersise for understaning the output of a neural network's weights. While neural networks can be a great learning device they are often referred to as a black box. We can understand what the weights of a neural network look like better by plotting their feature maps. After successfully training your neural network you can see what it's feature maps look like by plotting the output of the network's weight layers in response to a test stimuli image. From these plotted feature maps, it's possible to see what characteristics of an image the network finds interesting. For a sign, maybe the inner network feature maps react with high activation to the sign's boundary outline or to the contrast in the sign's painted symbol.\n", "\n", " Provided for you below is the function code that allows you to get the visualization output of any tensorflow weight layer you want. The inputs to the function should be a stimuli image, one used during training or a new one you provided, and then the tensorflow variable name that represents the layer's state during the training process, for instance if you wanted to see what the [LeNet lab's](https://classroom.udacity.com/nanodegrees/nd013/parts/fbf77062-5703-404e-b60c-95b78b2f3f9e/modules/6df7ae49-c61c-4bb2-a23e-6527e69209ec/lessons/601ae704-1035-4287-8b11-e2c2716217ad/concepts/d4aca031-508f-4e0b-b493-e7b706120f81) feature maps looked like for it's second convolutional layer you could enter conv2 as the tf_activation variable.\n", "\n", "For an example of what feature map outputs look like, check out NVIDIA's results in their paper [End-to-End Deep Learning for Self-Driving Cars](https://devblogs.nvidia.com/parallelforall/deep-learning-self-driving-cars/) in the section Visualization of internal CNN State. NVIDIA was able to show that their network's inner weights had high activations to road boundary lines by comparing feature maps from an image with a clear path to one without. Try experimenting with a similar test to show that your trained network's weights are looking for interesting features, whether it's looking at differences in feature maps from images with or without a sign, or even what feature maps look like in a trained network vs a completely untrained one on the same sign image.\n", "\n", "
\n", " \"Combined\n", "
\n", "

\n", "

Your output should look something like this (above)

\n", "
\n", "
\n", "

\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "### Visualize your network's feature maps here.\n", "### Feel free to use as many code cells as needed.\n", "\n", "# image_input: the test image being fed into the network to produce the feature maps\n", "# tf_activation: should be a tf variable name used during your training procedure that represents the calculated state of a specific weight layer\n", "# activation_min/max: can be used to view the activation contrast in more detail, by default matplot sets min and max to the actual min and max values of the output\n", "# plt_num: used to plot out multiple different weight feature map sets on the same block, just extend the plt number for each new feature map entry\n", "\n", "def outputFeatureMap(image_input, tf_activation, activation_min=-1, activation_max=-1 ,plt_num=1):\n", " # Here make sure to preprocess your image_input in a way your network expects\n", " # with size, normalization, ect if needed\n", " # image_input =\n", " # Note: x should be the same name as your network's tensorflow data placeholder variable\n", " # If you get an error tf_activation is not defined it may be having trouble accessing the variable from inside a function\n", " activation = tf_activation.eval(session=sess,feed_dict={x : image_input})\n", " featuremaps = activation.shape[3]\n", " plt.figure(plt_num, figsize=(15,15))\n", " for featuremap in range(featuremaps):\n", " plt.subplot(6,8, featuremap+1) # sets the number of feature maps to show on each row and column\n", " plt.title('FeatureMap ' + str(featuremap)) # displays the feature map number\n", " if activation_min != -1 & activation_max != -1:\n", " plt.imshow(activation[0,:,:, featuremap], interpolation=\"nearest\", vmin =activation_min, vmax=activation_max, cmap=\"gray\")\n", " elif activation_max != -1:\n", " plt.imshow(activation[0,:,:, featuremap], interpolation=\"nearest\", vmax=activation_max, cmap=\"gray\")\n", " elif activation_min !=-1:\n", " plt.imshow(activation[0,:,:, featuremap], interpolation=\"nearest\", vmin=activation_min, cmap=\"gray\")\n", " else:\n", " plt.imshow(activation[0,:,:, featuremap], interpolation=\"nearest\", cmap=\"gray\")" ] } ], "metadata": { "anaconda-cloud": {}, "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.6.2" } }, "nbformat": 4, "nbformat_minor": 1 } ================================================ FILE: _config.yml ================================================ theme: jekyll-theme-cayman ================================================ FILE: caps_net.py ================================================ import numpy as np import tensorflow as tf import numpy as np def conv_caps_layer(input_layer, capsules_size, nb_filters, kernel, stride=2): """ Capsule layer for the convolutional inputs **input: *input_layer: (Tensor) *capsule_numbers: (Integer) the number of capsule in this layer. *kernel_size: (Integer) Size of the kernel for each filter. *stride: (Integer) 2 by default """ # "In convolutional capsule layers each unit in a capsule is a convolutional unit. # Therefore, each capsule will output a grid of vectors rather than a single vector output." capsules = tf.contrib.layers.conv2d( input_layer, nb_filters * capsules_size, kernel, stride, padding="VALID") # conv shape: [?, kernel, kernel, nb_filters] shape = capsules.get_shape().as_list() capsules = tf.reshape(capsules, shape=(-1, np.prod(shape[1:3]) * nb_filters, capsules_size, 1)) # capsules shape: [?, nb_capsules, capsule_size, 1] return squash(capsules) def routing(u_hat, b_ij, nb_capsules, nb_capsules_p, iterations=4): """ Routing algorithm **input: *u_hat: Dot product (weights between previous capsule and current capsule) *b_ij: the log prior probabilities that capsule i should be coupled to capsule j *nb_capsules_p: Number of capsule in the previous layer *nb_capsules: Number of capsule in this layer """ # Start the routing algorithm for it in range(iterations): with tf.variable_scope('routing_' + str(it)): # Line 4 of algo # probabilities that capsule i should be coupled to capsule j. # c_ij: [nb_capsules_p, nb_capsules, 1, 1] c_ij = tf.nn.softmax(b_ij, dim=2) # Line 5 of algo # c_ij: [ nb_capsules_p, nb_capsules, 1, 1] # u_hat: [?, nb_capsules_p, nb_capsules, len_v_j, 1] s_j = tf.multiply(c_ij, u_hat) # s_j: [?, nb_capsules_p, nb_capsules, len_v_j, 1] s_j = tf.reduce_sum(s_j, axis=1, keep_dims=True) # s_j: [?, 1, nb_capsules, len_v_j, 1) # line 6: # squash using Eq.1, v_j = squash(s_j) # v_j: [1, 1, nb_capsules, len_v_j, 1) # line 7: # Frist reshape & tile v_j # [? , 1, nb_capsules, len_v_j, 1] -> # [?, nb_capsules_p, nb_capsules, len_v_j, 1] v_j_tiled = tf.tile(v_j, [1, nb_capsules_p, 1, 1, 1]) # u_hat: [?, nb_capsules_p, nb_capsules, len_v_j, 1] # v_j_tiled [1, nb_capsules_p, nb_capsules, len_v_j, 1] u_dot_v = tf.matmul(u_hat, v_j_tiled, transpose_a=True) # u_produce_v: [?, nb_capsules_p, nb_capsules, 1, 1] b_ij += tf.reduce_sum(u_dot_v, axis=0, keep_dims=True) #b_ih: [1, nb_capsules_p, nb_capsules, 1, 1] return tf.squeeze(v_j, axis=1) def fully_connected_caps_layer(input_layer, capsules_size, nb_capsules, iterations=4): """ Second layer receiving inputs from all capsules of the layer below **input: *input_layer: (Tensor) *capsules_size: (Integer) Size of each capsule *nb_capsules: (Integer) Number of capsule *iterations: (Integer) Number of iteration for the routing algorithm i refer to the layer below. j refer to the layer above (the current layer). """ shape = input_layer.get_shape().as_list() # Get the size of each capsule in the previous layer and the current layer. len_u_i = np.prod(shape[2]) len_v_j = capsules_size # Get the number of capsule in the layer bellow. nb_capsules_p = np.prod(shape[1]) # w_ij: Used to compute u_hat by multiplying the output ui of a capsule in the layer below # with this matrix # [nb_capsules_p, nb_capsules, len_v_j, len_u_i] _init = tf.random_normal_initializer(stddev=0.01, seed=0) _shape = (nb_capsules_p, nb_capsules, len_v_j, len_u_i) w_ij = tf.get_variable('weight', shape=_shape, dtype=tf.float32, initializer=_init) # Adding one dimension to the input [batch_size, nb_capsules_p, length(u_i), 1] -> # [batch_size, nb_capsules_p, 1, length(u_i), 1] # To allow the next dot product input_layer = tf.reshape(input_layer, shape=(-1, nb_capsules_p, 1, len_u_i, 1)) input_layer = tf.tile(input_layer, [1, 1, nb_capsules, 1, 1]) # Eq.2, calc u_hat # Prediction uj|i made by capsule i # w_ij: [ nb_capsules_p, nb_capsules, len_v_j, len_u_i, ] # input: [batch_size, nb_capsules_p, nb_capsules, len_ui, 1] # u_hat: [batch_size, nb_capsules_p, nb_capsules, len_v_j, 1] # Each capsule of the previous layer capsule layer is associated to a capsule of this layer u_hat = tf.einsum('abdc,iabcf->iabdf', w_ij, input_layer) # bij are the log prior probabilities that capsule i should be coupled to capsule j # [nb_capsules_p, nb_capsules, 1, 1] b_ij = tf.zeros(shape=[nb_capsules_p, nb_capsules, 1, 1], dtype=np.float32) return routing(u_hat, b_ij, nb_capsules, nb_capsules_p, iterations=iterations) def squash(vector): """ Squashing function corresponding to Eq. 1 **input: ** *vector """ vector += 0.00001 # Workaround for the squashing function ... vec_squared_norm = tf.reduce_sum(tf.square(vector), -2, keep_dims=True) scalar_factor = vec_squared_norm / (1 + vec_squared_norm) / tf.sqrt(vec_squared_norm) vec_squashed = scalar_factor * vector # element-wise return(vec_squashed) ================================================ FILE: data_handler.py ================================================ #!/usr/bin/python3 # -*- coding: utf-8 -*- import os import pickle TRAIN_FILE = "train.p" VALID_FILE = "valid.p" TEST_FILE = "test.p" def get_data(folder): """ Load traffic sign data **input: ** *folder: (String) Path to the dataset folder """ # Load the dataset training_file = os.path.join(folder, TRAIN_FILE) validation_file= os.path.join(folder, VALID_FILE) testing_file = os.path.join(folder, TEST_FILE) with open(training_file, mode='rb') as f: train = pickle.load(f) with open(validation_file, mode='rb') as f: valid = pickle.load(f) with open(testing_file, mode='rb') as f: test = pickle.load(f) # Retrive all datas X_train, y_train = train['features'], train['labels'] X_valid, y_valid = valid['features'], valid['labels'] X_test, y_test = test['features'], test['labels'] return X_train, y_train, X_valid, y_valid, X_test, y_test ================================================ FILE: floyd_requirements.txt ================================================ docopt ================================================ FILE: floyd_run.txt ================================================ floyd run --gpu --data thibo73800/datasets/trafic_sign/1:/datasets 'python train.py /datasets /output' ================================================ FILE: logger.py ================================================ #!/usr/bin/env python # -*- coding: utf-8 -*- import logging from logging.handlers import RotatingFileHandler logger = logging.getLogger() logger.setLevel(logging.DEBUG) formatter = logging.Formatter('%(asctime)s:: %(levelname)s:: %(message)s') file_handler = RotatingFileHandler('dory_ai.log', 'a', 1000000, 1) file_handler.setLevel(logging.INFO) file_handler.setFormatter(formatter) logger.addHandler(file_handler) stream_handler = logging.StreamHandler() stream_handler.setLevel(logging.DEBUG) logger.addHandler(stream_handler) class Logger(object): def __init__(self, label): super(Logger, self).__init__() self.label = label self.logger = logger def debug(self, string): self.logger.debug("%s::%s" % (self.label, string)) def info(self, string): self.logger.info("%s::%s" % (self.label, string)) def warning(self, string): self.logger.warning("%s::%s" % (self.label, string)) def error(self, string): self.logger.error("%s::%s" % (self.label, string)) def critical(self, string): self.logger.critical("%s::%s" % (self.label, string)) ================================================ FILE: model.py ================================================ #!/usr/bin/python3 # -*- coding: utf-8 -*- import numpy as np from model_base import ModelBase from caps_net import conv_caps_layer, fully_connected_caps_layer import tensorflow as tf class ModelTrafficSign(ModelBase): """ ModelTrafficSign. This class is used to create the conv graph using: Dynamic Routing Between Capsules """ # Numbers of label to predict NB_LABELS = 43 def __init__(self, model_name, output_folder): """ **input: *model_name: (Integer) Name of this model *output_folder: Output folder to saved data (tensorboard, checkpoints) """ ModelBase.__init__(self, model_name, output_folder=output_folder) def _build_inputs(self): """ Build tensorflow inputs (Placeholder) **return: ** *tf_images: Images Placeholder *tf_labels: Labels Placeholder """ # Images 32*32*3 tf_images = tf.placeholder(tf.float32, [None, 32, 32, 3], name='images') # Labels: [0, 1, 6, 20, ...] tf_labels = tf.placeholder(tf.int64, [None], name='labels') return tf_images, tf_labels def _build_main_network(self, images, conv_2_dropout): """ This method is used to create the two convolutions and the CapsNet on the top **input: *images: Image PLaceholder *conv_2_dropout: Dropout value placeholder **return: ** *Caps1: Output of first Capsule layer *Caps2: Output of second Capsule layer """ # First BLock: # Layer 1: Convolution. shape = (self.h.conv_1_size, self.h.conv_1_size, 3, self.h.conv_1_nb) conv1 = self._create_conv(self.tf_images, shape, relu=True, max_pooling=False, padding='VALID') # Layer 2: Convolution. #shape = (self.h.conv_2_size, self.h.conv_2_size, self.h.conv_1_nb, self.h.conv_2_nb) #conv2 = self._create_conv(conv1, shape, relu=True, max_pooling=False, padding='VALID') conv1 = tf.nn.dropout(conv1, keep_prob=conv_2_dropout) # Create the first capsules layer caps1 = conv_caps_layer( input_layer=conv1, capsules_size=self.h.caps_1_vec_len, nb_filters=self.h.caps_1_nb_filter, kernel=self.h.caps_1_size) # Create the second capsules layer used to predict the output caps2 = fully_connected_caps_layer( input_layer=caps1, capsules_size=self.h.caps_2_vec_len, nb_capsules=self.NB_LABELS, iterations=self.h.routing_steps) return caps1, caps2 def _build_decoder(self, caps2, one_hot_labels, batch_size): """ Build the decoder part from the last capsule layer **input: *Caps2: Output of second Capsule layer *one_hot_labels *batch_size """ labels = tf.reshape(one_hot_labels, (-1, self.NB_LABELS, 1)) # squeeze(caps2): [?, len_v_j, capsules_nb] # labels: [?, NB_LABELS, 1] with capsules_nb == NB_LABELS mask = tf.matmul(tf.squeeze(caps2), labels, transpose_a=True) # Select the good capsule vector capsule_vector = tf.reshape(mask, shape=(batch_size, self.h.caps_2_vec_len)) # capsule_vector: [?, len_v_j] # Reconstruct image fc1 = tf.contrib.layers.fully_connected(capsule_vector, num_outputs=400) fc1 = tf.reshape(fc1, shape=(batch_size, 5, 5, 16)) upsample1 = tf.image.resize_nearest_neighbor(fc1, (8, 8)) conv1 = tf.layers.conv2d(upsample1, 4, (3,3), padding='same', activation=tf.nn.relu) upsample2 = tf.image.resize_nearest_neighbor(conv1, (16, 16)) conv2 = tf.layers.conv2d(upsample2, 8, (3,3), padding='same', activation=tf.nn.relu) upsample3 = tf.image.resize_nearest_neighbor(conv2, (32, 32)) conv6 = tf.layers.conv2d(upsample3, 16, (3,3), padding='same', activation=tf.nn.relu) # 3 channel for RGG logits = tf.layers.conv2d(conv6, 3, (3,3), padding='same', activation=None) decoded = tf.nn.sigmoid(logits, name='decoded') tf.summary.image('reconstruction_img', decoded) return decoded def init(self): """ Init the graph """ # Get graph inputs self.tf_images, self.tf_labels = self._build_inputs() # Dropout inputs self.tf_conv_2_dropout = tf.placeholder(tf.float32, shape=(), name='conv_2_dropout') # Dynamic batch size batch_size = tf.shape(self.tf_images)[0] # Translate labels to one hot array one_hot_labels = tf.one_hot(self.tf_labels, depth=self.NB_LABELS) # Create the first convolution and the CapsNet self.tf_caps1, self.tf_caps2 = self._build_main_network(self.tf_images, self.tf_conv_2_dropout) # Build the images reconstruction self.tf_decoded = self._build_decoder(self.tf_caps2, one_hot_labels, batch_size) # Build the loss _loss = self._build_loss( self.tf_caps2, one_hot_labels, self.tf_labels, self.tf_decoded, self.tf_images) (self.tf_loss_squared_rec, self.tf_margin_loss_sum, self.tf_predicted_class, self.tf_correct_prediction, self.tf_accuracy, self.tf_loss, self.tf_margin_loss, self.tf_reconstruction_loss) = _loss # Build optimizer optimizer = tf.train.AdamOptimizer(learning_rate=self.h.learning_rate) self.tf_optimizer = optimizer.minimize(self.tf_loss, global_step=tf.Variable(0, trainable=False)) # Log value into tensorboard tf.summary.scalar('margin_loss', self.tf_margin_loss) tf.summary.scalar('accuracy', self.tf_accuracy) tf.summary.scalar('total_loss', self.tf_loss) tf.summary.scalar('reconstruction_loss', self.tf_reconstruction_loss) self.tf_test = tf.random_uniform([2], minval=0, maxval=None, dtype=tf.float32, seed=None, name="tf_test") self.init_session() def _build_loss(self, caps2, one_hot_labels, labels, decoded, images): """ Build the loss of the graph """ # Get the length of each capsule capsules_length = tf.sqrt(tf.reduce_sum(tf.square(caps2), axis=2, keep_dims=True)) max_l = tf.square(tf.maximum(0., 0.9 - capsules_length)) max_l = tf.reshape(max_l, shape=(-1, self.NB_LABELS)) max_r = tf.square(tf.maximum(0., capsules_length - 0.1)) max_r = tf.reshape(max_r, shape=(-1, self.NB_LABELS)) t_c = one_hot_labels m_loss = t_c * max_l + 0.5 * (1 - t_c) * max_r margin_loss_sum = tf.reduce_sum(m_loss, axis=1) margin_loss = tf.reduce_mean(margin_loss_sum) # Reconstruction loss loss_squared_rec = tf.square(decoded - images) reconstruction_loss = tf.reduce_mean(loss_squared_rec) # 3. Total loss loss = margin_loss + (0.0005 * reconstruction_loss) # Accuracy predicted_class = tf.argmax(capsules_length, axis=1) predicted_class = tf.reshape(predicted_class, [tf.shape(capsules_length)[0]]) correct_prediction = tf.equal(predicted_class, labels) accuracy = tf.reduce_mean(tf.cast(correct_prediction, tf.float32)) return (loss_squared_rec, margin_loss_sum, predicted_class, correct_prediction, accuracy, loss, margin_loss, reconstruction_loss) def optimize(self, images, labels, tb_save=True): """ Train the model **input: ** *images: Image to train the model on *labels: True classes *tb_save: (Boolean) Log this optimization in tensorboard **return: ** Loss: The loss of the model on this batch Acc: Accuracy of the model on this batch """ tensors = [self.tf_optimizer, self.tf_margin_loss, self.tf_accuracy, self.tf_tensorboard] _, loss, acc, summary = self.sess.run(tensors, feed_dict={ self.tf_images: images, self.tf_labels: labels, self.tf_conv_2_dropout: self.h.conv_2_dropout }) if tb_save: # Write data to tensorboard self.train_writer.add_summary(summary, self.train_writer_it) self.train_writer_it += 1 return loss, acc def evaluate(self, images, labels, tb_train_save=False, tb_test_save=False): """ Evaluate dataset **input: ** *images: Image to train the model on *labels: True classes *tb_train_save: (Boolean) Log this optimization in tensorboard under the train part *tb_test_save: (Boolean) Log this optimization in tensorboard under the test part **return: ** Loss: The loss of the model on this batch Acc: Accuracy of the model on this batch """ tensors = [self.tf_margin_loss, self.tf_accuracy, self.tf_tensorboard] loss, acc, summary = self.sess.run(tensors, feed_dict={ self.tf_images: images, self.tf_labels: labels, self.tf_conv_2_dropout: 1. }) if tb_test_save: # Write data to tensorboard self.test_writer.add_summary(summary, self.test_writer_it) self.test_writer_it += 1 if tb_train_save: # Write data to tensorboard self.train_writer.add_summary(summary, self.train_writer_it) self.train_writer_it += 1 return loss, acc def predict(self, images): """ Method used to predict a class Return a softmax **input: ** *images: Image to train the model on **return: *softmax: Softmax between all capsules """ tensors = [self.tf_caps2] caps2 = self.sess.run(tensors, feed_dict={ self.tf_images: images, self.tf_conv_2_dropout: 1. })[0] # tf.sqrt(tf.reduce_sum(tf.square(caps2), axis=2, keep_dims=True)) caps2 = np.sqrt(np.sum(np.square(caps2), axis=2, keepdims=True)) caps2 = np.reshape(caps2, (len(images), self.NB_LABELS)) # softmax softmax = np.exp(caps2) / np.sum(np.exp(caps2), axis=1, keepdims=True) return softmax def reconstruction(self, images, labels): """ Method used to get the reconstructions given a batch Return the result as a softmax **input: ** *images: Image to train the model on *labels: True classes """ tensors = [self.tf_decoded] decoded = self.sess.run(tensors, feed_dict={ self.tf_images: images, self.tf_labels: labels, self.tf_conv_2_dropout: 1. })[0] return decoded def evaluate_dataset(self, images, labels, batch_size=10): """ Evaluate a full dataset This method is used to fully evaluate the dataset batch per batch. Useful when the dataset can't be fit inside to the GPU. *input: ** *images: Image to train the model on *labels: True classes *return: ** *loss: Loss overall your dataset *accuracy: Accuracy overall your dataset *predicted_class: Predicted class """ tensors = [self.tf_loss_squared_rec, self.tf_margin_loss_sum, self.tf_correct_prediction, self.tf_predicted_class] loss_squared_rec_list = None margin_loss_sum_list = None correct_prediction_list = None predicted_class = None b = 0 for batch in self.get_batches([images, labels], batch_size, shuffle=False): images_batch, labels_batch = batch loss_squared_rec, margin_loss_sum, correct_prediction, classes = self.sess.run(tensors, feed_dict={ self.tf_images: images_batch, self.tf_labels: labels_batch, self.tf_conv_2_dropout: 1. }) if loss_squared_rec_list is not None: predicted_class = np.concatenate((predicted_class, classes)) loss_squared_rec_list = np.concatenate((loss_squared_rec_list, loss_squared_rec)) margin_loss_sum_list = np.concatenate((margin_loss_sum_list, margin_loss_sum)) correct_prediction_list = np.concatenate((correct_prediction_list, correct_prediction)) else: predicted_class = classes loss_squared_rec_list = loss_squared_rec margin_loss_sum_list = margin_loss_sum correct_prediction_list = correct_prediction b += batch_size margin_loss = np.mean(margin_loss_sum_list) reconstruction_loss = np.mean(loss_squared_rec_list) accuracy = np.mean(correct_prediction_list) loss = margin_loss return loss, accuracy, predicted_class if __name__ == '__main__': model_traffic_sign = ModelTrafficSign("test", output_folder=None) model_traffic_sign.init() ================================================ FILE: model_base.py ================================================ #!/usr/bin/env python # -*- coding: utf-8 -*- import tensorflow as tf from collections import Counter from utils import Utils as U import json import numpy as np from logger import Logger import time import pickle import os log = Logger("ModelBase") class Hyperparameters(object): """ Simple class used to store Hyperparameters """ def __init__(self): super(Hyperparameters, self).__init__() # List used to store list of hyperparameters name self.hyp_list = [] def set_hyp(self, hyp): """ Method used to store hyperparameters inside this class **input: ** *hyp (Dict) Dictionary storing all hyperparameters values """ for key in hyp: self.hyp_list.append(key) setattr(self, key, hyp[key]) class ModelBase(object): """ Base Model Class """ # Hyp : Hyperparameters DEFAULT_OUTPUT = "outputs" DEFAULT_CHECKPOINT_FOLDER = "checkpoints" def __init__(self, model_name, hyperparameters_name=None, hyperparameters_content=None, output_folder=None): """ **input: *hyperparameters_name: [Optional] (String|None) Path to the hyperparameters file By default: hyperparameters.json *model_name: (Integer) Name of this model """ super(ModelBase, self).__init__() self.current_dir = os.path.dirname(os.path.realpath(__file__)) # Output folder if output_folder is None: self.output_folder = os.path.join( os.path.dirname(os.path.abspath(__file__)), self.DEFAULT_OUTPUT) else: self.output_folder = output_folder hyp_folder = "settings" hyp_filename = "hyperparameters.json" hyp_path = os.path.join(self.current_dir, os.path.join(hyp_folder, hyp_filename)) self.checkpoints_folder = os.path.join(self.output_folder, self.DEFAULT_CHECKPOINT_FOLDER) # Set hyperparameters path if hyperparameters_name is not None: hyp_path = os.path.join( self.current_dir, os.path.join(hyp_folder, hyperparameters_name)) hyp_path = hyp_path if hyperparameters_name is None else hyp_path # Load hyperparameters content if hyperparameters_content is None: hyp_content = U.read_json_file(hyp_path) else: hyp_content = hyperparameters_content # Set hyperparameters self.h = Hyperparameters() self.h.set_hyp(hyp_content) # Set model names self.name = model_name self.model_name = model_name self._set_hyperparameters_name() # Since hyperparameters had changed, we need to set again each name self._set_names() def _create_conv(self, prev, shape, padding='VALID', strides=[1, 1, 1, 1], relu=False, max_pooling=False, mp_ksize=[1, 2, 2, 1], mp_strides=[1, 2, 2, 1]): """ Create a convolutional layer with relu and/mor max pooling(Optional) """ conv_w = tf.Variable(tf.truncated_normal(shape=shape, mean = 0, stddev = 0.1, seed=0)) conv_b = tf.Variable(tf.zeros(shape[-1])) conv = tf.nn.conv2d(prev, conv_w, strides=strides, padding=padding) + conv_b if relu: conv = tf.nn.relu(conv) if max_pooling: conv = tf.nn.max_pool(conv, ksize=mp_ksize, strides=mp_strides, padding='VALID') return conv def _fc(self, prev, input_size, output_size, relu=False, sigmoid=False, no_bias=False, softmax=False): """ Create fully connecter layer with relu(Optional) """ fc_w = tf.Variable( tf.truncated_normal(shape=(input_size, output_size), mean = 0., stddev = 0.1)) fc_b = tf.Variable(tf.zeros(output_size)) pre_activation = tf.matmul(prev, fc_w) activation = None if not no_bias: pre_activation = pre_activation + fc_b if relu: activation = tf.nn.relu(pre_activation) if sigmoid: activation = tf.nn.sigmoid(pre_activation) if softmax: activation = tf.nn.softmax(pre_activation) if activation is None: activation = pre_activation return activation, pre_activation def init_session(self): """ Init tensorflow session A saver property is create at the same time """ # Create session self.saver = tf.train.Saver() self.sess = tf.Session() # Init variables self.sess.run(tf.global_variables_initializer()) # Tensorboard self.tf_tensorboard = tf.summary.merge_all() train_log_name = os.path.join( os.path.join(self.output_folder, "tensorboard"), self.name, self.sub_train_log_name) test_log_name = os.path.join( os.path.join(self.output_folder, "tensorboard"), self.name, self.sub_test_log_name) self.train_writer = tf.summary.FileWriter(train_log_name, self.sess.graph) self.test_writer = tf.summary.FileWriter(test_log_name) self.train_writer_it = 0 self.test_writer_it = 0 # Backup tensors backup_tensors = {} for field in dir(self): if "tf_" in field and field.index("tf_") == 0: backup_tensors[field] = getattr(self, field).name tf.constant(json.dumps(backup_tensors), dtype=tf.string, name="model_base_tensors_backup") # Backup hyperparameters backup_hyp = {} for field in self.h.hyp_list: value = getattr(self.h, field) d_type = tf.int32 if isinstance(value, int) else tf.float32 n_cst = tf.constant(value, dtype=d_type, name="hyp/%s" % field) backup_hyp[field] = n_cst.name tf.constant(json.dumps(backup_hyp), dtype=tf.string, name="model_base_hyp_backup") def get_equal_batches(self, data, labels, batch_size): """ This method will return a generator class which could be used to get new batches with the same number of rows for each class **input:** *batch_size (int) Size of each batch **return (Python Generator of Batch class)** """ labels = np.array(labels) indexs = np.arange(len(data)) np.random.shuffle(indexs) data = data[indexs] labels = labels[indexs] max_size = Counter(labels).most_common()[-1][1] unique_label = np.array(list(set(labels))) nb_classes = len(unique_label) if batch_size > max_size: batch_size = max_size batch_per_class = batch_size // nb_classes iterations = max_size // batch_per_class for it in range(iterations): indexes = [] for label in unique_label: n_indexes = np.where(labels==label)[0][it * batch_per_class: (it + 1) * batch_per_class] n_indexes = n_indexes.tolist() indexes += n_indexes indexes = np.array(indexes) x = data[indexes] y = labels[indexes] yield x, y def get_batches(self, data_list, batch_size, shuffle=True): """ This method will return a generator class which could be used to get new batches. **input:** *batch_size (int) Size of each batch **return (Python Generator of Batch class)** """ if shuffle: indexs = np.arange(len(data_list[0])) np.random.shuffle(indexs) for d, data in enumerate(data_list): data_list[d] = np.array(data_list[d]) data_list[d] = data_list[d][indexs] iterations = len(data_list[0]) // batch_size for iteration in range(iterations): yield (dt[iteration * batch_size: (iteration + 1) * batch_size] for dt in data_list) def save(self, name=None): """ Save the model """ log.info("Saving model ...") if name is None: name = self.model_name if not os.path.exists(self.checkpoints_folder): os.makedirs(self.checkpoints_folder) save_path = self.saver.save( self.sess, os.path.join(self.checkpoints_folder, name)) log.info("Model successfully saved here: %s" % save_path) def _set_hyperparameters_name(self): """ Convert hyperparameters dict to a string This string will be used to set the models names """ # Generate a little name for each hyperparameters hyperparameters_names = [("".join([p[0] for p in hyp.split("_")]), getattr(self.h, hyp)) for hyp in self.h.hyp_list] self.hyperparameters_name = "" for index_hyperparameter, hyperparameter in enumerate(hyperparameters_names): short_name, value = hyperparameter prepend = "" if index_hyperparameter == 0 else "_" self.hyperparameters_name += "%s%s_%s" % (prepend, short_name, value) def _set_names(self): """ Set all model names """ name_time = "%s--%s" % (self.model_name, time.time()) # model_name is used to set the ckpt name self.model_name = "%s--%s" % (self.hyperparameters_name, name_time) # sub_train_log_name is used to set the name of the training part in tensorboard self.sub_train_log_name = "%s-train--%s" % (self.hyperparameters_name, name_time) # sub_test_log_name is used to set the name of the testing part in tensorboard self.sub_test_log_name = "%s-test--%s" % (self.hyperparameters_name, name_time) def dump_batch(self, folder, data): """ Save batches Mainly used for Reinforcement Learning """ folder = os.path.join(os.path.dirname(os.path.abspath(__file__)), folder) # Create folder if not exist if not os.path.exists(folder): os.makedirs(folder) pickle.dump(data, open(os.path.join(folder, str(time.time())), "wb" )) def load(self, ckpt): """ Load a model """ log.info("Loading ckpt ...") #loaded_graph = tf.Graph() #tf.reset_default_graph() #g = tf.Graph() #with g.as_default(): self.sess = tf.Session() # Load the graph loader = tf.train.import_meta_graph(ckpt + '.meta') loader.restore(self.sess, ckpt) g = tf.get_default_graph() # Search for the backup tensor tensor_names = [ n.name for n in g.as_graph_def().node if "model_base_tensors_backup" in n.name] # Search for the backup hyp hyp_names = [ n.name for n in g.as_graph_def().node if "model_base_hyp_backup" in n.name] # Get the tensor string #tensors = g.get_tensor_by_name(names[0]) tensors = g.get_operation_by_name(tensor_names[0]).outputs hyps = g.get_operation_by_name(hyp_names[0]).outputs #self.sess.run(tf.global_variables_initializer()) tensors = self.sess.run(tensors)[0] tensors = json.loads(tensors) for tensor in tensors: try: n_tensor = g.get_tensor_by_name(tensors[tensor]) except Exception as e: n_tensor = g.get_operation_by_name(tensors[tensor]) setattr(self, tensor, n_tensor) hyps = self.sess.run(hyps)[0] hyps = json.loads(hyps) for hyp in hyps: n_hyp = g.get_tensor_by_name(hyps[hyp]) setattr(self.h, hyp, self.sess.run(n_hyp)) log.info("Ckpt ready") # Tensorboard self.tf_tensorboard = tf.summary.merge_all() train_log_name = os.path.join( os.path.join(self.output_folder, "tensorboard"), self.name, self.sub_train_log_name) test_log_name = os.path.join( os.path.join(self.output_folder, "tensorboard"), self.name, self.sub_test_log_name) self.train_writer = tf.summary.FileWriter(train_log_name, self.sess.graph) self.test_writer = tf.summary.FileWriter(test_log_name) self.train_writer_it = 0 self.test_writer_it = 0 self.model_name = ckpt.split("/")[-1] self.saver = tf.train.Saver() if __name__ == '__main__': base_model = BaseModel("test") ================================================ FILE: settings/hyperparameters.json ================================================ { "conv_1_size": 9, "conv_1_nb": 256, "conv_2_size": 6, "conv_2_nb": 64, "conv_2_dropout": 0.7, "caps_1_vec_len": 16, "caps_1_size": 5, "caps_1_nb_filter": 16, "caps_2_vec_len": 32, "learning_rate": 0.0001, "routing_steps": 1 } ================================================ FILE: signnames.csv ================================================ ClassId,SignName 0,Speed limit (20km/h) 1,Speed limit (30km/h) 2,Speed limit (50km/h) 3,Speed limit (60km/h) 4,Speed limit (70km/h) 5,Speed limit (80km/h) 6,End of speed limit (80km/h) 7,Speed limit (100km/h) 8,Speed limit (120km/h) 9,No passing 10,No passing for vehicles over 3.5 metric tons 11,Right-of-way at the next intersection 12,Priority road 13,Yield 14,Stop 15,No vehicles 16,Vehicles over 3.5 metric tons prohibited 17,No entry 18,General caution 19,Dangerous curve to the left 20,Dangerous curve to the right 21,Double curve 22,Bumpy road 23,Slippery road 24,Road narrows on the right 25,Road work 26,Traffic signals 27,Pedestrians 28,Children crossing 29,Bicycles crossing 30,Beware of ice/snow 31,Wild animals crossing 32,End of all speed and passing limits 33,Turn right ahead 34,Turn left ahead 35,Ahead only 36,Go straight or right 37,Go straight or left 38,Keep right 39,Keep left 40,Roundabout mandatory 41,End of no passing 42,End of no passing by vehicles over 3.5 metric tons ================================================ FILE: test.py ================================================ #!/usr/bin/python3 # -*- coding: utf-8 -*- """ Test the model Usage: test.py Options: -h --help Show this help. Dataset folder Path to the checkpoints to restore """ from docopt import docopt import matplotlib.pyplot as plt from sklearn.metrics import confusion_matrix import itertools import tensorflow as tf import numpy as np import random import pickle import os from model import ModelTrafficSign from data_handler import get_data def plot_confusion_matrix(cm, classes, normalize=True, title='Confusion matrix', cmap=plt.cm.Blues): """ This function prints and plots the confusion matrix. Normalization can be applied by setting `normalize=True`. """ if normalize: cm = cm.astype('float') / cm.sum(axis=1)[:, np.newaxis] print("Normalized confusion matrix") else: print('Confusion matrix, without normalization') print(cm) plt.imshow(cm, interpolation='nearest', cmap=cmap) plt.title(title) plt.colorbar() tick_marks = np.arange(len(classes)) plt.xticks(tick_marks, classes, rotation=45) plt.yticks(tick_marks, classes) fmt = '.2f' if normalize else 'd' thresh = cm.max() / 2. for i, j in itertools.product(range(cm.shape[0]), range(cm.shape[1])): plt.text(j, i, format(cm[i, j], fmt), horizontalalignment="center", color="white" if cm[i, j] > thresh else "black") plt.tight_layout() plt.ylabel('True label') plt.xlabel('Predicted label') def test(dataset, ckpt): """ Train the model **input: ** *dataset: (String) Dataset folder to used *ckpt: (String) [Optional] Path to the ckpt file to restore """ # Load name of id with open("signnames.csv", "r") as f: signnames = f.read() id_to_name = { int(line.split(",")[0]):line.split(",")[1] for line in signnames.split("\n")[1:] if len(line) > 0} # Get Test dataset _, _, _, _, X_test, y_test = get_data(dataset) X_test = X_test / 255 model = ModelTrafficSign("TrafficSign", output_folder=None) # Load the model model.load(ckpt) # Evaluate all the dataset loss, acc, predicted_class = model.evaluate_dataset(X_test, y_test) print("Accuracy = ", acc) print("Loss = ", loss) # Get the confusion matrix cnf_matrix = confusion_matrix(y_test, predicted_class) # Plot the confusion matrix plt.figure() plot_confusion_matrix(cnf_matrix, classes=[str(i) for i in range(43)], title='Confusion matrix, without normalization') plt.show() if __name__ == '__main__': arguments = docopt(__doc__) test(arguments[""], arguments[""]) ================================================ FILE: test_web_images.py ================================================ #!/usr/bin/python3 # -*- coding: utf-8 -*- """ Test the model Usage: test.py Options: -h --help Show this help. Dataset folder Path to the checkpoints to restore """ from docopt import docopt import tensorflow as tf import matplotlib.pyplot as plt from PIL import Image import numpy as np import random import pickle import os from model import ModelTrafficSign from data_handler import get_data def test_web_images(dataset, ckpt): """ Test images located into the "from_web" folder. **input: ** *dataset: (String) Dataset folder to used *ckpt: (String) [Optional] Path to the ckpt file to restore """ # Load name of id with open("signnames.csv", "r") as f: signnames = f.read() id_to_name = { int(line.split(",")[0]):line.split(",")[1] for line in signnames.split("\n")[1:] if len(line) > 0} images = [] # Read all image into the folder for filename in os.listdir("from_web"): img = Image.open(os.path.join("from_web", filename)) img = img.resize((32, 32)) img = np.array(img) / 255 images.append(img) # Load the model model = ModelTrafficSign("TrafficSign", output_folder=None) model.load(ckpt) # Get the prediction predictions = model.predict(images) # Plot the result fig, axs = plt.subplots(5, 2, figsize=(10, 25)) axs = axs.ravel() for i in range(10): if i%2 == 0: axs[i].axis('off') axs[i].imshow(images[i // 2]) axs[i].set_title("Prediction: %s" % id_to_name[np.argmax(predictions[i // 2])]) else: axs[i].bar(np.arange(43), predictions[i // 2]) axs[i].set_ylabel("Softmax") axs[i].set_xlabel("Labels") plt.show() if __name__ == '__main__': arguments = docopt(__doc__) test_web_images(arguments[""], arguments[""]) ================================================ FILE: train.py ================================================ #!/usr/bin/python3 # -*- coding: utf-8 -*- """ Train the model. Usage: train.py [] [--ckpt=] Options: -h --help Show this help. Dataset folder Ouput folder. By default: ./outputs/ Path to the checkpoints to restore """ from keras.preprocessing.image import ImageDataGenerator from PIL import Image from PIL import Image, ImageEnhance from docopt import docopt import tensorflow as tf import numpy as np import random import pickle import os from model import ModelTrafficSign from data_handler import get_data BATCH_SIZE = 50 DATASET_FOLDER = "dataset/" def train(dataset, ckpt=None, output=None): """ Train the model **input: ** *dataset: (String) Dataset folder to used *ckpt: (String) [Optional] Path to the ckpt file to restore *output: (String) [Optional] Path to the output folder to used. ./outputs/ by default """ def preprocessing_function(img): """ Custom preprocessing_function """ img = img * 255 img = Image.fromarray(img.astype('uint8'), 'RGB') img = ImageEnhance.Brightness(img).enhance(random.uniform(0.6, 1.5)) img = ImageEnhance.Contrast(img).enhance(random.uniform(0.6, 1.5)) return np.array(img) / 255 X_train, y_train, X_valid, y_valid, X_test, y_test = get_data(dataset) X_train = X_train / 255 X_valid = X_valid / 255 X_test = X_test / 255 train_datagen = ImageDataGenerator() train_datagen_augmented = ImageDataGenerator( rotation_range=20, shear_range=0.2, width_shift_range=0.2, height_shift_range=0.2, horizontal_flip=True, preprocessing_function=preprocessing_function) inference_datagen = ImageDataGenerator() train_datagen.fit(X_train) train_datagen_augmented.fit(X_train) inference_datagen.fit(X_valid) inference_datagen.fit(X_test) # Utils method to print the current progression def plot_progression(b, cost, acc, label): print( "[%s] Batch ID = %s, loss = %s, acc = %s" % (label, b, cost, acc)) # Init model model = ModelTrafficSign("TrafficSign", output_folder=output) if ckpt is None: model.init() else: model.load(ckpt) # Training pipeline b = 0 valid_batch = inference_datagen.flow(X_valid, y_valid, batch_size=BATCH_SIZE) best_validation_loss = None augmented_factor = 0.99 decrease_factor = 0.80 train_batches = train_datagen.flow(X_train, y_train, batch_size=BATCH_SIZE) augmented_train_batches = train_datagen_augmented.flow(X_train, y_train, batch_size=BATCH_SIZE) while True: next_batch = next( augmented_train_batches if random.uniform(0, 1) < augmented_factor else train_batches) x_batch, y_batch = next_batch ### Training cost, acc = model.optimize(x_batch, y_batch) ### Validation x_batch, y_batch = next(valid_batch, None) # Retrieve the cost and acc on this validation batch and save it in tensorboard cost_val, acc_val = model.evaluate(x_batch, y_batch, tb_test_save=True) if b % 10 == 0: # Plot the last results plot_progression(b, cost, acc, "Train") plot_progression(b, cost_val, acc_val, "Validation") if b % 1000 == 0: # Test the model on all the validation print("Evaluate full validation dataset ...") loss, acc, _ = model.evaluate_dataset(X_valid, y_valid) print("Current loss: %s Best loss: %s" % (loss, best_validation_loss)) plot_progression(b, loss, acc, "TOTAL Validation") if best_validation_loss is None or loss < best_validation_loss: best_validation_loss = loss model.save() augmented_factor = augmented_factor * decrease_factor print("Augmented Factor = %s" % augmented_factor) b += 1 if __name__ == '__main__': arguments = docopt(__doc__) train(arguments[""], arguments["--ckpt"], arguments[""]) ================================================ FILE: utils.py ================================================ # coding: utf-8 import numpy as np import json import sys import os class Utils(object): """ Util class to store all common method use in this project """ def __init__(self, arg): super(Utils, self).__init__() @staticmethod def progress(count, total, suffix=''): """ Utils method to display a progress bar **input: ** *count: current progression *total: Max progress bar length """ bar_len = 60 filled_len = int(round(bar_len * count / float(total))) percents = round(100.0 * count / float(total), 1) bar = '=' * filled_len + '-' * (bar_len - filled_len) sys.stdout.write('[%s] %s%s ...%s\r' % (bar, percents, '%', suffix)) sys.stdout.flush() @staticmethod def read_json_file(path): """ Utils method to open, read and return a json file content **input: ** *path: (String) Path to the json file to read """ with open(path, "r") as f: json_content = json.loads(f.read()) return json_content