{ "nbformat": 4, "nbformat_minor": 0, "metadata": { "colab": { "name": "kl_py_TF_keras_pic_class.ipynb", "provenance": [], "collapsed_sections": [], "include_colab_link": true }, "kernelspec": { "name": "python3", "display_name": "Python 3" } }, "cells": [ { "cell_type": "markdown", "metadata": { "id": "view-in-github", "colab_type": "text" }, "source": [ "\"Open" ] }, { "cell_type": "markdown", "metadata": { "id": "Q6wBfwxPMAtL", "colab_type": "text" }, "source": [ "

\n", " \n", "

\n", "











\n", "\n", "\n", "\n", "# Tensorflow + keras képfelismerés\n", "\n", "## A minta használata\n", "\n", "Ez egy a Jupyter notebook mely a Tensorflow mintakód kipróbálásra szolgál.\n", "Ha nem akarunk telepíteni és rendelkezünk google email címmel akkor szabadon kiróbálhatjuk a google felhő szolgáltatásával itt: [Google Colab](https://colab.research.google.com) \n", "\n", "\n", "Az egyes mintakódokat a kódblokk mellett balra található kis play gombbal tudjuk futtatni.\n", "\n", "\n", "Ha a Tensorflow minta tetszik, készíthetünk másolatot ebből a notebookból, így módosíthatod a kódokat és megnézheted a futás eredményét, vagy új kódblokk hozzáadásával (felül a +Code) saját kódokat is írhatunk hozzá.\n", "\n", "\n" ] }, { "cell_type": "markdown", "metadata": { "id": "wAzI1F1VUBpI", "colab_type": "text" }, "source": [ "---\n", "\n", "A lenti kódblokk létrehoz egy többrétegű konvolúciós neurális hálót, majd a CIFAR10 minta adatbázis alapján betanítja azt és elmenti a betanított hálózatot. \n", "\n", "Az adatbázis letölthető az alábi helyről : [db forras](https://www.cs.toronto.edu/~kriz/cifar-10-python.tar.gz)\n", "\n", "---\n" ] }, { "cell_type": "code", "metadata": { "id": "ylC7DsbcL5j2", "colab_type": "code", "colab": {} }, "source": [ "# TensorFlow CNN model training example \n", "# based on https://www.tensorflow.org/tutorials/images/cnn\n", "\n", "from __future__ import absolute_import, division, print_function, unicode_literals\n", "\n", "import tensorflow as tf\n", "\n", "from tensorflow.keras import datasets, layers, models\n", "import matplotlib.pyplot as plt\n", "\n", "(train_images, train_labels), (test_images, test_labels) = datasets.cifar10.load_data()\n", "\n", "# Normalize pixel values to be between 0 and 1\n", "train_images, test_images = train_images / 255.0, test_images / 255.0\n", "\n", "class_names = ['airplane', 'automobile', 'bird', 'cat', 'deer',\n", " 'dog', 'frog', 'horse', 'ship', 'truck']\n", "\n", "plt.figure(figsize=(10,10))\n", "for i in range(25):\n", " plt.subplot(5,5,i+1)\n", " plt.xticks([])\n", " plt.yticks([])\n", " plt.grid(False)\n", " plt.imshow(train_images[i], cmap=plt.cm.binary)\n", " # The CIFAR labels happen to be arrays, \n", " # which is why you need the extra index\n", " plt.xlabel(class_names[train_labels[i][0]])\n", "plt.show()\n", "\n", "model = models.Sequential()\n", "model.add(layers.Conv2D(32, (3, 3), activation='relu', input_shape=(32, 32, 3)))\n", "model.add(layers.MaxPooling2D((2, 2)))\n", "model.add(layers.Conv2D(64, (3, 3), activation='relu'))\n", "model.add(layers.MaxPooling2D((2, 2)))\n", "model.add(layers.Conv2D(64, (3, 3), activation='relu'))\n", "model.add(layers.Flatten())\n", "model.add(layers.Dense(64, activation='relu'))\n", "model.add(layers.Dense(10, activation='softmax'))\n", "model.summary()\n", "\n", "model.compile(optimizer='adam',\n", " loss='sparse_categorical_crossentropy',\n", " metrics=['accuracy'])\n", "\n", "history = model.fit(train_images, train_labels, epochs=10, \n", " validation_data=(test_images, test_labels))\n", "\n", "plt.plot(history.history['acc'], label='accuracy')\n", "plt.plot(history.history['val_acc'], label = 'val_accuracy')\n", "plt.xlabel('Epoch')\n", "plt.ylabel('Accuracy')\n", "plt.ylim([0.5, 1])\n", "plt.legend(loc='lower right')\n", "plt.show()\n", "\n", "test_loss, test_acc = model.evaluate(test_images, test_labels, verbose=2)\n", "print(test_acc)\n", "\n", "model.save('kl_model.h5')" ], "execution_count": 0, "outputs": [] }, { "cell_type": "markdown", "metadata": { "id": "GO6vztG_YiWb", "colab_type": "text" }, "source": [ "---\n", "\n", "Ha sikeresen lefutott a fenti tanítás, akkor létrejött a my_model.h5 fájl, ami a betanított modellt tartalmazza. A következő kódrészletben ezt fogjuk használni, és felismerni vele egy hajot.\n", "\n", "Teszt három hajó példánál megfogható a tévedés is:\n", " - A 1 és 2 mintát biztosan eltalálja hajónak.\n", " - A 15-ös mintát tévesen békának (frog) jelőli 61,6% és csak 21,7% ban tippeli hajónak.\n", "\n", "---" ] }, { "cell_type": "code", "metadata": { "id": "OpOk-g08ZApX", "colab_type": "code", "outputId": "a325b017-7f70-4b18-c666-9444ee4eee1b", "colab": { "base_uri": "https://localhost:8080/", "height": 722 } }, "source": [ "# TensorFlow image classification test example\n", "# based on https://www.tensorflow.org/tutorials/keras/classification\n", "\n", "\n", "from __future__ import absolute_import, division, print_function, unicode_literals\n", "\n", "import tensorflow as tf\n", "\n", "from tensorflow.keras import datasets, layers, models\n", "from tensorflow.keras.models import load_model\n", "import matplotlib.pyplot as plt\n", "import numpy as np\n", "\n", "model = load_model('kl_model.h5')\n", "\n", "(train_images, train_labels), (test_images, test_labels) = datasets.cifar10.load_data()\n", "\n", "# Normalize pixel values to be between 0 and 1\n", "train_images, test_images = train_images / 255.0, test_images / 255.0\n", "\n", "class_names = ['airplane', 'automobile', 'bird', 'cat', 'deer',\n", " 'dog', 'frog', 'horse', 'ship', 'truck']\n", "\n", "def plot_image(i, predictions_array, true_label, img):\n", " predictions_array, true_label, img = predictions_array, true_label[i][0], img[i]\n", " plt.grid(False)\n", " plt.xticks([])\n", " plt.yticks([])\n", "\n", " plt.imshow(img, cmap=plt.cm.binary)\n", "\n", " predicted_label = np.argmax(predictions_array)\n", " if predicted_label == true_label:\n", " color = 'blue'\n", " else:\n", " color = 'red'\n", "\n", " plt.xlabel(\"{} {:2.0f}% ({})\".format(class_names[predicted_label],\n", " 100*np.max(predictions_array),\n", " class_names[true_label]),\n", " color=color)\n", "\n", "def plot_value_array(i, predictions_array, true_label):\n", " predictions_array, true_label = predictions_array, true_label[i][0]\n", " plt.grid(False)\n", " plt.xticks(range(10))\n", " plt.yticks([])\n", " thisplot = plt.bar(range(10), predictions_array, color=\"#777777\")\n", " plt.ylim([0, 1])\n", " predicted_label = np.argmax(predictions_array)\n", "\n", " thisplot[predicted_label].set_color('red')\n", " thisplot[true_label].set_color('blue')\n", "\n", "#i = 1 ## 0: cica 1: hajo, 2: hajo\n", "#for i in range(1,20): # 1: hajo, 2: hajo\n", "kl=(1,2,15)\n", "for i in kl: # 1: hajo, 2: hajo\n", " predictions = model.predict(test_images[i:i+1])\n", " print(i, predictions)\n", "\n", " plt.figure(figsize=(6,3))\n", " plt.subplot(1,2,1)\n", " plot_image(i, predictions[0], test_labels, test_images)\n", " plt.subplot(1,2,2)\n", " plot_value_array(i, predictions[0], test_labels)\n", " plt.show()" ], "execution_count": 15, "outputs": [ { "output_type": "stream", "text": [ "1 [[1.9228178e-03 2.6269299e-03 4.7562628e-07 5.5097926e-06 8.7069481e-07\n", " 3.3569554e-09 6.0042140e-08 7.0312680e-08 9.9538761e-01 5.5595370e-05]]\n" ], "name": "stdout" }, { "output_type": "display_data", "data": { "image/png": "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\n4lkpYokAAAAASUVORK5CYII=\n", "text/plain": [ "
" ] }, "metadata": { "tags": [] } }, { "output_type": "stream", "text": [ "2 [[4.02548239e-02 9.33190659e-02 4.80340277e-05 3.01334937e-03\n", " 2.22218543e-04 1.44131345e-05 7.61669216e-05 1.35923692e-04\n", " 8.46484423e-01 1.64315999e-02]]\n" ], "name": "stdout" }, { "output_type": "display_data", "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAWAAAADCCAYAAAB3whgdAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjEsIGh0\ndHA6Ly9tYXRwbG90bGliLm9yZy+j8jraAAAd7UlEQVR4nO2deZAl11Xmv5uZb6l6tfWm7la37JYs\nS5ZkIVkWCu8GeUzYgzAwMwQ2GAKIgIExHo9ZJmwiBmYCiDCYYIuZgBhs4xnADEYsAY5BNuNl7GGw\nsVqWbNmtxS31vldV1/L2l3n4I1/Lfe853fVeu6Wrfv39Iiq689S9N2/mqzp563x5znUiAkIIIc89\nSewJEELI1QodMCGERIIOmBBCIkEHTAghkaADJoSQSNABE0JIJLLYEyAkNlu3bpU9e/bEngaZUPbu\n3XtGRLZZ36MDJlc9e/bswYMPPhh7GmRCcc4dvND3GIIghJBI0AETQkgk6IAJISQSY8WAZ+c3y5Yd\nu3yjUUoiH/S946IoVJtavaZsaZoqm4PzjhOnmsA5bTSamTaBP7fUOIHVDyOcM88Hqk1iXaM5lnlW\nDzFu/sa9LtywyP17Yc0rSfQz2/p8EdQYcUa/cPRDhw5hcfHMyJdAyJXOWA54y45d+KXf/xvfaDiZ\nxdMnvONup6Pa3PCiG5VtYX5O2Sqp/4tbrWgHVk31L3fV+IXPnHZY+aDtHc80KsYctE/IDFua+HNb\nXl5SbWZnZ/X4FX3OzBmOOng4DIqeamNctknidMNWs+XPIdM/HvV6Xdl6PT2PQa/rHU/Vp1QbF9yv\ne1//anuyhEwoDEEQQkgk6IAJISQSY4Ug0iTBzLQfu01ED9Ft+m2KXku1qVf1n/CNKT1WFjRLkKs2\ntUw/R6aq2pZAxyq7uT9eLdN/YlcrxlhGpDLL/D+prXBJYoRBnDGvWrWqbGGkpdnqqzbWE7VqjCUw\n5hZcVMUIQVjhkn63q2xZEOKYqumYfxhHD0MshEw6XAETQkgk6IAJISQSdMCEEBIJOmBCCInEWCKc\ngyBz/nu/lihWTX1RqZIYwlmi3x+up1qMCt/B7ba1oJemWuCpZ/q9035Xv4+cwJ+HDHQbcfo25UYS\nRLXin9MS3CD6XjjjOZgXWmBrtfxrXzx9WrXZvnWTHt8Qt9KqvqY0uKbUmL+hRyIzxu8G74db7033\n+8HPAPeHJVcZXAETQkgk6IAJISQSdMCEEBKJ8WLATlAN4rnFQNcBSOHHLyuJEduFkUSQ6/huteLH\nd12qY6iVRM+hkuhLK5xRO6HwkwgGHSNenTaUrWPUP5ie9mPAVmEfjFC4BgCaRv2MvXsf8o77Rjx8\n09y3Klutpp+zRkgWToK5FfpeJFYBICOuXRRBbN0YS4pQB2AQmFxdcAVMCCGRoAMmhJBI0AETQkgk\n6IAJISQSYyZiOFSD8mRi7JpQSQIxJdfVslLoRAxntKsEVbv6RqJEXhiJBnO6ApgTLfwhKGpeDAyR\nLNeJHuurZ5VtZtqvpJYY4lpYqBwAsor+GM62tMC2tOrbpowqcD19W9Hr62vKqnpuEohwea7v18AQ\nXXvGNVWDSmpiiI9FUInOEiMJmWS4AiaEkEjQARNCJpodO8rS06N87djx3M6NDpgQMtGcPPnstL0c\n0AETQkgkxhLhEieoOV84yZ1WfcLMt1GqkAGAFEa7oBJZZlRRM3codlpAEkPkC7OvBkYVstzI2ltf\nW1W2Q8F1JoZIFgpdAHDd3LSyWZXOHvnyl73jb7ntNtWmMO5FN9fCWV301kJFIEi2W7pfNdPzH/SN\nCnWZf039gf7cul2/n7m9PSETDFfAhBASCTpgQgiJBB0wIYREgg6YEEIiMZYIBymQBplohSHAJEG2\nVHtFC1bo6n6SaLErnfKnWDVEsmqWKpvrN5UtN86J3O/rMi1iiVHGstlcUbaTJ/3xG3MzeqzEEOYy\n/TH01vVc60FpztNndTbeQ49+WdkaNX1/brzhBmXLAkGy21pTbaYyna1WdNvKlgcZhbnW/IBO8HNh\nlLUkZJLhCpgQQiJBB0wIIZGgAyaEkEiMl4gBoB5sVe6MClZhDLhmxPZmjApm89CxymTFj+XWjK1t\n6kYRraSl45JJx9jyKAkqneV6Xr1VHQOebegKaZs2b/aOnz5yQrV56rC2PfH1Tyrb8hkd313vBLH1\n/ldVmxR6rn0jXv3Sm29Strd855u8413bt6g23bq+/52mjrf3mv51zsk21ca1gxhzbpRyI2SC4QqY\nEEIiQQdMCCGRoAMmhJBI0AETQkgkxhLher0eDh844Nn6fS36rK364kre11XIjh49qmzLNf22fnPd\nf1n/mi2bVZuZRl3Z0kyLRb2+UUmtOuUdJ5neyqhpiHedRIt1EP92Hjp2RjV5+siSHr+nz1mfv0bZ\nXMNPbtBpHkCjqp+pxw8+oWzHjunCp5/73D94x7e8WCdrbFuYU7b2uhYMm6uL3nH/lptVm/WVZe+4\n07Wq1REyuXAFTAghkaADJoSQSNABE0JIJOiACSEkEmOJcOvr6/jc//+8Z3NOZ68VQbZau60zpQ6c\nOKZslq4V7uqzaV6LQI26FrFqxlgVo2paVvMz2pJMC3qtjhYaM2MekvpjnVhaV236hX7mTc8u6Mka\nWzaFFdIS6IvsdPS9npvVc33Fy29XtuaKLxB2OnqLqEOHlpVt//79ytYe+OmJBxd1ZmK75c91panb\nEDLJcAVMCCGRoAMmhJBI0AETQkgk6IAJISQSY4lwrU4PDz/5lGebnppV7UR8Aak70Jlk85t0qcNa\nVQtgvUBUOr2uhaHUaTFqtt5QtkGutzNyFf8ZlKZ6Di7TY9WaOmuv1/ez9paWdNYboGtnGtNHL9dZ\nYWuBSNVr6zbXbdOZgls27VA2a0ulpeXTfr8FfS/uvuM2ZTtyXGc1rrR9wfOxI4uqTZL4bfq5UVeU\nkAmGK2BCCIkEHTAhhESCDpgQQiJBB0wIIZEYS4TLRbAWZDiJldk17RdKnDKErd3XvUjZ+j0tkp0+\n4e8tdmZRiznbt+vSjbWtu5WteVb3LRK/xOP8pu16rNomZevoqaI18EW4ekNnoOV9nR2XOl06s5rq\nPecq1UC0quvMvnvu0iLZTS+8Vtk6PZ0x9/R+/3Pa//jXVJtXfqvOoLvuOj3+oS8f9OdqCGxFsAdc\nYewvSMgkwxUwIYREgg6YEEIiQQdMCCGRGCsG7JIUlZof3912jY7/1YNtcc6cOaLaNJtryobCqO4V\nbCM0v00nFey6/kZlm53Xcdu5rTpWvLjkV/fKC31L+jpEa1Z4a7X8+G6vb1X30sHjalWfs17TyR8V\n8auyXTOnY8zbNmlbvaKfs9uMWPdc1U8uWTx0SLU5uP+Asu3YvFXZVk76VfMqm7epNr3Uv+7CqO5G\nyCTDFTAhhESCDpgQQiJBB0wIIZGgAyaEkEiMJcKlaYaFha3KFtLt+hXLnOHnlxbPKtvqqpGkUPET\nEtJCJx8cPHpS2eZWtQA2P6+3/gmrn3WN7Yec09sD1SrGrWtMe4dTopMpkswQmqRQpsbUtLJVxBfw\ndm/RQt10Vd+f5qq+14OWvtcuyIO43hA39z32lLLddNPNyoYgyeL4MV0xrbbJr9wWbmVFyKTDFTAh\nhESCDpgQQiJBB0wIIZGgAyaEkEiMlwnnnBLFWm0tWqWBmpNmuhpanmvfn2UzylaI365a01sgbd26\nU9lmZqaUrT6l5zFf821ZparaiLFnkBjVvQYDXySbn9PXkyRWVTB9DzPRtqLrC2fzNWNeA71NUW5s\nb9QbaLGuHQiQ07Pzqs3BE7qi3Nf2f0LZul1fBO13tZApqT+HIqcIR64uuAImhJBI0AETQkgk6IAJ\nISQSdMCEEBKJsUS4LKtgS1AOsujrLK6ZKb+sYZHrrLRKogWxa4zSli7zx6rWtbhWremx6nV9aWmm\nnzehwOZSI1PNEOFSp8dqNX2RLDEy3KwMOjGEudaKFruOHnjSO16q6HktTOnxt2/RGYD1us606/R8\noUwyncmXTetyl6ePHFO263b65Sdne/perAbCXGrcZ0ImGa6ACSEkEnTAhBASCTpgQgiJxFgx4CRJ\nMR3EAPtG9bCphh+TXZjTWwEVAx33zKo6CWJqxk+8EKcTCBKjIlshRjvreROYxGgi0PHLwUDHtQd5\nyzteXTyj2lg3vGLEgNdXTivb8WN+rHX7Zh2PXWjo7YFaRvy1MOLhg2B2VrLJrt3XKdvNL75B2e68\n1bc98dRh1eZLX9nnHe+tVFQbQiYZroAJISQSdMCEEBIJOmBCCIkEHTAhhERiLBGukALNtr/d0OyU\nrk4WblN06rROKlhd0dvkFIV+HtwYbHezsFmLTGlFC24O2jbItRjV6/mVwlq9pmrT6baUbdBb1efM\n/Wpo0tVVyBpVLTQtLGxWtqnqNmXLgipzCzM6mWJ+Vtt6xjxaxr3udf35J8ZWTJvmtfA3XdNjHTl8\n0DtOtZ6H225+sXf8sbpO/CBkkuEKmBBCIkEHTAghkaADJoSQSNABE0JIJMbekqgWZCstnjml2u1f\n9jPArC1xFjZtUradO7crWy/Y5qff66g2heitbFZbWkxrt7WYlgdb+KRGVlq1op9TlphWb/iV2qaM\nymed1rqyFUamXWNGb2cUVgurplpoTFM914ox185AC2wuGM8Z8+r3debjkcVlZWs1V7zjzKistmPn\nbv98rIZGrjK4AiaEkEjQARNCSCTogAkhJBJ0wIQQEomxRLh8MMDZZT+r7fhRvR3NdMPPxnrJrber\nNpu36hKV09N6u6FO2xfTlpeXVJt+38j0Ei0WTU/rrYvm53xxqFHTYtGUIWJlhmCUB5lwg4GeQ7+v\nBcNOYghi0OMniS+S5Ua5yL6RcZalusynFFrM7HR92+JpXU7zjFFic21tTdmWz/qZjo3phmpTm93i\nHQ+M6yFkkuEKmBBCIkEHTAghkaADJoSQSNABE0JIJMYS4bKsgs3b/Gy1TYaYlgUZVVldi19r6zoj\nbH1dl3is1XwBzMrEKoJsOQC4drsu51irazEqzHyTQgtizY7e/62zqoWns4FAuLik93Vrt3WG3i23\n3KxslYUFZQtluTTRQp2V4dZt6rkeOaH3aDt9xp9vr6fvdaup579ydkXZqkFJUuvz/uSnPuW3WdOf\nPyGTDFfAhBASCTpgQgiJBB0wIYREYqwYsADoix8zrRvbyGSZH7fNRVfVSp1+6T4zKnmFYc66Ecdt\nN3Wssr2i455tbUJW9c+ZGJXPJNdx1cf3fU3ZDh044B0Pcj0vMSq3Xbtzh7Jtnp9XtnarddFjADi7\nrLd6WlzWW0K1ezqunQfX2TLGX1nVcdoE+rOczvwfrRPHj6s2J06c8I47HZ0cQsgkwxUwIYREgg6Y\nEEIiQQdMCCGRoAMmhJBIjCXCdbodPPnEPs926223qnZTgVBWaA0OiVHtqyi0QHXylL/lUXNVv/Tf\nbRuCkpGQEIpMAHDDjXu8423XbNX9jAuoZLpC2vz8nHdsJn7oXYRUFTIAeOzxx5VtveknM1j9+sZ1\nF6JFsqZRwawd3MeWsa2TlZxRy/SP0eopv2ra2bNaHMyLIAlGtSBksuEKmBBCIkEHTAghkaADJoSQ\nSNABE0JIJMbLhCty9Du+eNNZ1+JKEmSAiSGvJKk+dW5UNXvyySe84/UVfb5qRY9VqekKbGGVNgAo\nBr7wlwwMxdDYKmfL5s3KFmbttdq6AljbsB0+fGTDsQDABY9LSfTzs9XTwtyKIYA1F7WYWQnEtIHx\neQxyLZQ2z+rsuEFQ9S03+lF2I1c7XAETQkgk6IAJISQSdMCEEBIJOmBCCInEWCJc4oB65vvsniEq\n1TNfQXKJFr8Sq/SkIabNzc34Y1f0WDONaWVLjTKZ08bWSIO+LzQ9+dhjqs3K0pK2Gdv85EGpyUpV\nz9UquVmr6ow5l2iBqhVsjXR6SZeZbBnZcalx/zfN6S2PekE5SEtEHPS1mFaYAlugIjqtKrpAVTR0\nR0ImGq6ACSEkEnTAhBASCTpgQgiJBB0wIYREYiwRDnBIAkEnNzLHnPPbhNlmANDtGiKWkXk1FWRn\nJRVdBrLd1GUTu0vHlO1wS4tKRVC+0RmlGyvGOdNMC3qVun/diXF3ez1dLnJ9WZfT7HT0XDsdf482\nS7SqG9lx/Y4uIdmHFubagcgXlqcEgMIozemMtL1B8HMiuZ5XtRKItWGqHyETDn/iCSEkEnTAhBAS\nCTpgQgiJxFgx4DwfYO2sv9VMe01X2jp1zE8s6Ha6eqyBtvX7Rqyy78dMxYjRJkYMslLRcecs08+b\nNKiQlhmJHkYOAQa5jld3mv78u10dm15b1XFV0WFhNGZ1jDkN4rtixN+7zZayWVXNVrr6Xocx39zY\nIspZW0mJUUEuIDO2cHKFceGEXEVwBUwIIZGgAyaEkEjQARNCSCTogAkhJBJjiXCDXgcnDj7p2cR4\nMT/cfsZ6UT+rGaJMalXM8m3Viq4cNj2tq6GF/QA7iWAQJGKsr2vBykqeKESPnzj/ugtDqKvW9Fyv\nufZaZWuu6y2DVs8ue8eDnh5fBnqulnDW6lli3caCp5X9YY1fCT7zFPret1p+Mo71+RAyyXAFTAgh\nkaADJoSQSNABE0JIJOiACSEkEuNVQxNBWvjZUkWuhRNVYcwQ4XKjVFgi2hZqad1cZ9AN+lpQskSy\nUBy0yDI9h4qxZVBqZHZlgWhlVYqrV/X4tSm9fdLyor7O5ppfIa1ibDWUGhXFel3jnhnZawJ//paQ\nmRjV1qwKcvXMn9v6qs6YbDV9obEwMu8ImWS4AiaEkEjQARNCSCTogAkhJBJ0wIQQEokxtyQSld1l\nZUtJUF9RCi3mSF/3s0SysKczRKA8NcQoI2OuVtNiV1jiMTHGMvLBIIZglPd9sSs3tvTpVfQc2m1d\ntrK5PsL2SVU9105LC5LmZ2Q8esNWlghn3YvM+Eyk59+L5cWTqk2/Fwi6FOHIVQZXwIQQEgk6YEII\niQQdMCGERGKsGHBRFOj0/K1srMQFCWKHqdEmMRIZktRoF8QXUyP5wIrbIjUSBqxYZVCBK6wIBthb\n8/QH2pYG27r319dUm9yYf6PbUbYw3gsASXBfu23dD4UVpbWabdzOuhdZRX9u4bZOALB08pR33De2\nZwpDzM6MMBMyuYwpwhFCRuE973nPWO3f9773PUszIc9nGIIghJBI0AETQkgk6IAJISQSY8WAXZKg\nUqt7tsQQlSphcoMlfhlVu4zdbuBCXcYQmcLEDwCAkdSRG1veFIGYNuhbWxL1lK3d0UkWedtPghgY\niRgNQ7ybmt+ibNZ2Q/2OP49QlLsQVkIFrK2kglsbVkcDgIYhbjZXl5VtNax+ZuhriaqIxy2JyNUF\nV8CEEBIJOmBCCIkEHTAhhESC7wETchH4Pi95NhnLAfc77TNH9j1y8NmazNVA5+jTyrZo2J6vnLmM\nYw36SpB84WUcnpDnPWM5YBHZ9mxNhBBCrjYYAyaEkEgwBkwIIQbPRfyfK2BCCInExK6AncMBAHeL\n+LqRc3gLgFtFMPLjyjn8OoDvRPnA+nsA7xKBOIfPANgJ4FzK23eI4JRzeCeAfwvgEIDvEUHPObwG\nwL8WwbsvcI4pAA8AuFcE5t48zmFdBDOG/ScBtETwPy9yDfcBuEcEvzjaVZMrjXFWbHxb4/mBs/YL\nmwQu5IAvYZxXAXg/gNcNTf8PwHtF8JmhA/45ETwY9Pk8gFcB+AUAjwD4GErn+jYRLF3gPO8AkIng\ndy4yF9MBj3gdDsBDAF4tAr1x3FWMc+40gHHf7tmKS3sphP2eP+d8rvq98EIvMFzxK2Dn0ADwUQC7\nAaQAflkEfzb89judw3cBqAD4PhE85hx+BKVj/mnn8GEAHQB3A5gD8DMi+FhwCgFQB1BFWa6iAkDv\nMBlMa9huGkAfwNsB/N2FnO+QHwTwA8Nr2gngz4ZzygD8lAg+N/zerwK4D+Wq+7tFcNI5/GcA6yL4\njeFD4REArx/2/TER/NN5K/b7hveLDLmUt3uccw+KyN3sd3n6xThnjGsMmYQY8JsAHBPBHSJ4KcqV\n5jnOiOAuAL8H4Ocu0H8PgHtQhhh+3zl41YZE8I8APg3g+PDr4yLYd16TP3QODzuH/zRcZQLAfwXw\neQAvAPAPAH4UwH+70AU4hyqAG0RwYGj6geF57gRwB4CHh/YGgM+L4A4AnwXw4xcYcnrY998B+NB5\n9gcBvPZC8yCEPLdMggP+CoA3Oodfcw6vFcHKed/7y+G/e1E6WouPiqAQwZMAngLwkvO/6RxuBHAL\nyhX2LgD3OveME/tBEdyO0qm9FsAPAYAI/kgELxPB2wG8G8DvAnizc7jfOfyWc+q+bwVwfvmwLwL4\n0eHK9nYRnNvbqAc8s0K/2DX96XAenwUw5xwWhvZTAK69QB9CyHPMFe+ARfAEgLtQOuJfcc4TmbrD\nf3NcONwSBsHD4+9FuepcF8E6gL8D8MrhuY8O/10D8BGUK+lncA7XohS+/hrAzwL4fpSO9g3BOdrA\nN1beQ8f5OgBHAXzYOfzw8Ft9+UaNyEu5pjq+IRiSb47/zn6XtV+Mc8a4Ro8r3gEPnVxLBH+MUiy7\na8whvs85JM7hRQBuAPB48P1DAF7vHDLnUEEZW903PN46nEMFZWz10aDvLwPPPBCmUDrCAmVs+BlE\nsAwgPRf+cA4vBHBSBH8A4AOXcE3fPxznNQBWzvur4CZjjuQSEJFL+iVkv+fPOWNcY8gVL8IBuB3A\n+51DgVLw+qkx+x8C8E8oBa+fFEG41fD9AO5FucIWAA+I4G+H4t/Hh843BfB/APzBuU7O4WUAIIKH\nhqaPDMc4DODXjXl8AsBrhuN8G4Cfdw59AOvAMyvgUek4hy+hFAJ/7Dz7twN475hjEUKeLUTkqv0C\n5MOA/JvY8xjO5S5A/ugyjPMZQO427NsB+WTs67zSv1CKvo8D+DqA94zR70MoY/CPjnm+61CKwF8D\n8FUA7xqxXx3lwuKRYb//MuZ5UwBfAvCxMfocQLnIeBjAg2P0W0C50HkMwD4Arxyhz83D85z7WgXw\nH0Y837uH9+RRlHpJfcR+7xr2+eqo59ro64oPQUwKUq6UP+0c9B5Pl4cXoIxDk0vEOZeifJvlzQBu\nBfA259ytI3b/MErnPS4DAD8rIrcCeAWAd4x4zi6Ae0XkDgB3AniTc+4VY5z3XYD3ts+ofLuI3Cnj\nvab1OwAeEJGXoHzrZ8Pzisjjw/PcCeDlAFoA/mqjfs65XQD+PYC7ReSlKB80bx2h30tRvnV0z3CO\n9znnbtyo30Zc1Q5YBD8igvtjz+McIviQXCALbowxvk2CxJCh/Ysiz7zORi6NewB8XUSeEpEegP8F\n4LtH6SginwUu+h74hfodF5GHhv9fQ+mcdo3QT0RkfXhYGX6NlHXlnNuN8rXMD4w733Fxzs2jFJw/\nCAAi0hORsxfvpXgDgP0iMmoyTQZgyjmXodRjjo3Q5xYAXxCRlpSbUP5fAP9qzHkqrmoHTMiY7EIZ\nwz/HEYzgDC8Xzrk9AF4G4Asjtk+dcw+jDH38vYiM1A/AbwP4jxh/l1QB8Ann3F7n3E+M2Od6AKcB\n/KFz7kvOuQ845xpjnvetGL56ueEERY4C+A2U2s9xACsi8okRuj4K4LXOuS3OuWkA/xJleOibgg6Y\nkCsA59wMgL9AGXtcHaWPiOTDP9F3A7hn+Gf0Rue5D8ApEdl7CdN8jYjchTJE8w7n3Os26oByNXoX\ngN8TkZcBaAIYuaiFc64K4C0A/nzE9ptQ/tVyPcp34hvOubdv1E9E9gH4NZRi+QMo487f1F+rAB0w\nIeNwFP6qZ/fQ9qzinKugdL5/IiJ/uVH7kOGf9J/GaDHoVwN4i3PuAMoQy73OuT8e8TzD9+LlFMp4\n7D0X7wGg/CviyHmr8/sx3muXbwbwkIhsVB7gHP8CwNMiclpE+iiTtV41SkcR+aCIvFxEXgdgGcAT\nY8zThA6YkNH5IoAXO+euH6683grgb57NEzrnHMr46D4R+c0x+m1zzi0M/z8F4I0o3zK4KCLyXhHZ\nLSJ7UF7fp0RkwxWic67hnJs9938A34ER3jkXkRMADjvnbh6a3oDyjY9ReRtGDD8MOQTgFc656eG9\nfQNGFBudc9cM/30ByvjvR8Y4r8kkvAdMyHOCiAyccz8N4OMo1fMPichXR+nrnPtTlO93b3XOHQHw\nSyLywRG6vhplivtXhvFcAPgFEfnfG/TbCeB/DN/cSAB8VETCQlOXk+0A/qr0acgAfEREHrh4l2d4\nJ4A/GT7UnkJZO2VDho7+jShLv46EiHzBOXc/ysqAA5Sv2o2aWPEXzrktKPMN3nEJYqFiYstREkLI\n8x2GIAghJBJ0wIQQEgk6YEIIiQQdMCGERIIOmBBCIkEHTAghkaADJoSQSNABE0JIJP4ZnxpEDD5l\nPjQAAAAASUVORK5CYII=\n", "text/plain": [ "
" ] }, "metadata": { "tags": [] } }, { "output_type": "stream", "text": [ "15 [[7.8094122e-03 7.9216734e-02 5.0293680e-02 1.9250015e-02 3.4158535e-03\n", " 2.5799684e-03 6.1669052e-01 3.3149775e-04 2.1777739e-01 2.6349742e-03]]\n" ], "name": "stdout" }, { "output_type": "display_data", "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "tags": [] } } ] } ] }