├── ZMQVideoInput
├── addons.make
├── bin
│ └── data
│ │ └── settings.xml
└── src
│ └── main.cpp
├── .gitignore
├── utils
├── __init__.py
├── list_all_files.py
├── crop_and_resize.py
├── show_array.py
└── make_mosaic.py
├── readme.md
├── license.md
├── 3 Evaluation.ipynb
├── 1 Dataset Preparation.ipynb
└── 2 Training.ipynb
/ZMQVideoInput/addons.make:
--------------------------------------------------------------------------------
1 | ofxZmq
2 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | .*
2 | *.pyc
3 | *.json
4 | *.npy
5 | *.h5
6 | SMILEsmileD-master
7 | !.gitignore
--------------------------------------------------------------------------------
/utils/__init__.py:
--------------------------------------------------------------------------------
1 | from list_all_files import list_all_files
2 | from show_array import show_array
3 | from make_mosaic import make_mosaic
4 | from crop_and_resize import crop_and_resize
--------------------------------------------------------------------------------
/ZMQVideoInput/bin/data/settings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 640
4 | 480
5 |
6 |
13 |
14 | tcp://*:14000
15 |
16 |
--------------------------------------------------------------------------------
/utils/list_all_files.py:
--------------------------------------------------------------------------------
1 | import os
2 | import fnmatch
3 |
4 | def list_all_files(directory, extensions=None):
5 | for root, dirnames, filenames in os.walk(directory):
6 | for filename in filenames:
7 | base, ext = os.path.splitext(filename)
8 | joined = os.path.join(root, filename)
9 | if extensions is None or ext.lower() in extensions:
10 | yield joined
--------------------------------------------------------------------------------
/utils/crop_and_resize.py:
--------------------------------------------------------------------------------
1 | import numpy as np
2 | from skimage.measure import block_reduce
3 |
4 | def crop_and_resize(img, target_size=32, zoom=1):
5 | small_side = int(np.min(img.shape) * zoom)
6 | reduce_factor = small_side / target_size
7 | crop_size = target_size * reduce_factor
8 | mid = np.array(img.shape) / 2
9 | half_crop = crop_size / 2
10 | center = img[mid[0]-half_crop:mid[0]+half_crop,
11 | mid[1]-half_crop:mid[1]+half_crop]
12 | return block_reduce(center, (reduce_factor, reduce_factor), np.mean)
--------------------------------------------------------------------------------
/readme.md:
--------------------------------------------------------------------------------
1 | # SmileCNN
2 |
3 | Smile Detection with a Deep Convolutional Neural Net using [Keras](http://keras.io).
4 |
5 | This example is based on the `mnist_cnn.py` example, running at 32x32 instead of 28x28.
6 |
7 | To compile the ZMQVideoInput app, [openFrameworks](http://openframeworks.cc) is required.
8 |
9 | If you want to run the realtime capture with OpenCV and you're using OS X, I recommend using Python via [Anaconda](https://www.continuum.io/downloads) and installing OpenCV with:
10 |
11 | ```
12 | conda install -c https://conda.anaconda.org/menpo opencv3
13 | ```
--------------------------------------------------------------------------------
/utils/show_array.py:
--------------------------------------------------------------------------------
1 | from cStringIO import StringIO
2 | import numpy as np
3 | import PIL.Image
4 | import IPython.display
5 | import shutil
6 |
7 | def show_array(a, fmt='png', filename=None):
8 | a = np.squeeze(a)
9 | a = np.uint8(np.clip(a, 0, 255))
10 | image_data = StringIO()
11 | PIL.Image.fromarray(a).save(image_data, fmt)
12 | if filename is None:
13 | IPython.display.display(IPython.display.Image(data=image_data.getvalue()))
14 | else:
15 | with open(filename, 'w') as f:
16 | image_data.seek(0)
17 | shutil.copyfileobj(image_data, f)
--------------------------------------------------------------------------------
/license.md:
--------------------------------------------------------------------------------
1 | The code in this repository is available under the [MIT License](https://secure.wikimedia.org/wikipedia/en/wiki/Mit_license).
2 |
3 | Copyright (c) 2016- Kyle McDonald
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
6 |
7 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
8 |
9 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
--------------------------------------------------------------------------------
/utils/make_mosaic.py:
--------------------------------------------------------------------------------
1 | import numpy as np
2 | import math
3 |
4 | def find_rectangle(n, max_ratio=2):
5 | sides = []
6 | square = int(math.sqrt(n))
7 | for w in range(square, max_ratio * square):
8 | h = n / w
9 | used = w * h
10 | leftover = n - used
11 | sides.append((leftover, (w, h)))
12 | return sorted(sides)[0][1]
13 |
14 | # should work for 1d and 2d images, assumes images are square but can be overriden
15 | def make_mosaic(images, n=None, nx=None, ny=None, w=None, h=None):
16 | if n is None and nx is None and ny is None:
17 | nx, ny = find_rectangle(len(images))
18 | else:
19 | nx = n if nx is None else nx
20 | ny = n if ny is None else ny
21 | images = np.array(images)
22 | if images.ndim == 2:
23 | side = int(np.sqrt(len(images[0])))
24 | h = side if h is None else h
25 | w = side if w is None else w
26 | images = images.reshape(-1, h, w)
27 | else:
28 | h = images.shape[1]
29 | w = images.shape[2]
30 | image_gen = iter(images)
31 | mosaic = np.empty((h*ny, w*nx))
32 | for i in range(ny):
33 | ia = (i)*h
34 | ib = (i+1)*h
35 | for j in range(nx):
36 | ja = j*w
37 | jb = (j+1)*w
38 | mosaic[ia:ib, ja:jb] = next(image_gen)
39 | return mosaic
--------------------------------------------------------------------------------
/ZMQVideoInput/src/main.cpp:
--------------------------------------------------------------------------------
1 | #include "ofMain.h"
2 | #include "ofxZmq.h"
3 |
4 | // assumes linear gamma
5 | ofColor getAverage(const ofPixels& pix, int x, int y, int w, int h) {
6 | float r = 0, g = 0, b = 0;
7 | for(int j = y; j < y + h; j++) {
8 | for(int i = x; i < x + w; i++) {
9 | const ofColor& cur = pix.getColor(i, j);
10 | r += cur.r;
11 | g += cur.g;
12 | b += cur.b;
13 | }
14 | }
15 | float n = w * h;
16 | return ofColor(r / n, g / n, b / n);
17 | }
18 |
19 | ofRectangle getCenterRectangle(const ofImage& img) {
20 | int width = img.getWidth(), height = img.getHeight();
21 | int side = MIN(width, height);
22 | ofRectangle crop;
23 | crop.setFromCenter(width / 2, height / 2, side, side);
24 | return crop;
25 | }
26 |
27 | void getCenterSquare(const ofPixels& img, int w, int h, ofImage& out, float zoom=1, ofImageType imageType=OF_IMAGE_COLOR) {
28 | ofRectangle box = getCenterRectangle(img);
29 | box.scaleFromCenter(1 / zoom);
30 | out.allocate(w, h, imageType);
31 | int sw = box.getWidth() / w;
32 | int sh = box.getHeight() / h;
33 | for(int y = 0; y < h; y++) {
34 | float sy = ofMap(y, 0, w, box.getTop(), box.getBottom());
35 | for(int x = 0; x < w; x++) {
36 | float sx = ofMap(x, 0, w, box.getLeft(), box.getRight());
37 | ofColor avg = getAverage(img, sx, sy, sw, sh);
38 | if(imageType == OF_IMAGE_GRAYSCALE) {
39 | avg = ofColor(avg.getBrightness());
40 | }
41 | out.setColor(x, y, avg);
42 | }
43 | }
44 | }
45 |
46 | class ofApp : public ofBaseApp {
47 | public:
48 | private:
49 | ofxZmqPublisher pub;
50 | ofVideoGrabber grabber;
51 | ofImage center;
52 | ofXml settings;
53 |
54 | void setup() {
55 | ofSetFrameRate(60);
56 | ofBackground(0);
57 | settings.load("settings.xml");
58 | grabber.setup(settings.getIntValue("camera/width"), settings.getIntValue("camera/height"));
59 | pub.bind(settings.getValue("zmq/address"));
60 | pub.setHighWaterMark(2);
61 | }
62 | void update() {
63 | grabber.update();
64 | if(grabber.isFrameNew()) {
65 | float zoom = settings.getFloatValue("output/zoom");
66 | int w = settings.getIntValue("output/width");
67 | int h = settings.getIntValue("output/height");
68 | bool color = settings.getBoolValue("output/color");
69 | getCenterSquare(grabber.getPixels(), w, h, center, zoom, color ? OF_IMAGE_COLOR : OF_IMAGE_GRAYSCALE);
70 | if(settings.getBoolValue("output/flip")) {
71 | center.mirror(0, 1);
72 | }
73 | pub.send(center.getPixels().getData(), (color ? 3 : 1) * w * h * sizeof(unsigned char));
74 | center.update();
75 | }
76 | }
77 | void draw() {
78 | if(center.getTexture().isAllocated()) {
79 | center.getTexture().setTextureMinMagFilter(GL_NEAREST, GL_NEAREST);
80 | center.draw(0, 0, ofGetWidth(), ofGetWidth());
81 | }
82 | }
83 | };
84 |
85 | int main() {
86 | ofSetupOpenGL(480, 480, OF_WINDOW);
87 | ofRunApp(new ofApp());
88 | }
89 |
--------------------------------------------------------------------------------
/3 Evaluation.ipynb:
--------------------------------------------------------------------------------
1 | {
2 | "cells": [
3 | {
4 | "cell_type": "markdown",
5 | "metadata": {},
6 | "source": [
7 | "Now we load the model we trained in the last step. If you're using a GPU, this will start it up, which can takeup to **10 seconds**. If you're using a GPU with less memory like the 750M, make sure to close the previous notebook or you will run out of GPU memory."
8 | ]
9 | },
10 | {
11 | "cell_type": "code",
12 | "execution_count": 1,
13 | "metadata": {
14 | "collapsed": false
15 | },
16 | "outputs": [
17 | {
18 | "name": "stderr",
19 | "output_type": "stream",
20 | "text": [
21 | "Using TensorFlow backend.\n"
22 | ]
23 | }
24 | ],
25 | "source": [
26 | "import keras\n",
27 | "from keras.models import model_from_json\n",
28 | "model = model_from_json(open('model.json').read())\n",
29 | "model.load_weights('weights.h5')"
30 | ]
31 | },
32 | {
33 | "cell_type": "markdown",
34 | "metadata": {},
35 | "source": [
36 | "Let's test the model by defining a function that evaluates a single image and prints a corresponding indicator."
37 | ]
38 | },
39 | {
40 | "cell_type": "code",
41 | "execution_count": 2,
42 | "metadata": {
43 | "collapsed": false
44 | },
45 | "outputs": [],
46 | "source": [
47 | "import numpy as np\n",
48 | "def print_indicator(data, model, class_names, bar_width=50):\n",
49 | " probabilities = model.predict(np.array([data]))[0]\n",
50 | " print(probabilities)\n",
51 | " left_count = int(probabilities[1] * bar_width)\n",
52 | " right_count = bar_width - left_count\n",
53 | " left_side = '-' * left_count\n",
54 | " right_side = '-' * right_count\n",
55 | " print class_names[0], left_side + '###' + right_side, class_names[1]"
56 | ]
57 | },
58 | {
59 | "cell_type": "markdown",
60 | "metadata": {},
61 | "source": [
62 | "We'll test it on one image from our data set."
63 | ]
64 | },
65 | {
66 | "cell_type": "code",
67 | "execution_count": 3,
68 | "metadata": {
69 | "collapsed": false
70 | },
71 | "outputs": [
72 | {
73 | "data": {
74 | "image/png": "iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAAAAABWESUoAAACzklEQVR4nAXBW5LTRhQA0PvqbsmW\n7BkMhBBqWAHrzZ6ygVQ+qKQqBGY8DNiSLPXr9s05+Pvo2TELBmHBZpqgZMu322f/hqa3C9UEAIQG\ngNSKqRIioqZoz5ksolgxZkYkaMUaViOyy/M13lKaPd6CALIjBS0qnjypWP7x7SfsjnpJimsQg9Ly\nmtOW/XC676GCJbtj2ta43IFW4XhjRuh9sbLsfceW1xS3ZYtte3VqUXKUQZh1rbXGbU9o8+PTswYs\n5/b4a1Ypoc/nackugHQ0Ok+ruQPtOnx/Y+2vsu8v3z4vNr5/l6Hj6I3k1HGgSJx/LLsXgfUWhw9u\nf3J24i121ML9nQfLYBi+7kV2tH/XkDy3EGqoqsI9MopWy4PUUbzfaWlIRAwIBkrAiGzMQO3+ZRBi\nDk2BkE3BVD0JkbXmCakezyqAZiCEZg0QtPVg1oiZkSCM9y9SAhIgMChRytQygCJUNiLjMP4ryXtG\ndGDeSlJ/i52PpDZbCGwmJtW0CTOWbc0LH3gbGVYTus7dDs2qlNRVM4Plqq4tEzRX663nAefYxLZF\ntpCwaYyXNoYQrltcx/1dr9jhFNkmkpoiK9Q5jR3iEMqyyb5jawBu9TV10nJmslJCV4SbhCOZ5es8\nXY8fXH9FFsJCYtWFLWoxcb0vW+H16fxp6MuMQRyhC17T9y+Fd2OUSP5tv7M/4CG4rXIQEXFhB3nq\nHl6HUwsjxVDzP5eHI5RqCtKYq5oMH/fgZOUxu7ZOT+c3vzDkrHMvsTMy9eQPl69lCC9NskWUQ69Y\n02U6UdqalZSNwvHAl+9T444djwfXIJXn3MnsxWE2FOYBl1y1oPXBM1gt26NDiVtISFrISIIDdsLE\niFBlK1/m30SGqwMMLSE0L5k7T2QNoLGW89+xI3l9uVaU0FCUwDGzQEJAxPTzz+gAJHz8b0rtlSRx\nFqCSKBIAYZ7+Wit5/B+h5s6wCXMRIQAAAABJRU5ErkJggg==\n",
75 | "text/plain": [
76 | ""
77 | ]
78 | },
79 | "metadata": {},
80 | "output_type": "display_data"
81 | },
82 | {
83 | "name": "stdout",
84 | "output_type": "stream",
85 | "text": [
86 | "[ 0.0868205 0.91317958]\n",
87 | "Neutral ---------------------------------------------###----- Smiling\n"
88 | ]
89 | }
90 | ],
91 | "source": [
92 | "from utils import show_array\n",
93 | "X = np.load('X.npy')\n",
94 | "class_names = ['Neutral', 'Smiling']\n",
95 | "img = X[-7]\n",
96 | "show_array(255 * img)\n",
97 | "print_indicator(img, model, class_names)"
98 | ]
99 | },
100 | {
101 | "cell_type": "markdown",
102 | "metadata": {},
103 | "source": [
104 | "Now let's try it in realtime. One way to do this is to use OpenCV for video capture, then crop and resize every frame and process it."
105 | ]
106 | },
107 | {
108 | "cell_type": "code",
109 | "execution_count": null,
110 | "metadata": {
111 | "collapsed": false,
112 | "scrolled": false
113 | },
114 | "outputs": [],
115 | "source": [
116 | "from IPython.display import clear_output\n",
117 | "from utils import crop_and_resize\n",
118 | "import cv2\n",
119 | "\n",
120 | "video_capture = cv2.VideoCapture(0)\n",
121 | "try:\n",
122 | " while True:\n",
123 | " ret, frame = video_capture.read()\n",
124 | " gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)\n",
125 | " data = crop_and_resize(gray, 32, zoom=0.6)\n",
126 | "# show_array(data)\n",
127 | " data = data.astype(np.float) / 255.\n",
128 | " print_indicator(data, model, class_names)\n",
129 | " clear_output(wait=True)\n",
130 | "except KeyboardInterrupt:\n",
131 | " pass\n",
132 | "video_capture.release()"
133 | ]
134 | },
135 | {
136 | "cell_type": "markdown",
137 | "metadata": {},
138 | "source": [
139 | "Alternatively, we can wait for video input with zmq, processing one frame every `display_rate` seconds. This should be running at the same time as the `ZMQVideoInput` app."
140 | ]
141 | },
142 | {
143 | "cell_type": "code",
144 | "execution_count": null,
145 | "metadata": {
146 | "collapsed": false
147 | },
148 | "outputs": [],
149 | "source": [
150 | "from IPython.display import clear_output\n",
151 | "from time import time\n",
152 | "import zmq\n",
153 | "\n",
154 | "display_rate = 1./10\n",
155 | "addr = 'tcp://localhost:14000'\n",
156 | "\n",
157 | "img_rows, img_cols = model.input_shape[1:]\n",
158 | "\n",
159 | "context = zmq.Context()\n",
160 | "subs = context.socket(zmq.SUB)\n",
161 | "subs.setsockopt(zmq.SUBSCRIBE, '')\n",
162 | "subs.connect(addr)\n",
163 | "start = time()\n",
164 | "previous = 0\n",
165 | "try:\n",
166 | " while True:\n",
167 | " raw = subs.recv()\n",
168 | " duration = (time() - start) % display_rate\n",
169 | " if duration < previous:\n",
170 | " data = np.fromstring(raw, dtype=np.uint8).reshape(img_rows, img_cols)\n",
171 | "# show_array(data) # uncomment this to see the image\n",
172 | " data = data.astype(np.float) / 255.\n",
173 | " print_indicator(data, model, class_names)\n",
174 | " clear_output(wait=True)\n",
175 | " previous = duration\n",
176 | "except KeyboardInterrupt:\n",
177 | " pass"
178 | ]
179 | }
180 | ],
181 | "metadata": {
182 | "kernelspec": {
183 | "display_name": "Python 2",
184 | "language": "python",
185 | "name": "python2"
186 | },
187 | "language_info": {
188 | "codemirror_mode": {
189 | "name": "ipython",
190 | "version": 2
191 | },
192 | "file_extension": ".py",
193 | "mimetype": "text/x-python",
194 | "name": "python",
195 | "nbconvert_exporter": "python",
196 | "pygments_lexer": "ipython2",
197 | "version": "2.7.13"
198 | }
199 | },
200 | "nbformat": 4,
201 | "nbformat_minor": 0
202 | }
203 |
--------------------------------------------------------------------------------
/1 Dataset Preparation.ipynb:
--------------------------------------------------------------------------------
1 | {
2 | "cells": [
3 | {
4 | "cell_type": "markdown",
5 | "metadata": {},
6 | "source": [
7 | "Before we train a model, we need to prepare the dataset.\n",
8 | "\n",
9 | "First we download nearly 40MB examples of neutral and smiling faces."
10 | ]
11 | },
12 | {
13 | "cell_type": "code",
14 | "execution_count": 1,
15 | "metadata": {
16 | "collapsed": false
17 | },
18 | "outputs": [
19 | {
20 | "name": "stdout",
21 | "output_type": "stream",
22 | "text": [
23 | " % Total % Received % Xferd Average Speed Time Time Time Current\n",
24 | " Dload Upload Total Spent Left Speed\n",
25 | "100 122 0 122 0 0 348 0 --:--:-- --:--:-- --:--:-- 357\n",
26 | "100 39.6M 0 39.6M 0 0 5307k 0 --:--:-- 0:00:07 --:--:-- 6287k\n"
27 | ]
28 | }
29 | ],
30 | "source": [
31 | "!curl -L -O https://github.com/hromi/SMILEsmileD/archive/master.zip\n",
32 | "!unzip -q master.zip\n",
33 | "!rm master.zip"
34 | ]
35 | },
36 | {
37 | "cell_type": "markdown",
38 | "metadata": {},
39 | "source": [
40 | "Then we list all the image files, and create a big list of examples as `(path, class)` tuples."
41 | ]
42 | },
43 | {
44 | "cell_type": "code",
45 | "execution_count": 1,
46 | "metadata": {
47 | "collapsed": false
48 | },
49 | "outputs": [
50 | {
51 | "name": "stdout",
52 | "output_type": "stream",
53 | "text": [
54 | "loaded 9475 negative examples\n",
55 | "loaded 3690 positive examples\n"
56 | ]
57 | }
58 | ],
59 | "source": [
60 | "from utils import list_all_files\n",
61 | "negative_paths = list(list_all_files('SMILEsmileD-master/SMILEs/negatives/negatives7/', ['.jpg']))\n",
62 | "print 'loaded', len(negative_paths), 'negative examples'\n",
63 | "positive_paths = list(list_all_files('SMILEsmileD-master/SMILEs/positives/positives7/', ['.jpg']))\n",
64 | "print 'loaded', len(positive_paths), 'positive examples'\n",
65 | "examples = [(path, 0) for path in negative_paths] + [(path, 1) for path in positive_paths]"
66 | ]
67 | },
68 | {
69 | "cell_type": "markdown",
70 | "metadata": {},
71 | "source": [
72 | "For each path, we will load the image with `imread` and resize from 64x64 to 32x32 with `block_reduce`. This can take up to **10 seconds**."
73 | ]
74 | },
75 | {
76 | "cell_type": "code",
77 | "execution_count": 2,
78 | "metadata": {
79 | "collapsed": false
80 | },
81 | "outputs": [
82 | {
83 | "name": "stdout",
84 | "output_type": "stream",
85 | "text": [
86 | "CPU times: user 6.77 s, sys: 1.93 s, total: 8.7 s\n",
87 | "Wall time: 10.2 s\n"
88 | ]
89 | }
90 | ],
91 | "source": [
92 | "import numpy as np\n",
93 | "from skimage.measure import block_reduce\n",
94 | "from skimage.io import imread\n",
95 | "\n",
96 | "def examples_to_dataset(examples, block_size=2):\n",
97 | " X = []\n",
98 | " y = []\n",
99 | " for path, label in examples:\n",
100 | " img = imread(path, as_grey=True)\n",
101 | " img = block_reduce(img, block_size=(block_size, block_size), func=np.mean)\n",
102 | " X.append(img)\n",
103 | " y.append(label)\n",
104 | " return np.asarray(X), np.asarray(y)\n",
105 | "\n",
106 | "%time X, y = examples_to_dataset(examples)"
107 | ]
108 | },
109 | {
110 | "cell_type": "markdown",
111 | "metadata": {},
112 | "source": [
113 | "Then we turn `X` and `y` into numpy arrays and coerce them into the right shape and range."
114 | ]
115 | },
116 | {
117 | "cell_type": "code",
118 | "execution_count": 3,
119 | "metadata": {
120 | "collapsed": false
121 | },
122 | "outputs": [
123 | {
124 | "name": "stdout",
125 | "output_type": "stream",
126 | "text": [
127 | "float32 0.0 1.0 (13165, 32, 32)\n",
128 | "int32 0 1 (13165,)\n"
129 | ]
130 | }
131 | ],
132 | "source": [
133 | "X = X.astype(np.float32) / 255.\n",
134 | "y = y.astype(np.int32)\n",
135 | "print X.dtype, X.min(), X.max(), X.shape\n",
136 | "print y.dtype, y.min(), y.max(), y.shape"
137 | ]
138 | },
139 | {
140 | "cell_type": "markdown",
141 | "metadata": {},
142 | "source": [
143 | "Let's take a look at a few of the images."
144 | ]
145 | },
146 | {
147 | "cell_type": "code",
148 | "execution_count": 4,
149 | "metadata": {
150 | "collapsed": false
151 | },
152 | "outputs": [
153 | {
154 | "data": {
155 | "image/jpeg": "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\nOrHpVrTLCW8lLt9w4DNjt6Cv/9k=\n",
156 | "text/plain": [
157 | ""
158 | ]
159 | },
160 | "metadata": {},
161 | "output_type": "display_data"
162 | },
163 | {
164 | "data": {
165 | "image/jpeg": "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\nV8ADkDsDX//Z\n",
166 | "text/plain": [
167 | ""
168 | ]
169 | },
170 | "metadata": {},
171 | "output_type": "display_data"
172 | }
173 | ],
174 | "source": [
175 | "from utils import make_mosaic, show_array\n",
176 | "show_array(255 * make_mosaic(X[:len(negative_paths)], 8), fmt='jpeg') # negative at the beginning\n",
177 | "show_array(255 * make_mosaic(X[-len(positive_paths):], 8), fmt='jpeg') # positive at the end"
178 | ]
179 | },
180 | {
181 | "cell_type": "markdown",
182 | "metadata": {},
183 | "source": [
184 | "Now we save the data to disk for so we can load it quickly when working with it later. Keras likes to use data in the (rows, cols, channels) format so we make a small change to the images before saving them."
185 | ]
186 | },
187 | {
188 | "cell_type": "code",
189 | "execution_count": 5,
190 | "metadata": {
191 | "collapsed": true
192 | },
193 | "outputs": [],
194 | "source": [
195 | "X = np.expand_dims(X, axis=-1)\n",
196 | "np.save('X.npy', X)\n",
197 | "np.save('y.npy', y)"
198 | ]
199 | }
200 | ],
201 | "metadata": {
202 | "kernelspec": {
203 | "display_name": "Python 2",
204 | "language": "python",
205 | "name": "python2"
206 | },
207 | "language_info": {
208 | "codemirror_mode": {
209 | "name": "ipython",
210 | "version": 2
211 | },
212 | "file_extension": ".py",
213 | "mimetype": "text/x-python",
214 | "name": "python",
215 | "nbconvert_exporter": "python",
216 | "pygments_lexer": "ipython2",
217 | "version": "2.7.13"
218 | }
219 | },
220 | "nbformat": 4,
221 | "nbformat_minor": 0
222 | }
223 |
--------------------------------------------------------------------------------
/2 Training.ipynb:
--------------------------------------------------------------------------------
1 | {
2 | "cells": [
3 | {
4 | "cell_type": "markdown",
5 | "metadata": {},
6 | "source": [
7 | "For this step we're going to use Keras. This will also start up your GPU if you're using one, which can take up to **10 seconds**."
8 | ]
9 | },
10 | {
11 | "cell_type": "code",
12 | "execution_count": 1,
13 | "metadata": {
14 | "collapsed": false
15 | },
16 | "outputs": [
17 | {
18 | "name": "stderr",
19 | "output_type": "stream",
20 | "text": [
21 | "Using TensorFlow backend.\n"
22 | ]
23 | }
24 | ],
25 | "source": [
26 | "import numpy as np\n",
27 | "from keras.models import Sequential\n",
28 | "from keras.layers.core import Dense, Dropout, Flatten, Reshape\n",
29 | "from keras.layers.convolutional import Conv2D, MaxPooling2D\n",
30 | "from keras.utils import np_utils"
31 | ]
32 | },
33 | {
34 | "cell_type": "markdown",
35 | "metadata": {},
36 | "source": [
37 | "Now let's load the data, and convert the labels to categories. So `0` becomes `[1, 0]` and `1` becomes `[0, 1]`. This makes it easy to add more classes later (like \"angry\", \"sad\", etc.) and interpret the predictions as probabilities. We do this after loading the file instead of before saving to avoid having a big labels file on disk.\n",
38 | "\n",
39 | "Then we shuffle all the examples to make sure we don't hold out only one class for validation. And finally we count up how many instances there are of each class to make ensure that we put more emphasis on the rarer ones during training."
40 | ]
41 | },
42 | {
43 | "cell_type": "code",
44 | "execution_count": 2,
45 | "metadata": {
46 | "collapsed": false
47 | },
48 | "outputs": [
49 | {
50 | "name": "stdout",
51 | "output_type": "stream",
52 | "text": [
53 | "float32 0.0 1.0 (13165, 32, 32, 1)\n",
54 | "float32 0.0 1.0 (13165, 2)\n"
55 | ]
56 | }
57 | ],
58 | "source": [
59 | "# load the data\n",
60 | "X = np.load('X.npy')\n",
61 | "y = np.load('y.npy')\n",
62 | "\n",
63 | "# convert classes to vector\n",
64 | "nb_classes = 2\n",
65 | "y = np_utils.to_categorical(y, nb_classes).astype(np.float32)\n",
66 | "\n",
67 | "# shuffle all the data\n",
68 | "indices = np.arange(len(X))\n",
69 | "np.random.shuffle(indices)\n",
70 | "X = X[indices]\n",
71 | "y = y[indices]\n",
72 | "\n",
73 | "# prepare weighting for classes since they're unbalanced\n",
74 | "class_totals = y.sum(axis=0)\n",
75 | "class_weight = class_totals.max() / class_totals\n",
76 | "\n",
77 | "print X.dtype, X.min(), X.max(), X.shape\n",
78 | "print y.dtype, y.min(), y.max(), y.shape"
79 | ]
80 | },
81 | {
82 | "cell_type": "markdown",
83 | "metadata": {},
84 | "source": [
85 | "Now we set up our network. It is based on the Keras `mnist_cnn.py` example, following in the footsteps of VGG net by using small 3x3 convolutions with max pooling, and a final stage of multiple dense layers."
86 | ]
87 | },
88 | {
89 | "cell_type": "code",
90 | "execution_count": 3,
91 | "metadata": {
92 | "collapsed": false,
93 | "scrolled": false
94 | },
95 | "outputs": [
96 | {
97 | "name": "stdout",
98 | "output_type": "stream",
99 | "text": [
100 | "_________________________________________________________________\n",
101 | "Layer (type) Output Shape Param # \n",
102 | "=================================================================\n",
103 | "conv2d_1 (Conv2D) (None, 30, 30, 32) 320 \n",
104 | "_________________________________________________________________\n",
105 | "conv2d_2 (Conv2D) (None, 28, 28, 32) 9248 \n",
106 | "_________________________________________________________________\n",
107 | "max_pooling2d_1 (MaxPooling2 (None, 14, 14, 32) 0 \n",
108 | "_________________________________________________________________\n",
109 | "dropout_1 (Dropout) (None, 14, 14, 32) 0 \n",
110 | "_________________________________________________________________\n",
111 | "flatten_1 (Flatten) (None, 6272) 0 \n",
112 | "_________________________________________________________________\n",
113 | "dense_1 (Dense) (None, 128) 802944 \n",
114 | "_________________________________________________________________\n",
115 | "dropout_2 (Dropout) (None, 128) 0 \n",
116 | "_________________________________________________________________\n",
117 | "dense_2 (Dense) (None, 2) 258 \n",
118 | "=================================================================\n",
119 | "Total params: 812,770\n",
120 | "Trainable params: 812,770\n",
121 | "Non-trainable params: 0\n",
122 | "_________________________________________________________________\n"
123 | ]
124 | }
125 | ],
126 | "source": [
127 | "nb_filters = 32\n",
128 | "nb_pool = 2\n",
129 | "nb_conv = 3\n",
130 | "\n",
131 | "model = Sequential()\n",
132 | "\n",
133 | "model.add(Conv2D(nb_filters, (nb_conv, nb_conv), activation='relu', input_shape=X.shape[1:]))\n",
134 | "model.add(Conv2D(nb_filters, (nb_conv, nb_conv), activation='relu'))\n",
135 | "model.add(MaxPooling2D(pool_size=(nb_pool, nb_pool)))\n",
136 | "model.add(Dropout(0.25))\n",
137 | "model.add(Flatten())\n",
138 | "model.add(Dense(128, activation='relu'))\n",
139 | "model.add(Dropout(0.5))\n",
140 | "model.add(Dense(nb_classes, activation='softmax'))\n",
141 | "\n",
142 | "model.compile(loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy'])\n",
143 | "model.summary()"
144 | ]
145 | },
146 | {
147 | "cell_type": "markdown",
148 | "metadata": {},
149 | "source": [
150 | "Now that our data and model is ready, we can train the model on the data for a few epochs, holding out 10% of the data for validating the accuracy. This should take about **30 seconds**."
151 | ]
152 | },
153 | {
154 | "cell_type": "code",
155 | "execution_count": 4,
156 | "metadata": {
157 | "collapsed": false
158 | },
159 | "outputs": [
160 | {
161 | "name": "stdout",
162 | "output_type": "stream",
163 | "text": [
164 | "Train on 11848 samples, validate on 1317 samples\n",
165 | "Epoch 1/5\n",
166 | "11848/11848 [==============================] - 18s - loss: 0.4642 - acc: 0.7770 - val_loss: 0.3019 - val_acc: 0.8815\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\n",
167 | "Epoch 2/5\n",
168 | "11848/11848 [==============================] - 20s - loss: 0.3286 - acc: 0.8645 - val_loss: 0.2633 - val_acc: 0.9005\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\n",
169 | "Epoch 3/5\n",
170 | "11848/11848 [==============================] - 20s - loss: 0.3086 - acc: 0.8728 - val_loss: 0.2390 - val_acc: 0.9043\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\n",
171 | "Epoch 4/5\n",
172 | "11848/11848 [==============================] - 20s - loss: 0.2776 - acc: 0.8912 - val_loss: 0.2334 - val_acc: 0.8983\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\n",
173 | "Epoch 5/5\n",
174 | "11848/11848 [==============================] - 20s - loss: 0.2617 - acc: 0.9004 - val_loss: 0.2210 - val_acc: 0.9104\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\n"
175 | ]
176 | },
177 | {
178 | "data": {
179 | "text/plain": [
180 | ""
181 | ]
182 | },
183 | "execution_count": 4,
184 | "metadata": {},
185 | "output_type": "execute_result"
186 | }
187 | ],
188 | "source": [
189 | "validation_split = 0.10\n",
190 | "model.fit(X, y, batch_size=128, class_weight=class_weight, epochs=5, verbose=1, validation_split=validation_split)"
191 | ]
192 | },
193 | {
194 | "cell_type": "markdown",
195 | "metadata": {},
196 | "source": [
197 | "That got us to 90% validation accuracy, following the training accuracy pretty closely. To get it down more we might try tweaking the hyperparameters (number of filters, size of dense layers, etc.) or lowering the learning rate after a few epochs. But for now we will just save the model."
198 | ]
199 | },
200 | {
201 | "cell_type": "code",
202 | "execution_count": 5,
203 | "metadata": {
204 | "collapsed": false
205 | },
206 | "outputs": [],
207 | "source": [
208 | "open('model.json', 'w').write(model.to_json())\n",
209 | "model.save_weights('weights.h5')"
210 | ]
211 | },
212 | {
213 | "cell_type": "markdown",
214 | "metadata": {},
215 | "source": [
216 | "To visually check the accuracy and loss, we can plot them to verify that there aren't any unexpected kinks or noise."
217 | ]
218 | },
219 | {
220 | "cell_type": "code",
221 | "execution_count": 6,
222 | "metadata": {
223 | "collapsed": false
224 | },
225 | "outputs": [
226 | {
227 | "data": {
228 | "image/png": "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\nrZ3X6Zw9ZAAAAABJRU5ErkJggg==\n",
229 | "text/plain": [
230 | ""
231 | ]
232 | },
233 | "metadata": {
234 | "image/png": {
235 | "height": 250,
236 | "width": 373
237 | }
238 | },
239 | "output_type": "display_data"
240 | }
241 | ],
242 | "source": [
243 | "%matplotlib inline\n",
244 | "from matplotlib import pyplot as plt\n",
245 | "plt.plot(model.model.history.history['loss'])\n",
246 | "plt.plot(model.model.history.history['acc'])\n",
247 | "plt.plot(model.model.history.history['val_loss'])\n",
248 | "plt.plot(model.model.history.history['val_acc'])\n",
249 | "plt.show()"
250 | ]
251 | },
252 | {
253 | "cell_type": "markdown",
254 | "metadata": {},
255 | "source": [
256 | "Bonus (optional): let's check the area under the receiver operating characteristic curve (ROC AUC) so we can compare to other work."
257 | ]
258 | },
259 | {
260 | "cell_type": "code",
261 | "execution_count": 7,
262 | "metadata": {
263 | "collapsed": false
264 | },
265 | "outputs": [
266 | {
267 | "name": "stdout",
268 | "output_type": "stream",
269 | "text": [
270 | "0.963608965356\n"
271 | ]
272 | }
273 | ],
274 | "source": [
275 | "from sklearn.metrics import roc_auc_score\n",
276 | "n_validation = int(len(X) * validation_split)\n",
277 | "y_predicted = model.predict(X[-n_validation:])\n",
278 | "print roc_auc_score(y[-n_validation:], y_predicted)"
279 | ]
280 | }
281 | ],
282 | "metadata": {
283 | "kernelspec": {
284 | "display_name": "Python 2",
285 | "language": "python",
286 | "name": "python2"
287 | },
288 | "language_info": {
289 | "codemirror_mode": {
290 | "name": "ipython",
291 | "version": 2
292 | },
293 | "file_extension": ".py",
294 | "mimetype": "text/x-python",
295 | "name": "python",
296 | "nbconvert_exporter": "python",
297 | "pygments_lexer": "ipython2",
298 | "version": "2.7.13"
299 | }
300 | },
301 | "nbformat": 4,
302 | "nbformat_minor": 0
303 | }
304 |
--------------------------------------------------------------------------------