diatoms_detector/Pretrained Inception True ...

524 lines
8.9 MiB
Plaintext
Raw Permalink Normal View History

2018-04-10 13:04:13 +02:00
{
"cells": [
{
"cell_type": "code",
"execution_count": 16,
"metadata": {},
"outputs": [],
"source": [
"import pickle\n",
"import numpy\n",
"from keras.models import Model\n",
"from keras import backend as K\n",
"from keras.preprocessing import image\n",
"from keras.layers import Dense, GlobalAveragePooling2D\n",
"from keras.applications.inception_v3 import InceptionV3, preprocess_input\n",
"\n",
"from sklearn.linear_model import LogisticRegression\n",
"from sklearn.neural_network import MLPClassifier\n",
"\n",
"from sklearn.model_selection import train_test_split\n",
"from sklearn.metrics import classification_report\n",
"from skimage.transform import resize\n",
"from jupyter_progressbar import ProgressBar\n",
"from keras.optimizers import SGD, Adam\n",
"\n",
"from matplotlib import pyplot, rcParams\n",
"%matplotlib inline"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [],
"source": [
"base_model = InceptionV3(weights='imagenet', include_top=False)\n",
"\n",
"x = base_model.output\n",
"x = GlobalAveragePooling2D()(x)\n",
"x = Dense(1024, activation='relu')(x)\n",
"predictions = Dense(2, activation='softmax')(x)\n",
"\n",
"model = Model(inputs=base_model.input, outputs=predictions)\n",
"\n",
"for layer in base_model.layers:\n",
" layer.trainable = False\n",
"\n",
"model.compile(optimizer=Adam(lr=0.00001), loss='sparse_categorical_crossentropy', metrics=['accuracy'])"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/home/herbert/.virtualenvs/medical/lib/python3.5/site-packages/skimage/transform/_warps.py:84: UserWarning: The default mode, 'constant', will be changed to 'reflect' in skimage 0.15.\n",
" warn(\"The default mode, 'constant', will be changed to 'reflect' in \"\n"
]
}
],
"source": [
"with open('true_false_data.p3', 'rb') as file:\n",
" X, y = pickle.load(file)\n",
"\n",
"garbage = numpy.array([(x.shape[0] * x.shape[1]) < 5000 for x in X])\n",
"X = [x for x, g in zip(X, garbage) if not g]\n",
"y = [y for y, g in zip(y, garbage) if not g]\n",
" \n",
"size = (256, 256)\n",
"\n",
"X = numpy.concatenate([\n",
" preprocess_input(resize(x, size).astype(numpy.float32))[None]\n",
" for x in X\n",
" ], axis=0)\n",
"\n",
"F = base_model.predict(X)\n",
"F = F.reshape(F.shape[0], F.shape[1] * F.shape[2] * F.shape[3])"
]
},
{
"cell_type": "code",
"execution_count": 19,
"metadata": {},
"outputs": [],
"source": [
"Original_train, Original_test, X_train, X_test, y_train, y_test = train_test_split(X, F, y)\n",
"\n",
"# X_dev, X_test, y_dev, y_test = train_test_split(X_test, y_test, test_size=0.5)"
]
},
{
"cell_type": "code",
"execution_count": 20,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/home/herbert/.virtualenvs/medical/lib/python3.5/site-packages/sklearn/neural_network/multilayer_perceptron.py:565: UserWarning: Training interrupted by user.\n",
" warnings.warn(\"Training interrupted by user.\")\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
" precision recall f1-score support\n",
"\n",
" False 0.75 0.88 0.81 219\n",
" True 0.91 0.81 0.85 328\n",
"\n",
"avg / total 0.85 0.84 0.84 547\n",
"\n"
]
}
],
"source": [
"# mlp = MLPClassifier()\n",
"\n",
"# mlp.fit(X_train, y_train)\n",
"# y_pred = mlp.predict(X_test)\n",
"\n",
"# print(classification_report(y_pred, y_test))"
]
},
{
"cell_type": "code",
"execution_count": 21,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
" precision recall f1-score support\n",
"\n",
" False 0.89 0.92 0.90 247\n",
" True 0.93 0.91 0.92 300\n",
"\n",
"avg / total 0.91 0.91 0.91 547\n",
"\n"
]
}
],
"source": [
"lr = LogisticRegression()\n",
"\n",
"lr.fit(X_train, y_train)\n",
"y_pred = lr.predict(X_test)\n",
"\n",
"print(classification_report(y_pred, y_test))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Wrong test cases\n",
"\n",
" * red: false positive\n",
" * orange: false negative"
]
},
{
"cell_type": "code",
"execution_count": 28,
"metadata": {
"scrolled": false
},
"outputs": [
{
"data": {
"image/png": "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
"text/plain": [
"<matplotlib.figure.Figure at 0x7f20e8dd3320>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"image/png": "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
"text/plain": [
"<matplotlib.figure.Figure at 0x7f20e8c800b8>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAABHEAAAEICAYAAADY/WjvAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAIABJREFUeJzsvUuPJUmuJvaRZu7nRGRWV7d0r2ahhfp36K9oK0A7zUI7ARIgYCABWmhmMFrqDwmYWc5a0EaAAD3uvd0ZcY67GTkLkmbm5xWRj+qqzHKisiLiPNzN7Ul+/EiSqmKXXXbZZZdddtlll1122WWXXXbZZZfftvCv3YBddtlll1122WWXXXbZZZdddtlll13elh3E2WWXXXbZZZdddtlll1122WWXXXb5DmQHcXbZZZdddtlll1122WWXXXbZZZddvgPZQZxddtlll1122WWXXXbZZZdddtlll+9AdhBnl1122WWXXXbZZZdddtlll1122eU7kB3E2WWXXXbZZZdddtlll1122WWXXXb5DmQHcXbZZZdddtlll1122WWXXXbZZZddvgPZQZxddtlll1122WWXXXbZZZdddtlll+9AdhBnl1122WWXXXbZZZdddtlll1122eU7kB3E2WWXXXbZZZdddtlll1122WWXXXb5DiR/zof/jkj//As1ZJdddvnbyL8/HPF6eqVfux1fI/tetMsu37/8++MzXl8/fd970U+kf/77X7sVu+yyy9fKv/s/8P+o6ne7mne9aJddfgz5d3jfXvRZIM6fAfzbL23RLrvs8puQf/aHn37tJny1/Bn7XrTLLt+7/LOf//RrN+Gr5c9/D/zbf/Frt2KXXXb5WqH/Av/nr92Gr5E/Y9eLdtnlRxDC+/aiPZxql11+d6K/dgN22WWXXXbZZZdddtlll112+QLZQZxddvndyXcdvbDLLrvssssuu+yyyy677PK7lc8Kp7qUf/5f/ZegIgCZWcicoFBAAakVIgIVhipDBFBVSEogIkyzACQAAF4VRASRipRSv0FyjEkVIvZZAUHIP6OAQkEgKBu7gDDwDEQBVfu7/Y9AiW/asSqL/0L+SUBxBBGBCQBXMCk4MRgriBOYMtZVUVZBKQpgAqcEmgjz84z5ecJ/+vOKzEBdTnj9ywnnT4rzq+IFH3AuK4oIzrVAAQgAxYrEDGJGLcXux4wsipwSRBXMBCJGSoycCGkiECmYFaQCfhWsRbAKoJpQBCgQiAqqCKRafxITiGDPyGz9Q0BKBCYCKHrT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
"text/plain": [
"<matplotlib.figure.Figure at 0x7f20e8bb36a0>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"image/png": "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
"text/plain": [
"<matplotlib.figure.Figure at 0x7f20e8a6f978>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"image/png": "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
"text/plain": [
"<matplotlib.figure.Figure at 0x7f20e8929c50>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"image/png": "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
"text/plain": [
"<matplotlib.figure.Figure at 0x7f20e87e3f28>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"image/png": "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
"text/plain": [
"<matplotlib.figure.Figure at 0x7f20e86a4240>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"image/png": "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
"text/plain": [
"<matplotlib.figure.Figure at 0x7f2114e48dd8>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"image/png": "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
"text/plain": [
"<matplotlib.figure.Figure at 0x7f2114c83fd0>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"image/png": "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
"text/plain": [
"<matplotlib.figure.Figure at 0x7f2114a8d630>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"image/png": "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
"text/plain": [
"<matplotlib.figure.Figure at 0x7f21148ed6d8>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"image/png": "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
"text/plain": [
"<matplotlib.figure.Figure at 0x7f2114680b38>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"rcParams['figure.figsize'] = (20,5)\n",
"axes = (axis for _ in range(10000) for axis in pyplot.subplots(1,4)[1])\n",
"\n",
"sub = y_pred != y_test\n",
"for image, class_ in zip(Original_test[sub], numpy.array(y_test)[sub]):\n",
" axis = next(axes)\n",
" image = image - image.min()\n",
" image = image / image.max()\n",
" axis.imshow(image)\n",
" axis.set_xticks([])\n",
" axis.set_yticks([])\n",
" h, w, _ = image.shape\n",
" axis.plot([w, 0, 0, w, w], [0, 0, h, h, 0], color='orange' if class_ else 'red', linewidth=8)\n",
" axis.set_xlim(0, w)\n",
" axis.set_ylim(0, h)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# (Some) Correct cases\n",
" * green: true positive\n",
" * red: true negative"
]
},
{
"cell_type": "code",
"execution_count": 30,
"metadata": {
"scrolled": false
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAABHEAAAEICAYAAADY/WjvAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAIABJREFUeJzsvc+vLEmy5/Uxc/eIzHPvrep+Pf2YETPiIbFigZBgwYr/AQnEDpb8PUhsEGIFYscKsWLNDhbMAiSERmJGPM28mdevqu49JzPC3cxYWESePLdO/bzdXV3V8W1lV948mREe7h4Wbl//mplEBAcOHDhw4MCBAwcOHDhw4MCBAwf+tKE/dQMOHDhw4MCBAwcOHDhw4MCBAwcOfDcOEufAgQMHDhw4cODAgQMHDhw4cOBngIPEOXDgwIEDBw4cOHDgwIEDBw4c+BngIHEOHDhw4MCBAwcOHDhw4MCBAwd+BjhInAMHDhw4cODAgQMHDhw4cODAgZ8BDhLnwIEDBw4cOHDgwIEDBw4cOHDgZ4CDxDlw4MCBAwcOHDhw4MCBAwcOHPgZ4CBxDhw4cODAgQMHDhw4cODAgQMHfgY4SJwDBw4cOHDgwIEDBw4cOHDgwIGfAQ4S58CBAwcOHDhw4MCBAwcOHDhw4GeA+kO+LA8S/OoP1ZQDBw78MTD/buZ6vcpP3Y5Pwd8Tib/6qRtx4MCBT8I/+fwzfvfFl4ctOnDgwE+O/x3+VUT89qdux4/FYYsOHPhl4Pvaoh9E4vAr4L/4sU06cODAnwLe/VfvfuomfDL+CvjffupGHDhw4JPw7/yDv/ypm/DJ+CsOW3TgwC8BAv/vT92GT8FfcdiiAwd+Cfi+tugIpzpw4M8M8VM34MCBAwcOHDhw4MCBAwcO/CgcJM6BA39m+FnHLhw4cODAgQMHDhw4cODAnzF+WDjVR/iP/8//BBuK4jSBzkBKpbsg7lRVqnaCN6xjoMVJHUBjEqVIx2KiFadjzO0B00GNK5f6lnLtPEyFJwaKUItgJhSZcDU0QAlarazmjHBmcWQYvQilnsAGqgURWB0ecAYzqismBfOJuQkREN5RDcwKRQddGiU6JsqkBXwlovAYhRrBXCoihlvB/ImHqiw4K5UilRYFU9C4EqEEICJ0BpWCDKVUZxWnjGChMZfOROVxLOik+KhoGDisIpzEs/MjAMFKJQSKBSoBLlADt4bHQiszZgYIqkaEQ0xIESwW3GEqjQgBG4wYTHVm1RWRivdOqzNrQLOcMd5XVAQNGN4gDKnB6oJWZ4I87hysa2O1zlydpczMQwFDRACnqOJuuDtXC05TY5oaT0un6mC9dCKgihDznGNJAXFKhaAQNvDrwtUFkaBK0KIgTbDitKKcp4ZIIYCiwtoK0xCuvjJRGaI5zjTaqXA6KzqC95fB+6++oFDQVphbIazwm3/4a5pc+eJvlK/e/wtowSkaiLJM0KwjNMZ14KxEKJizhlC8cB0rVQsuxnChhqOqiBQohpjQe6fNE2sYIhW1gWhgBkUKDCeKIuJ0M07S+CAXwhtzVapAj8J/+/f/6xf3bfb9Lwv/63//X/IXp7f4MPoYQNBqu/39S7vc3p9O59t7f5+fn+8+G00IzT5yN8yc1hq1Vlp7PmZEMMbYXldOpxPzPPH4+ATA9doZw5jnCRFBRJimmXmeWdf1+XxjUGul1soY4/b5/p1SCqWUV6+79yfm+YSovLje63W9e3/BPe3Gw8M7zAbX68KbN29wd0opRNjt+9nOiTEG83zGLO/XMfJ6IK34/osXfdIfX23nGDm/9+Pu52itsSy2XUu/tef+etd15e3bt0zTxPv3X2Hmr57D9fmaT+cTAPp8WbRWmaYJd8cIug2eHp+A4O3bt899eslzXq85pgD1NFGKUkol4lnLpqIQYO4QQWuN3jtmhtXn783zfHu/vL8CYGPQpsabhze4d3ADgg8fPvD27XPI45fXwTxNTPOMm2Fu2DBCrkzTzLJcEVEQaLUyzQ0zI/xlP6meqa0y+ngxz+4xzRMAglDs2U743bHqm5yzow+0KCqKquKdm8xv2ODhfKbWxoevnm6//Tf+w//oxfl+ibbo3/33/oN8kw/8vPfZuyYQUWoptNYotXI6TdRWqbUBgZkT7gwz3AwPZ/TtvouXOsr7f0fE7bX/e7+P9n4WEdz9a/1+P77739RWYmuvDefDhyeu14VlWYkAFYEpbeI0VUopqOYzWDTtlhbJuelnQgyRgBKIKueHz5mmt/zq89/ym9/8loe3v+Kzd+/QCHx0rpcLy9JZlk4fg3U4YxgRFyIGYQvXy1dcHt/zN3/9z/jw/gNj6XiAPTxQtVHKRJGKCqgGKgNYWfsjy3Lh8cPKunaWZRCuCEqtjWkuqAISTHUiItJmzTNTa7TtVUquKcKdUEFUtue45hpJNceEyAnQc61jZoxhuBvhAffjIeDbsUopqCiigpA2U0Ru47wfy91fjCGwtYNtTIQgCPN8po3O6J2np0fMBn1dbuuw2NaWOQ+CfYoJSinn2xxRzfteAFFlnia0KKLZpr4OliWfGWZBaxOn+czplHaotJyf+3zLfrrrhkg79G3I6wLj7rfbcfZfqipaC1oL0zzzMJ9otVK08D//T//jtx7/547/7D/9z7/X98Yr3Rzx9eesyOv7/q99d/++SI6jbfNTRNB9Pga3e+tj5L3jmPlms/I47VvmRGRjnq9J8jiQdo8IRL/++/p68783ROTlPQxc9M6mAhogkde+//sH486+36PU+mqvlHjc7LBCUUYERiAl71/2e3gbAy2FWkr6Wbq1VYRSaq5/akXjDcpn1HIGKkSDqEg0VCeUhmpDpPJG/5LzG+XNm8Hnn3d+8xfKu3cL0/TEXFeKLkRcMe+cfvcEQ7Al+PDlwldfXfjnf/MV/9+/+B3//O++4osPF95fVx5xaEKdGtJgjJW1DxzBohAxM2ymqnE+Xam1MJ0mTg8z7XTi/OYzWntLbW9QHnAK7kKMd4BvfbGSK9yVoBN6IbbF5Oy/wz3XUKt5rsdMWMzwgDGC4YZH4B3i5rKn3bah24wQbjqagP/uf/hvfsSE+EQSJzxJDBHF3PBQIgatVYICRDqodaG2wD0fpiGDiIKo0lQpIhjBOp5AC6XMtBBanVjGFan5oMBAI53/U6lcrwvSlMswmgRawEcuLsKEyCYA5KJWlMWcMgcWigKlBD4GpYKWikVHKyiFQmAiVJQYcDWYSmFSwWxFRPK45OJ9jVwcnShYrGkwPHDPm8PMkICQQihoMcwLtTS6rUytE+Es7igz2oWpBOsQylSYzFAEJIkPPKgBqzsmEDaQ0mihiBkSRo+FooUIR6QRsaLFGGHYCGqrdBvU0OR/SmXsprIH0ioaQnNLcsgdYoBOhAi1pFMRwButdK84A3djWQLRSquV0Ve8OCOMsi0QIpzH0XMhpPBQZlyC1QdhxmqK6EzRwiyGCznGsSQp1vPhcekLsyhVAgmoVTEC1Hkz5QKUqTIGqJY0SOHUqfAwlNWdPpwiimH4B0FjQkrl0r9A5IF1HbTpzMWNE43lvVHfnpHygWk6I8UghCHCORTzgQPTXHFxLtdOmyb0atQGFYdwijvECfDNAVzpZkzaCC2Eg45A6oobGMIkgtkgVKkRdDeoivdBazO2O1LD4RXn/+VS6ZeBzz//nNPfreRzczNrd37q8u782s/4Ldvn1+fPnqaC1X2x8tJETtN0e//4mIRFEjBJAiyLU2s6/m/fnm7fjQh677fX/XFqzXN8k2P9bXj7NjPN/8t/+a/47LPP7v7yfKxSIh0S4O3btzw+PrIsX/LmzRvGGLTWMFvuvl94+/bE09MTYwyenp6otW6LoYTw3DNvT8/X+f4bSJy9T8aAeX7z4vpPpySBeu8boVX48ssvb39/9+4dp9OJZVm+kcABGM9cEh9GDuj0fFksi/CrXyXJ8sXyiGteRCmFcTfMSXrzgkga1w+UeWJqD5jdjVM5sY5gGR035/PzmcvTE5frlfbmua1vTs8kjvfsi7251zGYSgWEdV2yUXfz7nza5sc2b8ZiLMvCr9+8BYNWG9frlaenJ2Ia/OYfvOPSL3n/32GdLoy+/eMbnvxvPk/yyEdw+eqOULybm28vewsrc51Y15Xl6cL6PKQ
"text/plain": [
"<matplotlib.figure.Figure at 0x7f20e8b62c50>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"image/png": "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
"text/plain": [
"<matplotlib.figure.Figure at 0x7f21142b4cc0>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"image/png": "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
"text/plain": [
"<matplotlib.figure.Figure at 0x7f21140b2748>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"image/png": "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
"text/plain": [
"<matplotlib.figure.Figure at 0x7f20eadc4128>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAABHEAAAEICAYAAADY/WjvAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAIABJREFUeJzsvcuOJMuX7vVbZubukRlZl73/t93NaWgJJK4jBkwZIAa8AQ+ABO+AhAQDJpxHYMgEMeENzoQRAqmFGDBopEOf7v73/7J37arKyAh3twuDZea38KyMysq6bv+kumRkhIe5u7ldvvWtb0lKiQ0bNmzYsGHDhg0bNmzYsGHDhg1fNsznbsCGDRs2bNiwYcOGDRs2bNiwYcOGh7GROBs2bNiwYcOGDRs2bNiwYcOGDV8BNhJnw4YNGzZs2LBhw4YNGzZs2LDhK8BG4mzYsGHDhg0bNmzYsGHDhg0bNnwF2EicDRs2bNiwYcOGDRs2bNiwYcOGrwAbibNhw4YNGzZs2LBhw4YNGzZs2PAVYCNxNmzYsGHDhg0bNmzYsGHDhg0bvgJsJM6GDRs2bNiwYcOGDRs2bNiwYcNXgI3E2bBhw4YNGzZs2LBhw4YNGzZs+AqwkTgbNmzYsGHDhg0bNmzYsGHDhg1fAdz7vPnXIumvP1JDNmzY8Gnwt1c1P9+18rnb8SHYxqING75+/E19jW8P21i0YcOGz47/E/6cUvrN527HY7GNRRs2fBu4dCx6LxLnr4H/47Et2rBhwxeBf+fF/nM34YPx12xj0YYNXzuu9y8/dxM+GH/NNhZt2PAtQOD/+9xt+BD8NdtYtGHDt4BLx6ItnWrDhg0bNmzY8MmR0uduwYYNGzZs2LBhw9eHjcTZsGHDhg0bNmzYsGHDhg0bNmz4CvBe6VRL/M3/8F9SGUsEkoHj8UQUSPnnfdUM7xUEESGEQAiBWK3zRwJUE26p7zpiHMN1nkSIgRgiIQaaWr+jqitSTMQYaZoG6yxd1yGI/q7343eIIAgpRWJKNHVDCIG+7wghUNcNIkIdoe4SyVlCbXjTt3Q20aZAHyMv+zGV3xihbvRzRgzH45EYIwBXV1d0fcfpdKLve7qX15gIVQSJEROgCnqc1kVEBGssIoKrHH3f472nEktlLQAxxLMLl2LScxMhvSPEaayBBDFGuhBw1lKLgZiwEQgJIXHn5scQGc83xkgIAWstu92O4+k4vjFBSgnrLEbm9zmlNBxHRIZrVH4X0+K8CroWYwwpJRJpuIfGGLyr6Pue0PfQBZ5VO3a2wsZIGzx3jX5fCGHWl3B2OA9SYrfbDb+q73qcT3gj4AzsKoKFCLgkub/0k+sRMMZiubv3upMspGb1V5Y7SGATmAQ2KsMqCd5WVyRZt41ICbwf2yEiWGsxxtCJnut/8t//z7PPmG8w+v0f/uf/3fD/mBI6Co0IIeRnw+RnVMDUw+8TkOKy78X8592IXp/58uzFqM9wiAHvPUjCVvqdYgxGhJiS9uWUdNxKEWLCGNF+ZA0ihhB8/n3CiOCqCmP0+fbeP9i2EYv+s+hPiXQ2Zlgx+puUiDGR8rNZrqE1BjEyPO/3PrsrCCFiTH6GrY4Rs/GLNBsbhnYmfdZKm8pYYozeW/3/cm55XIcvY0UIOjhX1Xy6LG2ZwhgzGycVea6JEREzHGe470AMdnYddWzTvpBIxBAxLiFy3q+N5PuAYKQmhkhKSa+DgO/n/WStjaUd1tph/vDeE0IY7ktMEWtM7p/2/S5mxt/8L//1oz73NeE//W//V1KMQ/8xZn6tdR6a9+1pnxWRsz6sY8XD322dhaTjRcrjyYOfsY6U4vBM6TM/f48xQoiRlMcBbaPNbYvD+ej4ZjBG5nNtQecnxzRYYydjYbx33VL6uIghCYTFcxDjOL4bI8MzW/q5ntvimsseHWmA1INE/UPU5yyBiTI8k+WZksVY6uWhG2NYjr8xt0fvkUEEUvLDs3nf81XOa37uMd/viEkBSePP5bmezk9iBCO6DhEjQzuG6yVgU4exun6LUdfaJl9f5xzGCNYljI3DfKBjRRzmtZgSTTKTeU7bZfIcmBKEGEgc9HqERAiJlASSIXgwtiKJLp2cc1hrdW2ZxylrbW6nEOSNjptSIeIAQ0qCwdL3kUhHCnoNvYeUhH/xz/+LB+7d143/6r/5n1Zf3+127Jr5WrTre+7uxvWrsUDT4XtP3/c0u4Zds2O3O1/D/vyH9sG2LDebCQjAS2dxrqJpGna7Hdd7R9NUOOdodg3GaB9s246uazmdWv7gW/7JCbe3t9gfb+le3cKpg9sDTQvOOnYtRAO//wvP3d0dKSacc1zvr7HG0uwaKqffs99fn7X39vYAQLNraPKesH3zsHpU93ndeN7W5bHr4bFY0H3kFMF7XFXRNDWnU6t74pW1VvOH19R1jXOOuqpodrth7nd5zXF4vqOLAR8C7elEiDGPnfP5RoSL2nspbm9vudnf0Ox2nE4nbm9viSFQNzXOVVSVo3lx2bFuXoHr5q85V2GsoWu1f5za03AtKueom4a6qtjf3PD27Vt+fvWKP//4IzFG/uqf/bOz7zieTlztdlR1Tdu2ul9YoJnsFwvaU8vD603P+DRUwDX+cMM//x//s0tO/wwfROL4GCEvwEl5A1l+uexjusYcJtP6kV9diSBJ8DGRQqLKna/CkCThU8QmoA+ID/qlK4vWpA3Ok0kCIS8m8kIISCEiAahkIBBCTHgiPgbml29ceOmyYLyRxuTviTqZGXSzXgVwGGyCXb5ew8MU9Ui1E1KAFBJIJC43Y+MJzRYs74IgefIO1D7hAGsNIXoCoDdR3rkAnF7P5YLDufvv7fRzU0JHTyHd2/+daUrj54jggy4OSBB9QEykEsEFCD7Bdb6fMZImC64mCDGC93pfmjQOZDssLkVOQReM5ZImwDhLJEHQ+xVjJJLQPW/P/ZB7z2/n+7O3xuF8dysnnt+2MtiWBXZkfZP/4JrzF4I1kuAxKIv6slgFvS/jJsVDSiQdZJToTjFvHtAhKhMmBSkxkCb6ex1ACxGg3yM8PGEMRzxr9YOfyN+fUuln5smuWYyBGHWMiWkkbwTdWAiyutFVfi7RB0+MIY89y3P50jp42Ry/e0ydfSLPNSDD3Ln+PnTsiWBEyZiBGEoRSZd9X5kTpsGWsrkrpGRKSb9LdFO7JOg3rCHhg5Jf4+ZcEJn37a5r8wZ5rT8/HiXQUoihNRKg7/sZiVPIw3dBn00ZgkfLufw+WDuuDUwhqwYCx6yuXR4z5pTPlIBGjPHsOK4ax5kQ04zEqSolVVkSUYnZGgLOSeOU0uI6n4/TA8kSde0pSUihAmuoXIWhBKyWeEeQ6FKkPDaIYMUS82LdGDOQSMl3DxyEkTTLwQkdH0AygWNSUhJsGDvA5OuZ0DnAe08yx2G8CzGSghCTELxgY00UIQU77B3KvyVgYnJAwKcOax1WDNYayGvuWOaSbbga0HUdvp+vOR/aN3wo/v47/fdZq0HKpoUXCVyC/QmuIjwLcGUtTVVTU1OFGofldDrhTlC1YFswXc+t6zgcDtjDgfZwwN/eUXc9LtZUVUXdVBhnudr1BK99bbfbcX11RdvO+/fLl9+dtbeQOO+L29tbfN8jxrDb7ZDqMgLnY+Dt27eIEZq6oWlUrND1HW3X0nc9IcZMdszH++la9lPheHdERNhd7agrJWCOp+Oj2mGtxVlHU9eZwKkRgZ9//pngdWx+/uwZ/T2B0EKC7ZoGQei6c5JySngWKMn/afFBJM4Sj43OvQ+MtZiUsGk+IpdJOsaQo+4a7UXABoN5R9tiDDnSbRA7RjtCiniXwAgWJajqCPj876QJifnEPe13IURCiFiblR/vcb5dHmiddcvg+WeFc27Y5C2j0Z8afd8p+SZCXdcPf+ACGGOwNpOSlhkdUs536FNPs699NKbP3doifYlPPTh/qXh/WmMdRaVQDqiLekFE700aoh1Ro6BolHpQlA3quakqrTxbJZquGwE9DjniKFl19DDOouLmAoVRia5P2vhUJE6BEkQp/yvDa2tETFEjTK/beruXm6zPO3DqNSuk22VImZTGZIJPgBVSNsXM3iBE3foN6i5rLWvbwDWU61nUO5nO0f9P7n1RbE0VkRvmSFHn7LK313/
"text/plain": [
"<matplotlib.figure.Figure at 0x7f2114dfdc18>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"image/png": "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
"text/plain": [
"<matplotlib.figure.Figure at 0x7f20eac81b70>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAABHEAAAEICAYAAADY/WjvAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAIABJREFUeJzsvbuSLEmTHva5R2R195n/sgsSBqOGl+IDUKJRoAIRVJaUSTMq4HvwPShTp0DSABCL3X9mTndlRrhTcPeIyKys6urL3M5JHzvT3VWZkZFx8XD//EaqioMOOuiggw466KCDDjrooIMOOuigg37fxL91Bw466KCDDjrooIMOOuiggw466KCDDnqdDhDnoIMOOuiggw466KCDDjrooIMOOugPQAeIc9BBBx100EEHHXTQQQcddNBBBx30B6ADxDnooIMOOuiggw466KCDDjrooIMO+gPQAeIcdNBBBx100EEHHXTQQQcddNBBB/0B6ABxDjrooIMOOuiggw466KCDDjrooIP+AHSAOAcddNBBBx100EEHHXTQQQcddNBBfwA6QJyDDjrooIMOOuiggw466KCDDjrooD8AHSDOQQcddNBBBx100EEHHXTQQQcddNAfgA4Q56CDDjrooIMOOuiggw466KCDDjroD0D5LRf/l0T6r3+hjhx00EG/Dv2fj0/4+vyVfut+fIToCyn+7rfuxUEHHfQROv3nLzg//3zwooMOOui3p/8X/5+q/svfuhvvpYMXHXTQN0J38qI3gTj/GsD/8d4OHXTQQb8L+q/+8tffugsfp78D8N/+1p046KCDPkJf/t03oHEcvOigg74N+gf8X791Fz5EBy866KBvg+7kRUc41UEHHXTQQQcd9KsT4Q/thHPQQQcddNBBBx30m9AB4hx00EEHHXTQQQcddNBBBx100EEH/QHoTeFUW/o3/81/D2JCpgQqFQQgCVCTWddUFQQC8RorEqmoBCAzoAoRvfmc4rcnAZLaPxBBMqPWurqWmUDUP2fulr7xOQspcs4gIogIRARE5Pdw67/qZd84nSFCUE0gTIAmKGYQEZgZItKuVbXnjH+nlEBEKKUAwOodiAgppYt2+jtI6yMRYVkWENHuc5htHOJ9ptrngZhQa0X1W0opfTxo884KaJX2ftvrx36NFN8pFLpjcE0DhhhzEO8wthfPjDlKKUFEUGuFiCClBADIOGNKE4CEUoC6ADlPKLmsnpuHrhLZWAkIwvEu/f2V+3jGmPprQVT6+JSKaZqQUoKK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
"text/plain": [
"<matplotlib.figure.Figure at 0x7f20e8ef5e48>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAABHEAAAEICAYAAADY/WjvAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAIABJREFUeJzsvcuOJcuSHbbM3CN2vqrqVN3b5za6+zZbFCFBEoGWBAiccKQJP0D6Ak0EaKY/0B/oHzjTSIAGEqCZAAKakNCAoKBJN7vFFvvBe55VWZk7ws1MAzP38Nh7Z1ZWZdWpV6yDOpm5d+zYHh4RHm7Lly0jM8OGDRs2bNiwYcOGDRs2bNiwYcOGTxv8sRuwYcOGDRs2bNiwYcOGDRs2bNiw4c3YSJwNGzZs2LBhw4YNGzZs2LBhw4bPABuJs2HDhg0bNmzYsGHDhg0bNmzY8BlgI3E2bNiwYcOGDRs2bNiwYcOGDRs+A2wkzoYNGzZs2LBhw4YNGzZs2LBhw2eAjcTZsGHDhg0bNmzYsGHDhg0bNmz4DLCROBs2bNiwYcOGDRs2bNiwYcOGDZ8BNhJnw4YNGzZs2LBhw4YNGzZs2LDhM8BG4mzYsGHDhg0bNmzYsGHDhg0bNnwG2EicDRs2bNiwYcOGDRs2bNiwYcOGzwD5bTamCzJ886GasmHDhl8Cw+9GTNOePnY7HoNfE9mffOxGbNiw4VH4l8OI/TYWbdiw4RPAvwB+Z2a/97Hb8a7YYrQNG74Q/PXDxqK3InHwDYD/9l1btGHDhk8B5//j1cduwqPxJwD++cduxIYNGx6F5+eXH7sJj8afYBuLNmz4EkDAX37sNjwKW4y2YcOXgf/hYWPRlk61YcOGDRs2bNiwYcOGDRs2bNjwGWAjcTZs+NrwWScvbNiwYcOGDRs2bNiwYcPXi7dLpzrAf//qv4FBnApigiSCgmDEMALIgHOpESPB1FBmxTwLbm9nlFlQZkURg4jBlJftiqJIwe2cIaIQEf9nBgNATAATODE4JXBKMPbvMlOIGswM58ZIAMwMqgZVgapCVWFQwASiCiIFEYHIfJ9EAAHG5sdHBGYCUQJxAjHDQDAmqCgs+DBjbwtzAnMGE2NMM5gYKbH/JAKRt5WiXWTeRlYDDDAYYPX3DOURBkDF22txfIAhpdT2dwpmBNNUTwOYzX8lAqAgNv+dDHHYAAFE1s4daARQu8K39d0oGIbEBGY/5xTv1f0DwJD2MDOYKRSAqp9z1diDMcQAU4JSQlGDGfsxGuGGBWZLm8gU8DMA9j2CzPwfKRJiu/j+UUYkS34dADDyPq5HaAQo1dcd2v0OAGwE/68eG6363UzvPAf+Psc1Du/ng33U83kXNNp4H4h52VfcK//bf/JP1+24fxefJf7rf/JfYVbvfyICc+WnTx+tzgWcGIlT9DtgiSAiMFWkdDw0iorfkyfAnJASo4hAioB5OVEy+r58DBIAwA4J/EA2be6o9iLFv48IzOm4HfNyDaa0vC8y+y9ESJzATNif6Jtsfg8fQnLycVgFOfY76LKhRLsAIOXcxjCKY5zvWC4YTtwyZupjIbPfKAbMPrCc3smjcHqf3LVXdd0hIv4MSSmhzAlMyfuaCIkZxAwqL0/u99YEBLTrS9WPdRgy5lJAIKTEq3Gl//7+uqrnvxTvezUFDGBmjK3n15iZoKpxfzxsJFD1Z8ybxrdDTPOMIQ/gxK01//P/8j+91T4+R/zj/+5frf5+9erV0TanElqvrtav/s2pz10df/LUvl5dv3qngf7s/Lzd33fj3wL4d6tXpnnCtJ9Wr+Xh93C2+w9Wr4kIbm5u7t07MeHy4jjN7lQ/fki8fPXPcH19jVevXuHi/AK73YhSBM9fPMeL5y9wc3uD77/7HldX/wVSOn/r/f/888+43e9xcXGOq8srXF5eYp5nTNO6H1/fvMbPPy/jydluh2++WRufTPOM77//HldXl7i6vMJut0PKCa+vX7/bwb8jHnqGHpLQ/bvvvmtjW8WL588xjuPqtbkUqMjqNVGFquDm5hb7/R7n52f41YtfHX3HP/un/+iBLf488V/+H/8EOUW8YobcjQmFfN7PxAABKd4jIggB2QgGA7PHFyICyjWO8Gcd4PMMEcFA5HEYZjAzmLmdl34o8nmQtnmX/+5jAzNhEp8XJ8yxDYExePwAg4i27xbG6m+PMXz/A9e5Nvucgv04/fmX2lxOTb0PAFDMIZUZpurxEjHUtPWPMXvsoAY2a/1F5LErMyNFPKcccWS0i5nb81dEkbP3HQAkTj7HvAe1nbXNdV9qCrJjVYYQIm462I+20wg5fI+WvuSIT5n8WvDjiGlZ9Kdvi3YuU2KoGjIIQGwP758Z3u7+3Oc4P0QMgV8LzOsjIWaUMiPFnIeI2j5au/trO+I+ZoapN+DUjKh+5jCuWuZId8M/6/2DxBD161B0uVb6fSj7PTQS+znPfr7rMf3v//h/vff77sKjSBwVhcJgChgZVBlGBIMHwwSgtAmowYwgiGAUBCWO32tgTTH5R4TlDBMF1IC46S0ucjMGlILn8FCdjHx/au2mcTIH7aYzU6hpkCRYXWBEBGIPkIickSAGwH4B1G0A8kAniCrYchEQ/OSy3SN4qCQNAFMfBBrVxai8R4fo0+6iXQL/egPdN2O7P/ghYhCTf0sM7IDFje/HLFYHYz9HcXvGng3EHjhTJVZam3wLlQy/4BVqBFFAJc67AWoJIA7CCSgFQbb59XXLI5SokTL+0888QwASpERwaq0gEQD4wAAo2AjQuMaWA2/dY1jOycN7bsOnAjH1a5gIKtICX+IlgFRdbixKThAozINfAJAggFJq2zrZ5gMxx5hwCL+mFRAfcyjGD45BmyT2ZdY+LqSQE1fXQLzaLwCk7jVuv9NJsoW432cf/C+fA3wsSfCnsam2Y9Rlk3V/WRDcTG2//cNfmJxYIu9vUQmy90Qbe4Ii1ftc28PMYow1LJ9n3EEu3XGDrolRPyZTxSHx2vdRivOuqkjdIJw4nikpQzWuKWOYJhAriAWUYpJA6s+vO9rl/bNuJ8Ukb5k8rdt1F0GvplCpkxUCBUlN5M/Zu8au+wh/PpgM1+3r78mOSSQAmG0dbAHAjjMI1CaMpxtzz3sbPmuo6hEhoW9JBG7Y8CaICEqZP3YzPkkMwxDP93hhxaYggp/Tn63zYVWNhYeESjFQDQL8D6SckIJC4OQESf3MITSeUf3zxXfnz5xKCq0QMUn72lWbndzxfS7tgcTiQ8SoFbVNtR1dmNL6R6Qsc6Y65enWtNtntHut/lw94I8Of31IHd5E4PT7a4uP9fuWMPto+1OP+/ZSf+y1HdH3nBjQ9bbMvsCkquimAt131MXzdTe1dw0+maskR0ogXYgh5lh+PyBoSim+8NXN5w6P9WRX28lDvP8zx7u+87OGk01xYQXWMfsh0Xx/Cx6OR5E4pcyujCEPp4VjAs4AyAP6ORQutcEaYbdGuK1EMOhyjxCgxDAyGIWyQoOACULHEO8RoMY+YJizxdpYT1eriEXYX4mTYHPRTVKZGWBtE+pKagBO6AARzGEhmVr8H39zEDkUK9mVzOlvoEYm1fbEQFdJHKKFHOphVpUVlVWlNsCeGpuPcId6oIJCZdT/TXHQ9ac/CCwGydCjUCWgnKnltASpOJis6cQw9fOlRq7EUVfixHAPowQVQAyY9jNEnGVXNex5hFK9+z0YAzmRU9nyYaBQVDF8YdzbRsRITOubmWo/dmPzwQ1fHz89Qfcuq5sbPjzUfHWFg5hpEwTrVws6UiNFsIo+sCCkRr7M7bV2r9NdMx4FzKBtUhLXHjMgApbjwKXAoCdYiaFbS6nKh2T9ikD3+6lr8Y4AnYhXf5vFMA1AdFGeFF52WzoiI1slsjoCph/biGDM/j0x/tIJpdBhEw2AwGJC1bZYHx75quDbkDiHhCzB1wKASlKfaBcH0WtV3VfbSwAEyhnBHQNIMEsx3lhTcrbvv+M7DtVX9Zqq43r7fNf8uxaETA0iPrlpiw5Wj/+uoar2810D2THB1W/PPYnzhrEwU+oacldrNnypUFFMMr15ww0bHgEpBfO0JnFSSu0Z/zWDCEBkC6iZr0gEqiIiWag9+fiZldgXNjiC0vW+F8KfiKAp9se7+HACcQl
"text/plain": [
"<matplotlib.figure.Figure at 0x7f20e8fa3160>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAABHEAAAEICAYAAADY/WjvAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAIABJREFUeJzsvVuvJdmW3/Ubc86ItdbeOzOrsqrOrft0H7pN2xjoxt3IljCYFz4C8gMSbwg+AjzCO+INvgBvSDwhWTwgjCxLyFzcctvYMo3d5173ysrL3mutiDnH4GHMGRFr75WXyjxVdapO/I/yZOVaseIyY17G+I//GFPMjBUrVqxYsWLFihUrVqxYsWLFihW/3ghf9w2sWLFixYoVK1asWLFixYoVK1aseDlWEmfFihUrVqxYsWLFihUrVqxYseIbgJXEWbFixYoVK1asWLFixYoVK1as+AZgJXFWrFixYsWKFStWrFixYsWKFSu+AVhJnBUrVqxYsWLFihUrVqxYsWLFim8AVhJnxYoVK1asWLFixYoVK1asWLHiG4CVxFmxYsWKFStWrFixYsWKFStWrPgGYCVxVqxYsWLFihUrVqxYsWLFihUrvgFYSZwVK1asWLFixYoVK1asWLFixYpvAFYSZ8WKFStWrFixYsWKFStWrFix4huA9EUOflfEfvQl3ciKFSu+GvzT7Zab/V6+7vt4E8iFGG993XexYsWKN0H8eEMeD9/ouWi1i1as+Hbg/4ZPzOy9r/s+XherXbRixbcE77/aXPSFSJwfAf/X697QihUrfi3wg3sPvu5beHO8BfxnX/dNrFix4k3Q/9eXX/ctvDF+xGoXrVjxbYDAT77ue3gjrHbRihXfDvyXrzYXrelUK1asWLFixYoVK1asWLFixYoV3wCsJM6KFStWrFixYsWKFStWrFixYsU3AF8oneo2/ov/9D9BVQkSCEEAQYKgpdw9WDcn/xS5mwa/PRYkBESEIvVcAVRA6zEmMMrmzm9VlRCC/5GAmd05RkQwM4oWzAwtyjYUhLvHLhFiPHu/t2Gx3q8aqoqaYmYnvw0KSW/9DjBVRMT/hAAiWB/vXGOz2SBBkNrWEtRPIIVkRlAljwMxQAqKaUE189kQSQUYC3oocFSwyDWRMRgjRs8VQiEEiFKIMhIxus7YdkIQBQrPwpFgkaRC1Ei0iMXINcIxCMcI/b5Hs5Jz9rYHf7f1PYT2jDZgdtpfzAwBQgi1LTJIO0aAACViFv2/ae2rwPjidwSUUgi1nVubn+uzIUa/h3pMONMHxnE8OU8QIaa7w2pPJsjiuOD8qZqixftKGrxj+DUDImAGIXqfBqOo+tPeuhe/t/kzM5169X/13/43L2yTbwN+9D/8TSQU0uY+afM2KXn7tvd3FsLZkS8Lbru9LzPDVH1cq4IcIAd0b9wwTH01iNB1HanriDH5fBQjGiHF6NfLmXHMlJzRXM8HgPkzJEACmgMQiDGipohErM5zJlaveevZDAzDFnNQjAnVwlCUdD0yBCEmSJ0hosTYg3XTnDnfD1M/BR+XIQSUOqeZTG0bQvBnM/O5tZ5DlmECe/EcupyzU0rkYj4A/ArzOY1pXpWop+9YZBoaWhRIxJQwVQzz+S3GdsGTZ/a1S8GMUucDH4NGjPNcLLK4lzN9q51z2beWc8f0RIu2LfX0MSYEm5+pzO/C1ChF57nKlKJKyEcQQVUZhpFyOHLz5BmHcqTve64uL3n7Yc+P/uj7pHzDP/snV7x9LxC6HfbwO3z/as877xzIBX78z4UUHnDv4QMORbg+Dkj0dTXnzPDkmk8/eJ/9k0dcvgs/+N4F14+e8bOf/JSsQgk9Fi+5vLpi0++IUesa5c//j/79//78y/8W4W//R/8xqkpJgXf2HZ/dCzx89oyb/po//uiC//M7br+ICEXL1NcAUqxrh+DrRRBKLhQt3t9tM9kVADEEUtchkim5oPVzAZRSj4k+Js0ItZ8Y5nYSRgxz327jKoQwjeMxj5Si09xmZoQYJptLeIltJILW5xQRutSx2W7YbraAcO/ePbqY+fzRx3z4s0/54P3P2EskdYF793dc7Hak3te3KHdtooaweI6cx2qXBm8vtbtz5fTQUtus2l7MY1hgbm8xRAIxBGLya5VS0KLkkqdriAibfjPPvyGCSF27xedzVdSMeOuWmm3Xrh/iaZw1hIjq3F/a/COL9T/UNSuXPM+TEuY5SOp8h0zP5nORUEpmI8nnN3N7A7yfNZTF+qCqbmtM/cb7mr9rpmubzb9Jqau/AXA73PC5rZRCrDZc8y2KljvrkNV70NpHz9n7J+0q2Z95Yael1PE//k9/54W/+6bjv/vDP+PxL97nw5/9lM+ub+jefpu3f/s93n57g+bHpPfhlx9+wEePP2NEiX3PhitMlWflMZIUi8aFXkzvoP0dU6q+zl37fWkPwKKfLsaXFiXEU/tsuU7qmXcaQ0DNKCXUNXI2EbQc5vMs1mtq39Rbvth0nVJAhBS3d74L0dfbWG23PI4UhRjcxsOMnDM5Z2KKPgdU3yKIj4EQAkWVGAKlNBtffF4sBcPn6BCD2ym1TxdVpE/TeNWibOR0Lq93iWoiBKPvI7GDLiWgQzVjUSgB+l1H2I9IDnT9Pbi6z+6dd3jnt/4y3/1O4rfeC6R8gCM8+tmHfPCLX/Kzn/2Mjz/4kA/ef59PPv6UR08/Z3+z53A4UEphu7lP6hKx70nbDRf3Ltlst1xcRba7LX3XE6OvUVE23ic0IJLcxi0KdWy2eWskTX0oBEHV7WJk7kt5zKQukUp30u8Achynf8cQfS6in3472YcMiz6yeOfS13c0zznN3lOdbbN2nmEY6boOt7zv+p+lFKxeQIuSukQodS7qE5f37/Hbv/ND/vN/9rfu/PZV8EYkjhY3GkwMqwa9mJxM8vPBp5+leHcxHgSCgMZqPAdfX0v9W9sadIYjmpxiVZQz178FEfGFWM+c7DWRSyFnXfrSr0T+fBGUUpDa1sGETd953xYhmhHUEIwYIeJEjarQWcT92oCWAGqUYkQiGgw1Zay3GhfEWTZfYI3aWcSdwmAC6k5QLtkNUqBYwKeluxOwFq0dX+qiHyrZcPd9/arb7WUIZ/rjq/6uTT4TAfe699Amh0oGIFKNPicCzAwpZZr4l7g95s4RPdN3X3HbfhW4ePt7iKTJ+VhOwO157xh6S1JB5u9s0ZZmbYoUwMmAPI5I3jHmPTAiqgTAihudg7R+UerYMYJtQRvpUUgxIkCWguW6OJkTlFqEEBNQiMlJVS0FIaK40RBSJarbUBPou74uNiNqgRg6iikhFEIoiCX28Vg7R/SFTYozLVJ8or3VNO3vRpy4ce7On4TZ2WgGcjs4RLnb3os2PkfotDFEdSI3XUaLt0cpC8LFfPGNErHbYlIzd5gqGRNCOSForV4HM6wa87nkicDx9ktIdQi1HGqfmu+xeie1/ZfjbulQ3botZuN2+a2fr1LTMRJjJEYjhJ6ShRjcuTEMzQe0OCmeuoSaUp7u2Q82tV3fbQlhg41CEuHiwZYH7AgPfkQqD/nh7wy898OB/++fwuF6g372Ph8+u+TZsOW7b2f+5G/2vP/zAx9/vOfmWWC/f8rQRy4vHhDDhrBJxG1ifFq4Plzx0ZPM5pDo6DgMI5LEibuiCAEhgR3vtMe3HTEmGDOfd8rFHh5v4U/+waf8oz85DUAFCUiae8QJISJMTr+PCUE1ExqhbOZEp4xg3o8xX0eWpCPVkYjihNCLIEGmdagZwO40j3Ngqjoqqj75LLmRaa7FJhOgEajtvFYddwmCqRFiZnfZ0aWHMBSOhyO6N0LkhGB6Geyc3fkF4A7GgsCubRhM/NzBpkAMQKzBvYLP86OOPodLDRSFQAxpQURXVL7ldVfh24QGOME7Nfhr2DKllBp0iPN7W56fV7vfU3L7PLFilTAXkakfm+kUJMHK4hx+Gn++eo167Ek7LL5/Lln3G4i2voATB0LtjgIhJCfYZfbdxAy1MrenhdmMXDImXxPMzthxX/YFqddsRNSZkfAim9qW5zhz7jZjnjvGA9qv3p/VCpEINZBXcqZoFRiURKiBy1wKMg7+/XAkj0bJHQlfv/vNhn67+NNv6FIipeTzXhAolYzTKh4olczKmVICmg2
"text/plain": [
"<matplotlib.figure.Figure at 0x7f20e92f6438>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"image/png": "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
"text/plain": [
"<matplotlib.figure.Figure at 0x7f20e9335710>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAABHEAAAEICAYAAADY/WjvAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAIABJREFUeJzsvUmTJUmS3/dTNXN/LyKzMrOW7q7euzHdgxlgZghiQBEswhNFSB7AC4/8ArzxBBGK8MQzvgF454U3nkkR4kAhgcHCGc6C4XTP2nutuUXEc3czUx7UzN3fixdVmVU1U11V/i/Jigh//tzNzc3UVP+6mJgZGzZs2LBhw4YNGzZs2LBhw4YNG365oZ92AzZs2LBhw4YNGzZs2LBhw4YNGzZ8ODYSZ8OGDRs2bNiwYcOGDRs2bNiw4TOAjcTZsGHDhg0bNmzYsGHDhg0bNmz4DGAjcTZs2LBhw4YNGzZs2LBhw4YNGz4D2EicDRs2bNiwYcOGDRs2bNiwYcOGzwA2EmfDhg0bNmzYsGHDhg0bNmzYsOEzgI3E2bBhw4YNGzZs2LBhw4YNGzZs+AxgI3E2bNiwYcOGDRs2bNiwYcOGDRs+A9hInA0bNmzYsGHDhg0bNmzYsGHDhs8ANhJnw4YNGzZs2LBhw4YNGzZs2LDhM4D4MifLpRiP/rqasmHDhr8J7J/c5+bqmXza7fg42GTRhg2ffVw8vuT6+mqTRRs2bPj08TPeMbMvfdrN+KjYZNGGDZ8TvKAseikSh0fAf/tRW7Rhw4ZfBjz4n974tJvw8bHJog0bPvN49C9e/bSb8PGxyaINGz4f+B/5y0+7CR8LmyzasOHzgReURVs61YYNGzZs2LBhw4YNGzZs2LBhw2cAG4mzYcMXDfZpN2DDhg0bQD7TiVQbNmzYsGHDhg2fDl4uneoE/6z7nz/wc7NCKbctRlUlBKWUQikFMzAVLCpNp5P6Nc2GlYIAAmg9biJYOOWgDDtroNrZdizt8auLCKLCTTh/rpzROAUIBlavX6xgZmD+/O15EUGAi/xyvJmeuafh1273FFVE7m73XZAx3zoWQvDPRBABEW9vzrfPvQt3ndt1dwy3Md06VEpBVed/AMWM0fLZdxyCArf7KkXBrJBTQgooUv851JZvJXYYAlgdgAYk/6kZyPWYoeyAcKbd2d+/CILUsQWxiI8T8X9FoADZCknrVWtDYgEtt5/RfFDRxmq7ttntce/95uf98+G/Ob7O59Bw+t/+/v9CKYaZkUNX+8QoJbucyYVS5dHymcuflBKlFKQIUoJ/Xoq/m3pOsUIxKBiGUeo12u8ABQW0yjQ7+tfg3wHmn/4/v4e/33Z++5lznt+xmZ9n9R6CEEsbzXb0bk18uOQqh1DBZllXZde6E6uMmmeEnJtRy8EYwvKd+rPJyDZn74RFQG49q5mhVZ4tt5Ojv5F8cl8BUT+PQAgBM5/H1hpb53lQXfqx9qGPiTL3y/pnvQXFZDXPTn/6Oe19nj6TX6nQ2NPTMfFh0DDVe8gdP309bf3WjgdRurpGLu+myXX5wHa03rzrviGEo/XQDJ8zpWBWmEpe5ogZVnye/A/TP3vh5/6s4r978t8jTb+p+oBqQKUn50xQJRefkyIFVZ8vxQop5XkNLiWjGvw7IdSxu7wvvaX/LHoIde0OuqPrOrrYud4VA6Uv7PqeYAK5QMqMqTBOmWkcGaeJaRypyxgAU0p1Xo3zPaZpYhgGymGRX/6+C1m7uU0l5/p8x9IkqMzXL6WQcsYsI+rjxcyPlVy4LhM5pVnWAuTi+oSZMQzD7Juwlb5nk/haKDL3+VpI5uy6RydKlICKIKqAIVq8z3E9TETI9C7bDET92oQOOdFVclh0mr7vudf5+2i6ZowB8O/HGAghEmMkYERxOTXPZ1WMAyoyP78VQ+r6LiLevibMzfVQ71jxMbjSfyX4OCp1fQQIIVZ5WIghoqr1fZTj9av2+dHcL0axgs66YkI1IFU/aeusis5tbsetrnntfEHmtre+bPJDVee5YO1t12fNdd60e2J1TpVCLv5ZzhkVnwNtTf0Xb/xzPs/4L//v/2r+Pa+mX5P/L4pmWrRrtHd4eo1zNtIp2nuZr13lXQht7TZyzvP4UO3Z7XbsLy6IMRJj4f233mGaJqaVHhdCmOfgen1qul5ra5tX63ac6itND2nXzDkTu6WdIoKV5ff2fREhxojWMRpjXOZovV8XLwCYcBunw9uTc+0L07nNsMyf9TvLOSMi82ft2LoNfg1/npKHaodmwPXdTur8yKleI8zXFU0Yw/xOYoxc7F9xebXf+XESNky1TebtyxM5Xs5t2wXY7Xb0u8ButyPqQ/q+J2pgtxdi14NOXFjm6lp5cgU3IpQcEFWy9sQOuq5j17/G1x8Z33/Y8a3f/AbDwze4YIfY/8ezd0Z+/J7ytTff5P6DB/yr3xfeyH/C//ovH/N3vvku+so3eO1h4W/pA/50fMD15TPuv6s8fv+KoX+PkiNd7Mlh4ub6CpFEJ4HD4QAdjAd/nv1+D4PQP7jH5cUj3nrrR9zfJ77/3a/xW9//Cjx6DZkGfuf/+Pe8++wAF68wThNddPkazd9Ne09mRgiBi4sL/tG//HsfOnfO4WOROB8V6wEqoq4k68cPEDA4Eg4fFfHOS5z7QEA/XHA1pJeMfTonE+cFuLZHYV5Af5mR8/mOLWeaHvsew2mTVIV6zq5U/bVBxmOrdb1AlQCiM7tYDLDbz3PXujhJYZLVGF99NRYnddqHUl7OyDsHF+724cb05wSuINc+C2E20jHF3MZ3wk4WI1pVKVWZU1UoguRqfIGTfnP3VUakki9CJYIwZDaGFTM5VnBZhlT73V+1+DXqUVWdr3OOAHKBXyqB24gHAyuID8baHubfrT5rboq/rmRVJT/MGgnSCONqWIkQNBDiQvMIciKPPniMfpBCV0o6Omd9qr9HW31uRwRCmUmdNenSyIpm2LQXVxUfcbI+aAAzSqlGWSkoBTOtY+j8fHGjEp//1iarzOMJERcNK4LkSFH+GNN5TQqdXtv7oZCyocXQaliK6GzMtvfpfbsYfvYBa6WgR+OhjZH5p8jJ+/Xxtia/vqhYz/mj42vGr2H1btxxIUfnv+w6cEQc3vUalul1FiUvhk1zRM3Ed3aiToCUM1OaIC9EQSOY0+reuZQ6lhZZUkrB4nKSEyNVLyyZUomBnBIpZ4Y0ME3pSL8bczc/z2E4ENqiaguxzriQKylVYkUWJ9MsXxFEArYiYkQTiJM4VudNsv1MuDl5ohS9rPNqIZ+HfrlHPxWy5koEqRuiXXSnZJWxMWa6WAhi9MpikAZFNbjcUZl1qGJGMK1z0dunlFtzUyrhZGLze/1QyN2y+4NkuqiQU577dSbfG7F9ct2U0kxAFStofZ6X0WVnR0Y1Wtv9Su0L5FhumjSC0M46SL8o+Lj65bL2fHJtaeTNuc/XZAUcj6Nz7VjrTXCbOPqw5z/VA5Y5tayfbTyvnU7zZ2Z17upMTJ1ed328fdZIzTXpdLoOnH7Wjq1RrLqvxJ3QGspqba5tppFPod7fZYmT02B0TkjpbQdRk32h7+u7caI0Waa9QX+eql9Lh5WAiZFSIvZ+z0jm/r09nRQkZpIa02AMaWIahbEkRO4DhdC/RxqVcQxc/17m137tBnn1TSx+l1dee5sHP/8Rf/a77/H3/tN/yPs/v+HN730LDv+G3au/hr77lPHyguvvRr791sBfpQcM957z/GpCFcbJ5W+cJqwY2RIhrNfpRIjC86vn2A3s1BgOxmE48MpFx4VGpstHhBshkEEShYky3hDr2tP6cP17e39puh3I8KL4FEkcmz0TMzP/MWkcFSH03a3jVmxZwF8A8WwgiZ0niESw/nZExl14WRLnPD8kFBXMqsdOqnH2AdFGv8w41ycpT7N3S1RAAxIEsn18tu8uyDCTNIt25Mw41J81lMYYOE/qncckdjS+RTzaJiCoiUffNL3TCunMIrOeKx+GXHL1Xn02x8RHQfNymipWWMib+nl1GMxESDNQwvx7ZZPrF6x+p9IzYC1Oa4nEoSmGZnj0x/E7usV53PH61pERbZE+Rwa0KKEWkUMxpinRInya578RTFYjcUTEh+5qDBmCWYsSlCNDxBfzTEiLN9i9w2H
"text/plain": [
"<matplotlib.figure.Figure at 0x7f20e90ee9e8>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"image/png": "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
"text/plain": [
"<matplotlib.figure.Figure at 0x7f20e85a8cc0>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"rcParams['figure.figsize'] = (20,5)\n",
"axes = (axis for _ in range(10000) for axis in pyplot.subplots(1,4)[1])\n",
"\n",
"sub = y_pred == y_test\n",
"for image, class_ in zip(Original_test[sub], numpy.array(y_test)[sub]):\n",
" if numpy.random.rand() < 0.1:\n",
" axis = next(axes)\n",
" image = image - image.min()\n",
" image = image / image.max()\n",
" axis.imshow(image)\n",
" axis.set_xticks([])\n",
" axis.set_yticks([])\n",
" h, w, _ = image.shape\n",
" axis.plot([w, 0, 0, w, w], [0, 0, h, h, 0], color='green' if class_ else 'red', linewidth=8)\n",
" axis.set_xlim(0, w)\n",
" axis.set_ylim(0, h)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"model.fit(\n",
" X_train, y_train,\n",
" verbose=1, batch_size=32, epochs=10,\n",
" validation_data=(X_dev, y_dev)\n",
")"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"for layer in model.layers[:249]:\n",
" layer.trainable = False\n",
"for layer in model.layers[249:]:\n",
" layer.trainable = True\n",
"\n",
"from keras.optimizers import SGD\n",
"model.compile(optimizer=SGD(lr=0.0001, momentum=0.9), loss='sparse_categorical_crossentropy', metrics=['accuracy'])\n",
"\n",
"model.fit(X_train, y_train, verbose=1, batch_size=64, validation_data=(X_dev, y_dev), epochs=10)"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.5.2"
}
},
"nbformat": 4,
"nbformat_minor": 2
}