From d8c17efcd5cf3613918477fdf2139e8b5911ee65 Mon Sep 17 00:00:00 2001 From: "Bob(ArtyushinaVV)" Date: Thu, 18 Sep 2025 00:21:05 +0300 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D0=B5=20=D0=BE=D1=82=D1=87=D0=B5=D1=82=D0=B0,=20?= =?UTF-8?q?=D0=B1=D0=BB=D0=BE=D0=BA=D0=BD=D0=BE=D1=82=D0=B0=20=D0=B8=20?= =?UTF-8?q?=D0=B8=D0=B7=D0=BE=D0=B1=D1=80=D0=B0=D0=B6=D0=B5=D0=BD=D0=B8?= =?UTF-8?q?=D0=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- labworks/LW1/1.png | Bin 0 -> 233 bytes labworks/LW1/1_90.png | Bin 0 -> 156 bytes labworks/LW1/2.png | Bin 0 -> 292 bytes labworks/LW1/2_90.png | Bin 0 -> 235 bytes labworks/LW1/notebook.ipynb | 3083 +++++++++++++++++++++++++++++++++++ labworks/LW1/p_11.png | Bin 0 -> 7140 bytes labworks/LW1/p_11_2.png | Bin 0 -> 7311 bytes labworks/LW1/p_4.png | Bin 0 -> 10780 bytes labworks/LW1/p_6.png | Bin 0 -> 33636 bytes labworks/LW1/p_8_100.png | Bin 0 -> 33378 bytes labworks/LW1/p_8_300.png | Bin 0 -> 33390 bytes labworks/LW1/p_8_500.png | Bin 0 -> 33159 bytes labworks/LW1/p_9_100.png | Bin 0 -> 36476 bytes labworks/LW1/p_9_50.png | Bin 0 -> 36685 bytes labworks/LW1/report.md | 608 +++++++ 15 files changed, 3691 insertions(+) create mode 100644 labworks/LW1/1.png create mode 100644 labworks/LW1/1_90.png create mode 100644 labworks/LW1/2.png create mode 100644 labworks/LW1/2_90.png create mode 100644 labworks/LW1/notebook.ipynb create mode 100644 labworks/LW1/p_11.png create mode 100644 labworks/LW1/p_11_2.png create mode 100644 labworks/LW1/p_4.png create mode 100644 labworks/LW1/p_6.png create mode 100644 labworks/LW1/p_8_100.png create mode 100644 labworks/LW1/p_8_300.png create mode 100644 labworks/LW1/p_8_500.png create mode 100644 labworks/LW1/p_9_100.png create mode 100644 labworks/LW1/p_9_50.png create mode 100644 labworks/LW1/report.md diff --git a/labworks/LW1/1.png b/labworks/LW1/1.png new file mode 100644 index 0000000000000000000000000000000000000000..02b61738723296888578a2c152b8ad3e5898fa0c GIT binary patch literal 233 zcmeAS@N?(olHy`uVBq!ia0vp^G9b*s1SJ3FdmIK*jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85o30K$!7fntTONu+G!PF~r0B?bVIE4GIFSiGI><$tv3xEJ@JZ zmca7jfl%C=BTe1Mp6q+}pvzuOEvxSFkv-4ncxwsb0Wff^!~ge7={w zRlmhx@g)B2wQ~d8t_mND*;Vvs*R#a82Sk9$0zbH9FgZ^N~DfeNb}Gj@8>G ajTvMd%}-_XZEFX*gu&C*&t;ucLK6T%5LC$k literal 0 HcmV?d00001 diff --git a/labworks/LW1/1_90.png b/labworks/LW1/1_90.png new file mode 100644 index 0000000000000000000000000000000000000000..d84caffb11839fe4718820797c7be6ec8fbf13f3 GIT binary patch literal 156 zcmeAS@N?(olHy`uVBq!ia0vp^G9b*s1SJ3FdmIK*oCO|{#S9EWB_ParFHODzDCplkG0#B85m;N4;V&1{BsOwGJ~h9pUXO@geCxcw=i7* literal 0 HcmV?d00001 diff --git a/labworks/LW1/2.png b/labworks/LW1/2.png new file mode 100644 index 0000000000000000000000000000000000000000..e5bc3155c8f1ae2f840c1a5c0f1960021eb2a0fd GIT binary patch literal 292 zcmeAS@N?(olHy`uVBq!ia0vp^G9b*s1SJ3FdmIK*jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85o30K$!7fntTONaHpq>V~B_M+bM>8hZT5SE#;0skhs(G*wDzx zXj}Y;=*S6Pd=)EJ?bEb)`0{k$n>yC_wda0bJm}2PsQ+z()yavwrZ}B-%FaFBJwv1< z$ji`8&g#RbU|St4YV_BE!bF5Zo}@wiFoZBp%fTi#pG ke7ye&&35~L@zEXO&rIjlt*_jf1oQ-hr>mdKI;Vst08>_QV*mgE literal 0 HcmV?d00001 diff --git a/labworks/LW1/2_90.png b/labworks/LW1/2_90.png new file mode 100644 index 0000000000000000000000000000000000000000..71b3a29d21dba7bd0157d5fdd88af8fee34df54c GIT binary patch literal 235 zcmeAS@N?(olHy`uVBq!ia0vp^G9b*s1SJ3FdmIK*oCO|{#S9EWB_ParFHODzC^*;C z#WBR=_}eLtd<=p-uCnJ1We)qwoWBGFCr)%M`PF@+cmLIWf9`LYvTN6^Nrq}mpUko5 z{Ce+sxcb7MlV#L}3mK0xP2;eNuDO;IZ+P-*lyb(#oAcIgt&QejED#i7*L)%IctZCA z=h+Rr*;r@a@!v4@?Q!{Op?a@g#WL(K*^#YndQx;jN%esOP4U<)*XfrZU2Awe@278+ f(Zz#T*MDJ{tae^KsGcJc=uievS3j3^P6" + ], + "image/png": "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mkdzl7Nwyc/Pt+ZOr77ddttt1typn0VFRdZ848aN7pOLkpAXNidPnqzxU4C9e/dqy5YtSk9PV3p6un72s59pxIgRysrK0p49ezR16lR17txZubm5YZ04EMvoCeCOngDu6AkQvJAXNps2bdJNN91U/fHF39EcM2aMFixYoI8//lhLly5VeXm5srOzdeutt+rnP/85e6ojodATwB09AdzREyB4IS9sBg8eXOsbRP7+97+v14SAeEBPAHf0BHBHT4DgRXzzAAAAAACINBY2AAAAADwv4ruiJSKnXSomTJjQwDP52gcffOD42PDhw615586drfkrr7xizbOzs635t38v+NtSU1OteaLuiobY0KxZs2hPAQjajTfeaM0HDBhgzZ1+nclp9zOn42v7d5rdzxBp58+ft+Zbtmxp2InEsG3btllzp13RWrdubc1HjRplzWN5VzResQEAAADgeSxsAAAAAHgeCxsAAAAAnsfCBgAAAIDnsbABAAAA4HnsilYP3/3ud6356NGjrXnLli1DOv+iRYuseUpKijUfN26cNe/Tp4/jNf76179a89dee82at2vXzvFcoZz/7NmzIZ0HAFCT0y5+kd7d7+DBg46PLV68OKLXBhJRTk6ONX/55Zetee/evSM5nZjGKzYAAAAAPI+FDQAAAADPY2EDAAAAwPNY2AAAAADwPBY2AAAAADyPXdHqITc315r36tXLmhtjQjr/kSNHrHlpaak179GjhzW//vrrQ7quJI0aNcqaO93DW2+9Zc2ffPJJa378+PGQ54TE4bSTX3p6ekjnueqqq6z51Vdfbc2dulubSZMmWfOuXbuGdJ7Dhw9b8+nTp1vzc+fOhXR+xJ8777wz2lMAUAe33367NR8wYIA1/5d/+Rdr3rp167DNKV7wig0AAAAAz2NhAwAAAMDzWNgAAAAA8DwWNgAAAAA8L6SFTWFhoXr37q3U1FRlZGQoLy9PO3furHHMmTNnlJ+fr1atWqlFixYaMWKEysrKwjppIJbRE8AdPQGCQ1eA4CWZELbqGjp0qO6++2717t1b58+f109/+lNt3bpV27dvV/PmzSVJEyZM0DvvvKMlS5bI7/dr4sSJSk5O1p///OegrlFRUSG/31+3u4mQjIwMa75u3Tpr3qFDh7BcNykpyZqHurtabb766itr/rvf/c6az5o1y5p/8skn1ryqqqpu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\n" + }, + "metadata": {} + } + ] + }, + { + "cell_type": "code", + "source": [ + "# развернем каждое изображение 28*28 в вектор 784\n", + "num_pixels = X_train.shape[1] * X_train.shape[2]\n", + "X_train = X_train.reshape(X_train.shape[0], num_pixels) / 255\n", + "X_test = X_test.reshape(X_test.shape[0], num_pixels) / 255\n", + "print('Shape of transformed X train:', X_train.shape)\n" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "aA2jf933o-L_", + "outputId": "9c8f480d-0b5d-42ff-ed53-cb64b437de23" + }, + "execution_count": 107, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Shape of transformed X train: (60000, 784)\n" + ] + } + ] + }, + { + "cell_type": "code", + "source": [ + "# переведем метки в one-hot\n", + "from keras.utils import to_categorical\n", + "y_train = to_categorical(y_train)\n", + "y_test = to_categorical(y_test)\n", + "print('Shape of transformed y train:', y_train.shape)\n", + "num_classes = y_train.shape[1]\n" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "3wf63CHPpMQ8", + "outputId": "145e28b6-4825-4a61-dbe3-12fdb77684f5" + }, + "execution_count": 108, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Shape of transformed y train: (60000, 10)\n" + ] + } + ] + }, + { + "cell_type": "code", + "source": [ + "from keras.models import Sequential\n", + "from keras.layers import Dense" + ], + "metadata": { + "id": "3zTIE8MQprCi" + }, + "execution_count": 109, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "# 1. создаем модель - объявляем ее объектом класса Sequential\n", + "model = Sequential()\n", + "# 2. добавляем первый скрытый слой\n", + "model.add(Dense(units=300, input_dim=num_pixels, activation='sigmoid'))\n", + "# 3. добавляем второй скрытый слой\n", + "model.add(Dense(units=100, activation='sigmoid'))\n", + "# 4. добавляем выходной слой\n", + "model.add(Dense(units=num_classes, activation='softmax'))\n", + "# 5. компилируем модель\n", + "model.compile(loss='categorical_crossentropy', optimizer='sgd', metrics=['accuracy'])" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "ABH5pkU0qaeH", + "outputId": "700d2007-fb7e-42db-9165-047219385190" + }, + "execution_count": 110, + "outputs": [ + { + "output_type": "stream", + "name": "stderr", + "text": [ + "/usr/local/lib/python3.12/dist-packages/keras/src/layers/core/dense.py:93: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n", + " super().__init__(activity_regularizer=activity_regularizer, **kwargs)\n" + ] + } + ] + }, + { + "cell_type": "code", + "source": [ + "# вывод информации об архитектуре модели\n", + "print(model.summary())" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 242 + }, + "id": "IcWKR9BBqd6e", + "outputId": "3c257d50-9c5f-44d9-d38a-c78a9bb6598a" + }, + "execution_count": 111, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "\u001b[1mModel: \"sequential_7\"\u001b[0m\n" + ], + "text/html": [ + "
Model: \"sequential_7\"\n",
+              "
\n" + ] + }, + "metadata": {} + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓\n", + "┃\u001b[1m \u001b[0m\u001b[1mLayer (type) \u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1mOutput Shape \u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1m Param #\u001b[0m\u001b[1m \u001b[0m┃\n", + "┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩\n", + "│ dense_16 (\u001b[38;5;33mDense\u001b[0m) │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m300\u001b[0m) │ \u001b[38;5;34m235,500\u001b[0m │\n", + "├─────────────────────────────────┼────────────────────────┼───────────────┤\n", + "│ dense_17 (\u001b[38;5;33mDense\u001b[0m) │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m100\u001b[0m) │ \u001b[38;5;34m30,100\u001b[0m │\n", + "├─────────────────────────────────┼────────────────────────┼───────────────┤\n", + "│ dense_18 (\u001b[38;5;33mDense\u001b[0m) │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m10\u001b[0m) │ \u001b[38;5;34m1,010\u001b[0m │\n", + "└─────────────────────────────────┴────────────────────────┴───────────────┘\n" + ], + "text/html": [ + "
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓\n",
+              "┃ Layer (type)                     Output Shape                  Param # ┃\n",
+              "┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩\n",
+              "│ dense_16 (Dense)                │ (None, 300)            │       235,500 │\n",
+              "├─────────────────────────────────┼────────────────────────┼───────────────┤\n",
+              "│ dense_17 (Dense)                │ (None, 100)            │        30,100 │\n",
+              "├─────────────────────────────────┼────────────────────────┼───────────────┤\n",
+              "│ dense_18 (Dense)                │ (None, 10)             │         1,010 │\n",
+              "└─────────────────────────────────┴────────────────────────┴───────────────┘\n",
+              "
\n" + ] + }, + "metadata": {} + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "\u001b[1m Total params: \u001b[0m\u001b[38;5;34m266,610\u001b[0m (1.02 MB)\n" + ], + "text/html": [ + "
 Total params: 266,610 (1.02 MB)\n",
+              "
\n" + ] + }, + "metadata": {} + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "\u001b[1m Trainable params: \u001b[0m\u001b[38;5;34m266,610\u001b[0m (1.02 MB)\n" + ], + "text/html": [ + "
 Trainable params: 266,610 (1.02 MB)\n",
+              "
\n" + ] + }, + "metadata": {} + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "\u001b[1m Non-trainable params: \u001b[0m\u001b[38;5;34m0\u001b[0m (0.00 B)\n" + ], + "text/html": [ + "
 Non-trainable params: 0 (0.00 B)\n",
+              "
\n" + ] + }, + "metadata": {} + }, + { + "output_type": "stream", + "name": "stdout", + "text": [ + "None\n" + ] + } + ] + }, + { + "cell_type": "code", + "source": [ + "# Обучаем модель\n", + "H = model.fit(X_train, y_train, validation_split=0.1, epochs=15)" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "YwjmFwTBq1MA", + "outputId": "cbfcdc54-b757-4c71-b101-3d694ea98e9f" + }, + "execution_count": 112, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Epoch 1/15\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m12s\u001b[0m 7ms/step - accuracy: 0.2517 - loss: 2.2636 - val_accuracy: 0.5822 - val_loss: 1.9925\n", + "Epoch 2/15\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m19s\u001b[0m 5ms/step - accuracy: 0.6028 - loss: 1.8278 - val_accuracy: 0.7020 - val_loss: 1.2828\n", + "Epoch 3/15\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m9s\u001b[0m 5ms/step - accuracy: 0.7341 - loss: 1.1469 - val_accuracy: 0.7930 - val_loss: 0.8675\n", + "Epoch 4/15\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m8s\u001b[0m 5ms/step - accuracy: 0.8049 - loss: 0.8009 - val_accuracy: 0.8337 - val_loss: 0.6765\n", + "Epoch 5/15\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m12s\u001b[0m 5ms/step - accuracy: 0.8362 - loss: 0.6381 - val_accuracy: 0.8537 - val_loss: 0.5671\n", + "Epoch 6/15\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m9s\u001b[0m 5ms/step - accuracy: 0.8607 - loss: 0.5364 - val_accuracy: 0.8643 - val_loss: 0.5022\n", + "Epoch 7/15\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m7s\u001b[0m 4ms/step - accuracy: 0.8715 - loss: 0.4791 - val_accuracy: 0.8753 - val_loss: 0.4607\n", + "Epoch 8/15\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m9s\u001b[0m 5ms/step - accuracy: 0.8826 - loss: 0.4328 - val_accuracy: 0.8827 - val_loss: 0.4276\n", + "Epoch 9/15\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m9s\u001b[0m 5ms/step - accuracy: 0.8877 - loss: 0.4082 - val_accuracy: 0.8858 - val_loss: 0.4072\n", + "Epoch 10/15\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m9s\u001b[0m 4ms/step - accuracy: 0.8937 - loss: 0.3827 - val_accuracy: 0.8915 - val_loss: 0.3894\n", + "Epoch 11/15\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m11s\u001b[0m 5ms/step - accuracy: 0.8955 - loss: 0.3692 - val_accuracy: 0.8928 - val_loss: 0.3753\n", + "Epoch 12/15\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m9s\u001b[0m 5ms/step - accuracy: 0.9017 - loss: 0.3506 - val_accuracy: 0.8945 - val_loss: 0.3677\n", + "Epoch 13/15\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m7s\u001b[0m 4ms/step - accuracy: 0.9022 - loss: 0.3425 - val_accuracy: 0.8982 - val_loss: 0.3540\n", + "Epoch 14/15\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m9s\u001b[0m 5ms/step - accuracy: 0.9059 - loss: 0.3290 - val_accuracy: 0.8980 - val_loss: 0.3482\n", + "Epoch 15/15\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m8s\u001b[0m 4ms/step - accuracy: 0.9065 - loss: 0.3252 - val_accuracy: 0.9015 - val_loss: 0.3401\n" + ] + } + ] + }, + { + "cell_type": "code", + "source": [ + "scores=model.evaluate(X_test,y_test)\n", + "print('Lossontestdata:',scores[0])\n", + "print('Accuracyontestdata:',scores[1])" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "crnhtB4QESjY", + "outputId": "87a2df0a-f703-49ab-dd3e-35cee45f9a51" + }, + "execution_count": 160, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "\u001b[1m313/313\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 3ms/step - accuracy: 0.9152 - loss: 0.3057\n", + "Lossontestdata: 0.3149861991405487\n", + "Accuracyontestdata: 0.913100004196167\n" + ] + } + ] + }, + { + "cell_type": "code", + "source": [ + "# Пункт 6. Однослойная ИНС\n", + "# 1. создаем модель - объявляем ее объектом класса Sequential\n", + "model_1 = Sequential()\n", + "model_1.add(Dense(units=num_classes,input_dim=num_pixels, activation='softmax'))\n", + "# 2. компилируем модель\n", + "model_1.compile(loss='categorical_crossentropy', optimizer='sgd', metrics=['accuracy'])" + ], + "metadata": { + "id": "RVm96wrdq6B7" + }, + "execution_count": 113, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "print(\"Архитектура нейронной сети:\")\n", + "model_1.summary()" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 178 + }, + "id": "0Yi8y-fctlqm", + "outputId": "5602312b-2e48-4f03-9fda-51251d2d3d11" + }, + "execution_count": 114, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Архитектура нейронной сети:\n" + ] + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "\u001b[1mModel: \"sequential_8\"\u001b[0m\n" + ], + "text/html": [ + "
Model: \"sequential_8\"\n",
+              "
\n" + ] + }, + "metadata": {} + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓\n", + "┃\u001b[1m \u001b[0m\u001b[1mLayer (type) \u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1mOutput Shape \u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1m Param #\u001b[0m\u001b[1m \u001b[0m┃\n", + "┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩\n", + "│ dense_19 (\u001b[38;5;33mDense\u001b[0m) │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m10\u001b[0m) │ \u001b[38;5;34m7,850\u001b[0m │\n", + "└─────────────────────────────────┴────────────────────────┴───────────────┘\n" + ], + "text/html": [ + "
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓\n",
+              "┃ Layer (type)                     Output Shape                  Param # ┃\n",
+              "┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩\n",
+              "│ dense_19 (Dense)                │ (None, 10)             │         7,850 │\n",
+              "└─────────────────────────────────┴────────────────────────┴───────────────┘\n",
+              "
\n" + ] + }, + "metadata": {} + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "\u001b[1m Total params: \u001b[0m\u001b[38;5;34m7,850\u001b[0m (30.66 KB)\n" + ], + "text/html": [ + "
 Total params: 7,850 (30.66 KB)\n",
+              "
\n" + ] + }, + "metadata": {} + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "\u001b[1m Trainable params: \u001b[0m\u001b[38;5;34m7,850\u001b[0m (30.66 KB)\n" + ], + "text/html": [ + "
 Trainable params: 7,850 (30.66 KB)\n",
+              "
\n" + ] + }, + "metadata": {} + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "\u001b[1m Non-trainable params: \u001b[0m\u001b[38;5;34m0\u001b[0m (0.00 B)\n" + ], + "text/html": [ + "
 Non-trainable params: 0 (0.00 B)\n",
+              "
\n" + ] + }, + "metadata": {} + } + ] + }, + { + "cell_type": "code", + "source": [ + "# Обучаем модель\n", + "history = model_1.fit(\n", + " X_train, y_train,\n", + " validation_split=0.1,\n", + " epochs=50\n", + ")" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "p8ydXSm8toX0", + "outputId": "d2d37a83-f2c0-4c25-8287-45dcff94efd9" + }, + "execution_count": 115, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Epoch 1/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m5s\u001b[0m 3ms/step - accuracy: 0.7106 - loss: 1.1677 - val_accuracy: 0.8667 - val_loss: 0.5285\n", + "Epoch 2/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m3s\u001b[0m 2ms/step - accuracy: 0.8719 - loss: 0.4933 - val_accuracy: 0.8805 - val_loss: 0.4439\n", + "Epoch 3/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m5s\u001b[0m 2ms/step - accuracy: 0.8886 - loss: 0.4152 - val_accuracy: 0.8880 - val_loss: 0.4078\n", + "Epoch 4/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m5s\u001b[0m 2ms/step - accuracy: 0.8946 - loss: 0.3877 - val_accuracy: 0.8903 - val_loss: 0.3882\n", + "Epoch 5/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m5s\u001b[0m 2ms/step - accuracy: 0.8988 - loss: 0.3700 - val_accuracy: 0.8967 - val_loss: 0.3736\n", + "Epoch 6/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m7s\u001b[0m 3ms/step - accuracy: 0.8987 - loss: 0.3613 - val_accuracy: 0.8973 - val_loss: 0.3630\n", + "Epoch 7/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m4s\u001b[0m 2ms/step - accuracy: 0.9038 - loss: 0.3461 - val_accuracy: 0.9002 - val_loss: 0.3560\n", + "Epoch 8/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m3s\u001b[0m 2ms/step - accuracy: 0.9073 - loss: 0.3322 - val_accuracy: 0.9017 - val_loss: 0.3488\n", + "Epoch 9/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m4s\u001b[0m 2ms/step - accuracy: 0.9081 - loss: 0.3267 - val_accuracy: 0.9022 - val_loss: 0.3438\n", + "Epoch 10/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m5s\u001b[0m 2ms/step - accuracy: 0.9077 - loss: 0.3220 - val_accuracy: 0.9047 - val_loss: 0.3394\n", + "Epoch 11/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m4s\u001b[0m 2ms/step - accuracy: 0.9116 - loss: 0.3187 - val_accuracy: 0.9043 - val_loss: 0.3355\n", + "Epoch 12/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m6s\u001b[0m 3ms/step - accuracy: 0.9104 - loss: 0.3207 - val_accuracy: 0.9058 - val_loss: 0.3320\n", + "Epoch 13/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m4s\u001b[0m 2ms/step - accuracy: 0.9113 - loss: 0.3162 - val_accuracy: 0.9060 - val_loss: 0.3292\n", + "Epoch 14/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m5s\u001b[0m 2ms/step - accuracy: 0.9151 - loss: 0.3056 - val_accuracy: 0.9075 - val_loss: 0.3268\n", + "Epoch 15/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m5s\u001b[0m 3ms/step - accuracy: 0.9155 - loss: 0.3025 - val_accuracy: 0.9083 - val_loss: 0.3246\n", + "Epoch 16/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m4s\u001b[0m 2ms/step - accuracy: 0.9154 - loss: 0.3005 - val_accuracy: 0.9097 - val_loss: 0.3225\n", + "Epoch 17/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m5s\u001b[0m 2ms/step - accuracy: 0.9164 - loss: 0.3049 - val_accuracy: 0.9095 - val_loss: 0.3203\n", + "Epoch 18/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m4s\u001b[0m 2ms/step - accuracy: 0.9171 - loss: 0.2980 - val_accuracy: 0.9088 - val_loss: 0.3194\n", + "Epoch 19/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m5s\u001b[0m 2ms/step - accuracy: 0.9148 - loss: 0.3072 - val_accuracy: 0.9088 - val_loss: 0.3186\n", + "Epoch 20/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m4s\u001b[0m 2ms/step - accuracy: 0.9152 - loss: 0.3040 - val_accuracy: 0.9113 - val_loss: 0.3152\n", + "Epoch 21/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m6s\u001b[0m 3ms/step - accuracy: 0.9167 - loss: 0.2958 - val_accuracy: 0.9118 - val_loss: 0.3143\n", + "Epoch 22/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m4s\u001b[0m 2ms/step - accuracy: 0.9190 - loss: 0.2932 - val_accuracy: 0.9115 - val_loss: 0.3133\n", + "Epoch 23/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m5s\u001b[0m 2ms/step - accuracy: 0.9192 - loss: 0.2921 - val_accuracy: 0.9123 - val_loss: 0.3120\n", + "Epoch 24/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m7s\u001b[0m 3ms/step - accuracy: 0.9200 - loss: 0.2910 - val_accuracy: 0.9125 - val_loss: 0.3113\n", + "Epoch 25/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m3s\u001b[0m 2ms/step - accuracy: 0.9202 - loss: 0.2908 - val_accuracy: 0.9120 - val_loss: 0.3103\n", + "Epoch 26/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m5s\u001b[0m 2ms/step - accuracy: 0.9197 - loss: 0.2890 - val_accuracy: 0.9135 - val_loss: 0.3087\n", + "Epoch 27/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m6s\u001b[0m 3ms/step - accuracy: 0.9188 - loss: 0.2865 - val_accuracy: 0.9145 - val_loss: 0.3081\n", + "Epoch 28/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m4s\u001b[0m 2ms/step - accuracy: 0.9185 - loss: 0.2913 - val_accuracy: 0.9137 - val_loss: 0.3074\n", + "Epoch 29/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m3s\u001b[0m 2ms/step - accuracy: 0.9179 - loss: 0.2910 - val_accuracy: 0.9138 - val_loss: 0.3065\n", + "Epoch 30/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m6s\u001b[0m 3ms/step - accuracy: 0.9219 - loss: 0.2845 - val_accuracy: 0.9147 - val_loss: 0.3058\n", + "Epoch 31/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m4s\u001b[0m 2ms/step - accuracy: 0.9202 - loss: 0.2826 - val_accuracy: 0.9140 - val_loss: 0.3056\n", + "Epoch 32/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m5s\u001b[0m 2ms/step - accuracy: 0.9191 - loss: 0.2896 - val_accuracy: 0.9130 - val_loss: 0.3049\n", + "Epoch 33/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m6s\u001b[0m 2ms/step - accuracy: 0.9204 - loss: 0.2786 - val_accuracy: 0.9152 - val_loss: 0.3039\n", + "Epoch 34/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m5s\u001b[0m 2ms/step - accuracy: 0.9202 - loss: 0.2798 - val_accuracy: 0.9145 - val_loss: 0.3033\n", + "Epoch 35/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m4s\u001b[0m 2ms/step - accuracy: 0.9232 - loss: 0.2744 - val_accuracy: 0.9152 - val_loss: 0.3043\n", + "Epoch 36/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m5s\u001b[0m 2ms/step - accuracy: 0.9186 - loss: 0.2892 - val_accuracy: 0.9145 - val_loss: 0.3027\n", + "Epoch 37/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m3s\u001b[0m 2ms/step - accuracy: 0.9238 - loss: 0.2755 - val_accuracy: 0.9152 - val_loss: 0.3014\n", + "Epoch 38/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m6s\u001b[0m 2ms/step - accuracy: 0.9236 - loss: 0.2751 - val_accuracy: 0.9138 - val_loss: 0.3016\n", + "Epoch 39/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m4s\u001b[0m 2ms/step - accuracy: 0.9219 - loss: 0.2796 - val_accuracy: 0.9133 - val_loss: 0.3012\n", + "Epoch 40/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m3s\u001b[0m 2ms/step - accuracy: 0.9220 - loss: 0.2749 - val_accuracy: 0.9148 - val_loss: 0.3001\n", + "Epoch 41/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m4s\u001b[0m 2ms/step - accuracy: 0.9234 - loss: 0.2729 - val_accuracy: 0.9150 - val_loss: 0.3007\n", + "Epoch 42/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m6s\u001b[0m 2ms/step - accuracy: 0.9235 - loss: 0.2731 - val_accuracy: 0.9142 - val_loss: 0.3001\n", + "Epoch 43/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m3s\u001b[0m 2ms/step - accuracy: 0.9221 - loss: 0.2780 - val_accuracy: 0.9158 - val_loss: 0.2998\n", + "Epoch 44/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m3s\u001b[0m 2ms/step - accuracy: 0.9239 - loss: 0.2741 - val_accuracy: 0.9147 - val_loss: 0.2992\n", + "Epoch 45/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m6s\u001b[0m 2ms/step - accuracy: 0.9217 - loss: 0.2805 - val_accuracy: 0.9155 - val_loss: 0.2987\n", + "Epoch 46/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m3s\u001b[0m 2ms/step - accuracy: 0.9252 - loss: 0.2695 - val_accuracy: 0.9148 - val_loss: 0.2982\n", + "Epoch 47/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m6s\u001b[0m 2ms/step - accuracy: 0.9227 - loss: 0.2772 - val_accuracy: 0.9170 - val_loss: 0.2976\n", + "Epoch 48/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m5s\u001b[0m 2ms/step - accuracy: 0.9245 - loss: 0.2756 - val_accuracy: 0.9153 - val_loss: 0.2977\n", + "Epoch 49/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m4s\u001b[0m 2ms/step - accuracy: 0.9249 - loss: 0.2716 - val_accuracy: 0.9167 - val_loss: 0.2974\n", + "Epoch 50/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m6s\u001b[0m 3ms/step - accuracy: 0.9248 - loss: 0.2711 - val_accuracy: 0.9152 - val_loss: 0.2983\n" + ] + } + ] + }, + { + "cell_type": "code", + "source": [ + "# Выводим график функции ошибки\n", + "plt.figure(figsize=(12, 5))\n", + "\n", + "plt.subplot(1, 2, 1)\n", + "plt.plot(history.history['loss'], label='Обучающая ошибка')\n", + "plt.plot(history.history['val_loss'], label='Валидационная ошибка')\n", + "plt.title('Функция ошибки по эпохам')\n", + "plt.xlabel('Эпохи')\n", + "plt.ylabel('Categorical Crossentropy')\n", + "plt.legend()\n", + "plt.grid(True)" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 487 + }, + "id": "AQerkZ1YuV0D", + "outputId": "e4b2046b-091c-4dd7-b4a2-9a267f9f543c" + }, + "execution_count": 116, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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+flRtWpVNmzYYFe+YcMGGjZsaFcWGRlpOwGKiYlBqy3e2RoeHm63zeXJ7uDBg1y4cIE33niDe+65h/r16xcbmAYwYMAA6tevz9NPP01CQgIPP/zwNb9fgwYNShV/WcyZMwcfHx/69etXbF39+vU5ceIEJ06csJUdO3aMkydP2h27Vq1aLFy4kJdeegk/Pz8mTJhgW7d9+3YsFgtvv/02d911F3Xr1uX06RvTkyVd5eUkE7AIUXHy8/NJTk4GrF3lH3zwAVlZWXTr1g2AOnXqcPz4cb7++mvuvPNOfvvtN1tLEKwtnyVLljBz5kymTp16zWMlJSVx/PhxkpKSSlx/6NAh3njjDbp3715spHlaWhpGo5HAwECqVKnCxx9/TEREBMePH2f8+PEl7s9oNJKXl2d7rygKBQUFmM1mW5f14sWLad68+VVHZr/wwgtMmTKF2rVrExsby4IFC0hISHB6S7d69ero9Xref/99nn32Wfbu3csrr7xSbLsxY8agUql455130Ol0+Pr6FqurK+Pv1asXt912Gx06dGDp0qX88MMPrFy50m47k8lkqyuz2YzFYrG9v9o19LfeeoulS5cWG2gG0LFjRxo0aECfPn145513AOvgtNjYWO677z7bdr6+vraTnIULF9KiRQv+85//cM899xATE4PJZOL999+nW7dubNiwgblz516jFp1IqWTS09MVQElPTy/3voxGo9Jn5i9K1LhflZkrEp0QXeVhNBqVn376STEaja4Oxa2Upd5yc3OVffv2Kbm5uRUYmfMNGDBAAWyLr6+vcueddyrfffed3XYvvPCCUqVKFcXHx0fp3bu38s477yj+/v6KoijK33//rdSqVUuZPn26YjKZlIsXLypms1lZvXq1AigXL15UFEVRpkyZogDK//73P9t+r9wmKirKLp4rl9WrVyuKoijx8fFKgwYNFIPBoDRt2lRZs2aNAig//vijoiiKcuTIkWvuZ8GCBYqiKErbtm0VlUqlbNu2zRbTlClTlGbNmtnem81mZerUqUq1atUUnU6nNGvWTPn9999t64uOtXPnTrs6i4qKUt555x3b+8vjK9K2bVtl1KhRitlsVi5evKgsWrRIiY6OVgwGg9KqVSvll19+sdv34sWLlbCwMOXUqVN2v8Pu3buX/Asu9OGHHyq1atVSdDqdUrduXeXzzz+3W3+turp8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\n" + }, + "metadata": {} + } + ] + }, + { + "cell_type": "code", + "source": [ + "scores=model_1.evaluate(X_test,y_test)\n", + "print('Lossontestdata:',scores[0])\n", + "print('Accuracyontestdata:',scores[1])" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "t6pRsthkuxHa", + "outputId": "686ac8ce-14cf-44f9-a05f-b55835ebec16" + }, + "execution_count": 117, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "\u001b[1m313/313\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - accuracy: 0.9316 - loss: 0.2666\n", + "Lossontestdata: 0.2741525173187256\n", + "Accuracyontestdata: 0.928600013256073\n" + ] + } + ] + }, + { + "cell_type": "code", + "source": [ + "#Пункт 8\n", + "model_2l_100 = Sequential()\n", + "model_2l_100.add(Dense(units=100,input_dim=num_pixels, activation='sigmoid'))\n", + "model_2l_100.add(Dense(units=num_classes, activation='softmax'))\n", + "# 2. компилируем модель\n", + "model_2l_100.compile(loss='categorical_crossentropy', optimizer='sgd', metrics=['accuracy'])" + ], + "metadata": { + "id": "OB1TocyoxJqd" + }, + "execution_count": 118, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "print(\"Архитектура нейронной сети:\")\n", + "model_2l_100.summary()" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 210 + }, + "id": "66f28BYPyphJ", + "outputId": "95fa3ce7-9da3-4f14-f6e7-3ab4bbb3d4e2" + }, + "execution_count": 119, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Архитектура нейронной сети:\n" + ] + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "\u001b[1mModel: \"sequential_9\"\u001b[0m\n" + ], + "text/html": [ + "
Model: \"sequential_9\"\n",
+              "
\n" + ] + }, + "metadata": {} + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓\n", + "┃\u001b[1m \u001b[0m\u001b[1mLayer (type) \u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1mOutput Shape \u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1m Param #\u001b[0m\u001b[1m \u001b[0m┃\n", + "┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩\n", + "│ dense_20 (\u001b[38;5;33mDense\u001b[0m) │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m100\u001b[0m) │ \u001b[38;5;34m78,500\u001b[0m │\n", + "├─────────────────────────────────┼────────────────────────┼───────────────┤\n", + "│ dense_21 (\u001b[38;5;33mDense\u001b[0m) │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m10\u001b[0m) │ \u001b[38;5;34m1,010\u001b[0m │\n", + "└─────────────────────────────────┴────────────────────────┴───────────────┘\n" + ], + "text/html": [ + "
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓\n",
+              "┃ Layer (type)                     Output Shape                  Param # ┃\n",
+              "┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩\n",
+              "│ dense_20 (Dense)                │ (None, 100)            │        78,500 │\n",
+              "├─────────────────────────────────┼────────────────────────┼───────────────┤\n",
+              "│ dense_21 (Dense)                │ (None, 10)             │         1,010 │\n",
+              "└─────────────────────────────────┴────────────────────────┴───────────────┘\n",
+              "
\n" + ] + }, + "metadata": {} + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "\u001b[1m Total params: \u001b[0m\u001b[38;5;34m79,510\u001b[0m (310.59 KB)\n" + ], + "text/html": [ + "
 Total params: 79,510 (310.59 KB)\n",
+              "
\n" + ] + }, + "metadata": {} + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "\u001b[1m Trainable params: \u001b[0m\u001b[38;5;34m79,510\u001b[0m (310.59 KB)\n" + ], + "text/html": [ + "
 Trainable params: 79,510 (310.59 KB)\n",
+              "
\n" + ] + }, + "metadata": {} + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "\u001b[1m Non-trainable params: \u001b[0m\u001b[38;5;34m0\u001b[0m (0.00 B)\n" + ], + "text/html": [ + "
 Non-trainable params: 0 (0.00 B)\n",
+              "
\n" + ] + }, + "metadata": {} + } + ] + }, + { + "cell_type": "code", + "source": [ + "# Обучаем модель\n", + "history_2l_100 = model_2l_100.fit(\n", + " X_train, y_train,\n", + " validation_split=0.1,\n", + " epochs=50\n", + ")" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "0Jv3UAPCyhrA", + "outputId": "99d743a8-7277-4918-f62b-c9ac13ccc0a1" + }, + "execution_count": 120, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Epoch 1/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m5s\u001b[0m 3ms/step - accuracy: 0.5431 - loss: 1.8730 - val_accuracy: 0.8193 - val_loss: 0.9612\n", + "Epoch 2/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m6s\u001b[0m 3ms/step - accuracy: 0.8325 - loss: 0.8374 - val_accuracy: 0.8562 - val_loss: 0.6289\n", + "Epoch 3/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m6s\u001b[0m 3ms/step - accuracy: 0.8661 - loss: 0.5818 - val_accuracy: 0.8730 - val_loss: 0.5130\n", + "Epoch 4/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m5s\u001b[0m 3ms/step - accuracy: 0.8795 - loss: 0.4818 - val_accuracy: 0.8825 - val_loss: 0.4548\n", + "Epoch 5/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m7s\u001b[0m 4ms/step - accuracy: 0.8853 - loss: 0.4311 - val_accuracy: 0.8900 - val_loss: 0.4174\n", + "Epoch 6/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m5s\u001b[0m 3ms/step - accuracy: 0.8964 - loss: 0.3925 - val_accuracy: 0.8943 - val_loss: 0.3931\n", + "Epoch 7/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m5s\u001b[0m 3ms/step - accuracy: 0.8989 - loss: 0.3714 - val_accuracy: 0.8983 - val_loss: 0.3744\n", + "Epoch 8/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m6s\u001b[0m 3ms/step - accuracy: 0.9005 - loss: 0.3600 - val_accuracy: 0.9008 - val_loss: 0.3600\n", + "Epoch 9/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m11s\u001b[0m 4ms/step - accuracy: 0.9024 - loss: 0.3443 - val_accuracy: 0.9010 - val_loss: 0.3484\n", + "Epoch 10/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m5s\u001b[0m 3ms/step - accuracy: 0.9051 - loss: 0.3332 - val_accuracy: 0.9027 - val_loss: 0.3393\n", + "Epoch 11/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m5s\u001b[0m 3ms/step - accuracy: 0.9101 - loss: 0.3199 - val_accuracy: 0.9047 - val_loss: 0.3316\n", + "Epoch 12/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m7s\u001b[0m 4ms/step - accuracy: 0.9086 - loss: 0.3159 - val_accuracy: 0.9055 - val_loss: 0.3241\n", + "Epoch 13/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m10s\u001b[0m 4ms/step - accuracy: 0.9107 - loss: 0.3140 - val_accuracy: 0.9068 - val_loss: 0.3186\n", + "Epoch 14/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m9s\u001b[0m 3ms/step - accuracy: 0.9164 - loss: 0.2948 - val_accuracy: 0.9093 - val_loss: 0.3120\n", + "Epoch 15/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m10s\u001b[0m 3ms/step - accuracy: 0.9140 - loss: 0.3004 - val_accuracy: 0.9093 - val_loss: 0.3057\n", + "Epoch 16/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m7s\u001b[0m 4ms/step - accuracy: 0.9169 - loss: 0.2937 - val_accuracy: 0.9120 - val_loss: 0.3015\n", + "Epoch 17/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m6s\u001b[0m 3ms/step - accuracy: 0.9185 - loss: 0.2836 - val_accuracy: 0.9133 - val_loss: 0.2969\n", + "Epoch 18/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m6s\u001b[0m 3ms/step - accuracy: 0.9198 - loss: 0.2789 - val_accuracy: 0.9132 - val_loss: 0.2924\n", + "Epoch 19/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m7s\u001b[0m 4ms/step - accuracy: 0.9215 - loss: 0.2758 - val_accuracy: 0.9147 - val_loss: 0.2882\n", + "Epoch 20/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m10s\u001b[0m 4ms/step - accuracy: 0.9227 - loss: 0.2687 - val_accuracy: 0.9168 - val_loss: 0.2844\n", + "Epoch 21/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m9s\u001b[0m 3ms/step - accuracy: 0.9246 - loss: 0.2651 - val_accuracy: 0.9183 - val_loss: 0.2807\n", + "Epoch 22/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m7s\u001b[0m 4ms/step - accuracy: 0.9247 - loss: 0.2627 - val_accuracy: 0.9198 - val_loss: 0.2771\n", + "Epoch 23/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m8s\u001b[0m 3ms/step - accuracy: 0.9257 - loss: 0.2584 - val_accuracy: 0.9193 - val_loss: 0.2739\n", + "Epoch 24/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m7s\u001b[0m 4ms/step - accuracy: 0.9281 - loss: 0.2531 - val_accuracy: 0.9212 - val_loss: 0.2704\n", + "Epoch 25/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m5s\u001b[0m 3ms/step - accuracy: 0.9280 - loss: 0.2521 - val_accuracy: 0.9225 - val_loss: 0.2674\n", + "Epoch 26/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m6s\u001b[0m 4ms/step - accuracy: 0.9272 - loss: 0.2518 - val_accuracy: 0.9237 - val_loss: 0.2646\n", + "Epoch 27/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m9s\u001b[0m 3ms/step - accuracy: 0.9289 - loss: 0.2488 - val_accuracy: 0.9243 - val_loss: 0.2610\n", + "Epoch 28/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m7s\u001b[0m 4ms/step - accuracy: 0.9310 - loss: 0.2410 - val_accuracy: 0.9242 - val_loss: 0.2594\n", + "Epoch 29/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m9s\u001b[0m 3ms/step - accuracy: 0.9317 - loss: 0.2382 - val_accuracy: 0.9260 - val_loss: 0.2554\n", + "Epoch 30/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m7s\u001b[0m 4ms/step - accuracy: 0.9326 - loss: 0.2389 - val_accuracy: 0.9250 - val_loss: 0.2531\n", + "Epoch 31/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m5s\u001b[0m 3ms/step - accuracy: 0.9333 - loss: 0.2279 - val_accuracy: 0.9278 - val_loss: 0.2508\n", + "Epoch 32/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m7s\u001b[0m 4ms/step - accuracy: 0.9326 - loss: 0.2319 - val_accuracy: 0.9273 - val_loss: 0.2475\n", + "Epoch 33/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m5s\u001b[0m 3ms/step - accuracy: 0.9336 - loss: 0.2272 - val_accuracy: 0.9282 - val_loss: 0.2448\n", + "Epoch 34/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m5s\u001b[0m 3ms/step - accuracy: 0.9364 - loss: 0.2236 - val_accuracy: 0.9282 - val_loss: 0.2429\n", + "Epoch 35/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m10s\u001b[0m 3ms/step - accuracy: 0.9346 - loss: 0.2283 - val_accuracy: 0.9302 - val_loss: 0.2400\n", + "Epoch 36/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m7s\u001b[0m 4ms/step - accuracy: 0.9379 - loss: 0.2202 - val_accuracy: 0.9298 - val_loss: 0.2379\n", + "Epoch 37/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m9s\u001b[0m 3ms/step - accuracy: 0.9375 - loss: 0.2177 - val_accuracy: 0.9312 - val_loss: 0.2353\n", + "Epoch 38/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m7s\u001b[0m 4ms/step - accuracy: 0.9369 - loss: 0.2201 - val_accuracy: 0.9323 - val_loss: 0.2337\n", + "Epoch 39/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m9s\u001b[0m 3ms/step - accuracy: 0.9398 - loss: 0.2111 - val_accuracy: 0.9337 - val_loss: 0.2307\n", + "Epoch 40/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m10s\u001b[0m 3ms/step - accuracy: 0.9398 - loss: 0.2086 - val_accuracy: 0.9348 - val_loss: 0.2291\n", + "Epoch 41/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m10s\u001b[0m 3ms/step - accuracy: 0.9392 - loss: 0.2096 - val_accuracy: 0.9350 - val_loss: 0.2269\n", + "Epoch 42/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m5s\u001b[0m 3ms/step - accuracy: 0.9417 - loss: 0.2056 - val_accuracy: 0.9350 - val_loss: 0.2251\n", + "Epoch 43/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m6s\u001b[0m 4ms/step - accuracy: 0.9419 - loss: 0.2057 - val_accuracy: 0.9353 - val_loss: 0.2236\n", + "Epoch 44/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m5s\u001b[0m 3ms/step - accuracy: 0.9426 - loss: 0.1992 - val_accuracy: 0.9362 - val_loss: 0.2217\n", + "Epoch 45/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m7s\u001b[0m 4ms/step - accuracy: 0.9423 - loss: 0.2054 - val_accuracy: 0.9368 - val_loss: 0.2196\n", + "Epoch 46/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m9s\u001b[0m 3ms/step - accuracy: 0.9451 - loss: 0.1942 - val_accuracy: 0.9373 - val_loss: 0.2172\n", + "Epoch 47/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m10s\u001b[0m 3ms/step - accuracy: 0.9444 - loss: 0.1979 - val_accuracy: 0.9382 - val_loss: 0.2155\n", + "Epoch 48/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m7s\u001b[0m 4ms/step - accuracy: 0.9459 - loss: 0.1897 - val_accuracy: 0.9388 - val_loss: 0.2139\n", + "Epoch 49/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m9s\u001b[0m 3ms/step - accuracy: 0.9460 - loss: 0.1890 - val_accuracy: 0.9392 - val_loss: 0.2122\n", + "Epoch 50/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m10s\u001b[0m 3ms/step - accuracy: 0.9474 - loss: 0.1889 - val_accuracy: 0.9400 - val_loss: 0.2104\n" + ] + } + ] + }, + { + "cell_type": "code", + "source": [ + "# Выводим график функции ошибки\n", + "plt.figure(figsize=(12, 5))\n", + "\n", + "plt.subplot(1, 2, 1)\n", + "plt.plot(history_2l_100.history['loss'], label='Обучающая ошибка')\n", + "plt.plot(history_2l_100.history['val_loss'], label='Валидационная ошибка')\n", + "plt.title('Функция ошибки по эпохам')\n", + "plt.xlabel('Эпохи')\n", + "plt.ylabel('Categorical Crossentropy')\n", + "plt.legend()\n", + "plt.grid(True)" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 487 + }, + "id": "1AjWTqGPxYgd", + "outputId": "5ca92110-3696-4d02-ab03-b43e67cd057d" + }, + "execution_count": 121, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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PHnSvO7ChQuKr6+vcs8991i8/6OPPlIA5csvv1T+/PNPxdXVVXnhhRcs9snNzS0V486dOxVAWbp0aakYH3vsMeW2224zr8/JyVH8/PyUgQMHlvkZhONJU7mwq6ysrFK1kLKEh4cDmIcR1a9fn7Zt27Js2TLzPmlpafz88888/vjjpZpOs7KySElJsViuJT8/nwceeIDk5GTWr19PcHBwRT5amc6fP8/777/PlClT8PHxKRUjUKHzrVu3DoCxY8darB83bhwAP/30U0XCvS5FUZg0aRIPP/wwbdu2LXOfsWPH4urqan49aNAgwsPDy4xn9+7dPProozz88MPMnj270ueuqI0bN6LVannhhRdwcSn+L3DYsGH4+fndsCxN49VNS3h4OL169eK7777DYDBYFYter+fXX3+lX79+1KlTx7w+MjKSgQMH8scff1gMrXv22Wfp0aMH//vf/xg0aBB169bl9ddftzimp6en+blOpyM1NZW4uDgCAgL466+/SsUwaNAgjh49am4S/+677/D396dLly5WfRZx80jiFnYVFRXFyZMnb7jfiRMnACx6Jz/55JNs376dM2fOAPDNN9+g0+kYNGhQqfcPHTqU0NBQi8V0ze9qTz31FH/88QdZWVnm69q2Mm3aNKKioszX4Etq0KABgYGBzJkzh+3bt5OcnExKSgo6ne6Gxz1z5gwuLi7ExcVZrI+IiCAgIMBcRra0bNky/vnnn1KJATD/cGrYsKHFeldXV+rVq1fqeur58+e5//77ycnJITU19YbXrK937soylVWDBg0s1ms0GurUqXPDskxMTCz1XVu1ahUZGRnX/cFYluTkZHJzc0vFAtCoUSMMBgNnz561WP/ZZ5+Rm5vL8ePHWbJkiUWiBsjLy2Pq1KlER0fj7u5OSEgIoaGhpKenk5GRUeo8oaGh3H///SxatAiARYsWMXjwYIsfNaJqkb+MsKvevXuTlpbGZ599ds19kpKS+PzzzwkNDeXOO+80rx8wYABqtdpc6/7yyy+54447yvxPburUqWzYsMFi8fDwKPN8f/31F2vWrCE0NJRnn322kp+w2JEjR1iyZAmvvfZamddIfXx8WLlyJTk5OXTo0IGwsDBCQ0PZsWNHuc9Rnk5atqDVapkyZQpPP/009evXL7X96mRxIydOnKBWrVp88cUXbNy4kc8//7zC53a0iIiI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aRNPPfVUqc+UlJTE5MmT2bJlC5cvX0av15Obm2tRJrcaqXFXgqfGVOOWxC2ch0qlwkvj5pClvE3EcXFxqFQqjhw5Uub2I0eOEBgYSGhoKIGBgdf9rCZPP/0033//PXl5eSxevJj+/fvj5eUFQFBQEHPnzmXixIl4enri4+PDsmXLLI7Vp08f0tLS+OSTT9i1axe7du0CQKvVWuy3cuVKXn311XLFZK3x48ezatUqXn/9dX7//Xfi4+O57bbbLGJ45513KCgoICQkBB8fH3r27Fnh89nC7NmzadCgAX369LFYX96/Gxj/3j///DMrVqzgl18sL/MMHjyY+Ph43n33XXbs2EF8fDzBwcGl/i63EkncleCpNhaf1LiFsK3g4GC6devGhx9+WKr5+tKlSyxbtoz+/fujUqmoW7cubm5ubN++3byPwWBgx44dFjXeXr164e3tzcKFC1m/fr25mdxkxIgRZGRk8PfffxMfH88DDzxg3paamsqxY8eYPHkyXbp0MTfVlyU6OpoOHTqQnp5u0Yx+9uxZzp49axGTtbZv386QIUN48MEHue2224iIiLDoIAZQv359hgwZQmxsLLt27eLTTz+97jEbNWrEgQMHyMnJsTiPi4sLDRo0qHCsYOwoN2fOnFIdAwH8/f2JiIiw+LsB/PHHH6XK6IsvvuC+++7j1VdfZdiwYWRmZlrEOmrUKHr16kWTJk1wd3cnJSWlUnFXdZK4K8FDrnELYTcffPABBQUF9OjRg23btnH27FnWr19Pt27dqFGjBjNnzgTAx8eHYcOG8eKLL7Ju3TqOHDnC8OHDuXDhAsOHDzcfz9XVlccee4z/+7//o169erRr167UOT09Palbty5xcXEWHZsCAwMJDg7m448/5sSJE/z222/XbFIHY3N527ZtefLJJ9m9ezd//fUXjz/+OC1atODee+8176coCvn5+eTn55t7SWu1WvM6vV6PwWAwzyZWr149vv/+e+Lj4zlw4AADBw40N9mb/Pnnn/zf//0f3377LU2aNKFGjRrXLefHH38cDw8PBg8ezN9//83mzZv53//+x6BBgwgPDzfvZzAYzHGZarMFBQXmdVfHATB//nwefPBBWrZsWea5x4wZw5tvvsmKFSv4999/mT59Ops3b2b8+PEW+5max8eMGUN0dLRF2derV48vvviCI0eOsGvXLh5//PFb/mY6krgrwVOucQthN/Xq1WPv3r3UqVOHRx99lLp16/Lss8/SuXNndu7caXGt8+2336Zfv34MHjyYFi1acODAAX755RciIyMtjjlo0CC0Wi1PPfWUVbG4uLiwYsUK9u3bR9OmTRkzZgyzZ8++7nu+++47oqOj6dKlCx07diQkJITVq1dbNAMfPHgQT09PPD09iYiIAKBHjx7mdV9++SVr164194afO3cugYGBtG/fnj59+tCjRw9uv/128/GSk5N55JFHmDt3rsX66/Hy8uKXX34hLS2N1q1b85///IcuXbrwwQcfWOz3448/muNq27YtAA0bNjSv+/3330sd22AwmH9glWXcuHGMGjWKcePG0bRpU77//nu+//57mjdvXub+Li4uLF68mOXLl/Prr78C8Nlnn3HlyhVuv/12Bg0axKhRowgLCyvXZ3dWKsWa3h+3gMzMTPz9/cnIyMDPz69Sx9p85BJPfb6PhuE+rB/T0UYRVg86nY5169aZh8yI8qlIueXn55OQkEDt2rUrdStBZ2cwGFi/fj39+vXj7NmzFrXJqmz16tWsXr3aZkOzrGUwGMjMzMTPz09u62mlq8vuev8WrclN0qu8EoqvcUtTuRBVWUFBAUlJSbz55pv85z//cZqkDcYmfvlxK0qSn0+VUHyNW5rKhajKTFOmZmRk8Oabbzo6HKv06dOHTz75xNFhiCpEEnclyDVuIZzDkCFD0Ol0bNmy5YadtYSo6iRxV4JpHLckbiGEEDeLJO5K8Ci6xq3TKxTq5Tq3EEII+5PEXQklp2/ML5TELYQQwv4kcVeCu1tx8eVppblcCCGE/UnirgSVSoXGxTgMXnqWCyGEuBkkcVdS0WVu6aAmhBBOzjS1bFUnibuSNKbELU3lQgjhVFatWsX9999PbGwsPj4+3H333Y4OqVwkcVdS0YgwqXELYWNDhgxBpVKZl+DgYO677z4OHjzo6NDELWDWrFkMGzaM3r1789NPPxEfH8+6descHVa5yJSnlSRN5ULYz3333cfixYsB4+08J0+eTO/evUlMTHRwZMKZnTp1itdff50///yTJk2aODocq0mNu5JMTeX50lQunIWigDbHMYuV9zRyd3cnIiKCiIgIWrRowcSJEzl79izJycnmfSZMmED9+vXx8vKiTp06TJkypdS1ytOnT+Pq6kpgYCCurq7mWnx6ejoA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tb5Lly788ssvAPTq1YtTp05VPjpndlVTOch1biGEEJVndeIOCgpi7dq1pdavXbuWoCDj+OScnBx8fX0rH50zM9W48zOgsADAPPXpqWTpWS6EEKJirG4qnzJlCs8//zybN282X+Pes2cP69atY+HChQBs2LCBjh072jZSZ+MRACpXUPTG69z+NeRmI0IIISrN6sQ9bNgwGjduzAcffMD3338PQIMGDdi6dat5JrVx48bZNkpn5OJivEtY9iVjc7l/DWoX9SyXpnIhhBAVVaEJWO666y7uuusuW8dy6/EpStzZlpOwnE/PI1+nx0Pt6sjohBBCOKEKTcBy8uRJJk+ezMCBA7l82dj56ueff+aff/6xaXBOzyfc+JiRCECIjwZfDzcUBRLTch0YmBBCCGdldeLeunUrt912G7t27eK7774jO9vY0erAgQNMmzbN5gE6tRqtjI9ndgDGSWrM17llznIhhBAVYHXinjhxIq+99hobNmxAo9GY19977738+eefNg3O6cXebXxM+B0UBZAhYUIIISrH6sR96NChMm8wEhYWRkpKik2CumXUbA2u7sbOaSn/Apg7qMmQMCGEEBVhdeIOCAjg4sWLpdbv37+fGjVq2CSoW4baA2q1NT5P2AYUj+WWGrcQQoiKsDpxDxgwgAkTJnDp0iVUKhUGg4Ht27czfvx4nnzySasDmD9/PrGxsXh4eNC2bVt279593f3T09MZMWIEkZGRuLu7U79+fdatW2f1eW+a2HuMj0WJu440lQshhKgEqxP366+/TsOGDYmOjiY7O5vGjRtzzz330L59eyZPnmzVsVauXMnYsWOZNm0af/31F82bN6dHjx7mnupX02q1dOvWjdOnT/Ptt99y7NgxPvnkk6pd069ddJ379B9gMBBblLhTc7Rk5OocGJgQQghnZPU4bo1GwyeffMLUqVM5dOgQ2dnZtGzZknr16ll98rlz5zJs2DDzLUAXLlzITz/9xKJFi5g4cWKp/RctWkRaWho7duxArVYDEBsbe91zFBQUUFBQYH6dmZkJgE6nQ6erXOI0vf+6xwm7DTe1F6q8NHQXDuIe3oRwX3eSsgo4npRB85r+lYrBWZWr7EQpUm4VJ2VXMVJuFWdN2VlTvipFKeruXE6vvPIK48ePx8vL8u5WeXl5zJ49m6lTp5brOFqtFi8vL7799lv69etnXj94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\n" + }, + "metadata": {} + } + ] + }, + { + "cell_type": "code", + "source": [ + "scores_2l_100=model_2l_100.evaluate(X_test,y_test)\n", + "print('Lossontestdata:',scores_2l_100[0])\n", + "print('Accuracyontestdata:',scores_2l_100[1])" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "PWskjkNrzErf", + "outputId": "dbb26b71-2e50-4c36-e6f8-bfa9943b080c" + }, + "execution_count": 122, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "\u001b[1m313/313\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - accuracy: 0.9482 - loss: 0.1875\n", + "Lossontestdata: 0.19283892214298248\n", + "Accuracyontestdata: 0.9462000131607056\n" + ] + } + ] + }, + { + "cell_type": "code", + "source": [ + "#Пункт 8\n", + "model_2l_300 = Sequential()\n", + "model_2l_300.add(Dense(units=300,input_dim=num_pixels, activation='sigmoid'))\n", + "model_2l_300.add(Dense(units=num_classes, activation='softmax'))\n", + "# 2. компилируем модель\n", + "model_2l_300.compile(loss='categorical_crossentropy', optimizer='sgd', metrics=['accuracy'])" + ], + "metadata": { + "id": "D7pthVnNzIhJ" + }, + "execution_count": 123, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "print(\"Архитектура нейронной сети:\")\n", + "model_2l_300.summary()" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 210 + }, + "id": "t1x6cGBQzO03", + "outputId": "0e955914-d9be-480b-a2e0-8dc3e5529c94" + }, + "execution_count": 124, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Архитектура нейронной сети:\n" + ] + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "\u001b[1mModel: \"sequential_10\"\u001b[0m\n" + ], + "text/html": [ + "
Model: \"sequential_10\"\n",
+              "
\n" + ] + }, + "metadata": {} + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓\n", + "┃\u001b[1m \u001b[0m\u001b[1mLayer (type) \u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1mOutput Shape \u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1m Param #\u001b[0m\u001b[1m \u001b[0m┃\n", + "┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩\n", + "│ dense_22 (\u001b[38;5;33mDense\u001b[0m) │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m300\u001b[0m) │ \u001b[38;5;34m235,500\u001b[0m │\n", + "├─────────────────────────────────┼────────────────────────┼───────────────┤\n", + "│ dense_23 (\u001b[38;5;33mDense\u001b[0m) │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m10\u001b[0m) │ \u001b[38;5;34m3,010\u001b[0m │\n", + "└─────────────────────────────────┴────────────────────────┴───────────────┘\n" + ], + "text/html": [ + "
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓\n",
+              "┃ Layer (type)                     Output Shape                  Param # ┃\n",
+              "┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩\n",
+              "│ dense_22 (Dense)                │ (None, 300)            │       235,500 │\n",
+              "├─────────────────────────────────┼────────────────────────┼───────────────┤\n",
+              "│ dense_23 (Dense)                │ (None, 10)             │         3,010 │\n",
+              "└─────────────────────────────────┴────────────────────────┴───────────────┘\n",
+              "
\n" + ] + }, + "metadata": {} + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "\u001b[1m Total params: \u001b[0m\u001b[38;5;34m238,510\u001b[0m (931.68 KB)\n" + ], + "text/html": [ + "
 Total params: 238,510 (931.68 KB)\n",
+              "
\n" + ] + }, + "metadata": {} + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "\u001b[1m Trainable params: \u001b[0m\u001b[38;5;34m238,510\u001b[0m (931.68 KB)\n" + ], + "text/html": [ + "
 Trainable params: 238,510 (931.68 KB)\n",
+              "
\n" + ] + }, + "metadata": {} + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "\u001b[1m Non-trainable params: \u001b[0m\u001b[38;5;34m0\u001b[0m (0.00 B)\n" + ], + "text/html": [ + "
 Non-trainable params: 0 (0.00 B)\n",
+              "
\n" + ] + }, + "metadata": {} + } + ] + }, + { + "cell_type": "code", + "source": [ + "# Обучаем модель\n", + "history_2l_300 = model_2l_300.fit(\n", + " X_train, y_train,\n", + " validation_split=0.1,\n", + " epochs=50\n", + ")" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "VYUly0tazTZU", + "outputId": "ac60d347-2147-42cd-f27f-c2f830323c93" + }, + "execution_count": 125, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Epoch 1/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m9s\u001b[0m 5ms/step - accuracy: 0.5804 - loss: 1.7583 - val_accuracy: 0.8300 - val_loss: 0.8481\n", + "Epoch 2/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m9s\u001b[0m 5ms/step - accuracy: 0.8406 - loss: 0.7464 - val_accuracy: 0.8615 - val_loss: 0.5755\n", + "Epoch 3/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m7s\u001b[0m 4ms/step - accuracy: 0.8697 - loss: 0.5313 - val_accuracy: 0.8772 - val_loss: 0.4808\n", + "Epoch 4/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m12s\u001b[0m 5ms/step - accuracy: 0.8800 - loss: 0.4584 - val_accuracy: 0.8845 - val_loss: 0.4344\n", + "Epoch 5/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m8s\u001b[0m 5ms/step - accuracy: 0.8880 - loss: 0.4133 - val_accuracy: 0.8873 - val_loss: 0.4070\n", + "Epoch 6/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m8s\u001b[0m 5ms/step - accuracy: 0.8926 - loss: 0.3830 - val_accuracy: 0.8932 - val_loss: 0.3855\n", + "Epoch 7/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m9s\u001b[0m 5ms/step - accuracy: 0.8962 - loss: 0.3680 - val_accuracy: 0.8960 - val_loss: 0.3718\n", + "Epoch 8/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m7s\u001b[0m 4ms/step - accuracy: 0.8993 - loss: 0.3526 - val_accuracy: 0.8972 - val_loss: 0.3617\n", + "Epoch 9/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m9s\u001b[0m 5ms/step - accuracy: 0.9011 - loss: 0.3445 - val_accuracy: 0.8997 - val_loss: 0.3518\n", + "Epoch 10/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m7s\u001b[0m 4ms/step - accuracy: 0.9036 - loss: 0.3365 - val_accuracy: 0.9017 - val_loss: 0.3438\n", + "Epoch 11/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m9s\u001b[0m 5ms/step - accuracy: 0.9048 - loss: 0.3286 - val_accuracy: 0.9030 - val_loss: 0.3396\n", + "Epoch 12/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m10s\u001b[0m 5ms/step - accuracy: 0.9075 - loss: 0.3222 - val_accuracy: 0.9028 - val_loss: 0.3324\n", + "Epoch 13/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m7s\u001b[0m 4ms/step - accuracy: 0.9108 - loss: 0.3119 - val_accuracy: 0.9050 - val_loss: 0.3270\n", + "Epoch 14/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m12s\u001b[0m 5ms/step - accuracy: 0.9118 - loss: 0.3063 - val_accuracy: 0.9065 - val_loss: 0.3235\n", + "Epoch 15/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m8s\u001b[0m 5ms/step - accuracy: 0.9141 - loss: 0.3018 - val_accuracy: 0.9070 - val_loss: 0.3199\n", + "Epoch 16/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m8s\u001b[0m 4ms/step - accuracy: 0.9141 - loss: 0.3003 - val_accuracy: 0.9065 - val_loss: 0.3150\n", + "Epoch 17/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m12s\u001b[0m 5ms/step - accuracy: 0.9152 - loss: 0.2934 - val_accuracy: 0.9063 - val_loss: 0.3122\n", + "Epoch 18/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m8s\u001b[0m 5ms/step - accuracy: 0.9147 - loss: 0.2955 - val_accuracy: 0.9085 - val_loss: 0.3087\n", + "Epoch 19/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m8s\u001b[0m 5ms/step - accuracy: 0.9158 - loss: 0.2941 - val_accuracy: 0.9097 - val_loss: 0.3053\n", + "Epoch 20/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m10s\u001b[0m 6ms/step - accuracy: 0.9163 - loss: 0.2893 - val_accuracy: 0.9092 - val_loss: 0.3031\n", + "Epoch 21/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m20s\u001b[0m 6ms/step - accuracy: 0.9179 - loss: 0.2878 - val_accuracy: 0.9117 - val_loss: 0.2999\n", + "Epoch 22/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m10s\u001b[0m 6ms/step - accuracy: 0.9199 - loss: 0.2765 - val_accuracy: 0.9128 - val_loss: 0.2982\n", + "Epoch 23/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m8s\u001b[0m 5ms/step - accuracy: 0.9174 - loss: 0.2831 - val_accuracy: 0.9130 - val_loss: 0.2954\n", + "Epoch 24/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m12s\u001b[0m 6ms/step - accuracy: 0.9197 - loss: 0.2765 - val_accuracy: 0.9138 - val_loss: 0.2923\n", + "Epoch 25/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m10s\u001b[0m 6ms/step - accuracy: 0.9198 - loss: 0.2786 - val_accuracy: 0.9150 - val_loss: 0.2908\n", + "Epoch 26/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m8s\u001b[0m 5ms/step - accuracy: 0.9229 - loss: 0.2727 - val_accuracy: 0.9150 - val_loss: 0.2870\n", + "Epoch 27/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m12s\u001b[0m 6ms/step - accuracy: 0.9218 - loss: 0.2688 - val_accuracy: 0.9160 - val_loss: 0.2850\n", + "Epoch 28/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m10s\u001b[0m 6ms/step - accuracy: 0.9235 - loss: 0.2645 - val_accuracy: 0.9183 - val_loss: 0.2832\n", + "Epoch 29/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m9s\u001b[0m 5ms/step - accuracy: 0.9245 - loss: 0.2652 - val_accuracy: 0.9188 - val_loss: 0.2805\n", + "Epoch 30/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m12s\u001b[0m 6ms/step - accuracy: 0.9244 - loss: 0.2626 - val_accuracy: 0.9190 - val_loss: 0.2774\n", + "Epoch 31/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m9s\u001b[0m 5ms/step - accuracy: 0.9242 - loss: 0.2614 - val_accuracy: 0.9188 - val_loss: 0.2759\n", + "Epoch 32/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m10s\u001b[0m 5ms/step - accuracy: 0.9251 - loss: 0.2596 - val_accuracy: 0.9193 - val_loss: 0.2752\n", + "Epoch 33/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m10s\u001b[0m 6ms/step - accuracy: 0.9253 - loss: 0.2609 - val_accuracy: 0.9202 - val_loss: 0.2719\n", + "Epoch 34/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m8s\u001b[0m 5ms/step - accuracy: 0.9291 - loss: 0.2497 - val_accuracy: 0.9192 - val_loss: 0.2698\n", + "Epoch 35/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m10s\u001b[0m 6ms/step - accuracy: 0.9305 - loss: 0.2445 - val_accuracy: 0.9222 - val_loss: 0.2670\n", + "Epoch 36/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m9s\u001b[0m 5ms/step - accuracy: 0.9304 - loss: 0.2436 - val_accuracy: 0.9225 - val_loss: 0.2650\n", + "Epoch 37/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m9s\u001b[0m 5ms/step - accuracy: 0.9314 - loss: 0.2405 - val_accuracy: 0.9235 - val_loss: 0.2626\n", + "Epoch 38/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m10s\u001b[0m 6ms/step - accuracy: 0.9300 - loss: 0.2407 - val_accuracy: 0.9243 - val_loss: 0.2600\n", + "Epoch 39/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m8s\u001b[0m 5ms/step - accuracy: 0.9307 - loss: 0.2394 - val_accuracy: 0.9255 - val_loss: 0.2585\n", + "Epoch 40/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m10s\u001b[0m 6ms/step - accuracy: 0.9331 - loss: 0.2361 - val_accuracy: 0.9265 - val_loss: 0.2565\n", + "Epoch 41/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m9s\u001b[0m 5ms/step - accuracy: 0.9321 - loss: 0.2386 - val_accuracy: 0.9275 - val_loss: 0.2542\n", + "Epoch 42/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m9s\u001b[0m 4ms/step - accuracy: 0.9342 - loss: 0.2312 - val_accuracy: 0.9285 - val_loss: 0.2543\n", + "Epoch 43/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m10s\u001b[0m 4ms/step - accuracy: 0.9328 - loss: 0.2363 - val_accuracy: 0.9282 - val_loss: 0.2497\n", + "Epoch 44/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m12s\u001b[0m 5ms/step - accuracy: 0.9355 - loss: 0.2233 - val_accuracy: 0.9292 - val_loss: 0.2478\n", + "Epoch 45/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m9s\u001b[0m 5ms/step - accuracy: 0.9371 - loss: 0.2166 - val_accuracy: 0.9287 - val_loss: 0.2461\n", + "Epoch 46/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m9s\u001b[0m 4ms/step - accuracy: 0.9355 - loss: 0.2252 - val_accuracy: 0.9297 - val_loss: 0.2434\n", + "Epoch 47/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m9s\u001b[0m 5ms/step - accuracy: 0.9362 - loss: 0.2210 - val_accuracy: 0.9297 - val_loss: 0.2421\n", + "Epoch 48/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m7s\u001b[0m 4ms/step - accuracy: 0.9374 - loss: 0.2172 - val_accuracy: 0.9315 - val_loss: 0.2404\n", + "Epoch 49/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m8s\u001b[0m 5ms/step - accuracy: 0.9389 - loss: 0.2135 - val_accuracy: 0.9305 - val_loss: 0.2377\n", + "Epoch 50/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m11s\u001b[0m 5ms/step - accuracy: 0.9406 - loss: 0.2072 - val_accuracy: 0.9308 - val_loss: 0.2365\n" + ] + } + ] + }, + { + "cell_type": "code", + "source": [ + "# Выводим график функции ошибки\n", + "plt.figure(figsize=(12, 5))\n", + "\n", + "plt.subplot(1, 2, 1)\n", + "plt.plot(history_2l_300.history['loss'], label='Обучающая ошибка')\n", + "plt.plot(history_2l_300.history['val_loss'], label='Валидационная ошибка')\n", + "plt.title('Функция ошибки по эпохам')\n", + "plt.xlabel('Эпохи')\n", + "plt.ylabel('Categorical Crossentropy')\n", + "plt.legend()\n", + "plt.grid(True)" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 487 + }, + "id": "zm-4vPhUzbNK", + "outputId": "e4042736-561b-4979-aec1-9d775d897fff" + }, + "execution_count": 126, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAe4AAAHWCAYAAACxPmqWAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAgdpJREFUeJzt3Xd4U2X7wPFvOpLuSSeUFihTZIiCIMoqICiI+iqIIkPxReCVqcBPpgsVQRwoLkAEBLeiCBRkKLKhDBlS9uqiLd1tmpzfH2lCQwdNmpKG3p/rOleTk5Nz7jwt3HnGeR6VoigKQgghhHAITvYOQAghhBAVJ4lbCCGEcCCSuIUQQggHIolbCCGEcCCSuIUQQggHIolbCCGEcCCSuIUQQggHIolbCCGEcCCSuIUQNqHX60lJSeHUqVP2DkWIW5okbiGE1RISEhg7diyRkZGo1WqCgoJo1qwZGRkZ9g5NiFuWi70DEDXPkCFD+O6778jKyrJ3KKIS4uPj6dKlC1qtlhdeeIE77rgDFxcX3N3d8fT0tHd4QtyyJHGLm+LKlSssX76cP//8k61bt5Kbm8v9999P69atefzxx2ndurW9QxQW+u9//4tarWbHjh3Url3b3uEIUWOoZJERUdVWrlzJ8OHDycrKIioqCq1WS0JCAq1bt+bAgQNotVoGDx7Mp59+ilqttne4ogL27t3LnXfeyfr16+nevbu9wxGiRpE+blGltm3bxlNPPUVoaCjbtm3j9OnTxMTE4Obmxu7du7l06RJPPPEEX375JePGjQNAURSioqJ46KGHSpwvLy8PX19f/vvf/wKwefNmVCoV3333XYljvby8GDJkiOn5kiVLUKlUnDlzxrTvn3/+wd/fnwcffJDCwkKz4/bs2WN2vpSUFFQqFTNnzjTbX9q+OXPmoFKp6Ny5s9n+U6dO8dhjjxEeHo6TkxMqlQqVSkXz5s3LK0YACgsLefXVV2nQoAEajYaoqCj+7//+j/z8fLPjoqKiePDBB832jR49GpVKZbZvw4YNqFQqfv31V9O+zp07l4h59+7dpjiNduzYgZubGydPnuS2225Do9EQGhrKf//7X1JTU83eX9o5X3/9dZycnFixYoXF1y5L586dTceWthX/vQN89NFHptjDw8MZNWoU6enp5V4jMzOTZ599lsjISDQaDXXq1GHEiBEkJiaaHWf8Gypru/7vZf/+/fTq1QsfHx+8vLzo1q0bO3bsML2uKApdunQhKCiIpKQk0/6CggJuv/12GjRoQHZ2NgBnz55l5MiRNG7cGHd3dwIDA3nsscdKfH5jjGq1muTkZLPXtm/fbor1+n8Hwv6kqVxUqTfffBO9Xs/KlStp06ZNiddr1arF0qVLOXLkCJ988gkzZswgODiYp556irfffpvU1FQCAgJMx69evZqMjAyeeuqpSsd2/vx57r//fpo0acI333yDi4tt/jmkp6cze/bsEvt1Oh19+/bl7NmzjB07lkaNGqFSqXj99dcrdN5nn32WL7/8kv/85z9MmDCBnTt3Mnv2bI4ePcqPP/5ok9hLM2nSpBL7rly5Ql5eHs8//zxdu3ZlxIgRnDx5kgULFrBz50527tyJRqMp9XyLFy9m6tSpzJ07l4EDB1p87fLUqVOnRNmvWbOGr7/+2mzfzJkzmTVrFjExMTz//PMcP36cjz/+mN27d7Nt2zZcXV1LPX9qaioHDx7k2WefJTQ0lPj4eBYuXMjatWvZtWsXwcHBZse/8sor1KtXz/Q8KyuL559/3uyYf/75h3vvvRcfHx9eeuklXF1d+eSTT+jcuTNbtmyhXbt2qFQqFi1aRIsWLRgxYgQ//PADADNmzOCff/5h8+bNpnEFu3fv5u+//2bAgAHUqVOHM2fO8PHHH9O5c2eOHDmCh4eH2fWdnZ1ZtmyZ6YszGH5Hbm5u5OXlVaTYxc2mCFGFAgIClMjISLN9gwcPVjw9Pc32TZs2TQGU1atXK4qiKMePH1cA5eOPPzY7rm/fvkpUVJSi1+sVRVGUTZs2KYDy7bfflri2p6enMnjwYNPzxYsXK4By+vRpJTU1VWnWrJnSuHFjJSUlxex9xuN2795ttj85OVkBlBkzZpjtv37fSy+9pAQHBytt2rRROnXqZNpv/EyzZ882e3+nTp2U2267rUT8xcXFxSmA8uyzz5rtnzhxogIof/zxh2lfZGSk8sADD5gdN2rUKOX6f+6xsbFmZW6MpXjMa9asUQDl/vvvN3v/jBkzFEDp1q2bUlhYaNpvLLsPPvig1HP+9ttviouLizJhwoQSn7Gi1y5LWeU4Z84c0+9dURQlKSlJUavVSo8ePRSdTmc67sMPP1QAZdGiRTe8VnGHDx9WNBqNMmzYMNM+S/6G+vXrp6jVauXkyZOmfZcuXVK8vb2V++67z+z9n3zyiQIoy5YtU3bs2KE4OzsrY8eONTsmJyenRIzbt29XAGXp0qUlYnziiSeU22+/3bQ/Oztb8fHxUQYOHFjqZxD2J03lokplZmaWqIWUJiQkBMB0G1GjRo1o164dy5cvNx2TmprK77//zpNPPlmi6TQzM5OUlBSzrSx5eXn07duX5ORk1q5dS2BgoDUfrVQXL17kgw8+YNq0aXh5eZWIEbDqemvWrAFg/PjxZvsnTJgAwG+//WZNuOVSFIUpU6bw6KOP0q5du1KPGT9+PM7OzqbngwYNIiQkpNR4du3axeOPP86jjz7KnDlzKn1ta23YsIGCggLGjh2Lk9O1/wKHDx+Oj4/PDcvSeL+6cQsJCaF37958//336PV6i2LR6XSsX7+efv36Ub9+fdP+sLAwBg4cyF9//WV2a91zzz1Hz549+d///segQYNo0KABb7zxhtk53d3dTY+1Wi1XrlwhOjoaPz8/9u3bVyKGQYMGcezYMVOT+Pfff4+vry/dunWz6LOIm0cSt6hS4eHhnDx58obHxcfHA5iNTn766afZtm0bZ8+eBeDbb79Fq9UyaNCgEu8fNmwYQUFBZpuxz+96Q4cO5a+//iIzM9PUr20rM2bMIDw83NQHX1zjxo3x9/dn7ty5bNu2jeTkZFJSUtBqtTc879mzZ3FyciI6Otpsf2hoKH5+fqYysqXly5fzzz//lEgMgOmLU5MmTcz2Ozs707BhwxL9qRcvXuSBBx4gOzubK1eu3LDPurxrV5axrBo3bmy2X61WU79+/RuW5blz50r8rf34449cvXq13C+MpUlOTiYnJ6dELABNmzZFr9dz/vx5s/1ffPEFOTk5nDhxgiVLlpglaoDc3FymT59OREQEGo2GWrVqERQURHp6OlevXi1xnaCgIB544AEWLVoEwKJFixg8eLDZlxpRvchvRlSpBx98kNTUVL744osyj0lMTOTLL78kKCiIu+++27R/wIABuLq6mmrdy5Yt48477yz1P7np06cTGxtrtrm5uZV6vX379vHzzz8TFBTEc889V8lPeM3Ro0dZsmQJr732Wql9pF5eXqxatYrs7Gw6duxIcHAwQUFB/P333xW+RkUGadlCQUEB06ZN45lnnqFRo0YlXr8+WdxIfHw8devW5auvvmLDhg18+eWXVl/b3kJDQ0v8rT3xxBM37fqbN282DUg8dOhQidf/97//8frrr/P444/zzTffsH79emJjYwkMDCyzRWDYsGF8/fXXHD16lK1bt5oN6hTVjwxOE1Vq6tSp/PTTTzz//PMcO3aMgQMHotPpAEPNZePGjUyfPp20tDRWrFhhNqApICCABx54gOXLl/Pkk0+ybds25s+fX+p1br/9dmJiYsz2FW/CLe7zzz+nb9++ODs78+CDD/LFF1/wzDPPVPqzTpkyhVatWtG/f/8yj+nevTtvv/02Tz75JAsXLqR+/fpMmDDBVCZliYyMRK/Xc+LECZo2bWran5iYSHp6OpGRkZWOv7iPPvqIpKSkEqOfjYwDro4fP27WxGuM8fr78sPCwlizZg0hISH8/PPPTJgwgd69exMUFGTxtSvLWFbXx15QUGC666E8bm5uJY55//338fHxoVatWhbFEhQUhIeHB8ePHy/x2rFjx3ByciIiIsK07/Lly/zvf/+jR48eqNVqJk6cSM+ePc1+/9999x2DBw9m7ty5pn15eXnljpjv1asXbm5uDBgwgI4dO9KgQQP+/PNPiz6LuHmkxi2qVGhoKNu3b6dXr17MnTuXO+64g2XLlpGdnU1kZCTDhg3D3d2d1atXl1prGTRoEEeOHOHFF1/E2dmZAQMGVDqme++9F4AHHniAAQMG8OKLL5a4ncdS27dv5+eff+bNN98st1Z8/vx5Ro4cyQsvvMBzzz1HTEwM/v7+Nzx/7969AUp8cZk3bx5g+Cy2kpmZyeuvv864ceMIDQ0t9Zhu3bqh0Wh4//33zWpxy5cvJzExscTtaI0aNTKNY/jggw/Q6/WMGTPGqmtXVkxMDGq1mvfffx+l2DQWX3zxBVevXi23LEurse7fv5/ff/+dfv36Wdy87OzsTI8ePfj555/NuhcSExNZsWIFHTt2xMfHx7R/+PDh6PV6vvjiCz799FNcXFx45plnzD6Hs7Oz2XMwlHl5Xw5dXFx4+umnOXjwIMOGDbPoM4ibT2rcospFRETw888/c/nyZbZt28acOXOIi4tj4cKFtGrVilatWpWZ7B544AECAwP59ttv6dWrV4UGulnivffeo2nTpvzvf//jm2++MXtt+/btZn2WxkFC8fHx7Nq1i7Zt25peM05EUl5tTa/XM2jQIOrUqcObb75pUZwtW7Y0TVKTnp5Op06d2LVrF19++SX9+vWjS5cuZscbB94ZnTt3DsBsX1xcXKnX2rdvH7Vq1eKll14qM56AgACmTp3KtGnT6NmzJw899BCnTp3iww8/pGXLljz77LNlvjc0NJQ5c+bw7LPP8tRTT5m+lFT02pUVFBTElClTmDVrFvfffz99+/bl+PHjfPTRR9x1113l3mp47tw5HnjgAR577DFq167N4cOH+eyzz6hVq5bV/fGvvfYasbGxdOzYkZEjR+Li4sInn3xCfn4+b7/9tum4xYsX89tvv7FkyRLq1KkDGBLyU089xccff8zIkSMBQ/fUV199ha+vL82aNWP79u1s2LDhhoMiX331VV588cUKfZEUdmbXMe2iRirtdrDyjBw5UgGUFStWlHjN2tvBivvyyy8VQPnll1/MjitvK37bEqCoVCpl7969Zue9/vamN954Q9FoNMqBAwdKHHej28EURVG0Wq0ya9YspV69eoqrq6sSERGhTJkyRcnLyzM7LjIy8obxF9+uvx0MUN59912zcxpv/7reggULlCZNmiiurq5KSEiI8t///le5cuVKueVg1LVrV6Vu3bpKZmamVde+XkVvBzP68MMPzWJ//vnnlbS0tHKvkZmZqQwfPlyJjIxU1Gq1EhQUpAwaNEg5e/as2XGW3lK4b98+pWfPnoqXl5fi4eGhdOnSRfn7779Nr58/f17x9fVV+vTpUyKmhx9+WPH09FROnTqlKIqipKWlKUOHDlVq1aqleHl5KT179lSOHTumREZGlvrvoazbvW70urAfmfJUVHvjxo3jiy++ICEhocTkEfYwc+ZMNm/ezObNm+0dihCiBpI+blGt5eXlsWzZMh599NFqkbSFEMLepI9bVEtJSUls2LCB7777jitXrpQ6kMleoqOjycnJsXcYQogaSprKRbW0efNmunTpQnBwMNOmTWP06NH2DkkIIaoFSdxCCCGEA5E+biGEEMKBSOIWQgghHEiNG5ym1+u5dOkS3t7eN23eZyGEEKI8iqKQmZlJeHj4DWfgq3GJ+9KlS2Zz/wohhBDVxfnz500z45WlxiVub29vwFA4xecAtoZWq2X9+vX06NGj1NWgRNmk7Kwj5WY9KTvrSLlZz5Kyy8jIICIiwpSjylPjErexedzHx8cmidvDwwMfHx/5g7aQlJ11pNysJ2VnHSk361lTdhXpwpXBaUIIIYQDkcQthBBCOBC7Ju6tW7fSp08f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bNq0KQcOHCA7O9vsOk5OTjRu3NjqWMEwUG7u3LklBgYC+Pr6EhoaavZ7A/jrr79KlNFXX33F/fffz6uvvsrw4cPNpgfdtm0bL7zwAr179+a2225Do9GQkpJSqbirO0nclWBM3HmFkriFsLUPP/yQ/Px8evbsydatWzl//jxr166le/fu1K5dm9dffx0ALy8vhg8fzosvvsiaNWs4evQoI0eO5NKlS4wcOdJ0PmdnZ5544gn+7//+j4YNG9K+ffsS13R3d6dBgwZER0ebDWzy9/cnMDCQTz/9lPj4eP74448ym9TB0Fzerl07nn76aXbt2sW+fft48sknadWqldnUzIqikJeXR15enmmUdEFBgWmfTqdDr9ebFvho2LAhP/zwA3FxcRw4cICBAweamuyNduzYwf/93//x3Xffcdttt1G7du1yy/nJJ5/Ezc2NwYMHc/jwYTZt2sT//vc/Bg0aREhIiOk4vV5vistYm83Pzzftuz4OgAULFvDwww+b5uq43rhx43jrrbdYuXIl//77LzNnzmTTpk1MnDjR7Dhj8/i4ceOIiIgwK/uGDRvy1VdfcfToUXbu3MmTTz5ZYkDjrUYSdyW4uRiKTwanCWF7DRs2ZM+ePdSvX5/HH3+cBg0a8Nxzz9GlSxe2b99u1tf5zjvv0K9fPwYPHkyrVq04cOAA69atIywszOycgwYNoqCggKFDh1oUi5OTEytXrmTv3r00b96ccePGMWfOnHLf8/333xMREUG3bt3o1KkTtWrV4qeffjJrBj548CDu7u64u7sTGhoKQM+ePU37li1bxurVq02j4efNm4e/vz8dOnSgT58+9OzZkzvuuMN0vuTkZB577DHmzZtntr88Hh4erFu3jtTUVO666y7+85//0K1bNz788EOz43799VdTXO3atQOgSZMmpn1//vlniXPr9XrTF6zSTJgwgRdeeIEJEybQvHlzfvjhB3744QdatmxZ6vFOTk4sXryYFStWsH79egC++OIL0tLSuOOOOxg0aBAvvPACwcHBFfrsjkqlWDL64xaQkZGBr68vV69erfTqYBuPXOaZpftoFubNmjH32SjCmkGr1bJmzRrTLTOiYqwpt7y8PE6fPk29evVq9Opger2etWvX0q9fP86fP29Wm6zOfvrpJ3766Seb3ZplKb1eT0ZGBj4+PrLIiIWuL7vy/i1akptk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99xzD82bNwcMZadWq/Hz8zM7VsoODh06RPv27cnLy8PLy4sff/yRZs2aERcXJ2VWjpUrV7Jv3z52795d4jX5eytbu3btWLJkCY0bN+by5cvMmjWLe++9l8OHD1dZuUniFqKaGzVqFIcPHzbrNxNla9y4MXFxcVy9epXvvvuOwYMHs2XLFnuHVa2dP3+eMWPGEBsbi5ubm73DcSi9evUyPW7RogXt2rUjMjKSb775Bnd39yq5pjSVW6FWrVo4OzuXGBmYmJhIaGionaJyPMayknIs2+jRo/n111/ZtGmT2XK0oaGhFBQUkJ6ebna8lB2o1Wqio6Np06YNs2fPpmXLlrz33ntSZuXYu3cvSUlJ3HHHHbi4uODi4sKWLVt4//33cXFxISQkRMqugvz8/GjUqBHx8fFV9jcnidsKarWaNm3asHHjRtM+vV7Pxo0bad++vR0jcyz16tUjNDTUrBwzMjLYuXNnjS9HRVEYPXo0P/74I3/88Qf16tUze71Nmza4urqald3x48c5d+5cjS+76+n1evLz86XMytGtWzcOHTpEXFycabvzzjt58sknTY+l7ComKyuLkydPEhYWVnV/c1YPa6vhVq5cqWg0GmXJkiXKkSNHlOeee07x8/NTEhIS7B1atZKZmans379f2b9/vwIo8+bNU/bv36+cPXtWURRFefPNNxU/Pz/l559/Vg4ePKg89NBDSr169ZTc3Fw7R25fzz//vOLr66ts3rxZuXz5smnLyckxHTNixAilbt26yh9//KHs2bNHad++vdK+fXs7Rm1/kydPVrZs2aKcPn1aOXjwoDJ58mRFpVIp69evVxRFyswSxUeVK4qUXVkmTJigbN68WTl9+rSybds2JSYmRqlVq5aSlJSkKErVlJsk7kr44IMPlLp16ypqtVpp27atsmPHDnuHVO1s2rRJAUpsgwcPVhTFcEvYtGnTlJCQEEWj0SjdunVTjh8/bt+gq4HSygxQFi9ebDomNzdXGTlypOLv7694eHgoDz/8sHL58mX7BV0NDBs2TImMjFTUarUSFBSkdOvWzZS0FUXKzBLXJ24pu9L1799fCQsLU9RqtVK7dm2lf//+Snx8vOn1qig3WdZTCCGEcCDSxy2EEEI4EEncQgghhAORxC2EEEI4EEncQgghhAORxC2EEEI4EEncQgghhAORxC2EEEI4EEncQgghhAORxC2EEEI4EEncQtQQWq2WJUuW0LFjR4KCgnB3d6dFixa89dZbFBQU2Ds8IUQFyZSnQtQQcXFxTJgwgZEjR9K6dWvy8vI4dOgQM2fOJCwsjHXr1uHq6mrvMIUQNyA1biFqiObNm7Nx40YeffRR6tevT7Nmzejfvz9bt27l8OHDzJ8/HwCVSlXqNnbsWNO50tLSePrpp/H398fDw4NevXpx4sQJ0+vDhg2jRYsW5OfnA1BQUEDr1q15+umnAThz5gwqlYq4uDjTe6ZNm4ZKpTLFIYQonSRuIWoIFxeXUvcHBQXxyCOPsHz5ctO+xYsXc/nyZdN2/drBQ4YMYc+ePfzyyy9s374dRVHo3bs3Wq0WgPfff5/s7GwmT54MwMsvv0x6ejoffvhhqTFcuHCB+fPn4+7ubouPKsQtrfR/yUKIW9Ztt93G2bNnzfZptVqcnZ1Nz/38/AgNDTU9V6vVpscnTpzgl19+Ydu2bXTo0AGA5cuXExERwU8//cRjjz2Gl5cXy5Yto1OnTnh7ezN//nw2bdqEj49PqTG9/PLL9O/fnw0bNtjyowpxS5LELUQNs2bNGlPN2Ojtt99m2bJlFXr/0aNHcXFxoV27dqZ9gYGBNG7cmKNHj5r2tW/fnokTJ/Lqq68yadIkOnbsWOr59u3bx48//sjx48clcQtRAZK4hahhIiMjS+w7efIkjRo1sul19Ho927Ztw9nZmfj4+DKPmzBhAhMnTiQsLMym1xfiViV93ELUEKmpqWRmZpbYv2fPHjZt2sTAgQMrdJ6mTZtSWFjIzp07TfuuXLnC8ePHadasmWnfnDlzOHbsGFu2bGHt2rUsXry4xLl++eUX/v33XyZOnGjFJxKiZpLELUQNce7cOVq1asUXX3xBfHw8p06d4quvvuKhhx7i3nvvNRs1Xp6GDRvy0EMPMXz4cP766y8OHDjAU089Re3atXnooYcA2L9/P9OnT+fzzz/nnnvuYd68eYwZM4ZTp06Znevtt9/mtddew8PDw9YfV4hbliRuIWqI5s2bM2PGDJYsWcLdd9/Nbbfdxttvv83o0aNZv3692QC0G1m8eDFt2rThwQcfpH379iiKwpo1a3B1dSUvL4+nnnqKIUOG0KdPHwCee+45unTpwqBBg9DpdKbzREdHM3jwYJt/ViFuZTIBixBCCOFApMYthBBCOBBJ3EIIIYQDkcQthBBCOBBJ3EIIIYQDkcQthBBCOBBJ3EIIIYQDkcQthBBCOBBJ3EIIIYQDkcQthBBCOBBJ3EIIIYQDkcQthBBCOJD/B3DcHxWa9rtaAAAAAElFTkSuQmCC\n" + }, + "metadata": {} + } + ] + }, + { + "cell_type": "code", + "source": [ + "scores_2l_300=model_2l_300.evaluate(X_test,y_test)\n", + "print('Lossontestdata:',scores_2l_300[0])\n", + "print('Accuracyontestdata:',scores_2l_300[1])" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "ZFQiFpwYzg07", + "outputId": "ca8c2544-d953-4f77-c723-6fccc51cdddb" + }, + "execution_count": 127, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "\u001b[1m313/313\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - accuracy: 0.9437 - loss: 0.2113\n", + "Lossontestdata: 0.2168053537607193\n", + "Accuracyontestdata: 0.9412000179290771\n" + ] + } + ] + }, + { + "cell_type": "code", + "source": [ + "#Пункт 8\n", + "model_2l_500 = Sequential()\n", + "model_2l_500.add(Dense(units=500,input_dim=num_pixels, activation='sigmoid'))\n", + "model_2l_500.add(Dense(units=num_classes, activation='softmax'))\n", + "# 2. компилируем модель\n", + "model_2l_500.compile(loss='categorical_crossentropy', optimizer='sgd', metrics=['accuracy'])" + ], + "metadata": { + "id": "pGfMTe6Zzo-O" + }, + "execution_count": 128, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "print(\"Архитектура нейронной сети:\")\n", + "model_2l_500.summary()" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 210 + }, + "id": "ei21tUOBzwMv", + "outputId": "72f7a465-8404-46a9-be26-797d605eba21" + }, + "execution_count": 129, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Архитектура нейронной сети:\n" + ] + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "\u001b[1mModel: \"sequential_11\"\u001b[0m\n" + ], + "text/html": [ + "
Model: \"sequential_11\"\n",
+              "
\n" + ] + }, + "metadata": {} + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓\n", + "┃\u001b[1m \u001b[0m\u001b[1mLayer (type) \u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1mOutput Shape \u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1m Param #\u001b[0m\u001b[1m \u001b[0m┃\n", + "┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩\n", + "│ dense_24 (\u001b[38;5;33mDense\u001b[0m) │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m500\u001b[0m) │ \u001b[38;5;34m392,500\u001b[0m │\n", + "├─────────────────────────────────┼────────────────────────┼───────────────┤\n", + "│ dense_25 (\u001b[38;5;33mDense\u001b[0m) │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m10\u001b[0m) │ \u001b[38;5;34m5,010\u001b[0m │\n", + "└─────────────────────────────────┴────────────────────────┴───────────────┘\n" + ], + "text/html": [ + "
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓\n",
+              "┃ Layer (type)                     Output Shape                  Param # ┃\n",
+              "┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩\n",
+              "│ dense_24 (Dense)                │ (None, 500)            │       392,500 │\n",
+              "├─────────────────────────────────┼────────────────────────┼───────────────┤\n",
+              "│ dense_25 (Dense)                │ (None, 10)             │         5,010 │\n",
+              "└─────────────────────────────────┴────────────────────────┴───────────────┘\n",
+              "
\n" + ] + }, + "metadata": {} + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "\u001b[1m Total params: \u001b[0m\u001b[38;5;34m397,510\u001b[0m (1.52 MB)\n" + ], + "text/html": [ + "
 Total params: 397,510 (1.52 MB)\n",
+              "
\n" + ] + }, + "metadata": {} + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "\u001b[1m Trainable params: \u001b[0m\u001b[38;5;34m397,510\u001b[0m (1.52 MB)\n" + ], + "text/html": [ + "
 Trainable params: 397,510 (1.52 MB)\n",
+              "
\n" + ] + }, + "metadata": {} + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "\u001b[1m Non-trainable params: \u001b[0m\u001b[38;5;34m0\u001b[0m (0.00 B)\n" + ], + "text/html": [ + "
 Non-trainable params: 0 (0.00 B)\n",
+              "
\n" + ] + }, + "metadata": {} + } + ] + }, + { + "cell_type": "code", + "source": [ + "# Обучаем модель\n", + "history_2l_500 = model_2l_500.fit(\n", + " X_train, y_train,\n", + " validation_split=0.1,\n", + " epochs=50\n", + ")" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "HgO3st_uzyjd", + "outputId": "b99b82c6-f7a8-4cb0-f2db-74e8a819b649" + }, + "execution_count": 130, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Epoch 1/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m10s\u001b[0m 6ms/step - accuracy: 0.5580 - loss: 1.7493 - val_accuracy: 0.8328 - val_loss: 0.8208\n", + "Epoch 2/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m8s\u001b[0m 5ms/step - accuracy: 0.8438 - loss: 0.7269 - val_accuracy: 0.8607 - val_loss: 0.5631\n", + "Epoch 3/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m12s\u001b[0m 6ms/step - accuracy: 0.8707 - loss: 0.5200 - val_accuracy: 0.8755 - val_loss: 0.4721\n", + "Epoch 4/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m9s\u001b[0m 6ms/step - accuracy: 0.8816 - loss: 0.4488 - val_accuracy: 0.8838 - val_loss: 0.4282\n", + "Epoch 5/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m8s\u001b[0m 5ms/step - accuracy: 0.8907 - loss: 0.4021 - val_accuracy: 0.8875 - val_loss: 0.4031\n", + "Epoch 6/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m11s\u001b[0m 5ms/step - accuracy: 0.8906 - loss: 0.3913 - val_accuracy: 0.8925 - val_loss: 0.3831\n", + "Epoch 7/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m11s\u001b[0m 6ms/step - accuracy: 0.8976 - loss: 0.3632 - val_accuracy: 0.8953 - val_loss: 0.3700\n", + "Epoch 8/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m9s\u001b[0m 5ms/step - accuracy: 0.8991 - loss: 0.3526 - val_accuracy: 0.8970 - val_loss: 0.3595\n", + "Epoch 9/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m9s\u001b[0m 5ms/step - accuracy: 0.9014 - loss: 0.3450 - val_accuracy: 0.8980 - val_loss: 0.3531\n", + "Epoch 10/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m11s\u001b[0m 6ms/step - accuracy: 0.9042 - loss: 0.3312 - val_accuracy: 0.8995 - val_loss: 0.3439\n", + "Epoch 11/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m9s\u001b[0m 5ms/step - accuracy: 0.9063 - loss: 0.3262 - val_accuracy: 0.9007 - val_loss: 0.3384\n", + "Epoch 12/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m9s\u001b[0m 5ms/step - accuracy: 0.9087 - loss: 0.3212 - val_accuracy: 0.9023 - val_loss: 0.3355\n", + "Epoch 13/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m11s\u001b[0m 5ms/step - accuracy: 0.9063 - loss: 0.3191 - val_accuracy: 0.9037 - val_loss: 0.3305\n", + "Epoch 14/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m11s\u001b[0m 6ms/step - accuracy: 0.9081 - loss: 0.3162 - val_accuracy: 0.9040 - val_loss: 0.3258\n", + "Epoch 15/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m9s\u001b[0m 5ms/step - accuracy: 0.9090 - loss: 0.3131 - val_accuracy: 0.9052 - val_loss: 0.3212\n", + "Epoch 16/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m10s\u001b[0m 5ms/step - accuracy: 0.9123 - loss: 0.3005 - val_accuracy: 0.9063 - val_loss: 0.3184\n", + "Epoch 17/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m9s\u001b[0m 6ms/step - accuracy: 0.9126 - loss: 0.3023 - val_accuracy: 0.9040 - val_loss: 0.3163\n", + "Epoch 18/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m9s\u001b[0m 5ms/step - accuracy: 0.9136 - loss: 0.2982 - val_accuracy: 0.9078 - val_loss: 0.3149\n", + "Epoch 19/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m8s\u001b[0m 5ms/step - accuracy: 0.9148 - loss: 0.2991 - val_accuracy: 0.9090 - val_loss: 0.3113\n", + "Epoch 20/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m10s\u001b[0m 6ms/step - accuracy: 0.9143 - loss: 0.2930 - val_accuracy: 0.9087 - val_loss: 0.3090\n", + "Epoch 21/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m9s\u001b[0m 5ms/step - accuracy: 0.9169 - loss: 0.2878 - val_accuracy: 0.9098 - val_loss: 0.3057\n", + "Epoch 22/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m9s\u001b[0m 5ms/step - accuracy: 0.9171 - loss: 0.2843 - val_accuracy: 0.9100 - val_loss: 0.3047\n", + "Epoch 23/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m13s\u001b[0m 7ms/step - accuracy: 0.9186 - loss: 0.2797 - val_accuracy: 0.9122 - val_loss: 0.3032\n", + "Epoch 24/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m16s\u001b[0m 5ms/step - accuracy: 0.9185 - loss: 0.2827 - val_accuracy: 0.9130 - val_loss: 0.3002\n", + "Epoch 25/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m10s\u001b[0m 6ms/step - accuracy: 0.9189 - loss: 0.2820 - val_accuracy: 0.9132 - val_loss: 0.2987\n", + "Epoch 26/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m10s\u001b[0m 6ms/step - accuracy: 0.9197 - loss: 0.2784 - val_accuracy: 0.9140 - val_loss: 0.2965\n", + "Epoch 27/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m8s\u001b[0m 5ms/step - accuracy: 0.9196 - loss: 0.2782 - val_accuracy: 0.9150 - val_loss: 0.2951\n", + "Epoch 28/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m11s\u001b[0m 5ms/step - accuracy: 0.9200 - loss: 0.2754 - val_accuracy: 0.9143 - val_loss: 0.2941\n", + "Epoch 29/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m10s\u001b[0m 6ms/step - accuracy: 0.9196 - loss: 0.2761 - val_accuracy: 0.9162 - val_loss: 0.2913\n", + "Epoch 30/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m9s\u001b[0m 5ms/step - accuracy: 0.9229 - loss: 0.2723 - val_accuracy: 0.9147 - val_loss: 0.2893\n", + "Epoch 31/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m9s\u001b[0m 6ms/step - accuracy: 0.9205 - loss: 0.2688 - val_accuracy: 0.9172 - val_loss: 0.2883\n", + "Epoch 32/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m11s\u001b[0m 6ms/step - accuracy: 0.9243 - loss: 0.2632 - val_accuracy: 0.9143 - val_loss: 0.2900\n", + "Epoch 33/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m8s\u001b[0m 5ms/step - accuracy: 0.9235 - loss: 0.2613 - val_accuracy: 0.9177 - val_loss: 0.2845\n", + "Epoch 34/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m10s\u001b[0m 6ms/step - accuracy: 0.9254 - loss: 0.2616 - val_accuracy: 0.9175 - val_loss: 0.2838\n", + "Epoch 35/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m10s\u001b[0m 6ms/step - accuracy: 0.9255 - loss: 0.2613 - val_accuracy: 0.9185 - val_loss: 0.2812\n", + "Epoch 36/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m8s\u001b[0m 5ms/step - accuracy: 0.9250 - loss: 0.2632 - val_accuracy: 0.9188 - val_loss: 0.2815\n", + "Epoch 37/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m10s\u001b[0m 6ms/step - accuracy: 0.9251 - loss: 0.2612 - val_accuracy: 0.9202 - val_loss: 0.2787\n", + "Epoch 38/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m10s\u001b[0m 6ms/step - accuracy: 0.9247 - loss: 0.2642 - val_accuracy: 0.9205 - val_loss: 0.2780\n", + "Epoch 39/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m8s\u001b[0m 5ms/step - accuracy: 0.9257 - loss: 0.2592 - val_accuracy: 0.9212 - val_loss: 0.2750\n", + "Epoch 40/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m11s\u001b[0m 5ms/step - accuracy: 0.9261 - loss: 0.2550 - val_accuracy: 0.9190 - val_loss: 0.2748\n", + "Epoch 41/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m10s\u001b[0m 6ms/step - accuracy: 0.9289 - loss: 0.2518 - val_accuracy: 0.9218 - val_loss: 0.2733\n", + "Epoch 42/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m9s\u001b[0m 5ms/step - accuracy: 0.9301 - loss: 0.2454 - val_accuracy: 0.9252 - val_loss: 0.2696\n", + "Epoch 43/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m9s\u001b[0m 5ms/step - accuracy: 0.9282 - loss: 0.2498 - val_accuracy: 0.9230 - val_loss: 0.2679\n", + "Epoch 44/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m11s\u001b[0m 6ms/step - accuracy: 0.9306 - loss: 0.2417 - val_accuracy: 0.9238 - val_loss: 0.2668\n", + "Epoch 45/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m10s\u001b[0m 5ms/step - accuracy: 0.9309 - loss: 0.2398 - val_accuracy: 0.9263 - val_loss: 0.2657\n", + "Epoch 46/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m8s\u001b[0m 5ms/step - accuracy: 0.9308 - loss: 0.2461 - val_accuracy: 0.9243 - val_loss: 0.2639\n", + "Epoch 47/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m11s\u001b[0m 6ms/step - accuracy: 0.9330 - loss: 0.2383 - val_accuracy: 0.9257 - val_loss: 0.2620\n", + "Epoch 48/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m18s\u001b[0m 5ms/step - accuracy: 0.9322 - loss: 0.2344 - val_accuracy: 0.9260 - val_loss: 0.2599\n", + "Epoch 49/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m10s\u001b[0m 6ms/step - accuracy: 0.9318 - loss: 0.2371 - val_accuracy: 0.9258 - val_loss: 0.2588\n", + "Epoch 50/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m10s\u001b[0m 6ms/step - accuracy: 0.9326 - loss: 0.2363 - val_accuracy: 0.9277 - val_loss: 0.2564\n" + ] + } + ] + }, + { + "cell_type": "code", + "source": [ + "# Выводим график функции ошибки\n", + "plt.figure(figsize=(12, 5))\n", + "\n", + "plt.subplot(1, 2, 1)\n", + "plt.plot(history_2l_500.history['loss'], label='Обучающая ошибка')\n", + "plt.plot(history_2l_500.history['val_loss'], label='Валидационная ошибка')\n", + "plt.title('Функция ошибки по эпохам')\n", + "plt.xlabel('Эпохи')\n", + "plt.ylabel('Categorical Crossentropy')\n", + "plt.legend()\n", + "plt.grid(True)" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 487 + }, + "id": "VVt_lGsrz2hM", + "outputId": "27d921ae-1b4c-451c-d406-4bf7cc503440" + }, + "execution_count": 131, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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kJ+fb3QeqVSKZs2aWRwrIA6UW7JkSYWBgQDg6emJoKAgo98bAPz9998V6ujbb7/FY489hjfffBNjxoxBTk6OUayTJ09Gv379cN9990GlUiEtLa1Gcdd2TNw14KTQd5WzxU1kbZ9++inUajX69OmD/fv3IyEhAdu3b0fv3r1Rr149vP322wAANzc3jBkzBq+++iq2bduG8+fPY8KECbh16xYmTJhgOJ5MJsMLL7yA//u//0OTJk3QqVOnCud0dnZG48aNERERYTSwydvbG76+vvj8888RFxeHP//8s8oudUDsLu/YsSOGDRuGI0eO4MSJE3jxxRcRGRmJnj17GvYTBAFFRUUoKioyjJIuLi42lGm1Wuh0OsNqYk2aNMHPP/+M2NhYnDp1CkOGDDF02esdOnQI//d//4cff/wR9913H+rVq1dtPb/44otwcnLC8OHD8e+//2LPnj145ZVXMHToUAQGBhr20+l0hrj0rVm1Wm0ouz0OAFi+fDmeeuoptG3bttJzT5s2De+99x42btyI//77DwsWLMCePXswY8YMo/303ePTpk1DaGioUd03adIE3377Lc6fP4/Dhw/jxRdfvOdvpsPEXQMq/TVutriJrK5JkyY4duwYGjVqhOeffx6NGzfG2LFj0aNHDxw8eNDoWucHH3yAgQMHYvjw4YiMjMSpU6ewY8cOBAcHGx1z6NChKC4uxsiRI82KRSqVYuPGjTh+/DhatWqFadOmYfHixdW+56effkJoaCh69eqFbt26wc/PD1u2bDHqBj59+jScnZ3h7OyMoKAgAECfPn0MZevWrcPWrVsNo+GXLl0Kb29vdO7cGQMGDECfPn3wwAMPGI6XmpqK5557DkuXLjUqr46Liwt27NiBjIwMtG/fHs8++yx69eqFTz/91Gi/3377zRBXx44dAQDNmzc3lP31118Vjq3T6QxfsCozffp0TJ48GdOnT0erVq3w888/4+eff0abNm0q3V8qlWLNmjXYsGEDdu7cCQD46quvkJmZiQceeABDhw7F5MmTERAQYNJnd1QSwZzRH/eAnJwceHp6Ijs7Gx4eHjU61s5/b2HsupNoFeKB3yZ3tVKEdYNGo8G2bdsMU2bINJbUW1FREa5cuYKGDRvW6FaCjk6n02H79u0YOHAgEhISjFqTtdmWLVuwZcsWq03NMpdOp0NOTg48PDx4W08z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\n" + }, + "metadata": {} + } + ] + }, + { + "cell_type": "code", + "source": [ + "scores_2l_500=model_2l_500.evaluate(X_test,y_test)\n", + "print('Lossontestdata:',scores_2l_500[0])\n", + "print('Accuracyontestdata:',scores_2l_500[1])" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "SBf9p7vMz5FX", + "outputId": "2fbe52c0-8cf8-46d9-9ee4-bbb4ddc8c3d4" + }, + "execution_count": 132, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "\u001b[1m313/313\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 3ms/step - accuracy: 0.9396 - loss: 0.2295\n", + "Lossontestdata: 0.23596525192260742\n", + "Accuracyontestdata: 0.9369999766349792\n" + ] + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "Как мы видим, лучшая метрика получилась равной **0.9465000033378601** при архитектуре со 100 нейронами в скрытом слое, поэтому для дальнейших пунктов используем ее." + ], + "metadata": { + "id": "Fw2hUOhm4dqT" + } + }, + { + "cell_type": "code", + "source": [ + "#9 пункт\n", + "model_3l_100_50 = Sequential()\n", + "model_3l_100_50.add(Dense(units=100, input_dim=num_pixels, activation='sigmoid'))\n", + "model_3l_100_50.add(Dense(units=50, activation='sigmoid'))\n", + "model_3l_100_50.add(Dense(units=num_classes, activation='softmax'))\n", + "\n", + "model_3l_100_50.compile(loss='categorical_crossentropy', optimizer='sgd', metrics=['accuracy'])" + ], + "metadata": { + "id": "JT6AsLLP4uNp" + }, + "execution_count": 133, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "print(\"Архитектура нейронной сети:\")\n", + "model_3l_100_50.summary()" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 242 + }, + "id": "8HyNGO1l56ru", + "outputId": "b71aff60-c7f0-48f4-83f3-616712f30eef" + }, + "execution_count": 134, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Архитектура нейронной сети:\n" + ] + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "\u001b[1mModel: \"sequential_12\"\u001b[0m\n" + ], + "text/html": [ + "
Model: \"sequential_12\"\n",
+              "
\n" + ] + }, + "metadata": {} + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓\n", + "┃\u001b[1m \u001b[0m\u001b[1mLayer (type) \u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1mOutput Shape \u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1m Param #\u001b[0m\u001b[1m \u001b[0m┃\n", + "┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩\n", + "│ dense_26 (\u001b[38;5;33mDense\u001b[0m) │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m100\u001b[0m) │ \u001b[38;5;34m78,500\u001b[0m │\n", + "├─────────────────────────────────┼────────────────────────┼───────────────┤\n", + "│ dense_27 (\u001b[38;5;33mDense\u001b[0m) │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m50\u001b[0m) │ \u001b[38;5;34m5,050\u001b[0m │\n", + "├─────────────────────────────────┼────────────────────────┼───────────────┤\n", + "│ dense_28 (\u001b[38;5;33mDense\u001b[0m) │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m10\u001b[0m) │ \u001b[38;5;34m510\u001b[0m │\n", + "└─────────────────────────────────┴────────────────────────┴───────────────┘\n" + ], + "text/html": [ + "
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓\n",
+              "┃ Layer (type)                     Output Shape                  Param # ┃\n",
+              "┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩\n",
+              "│ dense_26 (Dense)                │ (None, 100)            │        78,500 │\n",
+              "├─────────────────────────────────┼────────────────────────┼───────────────┤\n",
+              "│ dense_27 (Dense)                │ (None, 50)             │         5,050 │\n",
+              "├─────────────────────────────────┼────────────────────────┼───────────────┤\n",
+              "│ dense_28 (Dense)                │ (None, 10)             │           510 │\n",
+              "└─────────────────────────────────┴────────────────────────┴───────────────┘\n",
+              "
\n" + ] + }, + "metadata": {} + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "\u001b[1m Total params: \u001b[0m\u001b[38;5;34m84,060\u001b[0m (328.36 KB)\n" + ], + "text/html": [ + "
 Total params: 84,060 (328.36 KB)\n",
+              "
\n" + ] + }, + "metadata": {} + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "\u001b[1m Trainable params: \u001b[0m\u001b[38;5;34m84,060\u001b[0m (328.36 KB)\n" + ], + "text/html": [ + "
 Trainable params: 84,060 (328.36 KB)\n",
+              "
\n" + ] + }, + "metadata": {} + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "\u001b[1m Non-trainable params: \u001b[0m\u001b[38;5;34m0\u001b[0m (0.00 B)\n" + ], + "text/html": [ + "
 Non-trainable params: 0 (0.00 B)\n",
+              "
\n" + ] + }, + "metadata": {} + } + ] + }, + { + "cell_type": "code", + "source": [ + "# Обучаем модель\n", + "history_3l_100_50 = model_3l_100_50.fit(\n", + " X_train, y_train,\n", + " validation_split=0.1,\n", + " epochs=50\n", + ")" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "sQwHOD5X7j5z", + "outputId": "bce0983e-0354-4e2c-f5fb-3c9e6c5d1dd1" + }, + "execution_count": 135, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Epoch 1/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m6s\u001b[0m 3ms/step - accuracy: 0.2333 - loss: 2.2703 - val_accuracy: 0.5425 - val_loss: 2.1027\n", + "Epoch 2/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m7s\u001b[0m 4ms/step - accuracy: 0.6070 - loss: 1.9965 - val_accuracy: 0.6730 - val_loss: 1.5702\n", + "Epoch 3/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m5s\u001b[0m 3ms/step - accuracy: 0.6855 - loss: 1.4374 - val_accuracy: 0.7502 - val_loss: 1.0896\n", + "Epoch 4/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m6s\u001b[0m 3ms/step - accuracy: 0.7654 - loss: 1.0119 - val_accuracy: 0.8085 - val_loss: 0.8186\n", + "Epoch 5/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m6s\u001b[0m 3ms/step - accuracy: 0.8195 - loss: 0.7722 - val_accuracy: 0.8425 - val_loss: 0.6650\n", + "Epoch 6/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m11s\u001b[0m 4ms/step - accuracy: 0.8454 - loss: 0.6291 - val_accuracy: 0.8573 - val_loss: 0.5729\n", + "Epoch 7/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m9s\u001b[0m 3ms/step - accuracy: 0.8600 - loss: 0.5463 - val_accuracy: 0.8703 - val_loss: 0.5112\n", + "Epoch 8/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m7s\u001b[0m 4ms/step - accuracy: 0.8730 - loss: 0.4905 - val_accuracy: 0.8788 - val_loss: 0.4693\n", + "Epoch 9/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m5s\u001b[0m 3ms/step - accuracy: 0.8824 - loss: 0.4476 - val_accuracy: 0.8848 - val_loss: 0.4383\n", + "Epoch 10/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m6s\u001b[0m 4ms/step - accuracy: 0.8876 - loss: 0.4203 - val_accuracy: 0.8877 - val_loss: 0.4152\n", + "Epoch 11/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m9s\u001b[0m 3ms/step - accuracy: 0.8922 - loss: 0.3942 - val_accuracy: 0.8915 - val_loss: 0.3972\n", + "Epoch 12/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m10s\u001b[0m 3ms/step - accuracy: 0.8932 - loss: 0.3820 - val_accuracy: 0.8938 - val_loss: 0.3814\n", + "Epoch 13/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m6s\u001b[0m 3ms/step - accuracy: 0.8998 - loss: 0.3615 - val_accuracy: 0.8952 - val_loss: 0.3710\n", + "Epoch 14/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m6s\u001b[0m 3ms/step - accuracy: 0.9016 - loss: 0.3525 - val_accuracy: 0.8988 - val_loss: 0.3586\n", + "Epoch 15/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m11s\u001b[0m 4ms/step - accuracy: 0.9049 - loss: 0.3386 - val_accuracy: 0.9017 - val_loss: 0.3492\n", + "Epoch 16/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m5s\u001b[0m 3ms/step - accuracy: 0.9065 - loss: 0.3283 - val_accuracy: 0.9028 - val_loss: 0.3410\n", + "Epoch 17/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m7s\u001b[0m 4ms/step - accuracy: 0.9070 - loss: 0.3231 - val_accuracy: 0.9057 - val_loss: 0.3335\n", + "Epoch 18/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m9s\u001b[0m 3ms/step - accuracy: 0.9085 - loss: 0.3163 - val_accuracy: 0.9075 - val_loss: 0.3271\n", + "Epoch 19/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m7s\u001b[0m 4ms/step - accuracy: 0.9100 - loss: 0.3146 - val_accuracy: 0.9103 - val_loss: 0.3214\n", + "Epoch 20/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m9s\u001b[0m 3ms/step - accuracy: 0.9112 - loss: 0.3063 - val_accuracy: 0.9107 - val_loss: 0.3144\n", + "Epoch 21/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m10s\u001b[0m 3ms/step - accuracy: 0.9133 - loss: 0.2954 - val_accuracy: 0.9127 - val_loss: 0.3090\n", + "Epoch 22/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m10s\u001b[0m 3ms/step - accuracy: 0.9175 - loss: 0.2852 - val_accuracy: 0.9137 - val_loss: 0.3036\n", + "Epoch 23/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m7s\u001b[0m 4ms/step - accuracy: 0.9172 - loss: 0.2874 - val_accuracy: 0.9128 - val_loss: 0.2997\n", + "Epoch 24/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m9s\u001b[0m 3ms/step - accuracy: 0.9197 - loss: 0.2789 - val_accuracy: 0.9152 - val_loss: 0.2937\n", + "Epoch 25/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m10s\u001b[0m 3ms/step - accuracy: 0.9202 - loss: 0.2748 - val_accuracy: 0.9165 - val_loss: 0.2903\n", + "Epoch 26/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m5s\u001b[0m 3ms/step - accuracy: 0.9199 - loss: 0.2729 - val_accuracy: 0.9168 - val_loss: 0.2850\n", + "Epoch 27/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m7s\u001b[0m 4ms/step - accuracy: 0.9241 - loss: 0.2639 - val_accuracy: 0.9180 - val_loss: 0.2814\n", + "Epoch 28/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m10s\u001b[0m 4ms/step - accuracy: 0.9250 - loss: 0.2573 - val_accuracy: 0.9185 - val_loss: 0.2765\n", + "Epoch 29/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m9s\u001b[0m 3ms/step - accuracy: 0.9251 - loss: 0.2609 - val_accuracy: 0.9195 - val_loss: 0.2726\n", + "Epoch 30/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m7s\u001b[0m 4ms/step - accuracy: 0.9253 - loss: 0.2557 - val_accuracy: 0.9210 - val_loss: 0.2688\n", + "Epoch 31/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m5s\u001b[0m 3ms/step - accuracy: 0.9250 - loss: 0.2529 - val_accuracy: 0.9232 - val_loss: 0.2655\n", + "Epoch 32/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m11s\u001b[0m 3ms/step - accuracy: 0.9292 - loss: 0.2456 - val_accuracy: 0.9225 - val_loss: 0.2619\n", + "Epoch 33/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m12s\u001b[0m 4ms/step - accuracy: 0.9291 - loss: 0.2462 - val_accuracy: 0.9233 - val_loss: 0.2598\n", + "Epoch 34/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m5s\u001b[0m 3ms/step - accuracy: 0.9314 - loss: 0.2403 - val_accuracy: 0.9260 - val_loss: 0.2549\n", + "Epoch 35/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m6s\u001b[0m 4ms/step - accuracy: 0.9302 - loss: 0.2431 - val_accuracy: 0.9262 - val_loss: 0.2519\n", + "Epoch 36/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m6s\u001b[0m 3ms/step - accuracy: 0.9326 - loss: 0.2326 - val_accuracy: 0.9270 - val_loss: 0.2494\n", + "Epoch 37/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m5s\u001b[0m 3ms/step - accuracy: 0.9327 - loss: 0.2316 - val_accuracy: 0.9285 - val_loss: 0.2458\n", + "Epoch 38/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m7s\u001b[0m 4ms/step - accuracy: 0.9331 - loss: 0.2303 - val_accuracy: 0.9293 - val_loss: 0.2430\n", + "Epoch 39/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m5s\u001b[0m 3ms/step - accuracy: 0.9333 - loss: 0.2298 - val_accuracy: 0.9305 - val_loss: 0.2404\n", + "Epoch 40/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m10s\u001b[0m 3ms/step - accuracy: 0.9369 - loss: 0.2231 - val_accuracy: 0.9308 - val_loss: 0.2376\n", + "Epoch 41/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m5s\u001b[0m 3ms/step - accuracy: 0.9374 - loss: 0.2158 - val_accuracy: 0.9318 - val_loss: 0.2346\n", + "Epoch 42/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m6s\u001b[0m 4ms/step - accuracy: 0.9367 - loss: 0.2183 - val_accuracy: 0.9323 - val_loss: 0.2321\n", + "Epoch 43/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m5s\u001b[0m 3ms/step - accuracy: 0.9388 - loss: 0.2101 - val_accuracy: 0.9338 - val_loss: 0.2291\n", + "Epoch 44/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m11s\u001b[0m 3ms/step - accuracy: 0.9393 - loss: 0.2089 - val_accuracy: 0.9338 - val_loss: 0.2263\n", + "Epoch 45/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m7s\u001b[0m 4ms/step - accuracy: 0.9397 - loss: 0.2092 - val_accuracy: 0.9347 - val_loss: 0.2235\n", + "Epoch 46/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m9s\u001b[0m 3ms/step - accuracy: 0.9409 - loss: 0.2064 - val_accuracy: 0.9357 - val_loss: 0.2221\n", + "Epoch 47/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m7s\u001b[0m 4ms/step - accuracy: 0.9416 - loss: 0.2024 - val_accuracy: 0.9370 - val_loss: 0.2199\n", + "Epoch 48/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m5s\u001b[0m 3ms/step - accuracy: 0.9419 - loss: 0.2008 - val_accuracy: 0.9370 - val_loss: 0.2168\n", + "Epoch 49/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m6s\u001b[0m 4ms/step - accuracy: 0.9427 - loss: 0.2007 - val_accuracy: 0.9402 - val_loss: 0.2143\n", + "Epoch 50/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m10s\u001b[0m 3ms/step - accuracy: 0.9458 - loss: 0.1921 - val_accuracy: 0.9387 - val_loss: 0.2130\n" + ] + } + ] + }, + { + "cell_type": "code", + "source": [ + "# Выводим график функции ошибки\n", + "plt.figure(figsize=(12, 5))\n", + "\n", + "plt.subplot(1, 2, 1)\n", + "plt.plot(history_3l_100_50.history['loss'], label='Обучающая ошибка')\n", + "plt.plot(history_3l_100_50.history['val_loss'], label='Валидационная ошибка')\n", + "plt.title('Функция ошибки по эпохам')\n", + "plt.xlabel('Эпохи')\n", + "plt.ylabel('Categorical Crossentropy')\n", + "plt.legend()\n", + "plt.grid(True)" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 487 + }, + "id": "iZTH0ku47wf0", + "outputId": "bce2fe5b-b130-4512-e1d6-b6f67da89e47" + }, + "execution_count": 136, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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1yBFUXBzdnLIVN0m6KioKBRF4fDhwxUuP3z4ML6+vgQGBlr1fK/ou5b4z3/+w/fff09eXh6ffPIJ999/v2UsCz8/P9544w2mTp2Kq6srHh4e5UbCHDJkCKmpqXz44Yds376d7du3A+Z7k0v76quvePHFF6sVk62efvppVq1axSuvvMKff/5JbGws7dq1s4rhzTffpKCggICAADw8PBg0aJDdx6sNr732Gq1atWLIkCFW86v7cwPzz/u3335j5cqV5VptR40aRWxsLG+99RZbtmwhNjYWf3//cj+X+kISex2TxC5E3fD396d///689957Vh1uARITE/niiy+4//77URSF5s2b4+TkxObNmy3rmEwmtmzZYlVjHjx4MO7u7ixZsoQ1a9YwZswYq/1OmDCBjIwMDhw4QGxsLHfccYdlWUpKCkePHmX69OnccsstlksBFQkPD6dXr16kp6dbWgzAfOtefHy8VUy22rx5M6NHj2bYsGG0a9eOkJCQcpcwW7ZsyejRo4mMjGT79u189NFHVe6zTZs27N27l5ycHKvjaDSaKh/aVR0JCQksWLCgXMdFAG9vb0JCQqx+bgB//fVXuTL67LPPuPXWW3nxxRcZN26cZQTRklifeOIJBg8ezHXXXYderyc5OblGcV/NJLHXMUtiT8/HZLoqxgISot549913KSgoYODAgWzatIn4+HjWrFlD//79adSoES+//DIAHh4ejBs3jmeeeYZff/2Vw4cPM378eM6fP8/48eMt+9NqtYwYMYLnn3+eFi1a0KNHj3LHdHV1pXnz5kRFRVl1vPL19cXf358PPviA48eP8/vvv1faZA/m5vju3bszcuRIduzYwe7du3nwwQfp2LGj1TVhVVXJz88nPz/f0svbYDBY5hUVFWEymSzDjbZo0YLvv/+e2NhY9u7dywMPPFBumNdt27bx/PPP8+2333LddddZPUCrIg8++CAuLi6MGjWKAwcO8Mcff/Df//6Xhx9+mODgYMt6JpPJEldJbbigoMAyr6LhZhctWsSwYcPo1KlThcd+6qmnmDdvHitXruSff/5h1qxZ/PHHHzz99NNW65U0vz/11FOEh4dblX2LFi347LPPOHz4MNu3b+fBBx8s1+GyXlFFORkZGSqgZmRk1HhfOXn5atPnflIjnvtZTczIq4XoGg6DwaCuXr1aNRgMjg7lmmJrueXl5amHDh1S8/Kuzd/P06dPq6NGjVKDg4NVnU6nhoeHq//973/V5ORkq/VycnLU8ePHqwEBAaqzs7P6r3/9S/3rr7+s1ikqKlL37NmjAur8+fMve+xRo0apd955p+VzdHS02qZNG1Wv16vt27dXY2JiVEBdtWqVqqqqeurUKRVQ9+zZo6qqqp49e1YdOnSo6uHhoXp4eKjDhg1T4+PjLfubOXOmClRrGjVqlOUYffv2VV1dXdXw8HD13XffVXv37q0++eSTqqqq6oULF9TGjRurH330keU4f/zxhwqoaWlplX7Xffv2qX379lVdXFxUPz8/ddy4cWpWVpal3EaMGFGtOEviUFVVjYiIUF1dXa2+c9kyLSwsVKdPn66GhYWpOp1Obdeunbp69WrL8rJlqqqqevToUdXV1VVdu3atqqqqunv3brVLly6qi4uL2qJFC/Wbb75RIyIi1DfffLPS73slFBUVqWlpaWpRUZFlXlV/j9XNTVfNkLJXk8zMTLy9vS87bF91GI1Gur+0ltQChW8f60GXyOo/4KahMxqN/Prrr5ZbgkT12Fpu+fn5nDp1iqZNm9b7IWUvx2QysWbNGoYOHUp8fLxVbfRqtnr1alavXl1rt57ZymQykZmZiZeXl4zYZ4OKyq2qv8fq5ib5CVwB/nrzuVN8Wq6DIxFCVKagoICzZ88yb9487rnnnmsmqYP5EoKc/IoSktivAL/icXHiUqQDnRBXq5IhaTMyMpg3b56jw7HJkCFD+PDDDx0dhrhKSGK/AvxdpMYuxNVu9OjRGI1GYmJiLtuZTIirmST2K8C/uMYenyqJXQghRN2SxH4FlNTY5V52IYQQdU0S+xVQco09ISMPY1H5+ziFEEKI2iKJ/Qrw0oHeSYNJhfPyMBghhBB1SBL7FaAo0MjHPMpRfKokdiGEEHVHEvsVEu5XnNilZ7wQQlyzSobuvZpJYr9CSh7fKj3jhRDi2rFq1Spuu+02IiMj8fDw4KabbnJ0SJclif0KKXkYTLz0jBei1owePRpFUSyTv78/t956K/v27XN0aKIemDt3LuPGjeP222/nl19+ITY2ll9//dXRYV2WJPY6pv35Sf59dCZtOQ1IjV2I2nbrrbeSkJBAQkICGzZswMnJidtvv93RYYlr3MmTJ3nllVfYuHEjjz/+ONdddx1RUVGWp8hdzSSx17WLh/HNPUVjbSogiV1cI1QVDDmOmWx8LpVeryckJISQkBA6duzI1KlTiY+P5+LFi5Z1nnvuOVq2bImbmxvNmjXjhRdeKHet9PTp02i1Wnx9fdFqtZZWgPT0dABmzZpFx44dLesbDAaioqKs1ikRGRlp1ZKgKAqrV6+2LF+zZg29evXCx8cHf39/br/9dk6cOGEVi6IoxMbGltvvwoULLZ/79OnDpEmTLJ+PHj2KTqezitNkMjFnzhwaN26MXq+nY8eOrFmzxuZjlf0OFR3/s88+o0uXLnh6ehISEsIDDzzAhQsXrLb5+eef6dChA66urpayGTp0KFVZvHgxzZs3x9nZmVatWvHZZ59ZLS8b26RJk+jTp0+l3zEmJqbcz+3hhx+22s/atWtp3rw5L7/8MoGBgXh6enLXXXdx9uxZyzZlfyd2796Nj4+P1fPt33jjDdq1a4e7uzvh4eGMHz+e7OzsKr9vTTnV6d4FuAUAEKTJBDxIyTGQU1CIu16KXlzFjLnwSphjjv38eXB2t2vT7OxsPv/8c6KiovD397fM9/T0ZNmyZYSFhbF//37GjRuHp6cnzz77rGWdkgddrl69mq5du7Jt2zbuvvvuSo/17rvvkpSUVOnyOXPmMG7cOABCQ0OtluXk5DB58mTat29PdnY2M2bMYNiwYcTGxtbo6WjPPPNMuSeCvfXWWyxYsID333+fTp06sXTpUu644w4OHjxIixYt7D5WRYxGIy+++CKtWrXiwoULTJ48mdGjR1uar9PT07n//vsZO3Ysq1evxtXVlSeffNLynPmKrFq1iieffJKFCxfSr18/fv75Zx555BEaN25M3759ayXuXbt28eOPP1rNu3jxInv37sXT05PffvsNgCeffJKhQ4eyc+dOFEWxWv/IkSMMHDiQ6dOnM3bsWMt8jUbD22+/TdOmTTl58iTjx4/n2Wef5b333quV2Csi2aWuuQcC4GpMw8ulCZn5hZxNy6NViKeDAxOifvj555/x8PAAzAkzNDSUn3/+2SpBTp8+3fI+MjKSp59+mpUrV1ol9pIafFBQECEhIVU2uaampvLSSy/x3HPP8cILL5RbXlBQgJ+fHyEhIRVuX/aEYenSpQQGBnLo0CGuv/76anzr8v744w+2bNnC2LFj+eOPPyzzX3/9dZ577jmGDx8OwLx58/jjjz9YuHAhixYtsutYlRkzZoyl3Js1a8bbb79N165dyc7OxsPDg3/++Yfc3Fyee+45wsLMJ46urq5VJvbXX3+d0aNHM378eAAmT57Mtm3beP3112stsU+ePJlnnnnG6mdpMpnQarWsWLGC8PBwAFasWEHz5s3ZsGED/fr1s6x75swZ+vfvz6OPPsrTTz9tte/SLRqRkZG89NJLPPbYY5LYr2WqW3GtITeZcD83Dp7PJD41VxK7uLrp3Mw1Z0cd2wZ9+/Zl8eLFAKSlpfHee+8xaNAgduzYQUREBABfffUVb7/9NidOnCA7O5vCwsJyz7POzMwEwN398q0Fc+bMoW/fvvTq1avC5ampqVU+L/vYsWPMmDGD7du3k5ycjMlkHpEyLi7OrsSuqipTpkxh5syZpKSkWOZnZmZy/vx5brzxRqv1b7zxRvbu3Ws1r2fPnlYnQ7m55S8bjhgxAq1Wa/mcl5dn1RS9a9cu5syZw969e0lLS7P6Xm3btiU8PBwnJye+/PJLnnrqqWq1Thw+fJhHH320XPxvvfXWZbetjtWrV3Py5EmmTJlS7iQtPDzcktQBIiIiaNy4MYcOHbIk9vT0dPr168fZs2cZOHBguf2vX7+euXPncuTIETIzMyksLCQ/P5/c3NxyrSu1Ra6x1zV3c1O8kpNMuK/5H5bcyy6ueopibg53xFSmifNy3N3diYqKIioqiq5du/LRRx+Rk5NjeYzp1q1befDBBxk8eDA///wze/bs4X//+x8Gg8FqP+fPn0ej0RAUFFTl8Y4dO8ZHH31U6aNdz549i8FgoGnTppXuY8iQIaSmpvLhhx+yfft2tm/fDlAupur69NNPycnJ4bHHHrNrezCf/MTGxlqmkhp1aW+++abVOl26dLEsy8nJYdCgQXh5efHFF1+wc+dOVq1aBVz6XqGhoSxevJhXXnkFFxcXPDw8+OKLL+yOuaaMRiPPPvssL7/8Mq6urlbLfH19K92udDP8mTNn6N69O7NmzWLMmDFWJ0SnT5/m9ttvp3379nz33Xfs2rXL0kpi78+6OiSx1zG1+Bq7ucYuo88JUdcURUGj0ZCXZ/4727JlCxEREfzvf/+jS5cutGjRgjNnzpTbbufOnbRu3fqytajnnnuOsWPHEhUVVeHyjRs34urqapX0SktJSeHo0aNMnz6dW265hTZt2pCWlmbjt7wkNzeX//3vf8ybNw+dTme1zMvLi7CwMDZv3mw1f/PmzbRt29ZqXnh4uOUEKSoqCien8g26ISEhVuuUTobHjh0jJSWFV199lZtuuonWrVuX6zgHMGrUKFq3bs2jjz5KbGwsd9xxR5Xfr02bNtWK3x6LFy/Gw8ODhx9+uNyy1q1bEx8fT3x8vGXemTNnOHv2rNWxmzVrxrJly/jf//6Hl5cX06ZNsyzbtWsXJpOJBQsW8K9//YuWLVty/nzdt4RJU3xdK77GruQk06Sl1NiFqG0FBQUkJiYC5qb4d999l+zsbIYMGQJAixYtiIuLY+XKlXTt2pVffvnFUpMEc83pq6++4o033mDWrFlVHuv48ePExcVx/PjxCpefOHGCV199lTvvvLNcT/n09HQMBgO+vr74+/vzwQcfEBoaSlxcHFOnTq1wfwaDgfz8fMtnVVUpLCykqKjI0iS+YsUKOnfuXGnP8meeeYaZM2fSvHlzOnbsyCeffEJsbGyt15QbN26Ms7Mz77zzDo899hgHDhzgxRdfLLfelClTUBSFN998E51Oh6enZ7myKhv/fffdR6dOnejXrx8//fQT33//PevXr7daz2g0WsqqqKgIk8lk+VzZNfz58+fz008/lesIB9C/f3/atGnDAw88wJtvvgmYO8917NiRm2++2bKep6en5SRo2bJldOvWjXvuuYebbrqJqKgojEYj77zzDkOGDGHz5s0sWbKkilKsJaooJyMjQwXUjIyMGu/LELdLVWd6qab5UervR5LUiOd+Vge+ubEWoqz/DAaDunr1atVgMDg6lGuKreWWl5enHjp0SM3Ly6vjyGrfqFGjVMAyeXp6ql27dlW//fZbq/WeeeYZ1d/fX/Xw8FDvv/9+9c0331S9vb1VVVXVv//+W23WrJk6d+5c1Wg0qmlpaWpRUZH6xx9/qICalpamqqqqzpw5UwXU119/3bLfsutERERYxVN2+uOPP1RVVdXo6Gi1TZs2ql6vV9u3b6/GxMSogLpq1SpVVVX11KlTVe7nk08+UVVVVXv37q0qiqLu3LnTEtPMmTPVDh06WD4XFRWps2bNUhs1aqTqdDq1Q4cO6m+//WZZXnKsPXv2WJVZRESE+uabb1o+l46vRO/evdUnn3xSLSoqUtPS0tTPP/9cjYyMVPV6vdqjRw/1xx9/tNr3ihUr1ODgYPXcuXNWP8M777yz4h9wsffee09t1qyZqtPp1JYtW6qffvqp1fKqyqr0VBJHyc/t9ttvL7ef0t/xxIkT6m233aa6ubmpHh4e6rBhw9SzZ89WWtaqqqpz5sxRo6Ki1JycHFVVVfWNN95QQ0NDVVdXV3XgwIHqp59+avmdKSm3oqIiy/ZV/T1WNzcpxV9GlJKZmYm3tzcZGRlVdoCpDmNqHLq326EqWk48dpp+b/6Jh96J/bMGVHiWKC4xGo38+uuvDB48uFwTo6icreWWn5/PqVOnaNq0aZ115rlWmEwmMjMz8fLysuu2s8jISGJiYoiMjCy3bOjQoeXur7bHpEmT6NixI6NHj67RfmpTTcutoaqo3Kr6e6xubpKfQF0r7hWvqEU0djV3lsguKCQ99+p/kIAQwjaBgYFWvcZL8/X1xdnZucbH0Ol0lR5DCJBr7HVP64xB64ZzUS4uBakEeeq5kFVAfFouvu41/yMXQlw9du7cWemyTz75pFaO8dprr9XKfkT9JTX2K8DgVNxkknORcD9zB7o4GVpWCCFEHZDEfgUUlE7svnLLmxBCiLojif0KKKigxi63vImrjfSjFcLxauPv0KGJfe7cuXTt2hVPT0+CgoIYOnQoR48evex233zzjWUgiXbt2pV7Pq6qqsyYMYPQ0FBcXV3p168fx44dq6uvcVkFTsXDx+amXBp9TprixVWipOd8RUOICiGurJK/w5rcCeTQznMbN25kwoQJdO3alcLCQp5//nkGDBjAoUOHKh2vecuWLYwYMYK5c+dy++23s2LFCoYOHcru3bstYyzPnz+ft99+m+XLl9O0aVNeeOEFBg4cyKFDhxxyO49Bd6nG3jjc3BR/Nk2a4sXVQavV4uPjYxklzM3NrcHeimkymSyDwshtW9Un5Waf0uWmKAq5ublcuHABHx+fGt354NDEXvqZwGAetScoKIhdu3bx73//u8Jt3nrrLW699VaeeeYZAF588UWio6N59913WbJkCaqqsnDhQqZPn86dd94JmMdRDg4OZvXq1ZYnHF1JpZvimxQ3xZ9Ly8NkUtFoGuY/UHF1KXkKWUVDgDYkqqqSl5dneVa4qB4pN/tUVG4+Pj6VPhWwuq6q290yMjIAqnxc4tatW5k8ebLVvIEDB7J69WoATp06RWJiotUj9by9venevTtbt26tMLEXFBRYDTlY8pQno9FoeZSjvYxGoyWxm7IvEODmhJNGwVBk4mxqNqHeDXtAkKqUlH1NfwYNjb3lFhAQgK+vL4WFhQ32enthYSFbtmyhZ8+eFY6VLiom5Waf0uWm0+lwcnJCq9VSWFhY4frV/Zu+an4CJpOJSZMmceONN1b52MLExESCg4Ot5gUHB1vGii55rWqdsubOncvs2bPLzV+3bh1ubrY9QrIi/sWJPSfpNL+v+Q1vnZaUAoVvf/ud5jUb2K5BiI6OdnQI1yQpN/tt2rTJ0SFck6Tc7FPdcqtuP5irJrFPmDCBAwcO8Ndff13xY0+bNs2qFSAzM5Pw8HAGDBhQ8yFljUa2/XgWAA9NPoMHD+arpL/ZcjKVxq06MrhT+UcjCjOj0Uh0dDT9+/eXIWVtIOVmPyk7+0i52cfWcitpTb6cqyKxT5w4kZ9//plNmzbRuHHjKtcNCQkhKSnJal5SUpLlmkTJa1JSEqGhoVbrdOzYscJ96vV69Hp9ufk6na5WfklLmuKVvDR0GoUm/u5sOZnK+cwC+SOohtr6OTQ0Um72k7Kzj5SbfapbbtUtW4d2X1RVlYkTJ7Jq1Sp+//13mjZtetltevTowYYNG6zmRUdH06NHDwCaNm1KSEiI1TqZmZls377dss6VZnDyQFWKizo35dK97DJIjRBCiFrm0Br7hAkTWLFiBT/88AOenp6Wa+De3t64uppvCxs5ciSNGjVi7ty5gPl5uL1792bBggXcdtttrFy5kr///psPPvgAAEVRmDRpEi+99BItWrSw3O4WFhZW6fOK65yiMT8MJuei+ZY3X19A7mUXQghR+xya2BcvXgxQ7jGGn3zyieWRhHFxcVb3Rfbs2ZMVK1Ywffp0nn/+eVq0aMHq1autOtw9++yz5OTk8Oijj5Kenk6vXr1Ys2aNYx9J6RZgSezhfo0AGX1OCCFE7XNoYq/OLTUxMTHl5t17773ce++9lW6jKApz5sxhzpw5NQmvVqnuASgXgZxkwpuam+ITM/MpKCxC7ySPYBRCCFE7ZIigK6X4uezkJhPg4YyrTouqwvn0fMfGJYQQol6RxH6FqG6B5jc5F1EUhXC/kqe8SXO8EEKI2iOJ/UpxDzC/5lwEuPQwGLnOLoQQohZJYr9CVLeSxJ4MILe8CSGEqBOS2K8U90tN8QCNfYub4qXGLoQQohZJYr9SSjrPlTTFF9fYz8o1diGEELVIEvsVolqusacApa+xS1O8EEKI2iOJ/Uop6RVvyAJjnqVXfGqOgeyCih/RJ4QQQthKEvuVovcErbP5fU4yni46fNzMA/rLLW9CCCFqiyT2K0VRynWgszTHS2IXQghRSySxX0nuZW95K+kZL9fZhRBC1A5J7FdSyb3suWXvZZcauxBCiNohif1KqqQp/qzcyy6EEKKWSGK/ksoOKyujzwkhhKhlktivJEuNvbgpvtToc9V5hK0QQghxOZLYr6QyTfGNfF1RFMg1FJGaY3BgYEIIIeoLSexXUpmmeL2TFj83873tF7IKHBWVEEKIekQS+5VUZlhZAD93c2JPkxq7EEKIWiCJ/Uoq3RRffE29JLGnSGIXQghRCySxX0kl97EXFUBBFgD+HubELtfYhRBC1AZJ7FeSsxs4e5jfF19n93WTGrsQQojaI4n9SiszrKy/e0mNXTrPCSGEqDlJ7FdamWFlL3WeMzoqIiGEEPWIJPYrrcy97H4eegBSpMYuhBCiFkhiv9LK3Mtech+7dJ4TQghRGySxX2llhpX1c5fELoQQovZIYr/SyjTFl9zulpZrxGSS8eKFEELUjCT2K61MU3zJ7W5FJpXMfOlAJ4QQomYksV9pZYaVdXbS4OniBMi97EIIIWpOEvuVVqYpHuQ6uxBCiNojif1KK0nsuclgMgGlxovPlsQuhBCiZiSxX2lu/uZX1QR5aUDp0ecksQshhKgZSexXmlYHLj7m9yX3speMPpcriV0IIUTNODSxb9q0iSFDhhAWFoaiKKxevbrK9UePHo2iKOWm6667zrLOrFmzyi1v3bp1HX8TG5Vujgf83ItHn5OmeCGEEDXk0MSek5NDhw4dWLRoUbXWf+utt0hISLBM8fHx+Pn5ce+991qtd91111mt99dff9VF+PYrO6ysuw6QB8EIIYSoOSdHHnzQoEEMGjSo2ut7e3vj7e1t+bx69WrS0tJ45JFHrNZzcnIiJCSk2vstKCigoOBSUs3MzATAaDRiNNbs3vKS7UvvR+vmjwYoykzCZDTi7aIFIDm7oMbHq08qKjtxeVJu9pOys4+Um31sLbfqrufQxF5TH3/8Mf369SMiIsJq/rFjxwgLC8PFxYUePXowd+5cmjRpUul+5s6dy+zZs8vNX7duHW5ubrUSa3R0tOV9++QcmgLH9m7l6IVQTqQpgJbTCcn8+uuvtXK8+qR02Ynqk3Kzn5SdfaTc7FPdcsvNza3WeoqqqlfFOKaKorBq1SqGDh1arfXPnz9PkyZNWLFiBffdd59l/m+//UZ2djatWrUiISGB2bNnc+7cOQ4cOICnp2eF+6qoxh4eHk5ycjJeXl41+l5Go5Ho6Gj69++PTmductdsmof2z9coumE0pkGvs+9sBne/v51Qbxc2Pf3vGh2vPqmo7MTlSbnZT8rOPlJu9rG13DIzMwkICCAjI6PK3HTN1tiXL1+Oj49PuROB0k377du3p3v37kRERPD111/zn//8p8J96fV69Hp9ufk6na7Wfkmt9uUZDIA2LwWtTkeQt7lVIDXHgJOTE4qi1Mox64va/Dk0JFJu9pOys4+Um32qW27VLdtr8nY3VVVZunQpDz/8MM7OzlWu6+PjQ8uWLTl+/PgViq4aygwrW3K7W0GhiVxDkaOiEkIIUQ9ck4l948aNHD9+vNIaeGnZ2dmcOHGC0NDQKxBZNZXpFe/mrEXvZP5RyCA1QgghasKhiT07O5vY2FhiY2MBOHXqFLGxscTFxQEwbdo0Ro4cWW67jz/+mO7du3P99deXW/b000+zceNGTp8+zZYtWxg2bBharZYRI0bU6XexSZnEriiKjD4nhBCiVjj0Gvvff/9N3759LZ8nT54MwKhRo1i2bBkJCQmWJF8iIyOD7777jrfeeqvCfZ49e5YRI0aQkpJCYGAgvXr1Ytu2bQQGBtbdF7FVSWLPT4dCAzg54+fhzPmMfEnsQgghasShib1Pnz5U1Sl/2bJl5eZ5e3tX2eV/5cqVtRFa3XLxAUULahHkpoBX6KXR5ySxCyGEqAGbm+JPnjxZF3E0LBrNpYfBlAwr6yajzwkhhKg5mxN7VFQUffv25fPPPyc/P78uYmoYyg0rKzV2IYQQNWdzYt+9ezft27dn8uTJhISE8H//93/s2LGjLmKr3yy3vJlr7P4exU94k8QuhBCiBmxO7B07duStt97i/PnzLF26lISEBHr16sX111/PG2+8wcWLF+sizvqnXI1desULIYSoObtvd3NycuKuu+7im2++Yd68eRw/fpynn36a8PBwRo4cSUJCQm3GWf+USey+bubELk3xQgghasLuxP73338zfvx4QkNDeeONN3j66ac5ceIE0dHRnD9/njvvvLM246x/3Is7zxUn9pKmeKmxCyGEqAmbb3d74403+OSTTzh69CiDBw/m008/ZfDgwWg05nOEpk2bsmzZMiIjI2s71vrFUmO3HlY2NVsSuxBCCPvZnNgXL17MmDFjGD16dKXDtAYFBfHxxx/XOLh6rUxTfMnIc1kFhRgKTTg7XZOj/QohhHAwmxP7sWPHLruOs7Mzo0aNsiugBqNMYvdy0aHVKBSZVNJyDQR7uTgwOCGEENcqu0aeS0tL4+OPP+bw4cMAtGnThjFjxuDn51erwdVrZW5302gUfN10JGcbSMmWxC6EEMI+Nrf3btq0icjISN5++23S0tJIS0vjnXfeoWnTpmzatKkuYqyf3IoTuzEHDOYhcuWWNyGEEDVlc419woQJ3H///SxevBitVgtAUVER48ePZ8KECezfv7/Wg6yX9J6g1UNRgXlYWecmlsSeIsPKCiGEsJPNNfbjx48zZcoUS1IH0Gq1TJ48mePHj9dqcPWaolTQgc48rKyMPieEEMJeNif2G264wXJtvbTDhw/ToUOHWgmqwShznV2a4oUQQtSUzU3xTzzxBE8++STHjx/nX//6FwDbtm1j0aJFvPrqq+zbt8+ybvv27Wsv0vqo7Ohz7jL6nBBCiJqxObGPGDECgGeffbbCZYqioKoqiqJQVFRU8wjrs0ruZZcauxBCCHvZnNhPnTpVF3E0TJZhZa2b4qXGLoQQwl42J/aIiIi6iKNhstTYix/d6i6PbhVCCFEzdg1Qc+LECRYuXGjpRNe2bVuefPJJmjdvXqvB1XtlH90qD4IRQghRQzb3il+7di1t27Zlx44dtG/fnvbt27N9+3auu+46oqOj6yLG+qtsYi9+dGtargGTSXVUVEIIIa5hNtfYp06dylNPPcWrr75abv5zzz1H//79ay24eq/M7W4lveJNKqTnGS3X3IUQQojqsrnGfvjwYf7zn/+Umz9mzBgOHTpUK0E1GCXDyuZcBFVFp9Xg5WI+10qV0eeEEELYwebEHhgYSGxsbLn5sbGxBAUF1UZMDUdJjd1khPwMAPw9zKPPpeYYHRWVEEKIa5jNTfHjxo3j0Ucf5eTJk/Ts2ROAzZs3M2/ePCZPnlzrAdZrOldw9gRDlrnW7uqDr5uOU0iNXQghhH1sTuwvvPACnp6eLFiwgGnTpgEQFhbGrFmzeOKJJ2o9wHrPMxhSsiD7AgS0wK94vHi5l10IIYQ9bErshYWFrFixggceeICnnnqKrKwsADw9PeskuAbBIxhSjkN2ElBq9LlsSexCCCFsZ9M1dicnJx577DHy8/MBc0KXpF5DHsX9EooTe8m97FJjF0IIYQ+bO89169aNPXv21EUsDZNHsPm1TI09LVcSuxBCCNvZfI19/PjxTJkyhbNnz9K5c2fc3d2tlssT3WxkqbFfAMDXTUafE0IIYT+bE/vw4cMBrDrKyRPdaqBMjd3SFC/X2IUQQthBnu7maB4h5teyneekxi6EEMIONif2M2fO0LNnT5ycrDctLCxky5Yt8vQ3W5VpivcrldhLWkGEEEKI6rK581zfvn1JTU0tNz8jI4O+ffvatK9NmzYxZMgQwsLCUBSF1atXV7l+TEwMiqKUmxITE63WW7RoEZGRkbi4uNC9e3d27NhhU1xXVElTfM5FMBXhX3wfu6HIRI5BLmsIIYSwjc2JvbJaZEpKSrmOdJeTk5NDhw4dWLRokU3bHT16lISEBMtUeijbr776ismTJzNz5kx2795Nhw4dGDhwIBcuXLDpGFeMewAoGlBNkJOMq7MWF535xyL3sgshhLBVtZvi77rrLsDcUW706NHo9XrLsqKiIvbt22cZYra6Bg0axKBBg2zaBiAoKAgfH58Kl73xxhuMGzeORx55BIAlS5bwyy+/sHTpUqZOnVrhNgUFBRQUXBrCNTMzEwCj0YjRWLMx20u2r2o/Tm4BKDkXMKafAxc//NycOZ+RT1JGDqFeuhod/1pWnbIT5Um52U/Kzj5Sbvaxtdyqu161E7u3tzdgrrF7enri6upqWebs7My//vUvxo0bV93d1UjHjh0pKCjg+uuvZ9asWdx4440AGAwGdu3aZRnqFkCj0dCvXz+2bt1a6f7mzp3L7Nmzy81ft24dbm5utRJzVc+q72NywRv4O+YXLnjFoy3UAgrrNm3lvK88l72qshOVk3Kzn5SdfaTc7FPdcsvNza3WetVO7J988gkAkZGRPP300zY3u9eG0NBQlixZQpcuXSgoKOCjjz6iT58+bN++nRtuuIHk5GSKiooIDg622i44OJgjR45Uut9p06ZZPcAmMzOT8PBwBgwYgJeXV41iNhqNREdH079/f3S6imvf2ozlcDKOrm0iUDsM5rvkXcQfS6FZm/YMvqFRjY5/LatO2YnypNzsJ2VnHyk3+9habiWtyZdjc6/4mTNn2rpJrWnVqhWtWrWyfO7ZsycnTpzgzTff5LPPPrN7v3q93urSQgmdTldrv6RV7svLfMubU14y6HQEeLgAkJlfJH8k1O7PoSGRcrOflJ19pNzsU91yq27Z2tx5LikpiYcffpiwsDCcnJzQarVW05XWrVs3jh8/DkBAQABarZakpKRyMYeEhFzx2KqtzHjxvnIvuxBCCDvZXGMfPXo0cXFxvPDCC4SGhjr8PuvY2FhCQ0MB87X+zp07s2HDBoYOHQqAyWRiw4YNTJw40YFRXkbZ0efc5UEwQggh7GNzYv/rr7/4888/6dixY40Pnp2dbaltg3lUu9jYWPz8/GjSpAnTpk3j3LlzfPrppwAsXLiQpk2bct1115Gfn89HH33E77//zrp16yz7mDx5MqNGjaJLly5069aNhQsXkpOTY+klf1UqM0iNjD4nhBDCXjYn9vDwcFS1dnpq//3331aD2pR0YBs1ahTLli0jISGBuLg4y3KDwcCUKVM4d+4cbm5utG/fnvXr11vt4/777+fixYvMmDGDxMREOnbsyJo1a8p1qLuqSI1dCCFELbE5sS9cuJCpU6fy/vvvExkZWaOD9+nTp8qThGXLlll9fvbZZ3n22Wcvu9+JEyde3U3vZVnGi7ceVjZNErsQQggb2ZzY77//fnJzc2nevDlubm7leulVNNysuIySpviCTDDkWo0XL4QQQtjCrhq7qGV6T3ByhcI8yE7C370xANkFhRQUFqF3uvJ3GwghhLg22ZzYR40aVRdxNGyKYq61p5+B7At4+UbipFEoNKmk5hgI9Xa9/D6EEEII7LiPHeDEiRNMnz6dESNGWB6u8ttvv3Hw4MFaDa5BKdWBTlEUy73sKfIgGCGEEDawObFv3LiRdu3asX37dr7//nuys7MB2Lt3r0NHpbvmeZbpGe9W3IEuVxK7EEKI6rM5sU+dOpWXXnqJ6OhonJ2dLfNvvvlmtm3bVqvBNSiWGrt1z3jpQCeEEMIWNif2/fv3M2zYsHLzg4KCSE5OrpWgGiRLYk8EwM9DmuKFEELYzubE7uPjQ0JCQrn5e/bsoVGjhvskshqT0eeEEELUApsT+/Dhw3nuuedITExEURRMJhObN2/m6aefZuTIkXURY8Mgo88JIYSoBTYn9ldeeYXWrVsTHh5OdnY2bdu25d///jc9e/Zk+vTpdRFjw1Cmxi6jzwkhhLCHzfexOzs78+GHHzJjxgz2799PdnY2nTp1okWLFnURX8NRelhZk0k6zwkhhLCLzYm9RHh4OOHh4RQVFbF//37S0tLw9fWtzdgaFvdA86vJCPnppZriCxwYlBBCiGuNzU3xkyZN4uOPPwagqKiI3r17c8MNNxAeHk5MTExtx9dwODmDq5/5fVYi/u56QGrsQgghbGNzYv/222/p0KEDAD/99BMnT57kyJEjPPXUU/zvf/+r9QAblFId6Epq7Ol5RopMtfOYXCGEEPWfzYk9OTmZkBDz9eBff/2V++67j5YtWzJmzBj2799f6wE2KKU60Pm4mZ+ap6qQLqPPCSGEqCabE3twcDCHDh2iqKiINWvW0L9/fwByc3PRauUpZDVSqsau02rwdjUnd2mOF0IIUV02J/ZHHnmE++67j+uvvx5FUejXrx8A27dvp3Xr1rUeYINSZrx4f7mXXQghhI1s7hU/a9Ysrr/+euLj47n33nvR682dvLRaLVOnTq31ABuUCgapOZmcIzV2IYQQ1WbX7W733HOP1ef09HR5TnttkNHnhBBC1JDNTfHz5s3jq6++sny+77778Pf3p3Hjxuzbt69Wg2twZPQ5IYQQNWRzYl+yZAnh4eEAREdHEx0dzW+//catt97K008/XesBNiiV1NilKV4IIUR12dwUn5iYaEnsP//8M/fddx8DBgwgMjKS7t2713qADUpJYs9Lg8ICaYoXQghhM5tr7L6+vsTHxwOwZs0aS694VVUpKiqq3egaGldf0JhvcSPnIv4eJTV2GVZWCCFE9dhcY7/rrrt44IEHaNGiBSkpKQwaNAgwP489Kiqq1gNsUBTFXGvPPAtZSfi6mVtGUrKlxi6EEKJ6bE7sb775JpGRkcTHxzN//nw8PDwASEhIYPz48bUeYIPjEWRO7NlJ+HuYT5TSZOQ5IYQQ1WRzYtfpdBV2knvqqadqJaAGr1QHOv+Q4mvs2QZMJhWNRnFgYEIIIa4Fdt3HfuLECRYuXMjhw4cBaNu2LZMmTaJZs2a1GlyDVOqWtyBPPVqNQqFJ5UJWASHeLo6NTQghxFXP5s5za9eupW3btuzYsYP27dvTvn17tm/fTtu2bYmOjq6LGBsWT/MDdshOwkmrIcTLnMzPpuU6MCghhBDXCptr7FOnTuWpp57i1VdfLTf/ueeeszwURtjJUmM338ve2NeVc+l5nEvPo4sDwxJCCHFtsLnGfvjwYf7zn/+Umz9mzBgOHTpUK0E1aGUGqWnk6wrA2bQ8R0UkhBDiGmJzYg8MDCQ2Nrbc/NjYWIKCgmojpoatTGJv7COJXQghRPXZ3BQ/btw4Hn30UU6ePEnPnj0B2Lx5M/PmzWPy5Mm1HmCDU3q8eFWlsa8bAOfSJbELIYS4PJtr7C+88AIzZszgnXfeoXfv3vTu3Zt3332XWbNmMX36dJv2tWnTJoYMGUJYWBiKorB69eoq1//+++/p378/gYGBeHl50aNHD9auXWu1zqxZs1AUxWq6pp4TX1JjL8yHgkxLU/w56TwnhBCiGmxK7IWFhXz22Wc88MADnD17loyMDDIyMjh79ixPPvkkimLbfdY5OTl06NCBRYsWVWv9TZs20b9/f3799Vd27dpF3759GTJkCHv27LFa77rrriMhIcEy/fXXXzbF5VA6V9B7m99nX6BRcVP8ufQ8VFV1YGBCCCGuBTY1xTs5OfHYY49Z7l/39PSs0cEHDRpkGZK2OhYuXGj1+ZVXXuGHH37gp59+olOnTlZxhoSE1Cg2h/IIgoIMyE4itHEzFAXyjSZScgwEeOgdHZ0QQoirmM3X2Lt168aePXuIiIioi3hsYjKZyMrKws/Pz2r+sWPHCAsLw8XFhR49ejB37lyaNGlS6X4KCgooKLj0oJXMzEwAjEYjRqOxRjGWbG/LfrTugWhSjlGYfg5NIxNBHnqSsgo4czELb73NV0+uWfaUnZByqwkpO/tIudnH1nKr7no2J/bx48czZcoUzp49S+fOnXF3d7da3r59e1t3abfXX3+d7Oxs7rvvPsu87t27s2zZMlq1akVCQgKzZ8/mpptu4sCBA5W2MMydO5fZs2eXm79u3Trc3NxqJVZbBu/pnFlEY+DwzhhOnnHBVdUCCj/9sYWz/g2vOV4GPrKPlJv9pOzsI+Vmn+qWW25u9fpaKaqNF241mvI1RkVRUFUVRVHsfnSroiisWrWKoUOHVmv9FStWMG7cOH744QfLo2Mrkp6eTkREBG+88UaF999DxTX28PBwkpOT8fLysul7lGU0GomOjqZ///7odLpqbaNZ9z+0O9+nqMcTmG6ewVNf7+Pn/Yk8N7AlY3tF1iiea4k9ZSek3GpCys4+Um72sbXcMjMzCQgIICMjo8rcZHON/dSpU7ZuUutWrlzJ2LFj+eabb6pM6gA+Pj60bNmS48ePV7qOXq9Hry9/7Vqn09XaL6lN+/Iy9w/Q5iaj1ekI9ze3iiRmFjTIP5ra/Dk0JFJu9pOys4+Um32qW27VLVubE7ujr61/+eWXjBkzhpUrV3Lbbbdddv3s7GxOnDjBww8/fAWiqyWlxosHLD3jZZAaIYQQl1Ptnlglt5eVdCwrLSMjg759+7J3716bDp6dnU1sbKxlJLtTp04RGxtLXFwcANOmTWPkyJGW9VesWMHIkSNZsGAB3bt3JzExkcTERDIyMizrPP3002zcuJHTp0+zZcsWhg0bhlarZcSIETbF5lAVjBcPMkiNEEKIy6t2Yl+wYAE333xzhe363t7e9O/fn9dee82mg//999906tTJcqva5MmT6dSpEzNmzAAgISHBkuQBPvjgAwoLC5kwYQKhoaGW6cknn7Ssc/bsWUaMGEGrVq2477778Pf3Z9u2bQQGBtoUm0OVHVbWMkiN3MsuhBCiatVuit++fTtTp06tdPmQIUP46KOPbDp4nz59qkxUy5Yts/ocExNz2X2uXLnSphiuSiWJPScZigoJK26KzyooJDOvEG83uYYlhBCiYtWusZ87d67KAWk8PDxISEiolaAaPDd/UDSACrnJuDk74e/uDMDZdBlaVgghROWqndgDAwM5evRopcuPHDlCQEBArQTV4Gm04F586aDM41vPSQc6IYQQVah2Yu/Xrx8vv/xyhctUVeXll1++7K1nwgaW6+wXAOkZL4QQonqqfY19+vTpdO7cme7duzNlyhRatWoFmGvqCxYs4J9//il3TVzUQEliz0oEpGe8EEKI6ql2Ym/evDnr169n9OjRDB8+3PIkN1VVadu2LdHR0URFRdVZoA1OmZ7xlqe8SY1dCCFEFWwaoKZLly4cOHCA2NhYjh07hqqqtGzZko4dO9ZReA2Y5V52c1N8Y1/zmPXSeU4IIURVbB55DqBjx46SzOta2Rq7dJ4TQghRDQ3nGaDXGs8yneeKE3tarpGcgkJHRSWEEOIqJ4n9alWmxu7losPLxdzAIh3ohBBCVEYS+9WqTGIHaFR8nV2a44UQQlRGEvvVqqTznCEbCrKBUveyS41dCCFEJarVeW7fvn3V3mH79u3tDkaU4uwBOjcw5kLOBdB7WO5lP5smPeOFEEJUrFqJvWPHjiiKUukDW0qWKYpCUVFRrQbYYCmKudaedtrcgc6vmdVT3oQQQoiKVCuxnzp1qq7jEBXxCClO7GUGqZGmeCGEEJWoVmKPiIio6zhERUqus2eVPJe9eJAaqbELIYSohF0D1AAcOnSIuLg4DAaD1fw77rijxkGJYpUMUnMxq4B8YxEuOq2jIhNCCHGVsjmxnzx5kmHDhrF//36r6+4lY8fLNfZaVCax+7rpcNVpyTMWkZCRT9MAdwcGJ4QQ4mpk8+1uTz75JE2bNuXChQu4ublx8OBBNm3aRJcuXYiJiamDEBuwMuPFK4oiPeOFEEJUyebEvnXrVubMmUNAQAAajQaNRkOvXr2YO3cuTzzxRF3E2HBVOEiN9IwXQghROZsTe1FREZ6engAEBARw/vx5wNzB7ujRo7UbXUNXZrx4kJ7xQgghqmbzNfbrr7+evXv30rRpU7p37878+fNxdnbmgw8+oFmzZnURY8PlGWp+zU6EwgJw0kvPeCGEEFWyucY+ffp0TCYTAHPmzOHUqVPcdNNN/Prrr7z99tu1HmCD5hEMem9QTZByHJCmeCGEEFWzucY+cOBAy/uoqCiOHDlCamoqvr6+lp7xopYoCgS2grM74MJhCL7u0njx0nlOCCFEBWyusWdkZJCammo1z8/Pj7S0NDIzM2stMFEsqLX59eIRAMKLa+yJmfkYi0yOikoIIcRVyubEPnz4cFauXFlu/tdff83w4cNrJShRSmAb8+uFwwAEeOhx1mowqZCYke/AwIQQQlyNbE7s27dvp2/fvuXm9+nTh+3bt9dKUKKUMjV2jUYhzMcFkA50QgghyrM5sRcUFFBYWFhuvtFoJC9PEk2tK6mxp54Eo7mGXtIzXm55E0IIUZbNib1bt2588MEH5eYvWbKEzp0710pQohTPEHAp0zPeR3rGCyGEqJjNveJfeukl+vXrx969e7nlllsA2LBhAzt37mTdunW1HmCDpyjmWnv8NnNzfMj1llvepGe8EEKIsmyusd94441s3bqV8PBwvv76a3766SeioqLYt28fN910U13EKAJbmV+LO9CVjBcvTfFCCCHKsuuxrR07duSLL76o7VhEZYKKr7MXd6CTYWWFEEJUplqJPTMzEy8vL8v7qpSsJ2pRYHHP+OIae0lT/Pn0PEwmFY1GBgYSQghhVq2meF9fXy5cMD+IxMfHB19f33JTyXxbbNq0iSFDhhAWFoaiKKxevfqy28TExHDDDTeg1+uJiopi2bJl5dZZtGgRkZGRuLi40L17d3bs2GFTXFedkhp72ikw5hPi5YJWo2AsUrmQVeDY2IQQQlxVqlVj//333/Hz8wPgjz/+qLWD5+Tk0KFDB8aMGcNdd9112fVPnTrFbbfdxmOPPcYXX3zBhg0bGDt2LKGhoZahbr/66ismT57MkiVL6N69OwsXLmTgwIEcPXqUoKCgWov9ivIIBhcfyE+H5H9wCm1PiJcL59LzOJeeS4i3i6MjFEIIcZWoVmLv3bs3AIWFhWzcuJExY8bQuHHjGh980KBBDBo0qNrrL1myhKZNm7JgwQIA2rRpw19//cWbb75pSexvvPEG48aN45FHHrFs88svv7B06VKmTp1a45gdQlHMtfa4rebr7KHtaezryrn0PM6m5dE5wtEBCiGEuFrY1HnOycmJ1157jZEjR9ZVPFXaunUr/fr1s5o3cOBAJk2aBIDBYGDXrl1MmzbNslyj0dCvXz+2bt1a6X4LCgooKLjUpF3Sj8BoNGI0GmsUc8n2Nd2Pxr8l2ritFCUewtTGSJi3HoC45Owa7/tqVVtl19BIudlPys4+Um72sbXcqruezb3ib775ZjZu3EhkZKStm9ZYYmIiwcHBVvOCg4PJzMwkLy+PtLQ0ioqKKlznyJEjle537ty5zJ49u9z8devW4ebmViuxR0dH12j7ZheKaAdcOLiRHXmdyL2oATRs3f8PTXIq/271QU3LrqGScrOflJ19pNzsU91yy82t3tglNif2QYMGMXXqVPbv30/nzp1xd3e3Wn7HHXfYukuHmzZtGpMnT7Z8zszMJDw8nAEDBtS4l7/RaCQ6Opr+/fuj0+ns3o9yygNWfE6IJo3BgweTs+sca88dROsZyODB9XPEv9oqu4ZGys1+Unb2kXKzj63lVt0nqNqc2MePHw+Yr2WXpSgKRUVFtu6y2kJCQkhKSrKal5SUhJeXF66urmi1WrRabYXrhISEVLpfvV6PXq8vN1+n09XaL2mN9xV6PQBK2ml0FBIR4AHA+Yz8ev+HVJs/h4ZEys1+Unb2kXKzT3XLrbpla/PIcyaTqdKpLpM6QI8ePdiwYYPVvOjoaHr06AGAs7MznTt3tlrHZDKxYcMGyzrXLI8gcPUFVEj+x2qQGlVVHRubEEKIq4bNib02ZWdnExsbS2xsLGC+nS02Npa4uDjA3EReuqPeY489xsmTJ3n22Wc5cuQI7733Hl9//TVPPfWUZZ3Jkyfz4Ycfsnz5cg4fPszjjz9OTk6OpZf8NatkzHiAC0cI9XFBUSDfaCIlx+DY2IQQQlw17ErsGzduZMiQIURFRREVFcUdd9zBn3/+afN+/v77bzp16kSnTp0Ac1Lu1KkTM2bMACAhIcGS5AGaNm3KL7/8QnR0NB06dGDBggV89NFHllvdAO6//35ef/11ZsyYQceOHYmNjWXNmjXlOtRdkyzPZj+M3klLkKf58oE85U0IIUQJm6+xf/755zzyyCPcddddPPHEEwBs3ryZW265hWXLlvHAAw9Ue199+vSpshm5olHl+vTpw549e6rc78SJE5k4cWK147hmlKqxg3nM+KTMAs6l59Eh3MdxcQkhhLhq2JzYX375ZebPn2/V/P3EE0/wxhtv8OKLL9qU2IWNSp7yVvwwmMa+buyOS5fHtwohhLCwuSn+5MmTDBkypNz8O+64g1OnTtVKUKISljHjT4Mh1/IwGGmKF0IIUcLmxB4eHl6uZzrA+vXrCQ8Pr5WgRCXcA8HVj4p6xgshhBBgR1P8lClTeOKJJ4iNjaVnz56A+Rr7smXLeOutt2o9QFFKyZjxZzbDxSOE+90CwKnkHAcHJoQQ4mphc2J//PHHCQkJYcGCBXz99deA+WEsX331FXfeeWetByjKCGxtTuwXDnNdj2EAnEzOITPfiJeLDAwhhBANnc2JHWDYsGEMGzastmMR1VFynf3iEQI89IT7uRKfmse++Ax6tQhwbGxCCCEczqED1Ag7BBbfy37hMAAdw30B2BOX5qiIhBBCXEVsrrH7+vqiKEq5+Yqi4OLiQlRUFKNHj772R3q7WpXU2NPPgCGHjuE+/LT3PLHx6Q4NSwghxNXB5sQ+Y8YMXn75ZQYNGkS3bt0A2LFjB2vWrGHChAmcOnWKxx9/nMLCQsaNG1frATd47gHg5g+5KZD8D52aRAIQG5+OqqoVnnQJIYRoOGxO7H/99RcvvfQSjz32mNX8999/n3Xr1vHdd9/Rvn173n77bUnsdSWwDZz5Cy4coe117dFpFVJyDMSn5tHEv3aeHy+EEOLaZPM19rVr19KvX79y82+55RbWrl0LwODBgzl58mTNoxMVKzVmvItOS9swbwD2xMt1diGEaOhsTux+fn789NNP5eb/9NNP+Pn5AZCTk4Onp2fNoxMVs3SgMw8t26l4nHi5zi6EEMLmpvgXXniBxx9/nD/++MNyjX3nzp38+uuvLFmyBDA/I7137961G6m4xHLLW0nPeB8A9sSlOyYeIYQQVw2bE/u4ceNo27Yt7777Lt9//z0ArVq1YuPGjZaR6KZMmVK7UQprJU95S4+Dgmw6NfEB4ND5TAoKi9A7aR0XmxBCCIeya4CaG2+8kRtvvLG2YxHV5e5vHjc+5yIkH6VJ2A34uTuTmmPgcEKWpQYvhBCi4bFrgJoTJ04wffp0HnjgAS5cuADAb7/9xsGDB2s1OFGFUtfZFUWhQ+PiDnQyUI0QQjRoNif2jRs30q5dO7Zv3853331HdnY2AHv37mXmzJm1HqCoREliL342e6cm5hHopAOdEEI0bDYn9qlTp/LSSy8RHR2Ns7OzZf7NN9/Mtm3bajU4UYUg68QuHeiEEEKAHYl9//79FT4AJigoiOTk5FoJSlRDSQe64lveOhQn9rjUXFKyCxwUlBBCCEezObH7+PiQkJBQbv6ePXto1KhRrQQlqqHklrcMc894b1cdzQPdAdh7Nt1xcQkhhHAomxP78OHDee6550hMTERRFEwmE5s3b+bpp59m5MiRdRGjqIibH7gHmd9fPAqUftJbuoOCEkII4Wg2J/ZXXnmF1q1bEx4eTnZ2Nm3btuXf//43PXv2ZPr06XURo6hMqaFlAcv97NKBTgghGi6b72N3dnbmww8/ZMaMGezfv5/s7Gw6depEixYt6iI+UZXA1nBqU6lns/sA5sRuMqloNPKkNyGEaGhsrrHPmTOH3NxcwsPDGTx4MPfddx8tWrQgLy+POXPm1EWMojJlbnlrHeKJi05DVn4hJ5OzHRiYEEIIR7E5sc+ePdty73ppubm5zJ49u1aCEtUU2sH8enYnFBlx0mpo38gHkOvsQgjRUNmc2FVVRVHKN/Hu3bvX8nQ3cYWEdQI3f8jPgPjtAHSU6+xCCNGgVfsau6+vL4qioCgKLVu2tEruRUVFZGdn89hjj9VJkKISGi1E9Yd9K+GftRDZy/IIV6mxCyFEw1TtxL5w4UJUVWXMmDHMnj0bb29vyzJnZ2ciIyPp0aNHnQQpqtBy4KXEPuBFS439aFIWeYYiXJ3lSW9CCNGQVDuxjxo1CoCmTZvSs2dPdDpdnQUlbND8ZlC0kHwUUk8R6teUYC89SZkF7D+XQbemcnlECCEaEpuvsffu3duS1PPz88nMzLSaxBXm6gMRPc3vj60DoJNloBp50psQQjQ0Nif23NxcJk6cSFBQEO7u7vj6+lpNwgFaDDC//rMGkA50QgjRkNmc2J955hl+//13Fi9ejF6v56OPPmL27NmEhYXx6aef1kWM4nJa3mp+Pf0XFGTLk96EEKIBszmx//TTT7z33nvcfffdODk5cdNNNzF9+nReeeUVvvjiC7uCWLRoEZGRkbi4uNC9e3d27NhR6bp9+vSx9M4vPd12222WdUaPHl1u+a233mpXbNeEgBbg2xSKDHAyhvaNvdEokJiZT2JGvqOjE0IIcQXZnNhTU1Np1qwZAF5eXqSmpgLQq1cvNm3aZHMAX331FZMnT2bmzJns3r2bDh06MHDgQC5cuFDh+t9//z0JCQmW6cCBA2i1Wu69916r9W699Var9b788kubY7tmKIq5dzzAP2twc3aiVYgXALHxcp1dCCEaEpsTe7NmzTh16hQArVu35uuvvwbMNXkfHx+bA3jjjTcYN24cjzzyCG3btmXJkiW4ubmxdOnSCtf38/MjJCTEMkVHR+Pm5lYusev1eqv16v31/5LEfiwaTCbLA2GkOV4IIRoWmx8C88gjj7B371569+7N1KlTGTJkCO+++y5Go5E33njDpn0ZDAZ27drFtGnTLPM0Gg39+vVj69at1drHxx9/zPDhw3F3d7eaHxMTQ1BQEL6+vtx888289NJL+Pv7V7iPgoICCgoKLJ9LevcbjUaMRqNN36msku1rup/LCuuGk7M7SnYixrO7aBcWCMDuuLS6P3YduWJlV89IudlPys4+Um72sbXcqrueoqqqandUwJkzZ9i1axdRUVG0b9/epm3Pnz9Po0aN2LJli9XgNs8++ywbN25k+/btVW6/Y8cOunfvzvbt2+nWrZtl/sqVK3Fzc6Np06acOHGC559/Hg8PD7Zu3YpWW37AllmzZlU4zv2KFStwc3Oz6Ts5UteTbxGWsYsjIcPY6D2MuXudcNaovNqtCK086E0IIa5pubm5PPDAA2RkZODl5VXpejbX2MuKiIggIiKipruxy8cff0y7du2skjrA8OHDLe/btWtH+/btad68OTExMdxyyy3l9jNt2jQmT55s+ZyZmUl4eDgDBgyosvCqw2g0Eh0dTf/+/et8UB8lNg1+2UVL5TRN7xrEO0f+ILugkOY39KJtaM2+hyNcybKrT6Tc7CdlZx8pN/vYWm7VHSum2on9999/Z+LEiWzbtq1cssvIyKBnz54sWbKEm266qbq7JCAgAK1WS1JSktX8pKQkQkJCqtw2JyeHlStXVutRsc2aNSMgIIDjx49XmNj1ej16vb7cfJ1OV2u/pLW5r0q1HgS/PIkmYQ96Qxodw33463gyBxKy6dCk4ssQ14IrUnb1kJSb/aTs7CPlZp/qllt1y7banecWLlzIuHHjKqzBent783//9382X2N3dnamc+fObNiwwTLPZDKxYcOGy447/80331BQUMBDDz102eOcPXuWlJQUQkNDbYrvmuMZbH7iG8DxaEsHup2nUh0XkxBCiCuq2ol97969Vd4LPmDAAHbt2mVzAJMnT+bDDz9k+fLlHD58mMcff5ycnBweeeQRAEaOHGnVua7Exx9/zNChQ8t1iMvOzuaZZ55h27ZtnD59mg0bNnDnnXcSFRXFwIEDbY7vmlMyWM0/a/h3S3MHuuhDSeQaCh0YlBBCiCul2k3xSUlJVTYDODk5cfHiRZsDuP/++7l48SIzZswgMTGRjh07smbNGoKDgwGIi4tDo7E+/zh69Ch//fUX69atK7c/rVbLvn37WL58Oenp6YSFhTFgwABefPHFCpvb650WAyBmLpz4gy53udHEz4241FzWHEjkrhsaOzo6IYQQdazaib1Ro0YcOHCAqKioCpfv27fP7qbuiRMnMnHixAqXxcTElJvXqlUrKuvM7+rqytq1a+2Ko14I7QgewZCdhBK3lbtuaMTC9cf4bvdZSexCCNEAVLspfvDgwbzwwgvk55cfojQvL4+ZM2dy++2312pwwg4aDbTob37/z1ruLk7mW06kcD49z4GBCSGEuBKqndinT59OamoqLVu2ZP78+fzwww/88MMPzJs3j1atWpGamsr//ve/uoxVVFep6+zhvq50a+qHqsKqPeccG5cQQog6V+2m+ODgYLZs2cLjjz/OtGnTLE3hiqIwcOBAFi1aZLkuLhysWR/QOkPaKUg5zj03NGbHqVS+232W8X2aoygyWo0QQtRXNo0VHxERwa+//kpycjLbt29n27ZtJCcn8+uvv9K0adO6ilHYSu8JETea3/+zhkHtQnDRaTh5MUee0S6EEPWczQ+BAfD19aVr165069at/j9c5VplaY5fi6eLjluvMw/4893usw4MSgghRF2zK7GL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pWvXrnh6ehIUFMTQoUM5evSo1Tr5+flMmDABf39/PDw8uPvuu0lKSnJQxFePxYsX0759e8ugID169OC3336zLJdyq55XX30VRVGYNGmSZZ6UXcVmzZqFoihWU+vWrS3La7vcJLHXoa+++orJkyczc+ZMdu/eTYcOHRg4cCAXLlxwdGhXjZycHDp06MCiRYsqXD5//nzefvttlixZwvbt23F3d2fgwIHk5+df4UivLhs3bmTChAls27aN6OhojEYjAwYMICcnx7LOU089xU8//cQ333zDxo0bOX/+PHfddZcDo746NG7cmFdffZVdu3bx999/c/PNN3PnnXdy8OBBQMqtOnbu3Mn7779P+/btreZL2VXuuuuuIyEhwTL99ddflmW1Xm6qqDPdunVTJ0yYYPlcVFSkhoWFqXPnznVgVFcvQF21apXls8lkUkNCQtTXXnvNMi89PV3V6/Xql19+6YAIr14XLlxQAXXjxo2qqprLSafTqd98841lncOHD6uAunXrVkeFedXy9fVVP/roIym3asjKylJbtGihRkdHq71791affPJJVVXld64qM2fOVDt06FDhsrooN6mx1xGDwcCuXbvo16+fZZ5Go6Ffv35s3brVgZFdO06dOkViYqJVGXp7e9O9e3cpwzIyMjIA8PPzA2DXrl0YjUarsmvdujVNmjSRsiulqKiIlStXkpOTQ48ePaTcqmHChAncdtttVmUE8jt3OceOHSMsLIxmzZrx4IMPEhcXB9RNuclDYOpIcnIyRUVFBAcHW80PDg7myJEjDorq2pKYmAhQYRmWLBPmpxFOmjSJG2+8keuvvx4wl52zszM+Pj5W60rZme3fv58ePXqQn5+Ph4cHq1atom3btsTGxkq5VWHlypXs3r2bnTt3llsmv3OV6969O8uWLaNVq1YkJCQwe/ZsbrrpJg4cOFAn5SaJXYhr3IQJEzhw4IDVNTtRtVatWhEbG0tGRgbffvsto0aNYuPGjY4O66oWHx/Pk08+SXR0NC4uLo4O55oyaNAgy/v27dvTvXt3IiIi+Prrr3F1da3140lTfB0JCAhAq9WW69mYlJRESEiIg6K6tpSUk5Rh5SZOnMjPP//MH3/8YfWo4ZCQEAwGA+np6VbrS9mZOTs7ExUVRefOnZk7dy4dOnTgrbfeknKrwq5du7hw4QI33HADTk5OODk5sXHj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\n" + }, + "metadata": {} + } + ] + }, + { + "cell_type": "code", + "source": [ + "scores_3l_100_50=model_3l_100_50.evaluate(X_test,y_test)\n", + "print('Lossontestdata:',scores_3l_100_50[0])\n", + "print('Accuracyontestdata:',scores_3l_100_50[1])" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "pL-lOsbF72C9", + "outputId": "5339da09-585d-4579-e676-07e049a3442a" + }, + "execution_count": 137, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "\u001b[1m313/313\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - accuracy: 0.9459 - loss: 0.1914\n", + "Lossontestdata: 0.1960301399230957\n", + "Accuracyontestdata: 0.9444000124931335\n" + ] + } + ] + }, + { + "cell_type": "code", + "source": [ + "#9 пункт\n", + "model_3l_100_100 = Sequential()\n", + "model_3l_100_100.add(Dense(units=100, input_dim=num_pixels, activation='sigmoid'))\n", + "model_3l_100_100.add(Dense(units=100, activation='sigmoid'))\n", + "model_3l_100_100.add(Dense(units=num_classes, activation='softmax'))\n", + "\n", + "model_3l_100_100.compile(loss='categorical_crossentropy', optimizer='sgd', metrics=['accuracy'])" + ], + "metadata": { + "id": "FKrc0L7H8A6o" + }, + "execution_count": 138, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "print(\"Архитектура нейронной сети:\")\n", + "model_3l_100_100.summary()\n" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 242 + }, + "id": "fBqVnsbg9pQU", + "outputId": "a559550a-56e4-4627-92be-26244791c799" + }, + "execution_count": 139, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Архитектура нейронной сети:\n" + ] + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "\u001b[1mModel: \"sequential_13\"\u001b[0m\n" + ], + "text/html": [ + "
Model: \"sequential_13\"\n",
+              "
\n" + ] + }, + "metadata": {} + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓\n", + "┃\u001b[1m \u001b[0m\u001b[1mLayer (type) \u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1mOutput Shape \u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1m Param #\u001b[0m\u001b[1m \u001b[0m┃\n", + "┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩\n", + "│ dense_29 (\u001b[38;5;33mDense\u001b[0m) │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m100\u001b[0m) │ \u001b[38;5;34m78,500\u001b[0m │\n", + "├─────────────────────────────────┼────────────────────────┼───────────────┤\n", + "│ dense_30 (\u001b[38;5;33mDense\u001b[0m) │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m100\u001b[0m) │ \u001b[38;5;34m10,100\u001b[0m │\n", + "├─────────────────────────────────┼────────────────────────┼───────────────┤\n", + "│ dense_31 (\u001b[38;5;33mDense\u001b[0m) │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m10\u001b[0m) │ \u001b[38;5;34m1,010\u001b[0m │\n", + "└─────────────────────────────────┴────────────────────────┴───────────────┘\n" + ], + "text/html": [ + "
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓\n",
+              "┃ Layer (type)                     Output Shape                  Param # ┃\n",
+              "┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩\n",
+              "│ dense_29 (Dense)                │ (None, 100)            │        78,500 │\n",
+              "├─────────────────────────────────┼────────────────────────┼───────────────┤\n",
+              "│ dense_30 (Dense)                │ (None, 100)            │        10,100 │\n",
+              "├─────────────────────────────────┼────────────────────────┼───────────────┤\n",
+              "│ dense_31 (Dense)                │ (None, 10)             │         1,010 │\n",
+              "└─────────────────────────────────┴────────────────────────┴───────────────┘\n",
+              "
\n" + ] + }, + "metadata": {} + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "\u001b[1m Total params: \u001b[0m\u001b[38;5;34m89,610\u001b[0m (350.04 KB)\n" + ], + "text/html": [ + "
 Total params: 89,610 (350.04 KB)\n",
+              "
\n" + ] + }, + "metadata": {} + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "\u001b[1m Trainable params: \u001b[0m\u001b[38;5;34m89,610\u001b[0m (350.04 KB)\n" + ], + "text/html": [ + "
 Trainable params: 89,610 (350.04 KB)\n",
+              "
\n" + ] + }, + "metadata": {} + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "\u001b[1m Non-trainable params: \u001b[0m\u001b[38;5;34m0\u001b[0m (0.00 B)\n" + ], + "text/html": [ + "
 Non-trainable params: 0 (0.00 B)\n",
+              "
\n" + ] + }, + "metadata": {} + } + ] + }, + { + "cell_type": "code", + "source": [ + "# Обучаем модель\n", + "history_3l_100_100 = model_3l_100_100.fit(\n", + " X_train, y_train,\n", + " validation_split=0.1,\n", + " epochs=50\n", + ")" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "rLPaUTtJ9u4A", + "outputId": "3bfdf938-bc94-44ee-8661-0da7c0b818e5" + }, + "execution_count": 140, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Epoch 1/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m7s\u001b[0m 4ms/step - accuracy: 0.2194 - loss: 2.2793 - val_accuracy: 0.4952 - val_loss: 2.0919\n", + "Epoch 2/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m11s\u001b[0m 4ms/step - accuracy: 0.5646 - loss: 1.9686 - val_accuracy: 0.6503 - val_loss: 1.4959\n", + "Epoch 3/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m8s\u001b[0m 3ms/step - accuracy: 0.7034 - loss: 1.3398 - val_accuracy: 0.7640 - val_loss: 0.9908\n", + "Epoch 4/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m10s\u001b[0m 3ms/step - accuracy: 0.7881 - loss: 0.9110 - val_accuracy: 0.8203 - val_loss: 0.7452\n", + "Epoch 5/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m11s\u001b[0m 4ms/step - accuracy: 0.8294 - loss: 0.6966 - val_accuracy: 0.8447 - val_loss: 0.6150\n", + "Epoch 6/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m5s\u001b[0m 3ms/step - accuracy: 0.8519 - loss: 0.5810 - val_accuracy: 0.8595 - val_loss: 0.5386\n", + "Epoch 7/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m7s\u001b[0m 4ms/step - accuracy: 0.8672 - loss: 0.5061 - val_accuracy: 0.8737 - val_loss: 0.4873\n", + "Epoch 8/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m9s\u001b[0m 3ms/step - accuracy: 0.8786 - loss: 0.4580 - val_accuracy: 0.8768 - val_loss: 0.4526\n", + "Epoch 9/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m6s\u001b[0m 4ms/step - accuracy: 0.8847 - loss: 0.4247 - val_accuracy: 0.8867 - val_loss: 0.4250\n", + "Epoch 10/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m11s\u001b[0m 4ms/step - accuracy: 0.8911 - loss: 0.3978 - val_accuracy: 0.8887 - val_loss: 0.4065\n", + "Epoch 11/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m9s\u001b[0m 3ms/step - accuracy: 0.8940 - loss: 0.3847 - val_accuracy: 0.8902 - val_loss: 0.3894\n", + "Epoch 12/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m7s\u001b[0m 4ms/step - accuracy: 0.8972 - loss: 0.3695 - val_accuracy: 0.8945 - val_loss: 0.3755\n", + "Epoch 13/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m6s\u001b[0m 3ms/step - accuracy: 0.8999 - loss: 0.3563 - val_accuracy: 0.8972 - val_loss: 0.3645\n", + "Epoch 14/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m10s\u001b[0m 3ms/step - accuracy: 0.9009 - loss: 0.3473 - val_accuracy: 0.8977 - val_loss: 0.3551\n", + "Epoch 15/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m12s\u001b[0m 4ms/step - accuracy: 0.9033 - loss: 0.3372 - val_accuracy: 0.9015 - val_loss: 0.3466\n", + "Epoch 16/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m10s\u001b[0m 4ms/step - accuracy: 0.9072 - loss: 0.3248 - val_accuracy: 0.9028 - val_loss: 0.3385\n", + "Epoch 17/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m6s\u001b[0m 3ms/step - accuracy: 0.9097 - loss: 0.3146 - val_accuracy: 0.9058 - val_loss: 0.3309\n", + "Epoch 18/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m12s\u001b[0m 4ms/step - accuracy: 0.9118 - loss: 0.3103 - val_accuracy: 0.9067 - val_loss: 0.3239\n", + "Epoch 19/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m5s\u001b[0m 3ms/step - accuracy: 0.9137 - loss: 0.2979 - val_accuracy: 0.9097 - val_loss: 0.3184\n", + "Epoch 20/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m7s\u001b[0m 4ms/step - accuracy: 0.9144 - loss: 0.2994 - val_accuracy: 0.9103 - val_loss: 0.3116\n", + "Epoch 21/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m9s\u001b[0m 3ms/step - accuracy: 0.9155 - loss: 0.2897 - val_accuracy: 0.9107 - val_loss: 0.3062\n", + "Epoch 22/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m10s\u001b[0m 3ms/step - accuracy: 0.9176 - loss: 0.2852 - val_accuracy: 0.9125 - val_loss: 0.3012\n", + "Epoch 23/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m6s\u001b[0m 4ms/step - accuracy: 0.9179 - loss: 0.2803 - val_accuracy: 0.9143 - val_loss: 0.2961\n", + "Epoch 24/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m5s\u001b[0m 3ms/step - accuracy: 0.9185 - loss: 0.2793 - val_accuracy: 0.9165 - val_loss: 0.2909\n", + "Epoch 25/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m5s\u001b[0m 3ms/step - accuracy: 0.9212 - loss: 0.2723 - val_accuracy: 0.9168 - val_loss: 0.2865\n", + "Epoch 26/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m10s\u001b[0m 3ms/step - accuracy: 0.9233 - loss: 0.2660 - val_accuracy: 0.9195 - val_loss: 0.2813\n", + "Epoch 27/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m7s\u001b[0m 4ms/step - accuracy: 0.9243 - loss: 0.2643 - val_accuracy: 0.9185 - val_loss: 0.2766\n", + "Epoch 28/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m8s\u001b[0m 3ms/step - accuracy: 0.9259 - loss: 0.2574 - val_accuracy: 0.9195 - val_loss: 0.2731\n", + "Epoch 29/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m10s\u001b[0m 3ms/step - accuracy: 0.9270 - loss: 0.2527 - val_accuracy: 0.9217 - val_loss: 0.2682\n", + "Epoch 30/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m6s\u001b[0m 4ms/step - accuracy: 0.9257 - loss: 0.2535 - val_accuracy: 0.9228 - val_loss: 0.2654\n", + "Epoch 31/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m9s\u001b[0m 3ms/step - accuracy: 0.9283 - loss: 0.2459 - val_accuracy: 0.9242 - val_loss: 0.2603\n", + "Epoch 32/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m10s\u001b[0m 3ms/step - accuracy: 0.9292 - loss: 0.2460 - val_accuracy: 0.9253 - val_loss: 0.2559\n", + "Epoch 33/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m6s\u001b[0m 4ms/step - accuracy: 0.9304 - loss: 0.2371 - val_accuracy: 0.9253 - val_loss: 0.2533\n", + "Epoch 34/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m9s\u001b[0m 3ms/step - accuracy: 0.9307 - loss: 0.2373 - val_accuracy: 0.9272 - val_loss: 0.2490\n", + "Epoch 35/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m10s\u001b[0m 3ms/step - accuracy: 0.9342 - loss: 0.2265 - val_accuracy: 0.9290 - val_loss: 0.2451\n", + "Epoch 36/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m11s\u001b[0m 4ms/step - accuracy: 0.9327 - loss: 0.2291 - val_accuracy: 0.9288 - val_loss: 0.2422\n", + "Epoch 37/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m5s\u001b[0m 3ms/step - accuracy: 0.9345 - loss: 0.2284 - val_accuracy: 0.9322 - val_loss: 0.2379\n", + "Epoch 38/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m10s\u001b[0m 3ms/step - accuracy: 0.9348 - loss: 0.2238 - val_accuracy: 0.9337 - val_loss: 0.2351\n", + "Epoch 39/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m7s\u001b[0m 4ms/step - accuracy: 0.9379 - loss: 0.2124 - val_accuracy: 0.9325 - val_loss: 0.2322\n", + "Epoch 40/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m8s\u001b[0m 3ms/step - accuracy: 0.9385 - loss: 0.2143 - val_accuracy: 0.9343 - val_loss: 0.2285\n", + "Epoch 41/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m7s\u001b[0m 4ms/step - accuracy: 0.9391 - loss: 0.2112 - val_accuracy: 0.9342 - val_loss: 0.2259\n", + "Epoch 42/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m9s\u001b[0m 3ms/step - accuracy: 0.9389 - loss: 0.2117 - val_accuracy: 0.9353 - val_loss: 0.2228\n", + "Epoch 43/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m10s\u001b[0m 3ms/step - accuracy: 0.9400 - loss: 0.2059 - val_accuracy: 0.9367 - val_loss: 0.2199\n", + "Epoch 44/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m7s\u001b[0m 4ms/step - accuracy: 0.9402 - loss: 0.2074 - val_accuracy: 0.9372 - val_loss: 0.2178\n", + "Epoch 45/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m8s\u001b[0m 3ms/step - accuracy: 0.9409 - loss: 0.2012 - val_accuracy: 0.9377 - val_loss: 0.2148\n", + "Epoch 46/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m10s\u001b[0m 3ms/step - accuracy: 0.9410 - loss: 0.2027 - val_accuracy: 0.9387 - val_loss: 0.2117\n", + "Epoch 47/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m7s\u001b[0m 4ms/step - accuracy: 0.9441 - loss: 0.1951 - val_accuracy: 0.9388 - val_loss: 0.2101\n", + "Epoch 48/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m8s\u001b[0m 3ms/step - accuracy: 0.9455 - loss: 0.1887 - val_accuracy: 0.9395 - val_loss: 0.2080\n", + "Epoch 49/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m7s\u001b[0m 4ms/step - accuracy: 0.9455 - loss: 0.1879 - val_accuracy: 0.9400 - val_loss: 0.2049\n", + "Epoch 50/50\n", + "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m5s\u001b[0m 3ms/step - accuracy: 0.9458 - loss: 0.1879 - val_accuracy: 0.9412 - val_loss: 0.2024\n" + ] + } + ] + }, + { + "cell_type": "code", + "source": [ + "# Выводим график функции ошибки\n", + "plt.figure(figsize=(12, 5))\n", + "\n", + "plt.subplot(1, 2, 1)\n", + "plt.plot(history_3l_100_100.history['loss'], label='Обучающая ошибка')\n", + "plt.plot(history_3l_100_100.history['val_loss'], label='Валидационная ошибка')\n", + "plt.title('Функция ошибки по эпохам')\n", + "plt.xlabel('Эпохи')\n", + "plt.ylabel('Categorical Crossentropy')\n", + "plt.legend()\n", + "plt.grid(True)" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 487 + }, + "id": "L-x7i_LV9z0v", + "outputId": "d77c6b28-c82a-4f0a-bcda-72cc0f296164" + }, + "execution_count": 141, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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\n" + }, + "metadata": {} + } + ] + }, + { + "cell_type": "code", + "source": [ + "scores_3l_100_100=model_3l_100_100.evaluate(X_test,y_test)\n", + "print('Lossontestdata:',scores_3l_100_100[0])\n", + "print('Accuracyontestdata:',scores_3l_100_100[1])" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "XLR32kLP-9ti", + "outputId": "14fd3cd1-76f8-4834-bbf7-3f5759fee897" + }, + "execution_count": 142, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "\u001b[1m313/313\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - accuracy: 0.9488 - loss: 0.1810\n", + "Lossontestdata: 0.18787769973278046\n", + "Accuracyontestdata: 0.9467999935150146\n" + ] + } + ] + }, + { + "cell_type": "code", + "source": [ + "import pandas as pd\n", + "\n", + "data = {\n", + " 'Слои': [0, 1, 1, 1, 2, 2],\n", + " 'Нейроны 1': ['-', 100, 300, 500, 100, 100],\n", + " 'Нейроны 2': ['-', '-', '-', '-', 50, 100],\n", + " 'Метрика': [0.913100004196167, 0.9462000131607056, 0.9412000179290771, 0.9369999766349792, 0.9444000124931335, 0.9467999935150146]\n", + "}\n", + "\n", + "df = pd.DataFrame(data)\n", + "df" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 237 + }, + "id": "5qJnBp0xHnCI", + "outputId": "2ea8d1f6-c538-41cf-d4fa-f640523ae0ca" + }, + "execution_count": 171, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + " Слои Нейроны 1 Нейроны 2 Метрика\n", + "0 0 - - 0.9131\n", + "1 1 100 - 0.9462\n", + "2 1 300 - 0.9412\n", + "3 1 500 - 0.9370\n", + "4 2 100 50 0.9444\n", + "5 2 100 100 0.9468" + ], + "text/html": [ + "\n", + "
\n", + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
СлоиНейроны 1Нейроны 2Метрика
00--0.9131
11100-0.9462
21300-0.9412
31500-0.9370
42100500.9444
521001000.9468
\n", + "
\n", + "
\n", + "\n", + "
\n", + " \n", + "\n", + " \n", + "\n", + " \n", + "
\n", + "\n", + "\n", + "
\n", + " \n", + "\n", + "\n", + "\n", + " \n", + "
\n", + "\n", + "
\n", + " \n", + " \n", + " \n", + "
\n", + "\n", + "
\n", + "
\n" + ], + "application/vnd.google.colaboratory.intrinsic+json": { + "type": "dataframe", + "variable_name": "df", + "summary": "{\n \"name\": \"df\",\n \"rows\": 6,\n \"fields\": [\n {\n \"column\": \"\\u0421\\u043b\\u043e\\u0438\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0,\n \"min\": 0,\n \"max\": 2,\n \"num_unique_values\": 3,\n \"samples\": [\n 0,\n 1,\n 2\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"\\u041d\\u0435\\u0439\\u0440\\u043e\\u043d\\u044b 1\",\n \"properties\": {\n \"dtype\": \"string\",\n \"num_unique_values\": 4,\n \"samples\": [\n 100,\n 500,\n \"-\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"\\u041d\\u0435\\u0439\\u0440\\u043e\\u043d\\u044b 2\",\n \"properties\": {\n \"dtype\": \"string\",\n \"num_unique_values\": 3,\n \"samples\": [\n \"-\",\n 50,\n 100\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"\\u041c\\u0435\\u0442\\u0440\\u0438\\u043a\\u0430\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.012781303089044108,\n \"min\": 0.913100004196167,\n \"max\": 0.9467999935150146,\n \"num_unique_values\": 6,\n \"samples\": [\n 0.913100004196167,\n 0.9462000131607056,\n 0.9467999935150146\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n }\n ]\n}" + } + }, + "metadata": {}, + "execution_count": 171 + } + ] + }, + { + "cell_type": "code", + "source": [ + "# сохранение модели на диск, к примеру, в папку best_model\n", + "# В общем случае может быть указан произвольный путь\n", + "model_2l_100.save(filepath='best_model.keras')\n" + ], + "metadata": { + "id": "lHbEMPiP_H1U" + }, + "execution_count": 143, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "# вывод тестового изображения и результата распознавания\n", + "n = 333\n", + "result = model.predict(X_test[n:n+1])\n", + "print('NN output:', result)\n", + "\n", + "plt.imshow(X_test[n].reshape(28,28), cmap=plt.get_cmap('gray'))\n", + "plt.show()\n", + "print('Real mark: ', str(np.argmax(y_test[n])))\n", + "print('NN answer: ', str(np.argmax(result)))\n" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 517 + }, + "id": "Odl88Uq9A1s-", + "outputId": "aa841ffb-84c6-49f6-c7aa-9aad3b6c7aa6" + }, + "execution_count": 144, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "\u001b[1m1/1\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 91ms/step\n", + "NN output: [[3.0055828e-02 1.7918642e-06 1.0183058e-05 1.3000262e-04 2.2273003e-05\n", + " 9.6671683e-01 3.1997326e-05 6.5717955e-05 2.9293287e-03 3.6015103e-05]]\n" + ] + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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\n" + }, + "metadata": {} + }, + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Real mark: 5\n", + "NN answer: 5\n" + ] + } + ] + }, + { + "cell_type": "code", + "source": [ + "# вывод тестового изображения и результата распознавания\n", + "n = 555\n", + "result = model.predict(X_test[n:n+1])\n", + "print('NN output:', result)\n", + "\n", + "plt.imshow(X_test[n].reshape(28,28), cmap=plt.get_cmap('gray'))\n", + "plt.show()\n", + "print('Real mark: ', str(np.argmax(y_test[n])))\n", + "print('NN answer: ', str(np.argmax(result)))\n" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 517 + }, + "id": "jsg-mI4LCQdl", + "outputId": "c135c799-03e5-4ff3-a822-4d5b5c50b2b1" + }, + "execution_count": 145, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "\u001b[1m1/1\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 49ms/step\n", + "NN output: [[9.8050815e-01 5.7898621e-08 9.2301030e-05 8.2087971e-04 5.6250155e-06\n", + " 1.8371470e-02 9.3076023e-06 1.4318567e-04 2.3332947e-05 2.5768295e-05]]\n" + ] + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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\n" + }, + "metadata": {} + }, + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Real mark: 0\n", + "NN answer: 0\n" + ] + } + ] + }, + { + "cell_type": "code", + "source": [ + "#загрузка собственного изображения\n", + "from PIL import Image\n", + "file_1_data = Image.open('1.png')\n", + "file_1_data = file_1_data.convert('L') #перевод в градации серого\n", + "test_1_img = np.array(file_1_data)" + ], + "metadata": { + "id": "l1FWO_UOCvzD" + }, + "execution_count": 146, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "#вывод собственного изображения\n", + "plt.imshow(test_1_img, cmap=plt.get_cmap('gray'))\n", + "plt.show()" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 430 + }, + "id": "zUsnip1x5EZC", + "outputId": "eea8d655-7ecb-4752-ec45-7e67a5c9ab5d" + }, + "execution_count": 147, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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\n" + }, + "metadata": {} + } + ] + }, + { + "cell_type": "code", + "source": [ + "#предобработка\n", + "test_1_img = test_1_img / 255\n", + "test_1_img = test_1_img.reshape(1, num_pixels)" + ], + "metadata": { + "id": "ut90eKMe6Ah-" + }, + "execution_count": 148, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "#распознавание\n", + "result_1 = model.predict(test_1_img)\n", + "print('I think it\\'s', np.argmax(result_1))" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "1EP5i4NF6PTM", + "outputId": "6f3f583b-bdd8-4037-a79a-4d15c7388bb0" + }, + "execution_count": 149, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "\u001b[1m1/1\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 41ms/step\n", + "I think it's 1\n" + ] + } + ] + }, + { + "cell_type": "code", + "source": [ + "file_2_data = Image.open('2.png')\n", + "file_2_data = file_2_data.convert('L') #перевод в градации серого\n", + "test_2_img = np.array(file_2_data)\n", + "\n", + "plt.imshow(test_2_img, cmap=plt.get_cmap('gray'))\n", + "plt.show()" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 430 + }, + "id": "UMp0wzuX6W2Q", + "outputId": "f272d0f4-e788-4463-b3e0-3bb10b402d88" + }, + "execution_count": 150, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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WyNHjox4PTQ3N+vcuXMp9Xq433Xoz4kTJyQpuV4P1p+CeBDvvfee83q9rra21v3rX/9ya9ascZmZma6jo8N6tEH1wx/+0NXX17vW1lb3j3/8w5WWlrrs7Gx38eJF69ESqquryx0/ftwdP37cSXK/+c1v3PHjx91nn33mnHPul7/8pcvMzHT79u1zJ0+edIsWLXKFhYXu2rVrxpPH172uQ1dXl3v11VddY2Oja21tdR999JH76le/6p566inX09NjPXrcVFZWOp/P5+rr6117e3t4u3r1aviYtWvXuvHjx7tDhw65o0ePuuLiYldcXGw4dfzd7zq0tLS4n/3sZ+7o0aOutbXV7du3z02aNMmVlJQYTx5pSATIOed+97vfufHjx7tRo0a5uXPnuqamJuuRBt3y5ctdXl6eGzVqlHvyySfd8uXLXUtLi/VYCffxxx87SXdtK1eudM7d+ij2G2+84XJzc53X63Xz5893zc3NtkMnwL2uw9WrV92CBQvc2LFj3ciRI92ECRPc6tWrU+5/0vr755fkduzYET7m2rVr7vvf/7770pe+5B577DG3ZMkS197ebjd0AtzvOpw7d86VlJS4rKws5/V63ZQpU9xrr73mgsGg7eBfwI9jAACYSPr3gAAAqYkAAQBMECAAgAkCBAAwQYAAACYIEADABAECAJggQAAAEwQIAGCCAAEATBAgAIAJAgQAMPF/FQeeSN9YW+AAAAAASUVORK5CYII=\n" + }, + "metadata": {} + } + ] + }, + { + "cell_type": "code", + "source": [ + "test_2_img = test_2_img / 255\n", + "test_2_img = test_2_img.reshape(1, num_pixels)\n", + "\n", + "result_2 = model.predict(test_2_img)\n", + "print('I think it\\'s', np.argmax(result_2))" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "-iem-iep80g2", + "outputId": "7886a179-f10b-4547-bbe7-dd35b0236d52" + }, + "execution_count": 151, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "\u001b[1m1/1\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 40ms/step\n", + "I think it's 2\n" + ] + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "Сеть не ошиблась и корректно распознала обе цифры на изображениях\n" + ], + "metadata": { + "id": "Y0HbWXbZBbQj" + } + }, + { + "cell_type": "code", + "source": [ + "file_1_90_data = Image.open('1_90.png')\n", + "file_1_90_data = file_1_90_data.convert('L') #перевод в градации серого\n", + "test_1_90_img = np.array(file_1_90_data)\n", + "\n", + "plt.imshow(test_1_90_img, cmap=plt.get_cmap('gray'))\n", + "plt.show()" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 430 + }, + "id": "CdByiEkv9Hb0", + "outputId": "e230f3ac-65f1-42fc-d0a8-5266ef7cb19e" + }, + "execution_count": 152, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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\n" + }, + "metadata": {} + } + ] + }, + { + "cell_type": "code", + "source": [ + "test_1_90_img = test_1_90_img / 255\n", + "test_1_90_img = test_1_90_img.reshape(1, num_pixels)\n", + "\n", + "result_1_90 = model.predict(test_1_90_img)\n", + "print('I think it\\'s', np.argmax(result_1_90))" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "fyM2y4LoCWx1", + "outputId": "dd73bdd9-3f6a-4e3e-b93b-bdeaeb9e54a1" + }, + "execution_count": 153, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "\u001b[1m1/1\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 41ms/step\n", + "I think it's 4\n" + ] + } + ] + }, + { + "cell_type": "code", + "source": [ + "file_2_90_data = Image.open('2_90.png')\n", + "file_2_90_data = file_2_90_data.convert('L') #перевод в градации серого\n", + "test_2_90_img = np.array(file_2_90_data)\n", + "\n", + "plt.imshow(test_2_90_img, cmap=plt.get_cmap('gray'))\n", + "plt.show()" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 430 + }, + "id": "iR1uqM0BCkGs", + "outputId": "a6277d02-cadb-4bfa-e70c-02b63f673c0f" + }, + "execution_count": 154, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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9913ndfrdfX19e6f//yn27Bhg8vIyHCdnZ3Wow2pn/zkJ66pqckFAgH397//3ZWWlrqsrCx39epV69ES6saNG+7MmTPuzJkzTpJ744033JkzZ9x///tf55xzO3bscBkZGe7QoUPu3LlzbunSpa6wsNB9+umnxpPH1/3Ow40bN9zLL7/sWlpaXCAQcB988IH75je/6Z566inX09NjPXrcVFVVOZ/P55qamlxHR0d4u3XrVnifyspKN3nyZHfs2DF36tQpV1xc7IqLiw2njr8HnYe2tjb3i1/8wp06dcoFAgF36NAhN2XKFFdSUmI8eaRhESDnnPvd737nJk+e7MaMGePmz5/vTpw4YT3SkFu1apXLzc11Y8aMcU8++aRbtWqVa2trsx4r4T788EMn6Z5t7dq1zrn+t2K/9tprLicnx3m9Xrdw4ULX2tpqO3QC3O883Lp1yy1atMhNmDDBjR492uXn57v169en3P+kDfT3l+T27NkT3ufTTz91P/rRj9zXvvY199hjj7nly5e7jo4Ou6ET4EHn4dKlS66kpMRlZmY6r9frpk2b5l555RUXDAZtB/8Sfh0DAMBE0r8GBABITQQIAGCCAAEATBAgAIAJAgQAMEGAAAAmCBAAwAQBAgCYIEAAABMECABgggABAEwQIACAif8DiCSeDioieJ0AAAAASUVORK5CYII=\n" + }, + "metadata": {} + } + ] + }, + { + "cell_type": "code", + "source": [ + "test_2_90_img = test_2_90_img / 255\n", + "test_2_90_img = test_2_90_img.reshape(1, num_pixels)\n", + "\n", + "result_2_90 = model.predict(test_2_90_img)\n", + "print('I think it\\'s', np.argmax(result_2_90))" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "jMJZ03YoCq5M", + "outputId": "eccd2c67-a19d-4084-dbf4-9573d4bdeda7" + }, + "execution_count": 155, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "\u001b[1m1/1\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 59ms/step\n", + "I think it's 5\n" + ] + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "При повороте изображений сеть не распознала цифры правильно.\n", + "Так как она не обучалась на повернутых изображениях." + ], + "metadata": { + "id": "kcmszzPCC2HJ" + } + }, + { + "cell_type": "code", + "source": [], + "metadata": { + "id": "KPfEzQkTW7M_" + }, + "execution_count": null, + "outputs": [] + } + ] +} \ No newline at end of file diff --git a/labworks/LW1/p_11.png b/labworks/LW1/p_11.png new file mode 100644 index 0000000000000000000000000000000000000000..f5d8d39b969187b53422aa108ef0f4586530fdc7 GIT binary patch literal 7140 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 literal 0 HcmV?d00001 diff --git a/labworks/LW1/p_11_2.png b/labworks/LW1/p_11_2.png new file mode 100644 index 0000000000000000000000000000000000000000..cc4c117f0c67263a325e160d8a3cb54461e16aaf GIT binary patch literal 7311 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 literal 0 HcmV?d00001 diff --git a/labworks/LW1/p_4.png b/labworks/LW1/p_4.png new file mode 100644 index 0000000000000000000000000000000000000000..dca0f0722de9c4ee062017be9ddb7cefc67d40e4 GIT binary patch literal 10780 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 jD`y026eGcTL46?Jc z4>6X~FE9O^tdKi?l=^5Lv1Wc%Xz6a~_iWROIrQ2bx|oW`L_|lY_pSacJS{5Pj@*D@ zC{)I^qZ}zb$B!TXpBjI`Bof+ev{sPV3QU+8`m3c?&>Ky~oPMZaVNFul{%-CRp@29qyT){LyMx?qkmHa6zTI)&wtOFe~DsK9qNcF_I>Q~)6gDKGC_SW93) zKv^gm98$hj15f^)E{WzyR@tZPYX*>Y^tqq6DSf(P7lw>Sbrw3rtulPqbSwOK=>ka2 zRq(E!>HgQZv-E9U8h70C+u_Dtz6%$R$hfJ2f@!+9VPhWHpM0B^6aVeq<(ACZp#k~h z9PWQT+~9z<;Ptk=WbpmYw)^qtC&h;HWTIN?B{bfuM_ZD)gbi+!LwOZ=nwbN4Y;0^O zxbL3>DY&uLRLU~&00jqvhq4SJ{%%Z5VyOJs!U2xZu&}TUY)Xj{#ZU7xt!S7Bv)b+4 zpyVVyoeerr-#Ph6dCYRP@3KEi!E-JJ#Vg}xr!q_=Tg7=>l4IS3**CFLx<^-@d>`Fu zfUW#@1o}?^C1~)#xpQ=MSYfRQMNCWEKDw+id`d`Y$EfUd0hrucJXpsrJY(Wp3w~+E z2eUew9A`iW6Kp^SO`=EdbW_^6hn%6Gn}M~rxBpE1fN2-O)K6J$ZF4VM>dB57W|Xac zK$#Rdy@7IA+4mfb0s@f#tMfK$+VkW8=fAYm*w*Gy5%0U60`LS-& zn|{yC%WK8Q$ztE#w|Y?AzwduW?EkV}T(eo$nD(qT(7pLsx+MrO6+xYhYf!lJgH;FA z;=dQ*&#rCR%Q2p<{*7=Rhu7TcH`!?{pRTS!m1z5k5bLPQVbt!kV)= znfr;$(M=p9suf@k@~E`Zr7Tn#X!A@a$il%A1G^}=neUY$!xz+#m6yJcs=LVGz2j>MyN-A&Ia*LsQWx=(jN2QC@dEb%+CWAqPG9h; zw1iUSmauy@f7U#RS{IcFtF7hUeb=Ag21uZ`uCBHAg`g{=$GzR5;NImw*|G^D0@Ia4 z(coXx^76DUKHia9zwA>6;5NRX9Q>zxIeX7TCvqMC5a~X$?V6?@mjqW|CQ4j9SD6qM zHM*dY^{-kb2DHjpGa}M*etnJYlmEX~VLI5^hQD}mT=g`ll&*q1>GXH+#Hx+>KwseG zP0lCpW{8Q2WiY{_Ud8x;D)z$#fB$ZVk$0cEi6Nwv#I-3IdH&w?;<4k<3tee>>KrGz zwY616UEp<7_+w`v3cSvpnHud- zKm~J^PrV$<<4URmsL5bft|_d&Z28SyLr%ZIE^07;&`8fDXS5?H@!h+3wstFq*RQ_@ zTa;o_<}*Or+poW_rC8kOHl>{Up=+l>kWK9=ao6=Fxzmgx)=`2GrM9M~DM>YaZecJq z9SrLjoC<*G?Zm_cw^!E2ne}LDUEqCU$C~B>%pn$~jTapyrWAJ0vhIMe{<}*+sBNj5 z$>)IfUqnV?KHl2^p6La6;ytDM8_)jxDa1XdZyhv0%!|HqrMWIj9OX={^Hkq4{TDNC z5*;f^K=hHKx1X!-xktL-4p4C@%u5unoTtl|_KsrLbQCze+h2xRNm&qagoH{>9tG0E zka@i(aH!eLVsK-cVe=Fqc*eCoLd}R+l^pK>8T|1a2 zpWOw{8v?DNdYTBV91#N*{)W!UJq@;Aw1{g`MuQL%?d(E5I{-!o!S1-qhZ7Ta7@ryS zn`%X&1<QzifAnvQ7!v_npRo$zmY|afgakDi7l;xsfLM|1wRKO1xepTqrI6%?S zGlGI&@e0e+6%^cP^Bc-CBm#fbi4^=zeTkHf+oZut{}zR7Zf*rYR(VcCwcMegW_7?( zp{g2RU#vixeB}HmNpg^$6?)0Ljzu6w?CxOIXuS+Ak4M~PHVU4T!Sv-VAXTM ztoP;kwJGz5(Knbt!i&R={|@`vZewVh&?` z8sr$~rqxQpOq=M@TawX|(`qDtLMu9@OOmLUQ;r9k6tZ*P-nK+5b0DJ$vNmMs!aL;H zg8QXwtDu5SO-(s+p9&unwS#c&t!c&MHc#-#&dc971m63H!eIII^h;mIUM?;{KE8`c zjP+<6r>)Tt_@A_dgoG-VJ%5~(dp@##4=4BpFftfZla3unq_rSq)VzNEIg&nR>gOs~ zJl@&j$Ig{e&9#4jEsdcY3aO00*A>OOZTSLwjQ;rkdL4Cfd_PQ-oSosB>8{a`m;sN; zYH}~7AKAynH4b{A=*I#img-SrZx#n3;@tlDJ(n$-zxcuDixBn9ZCX(NT|)a& zg&XYu^pHY=yQOr~7>0CcP<=YcSbcij@(-vmh(jo{y-ndA(!>n&&wv;G$*N=%5d3&@81Ucgajs#LP|>djKAz0nd=C)xR9zrEJZRHN_T3U zl9Cby2lits{At)TE(wTxGiEgJ0f*SaQeHu$5eV`5nHz^Bd0@bsAs0L6I;I7|w|-Gk zk!kFCj<5e(d|VQc(KV|}_GqolRQ5F;7PkySqM=ZQRXspRZ7jCvU2d-HcxK@k2p}o1 zG(IG&MZ6xuUQiI=L2iy8y0p5=C?mE%y62&|zQTy9?N`Fl5hcSCaPH4xg6Q{>gyX*_ z8=Z#KsPUsXvvUhC4phkWKt(1N0**|kAdzH7&dtruWET30E_B_{)Xc;tOg(wr(Fpp< z8ogm_C#0*^v~aoEkWsN2KLI8Cn#P?`xq1r z0*gV^>SBAD0lnSWi;OSCwAatvd>yj}`sY~e7M5$_Eh0Y8dwXb5At9mA%jXl?+4fx5 z&Q+I@%bDlLnDcIYO-A0QrPEHg5rh5549HQ%jClJ7Q2oE zY8(GAz$lvJr*3Nc+LJMr3BwVHYfp-bqGjBtGVTH&T17zIha|~LPxo`5HG2f*S}tvK z^yRO(D^MqO>TxlYB z!Y?!i23*7y4Gl`%+VXIG7I?^GWql@vC4tX^f_AKnV@&Vsi~iX+B~P8I!TT4N7~Cmc z923N>mh`RE;~Vg(uXtaCA4t%g_MG&45IMdSHZ%^Cyo65bn0OKnqS=rRnUNvgl8o1< z|F}&feIa=-xnUr`jPrLPw43<$;6)7!gnmdVZInwbg9bGCr8H$*W5Z%RhvsMuc2QEl zM;0Xe{w{ZLWJl&xR~O1Bj~RI9$xSiD;~_x?>Y-SgAhNzL%sA9oh2i z*u}I^q+TMz!v`0}lr1dYKt5%=<0#=#B7(;_kiU)#z3h%U!+z?Jy~F4&X?0~ux6Dr0 zz#t70EkR-7%&HtD`EWR`ucvnso`f9OPm}gj8_o*cLQ#Mp6c=O@rw5q<2@lZY#qlb3T@LxFnmD?pk?|4*R_&ot5wtln23x`7WPpfaCL>g z(jA73K^h{#+OJ=u6-ip;Ac^jC3B#$Ewx#>~{Yqwus_SvctNbFmm z>=V?wc{3vfk|z%Ygs-ToLh(FT4mxm5wX?`M`6sQ9h$M0jl${e$y%b#KlYJB%fcNeg z^^q7itFRdNLM)61_)xL$BU9v3$^N`P*5s~y3|BK2#xxdWBv*Piyf^KX=371bcveY0 zz7GL)Twkg806r|aDZGCt_qi|lLKs3pT{^#QnX;;^tfa_NRu6H}My{x9$h66WTHYy( z1UD-aysHDe8B7pcfFl80ZA`)t|Rqyr~GVz)RG>YD-Ids0r$ z2xMXF!(H+za4$K6TlTR10`v1Oo3|RPut#rZ->(vepgNxk$s?yKnqjZFs;nOH3#NE(@eK#L*TW;}l5{v4Ta~kKUP*kZ{4LOrf)d<>qGA4f%H8 z#BAG>1*cg(_ejBjnh3H{7!n_Q$}#{`II7|6*Iep-#gE=jTerz=>qVSD6ENeVbOTI3 zE=tQI0@Ho6vkgz{E9;xN3G9+fg^5`K^=qUkFnwRS|6>01lUttUf14TZNt!-pfgnMIvz`zL7&wYRPv#sga2xLdpf-ZY; z7%CE>N*|NSk<2uKZtc4jps;0IMLA@iYB0}`9F-dCJIdFoW)B3H<# zt(KcKvmNIjWt|~Ok8FE5ApgLq1CWaE`Q^|1C74Vmb@r>MWSsA6(RdEXwsT>1kj6fc zc0bAy@axm>_X&ml6}*SuDm5MS5>-w>1|7}R4OIu^7Wy9=QW~F{wIW z4tVImwv+pIb4yDwOw6DjBtm6pRT|4=t`r?G=GJJyBo9`6<18+pu8kMi@pvg^5<593 zg`-ufq<&v1qPt-!n|?|S?cu=zjK z^M9Bxa5=L_AMi3f^6`3JTzXTfJV%hV0y@##`{;otAA<7IqT-ncSVC2IITb?Vb<=9C zp!;txC#=W@|D3;nYZF~oUF>Xu8bp7{EEj1S$n{cSE_50m`By%A^{t{hhP_L%V*Rh`4mU^RJ-NqyHmo%A=7Pgx^l zW7s-y9O_FoED6MhC-o_>NT6GTafwM;AMfO;#(j6oazY57*`_25z)gHysVcbTwa2;a z*Qn*S*`J$p%sfp8>CAHwLBo{E8vW)If2W*4=Zf-`1n(n7Cap^Ua_C#w;~c#OQRj*& zW{bZPzO8KkVK(#U${VYR+5xr`!HZr{$Dg|nw3QEz)f#~TL&b!>drMA8v+3ur* z%&qU52l04KAht;db_%qCl*og8a70aF$98u1Hkd8I-jvhe6(J4>cC`vNuaA*RTwcb( z1o{eOeT@OT`Cxjs|II-!cDdIAj$A~!=X=rx=lI`^Y?GTQer42wY|y}qSv+}*j>{@r z9ugh;+tU1KP`Wb(u-2MwBo)Rz{bdOQaP%Y%A=&8KP3hfW~*q zwoL2gS_aS3>G=?DuK-cD!sNsSu{^*jZPjW7S^Y95*f8Hi1-6 zIG_8a3nuumu?o{&(nr&Uhc`&=-FW{VKMWL%!VpA;2F|LIGjVOxhMX)g+ACy}=LPgg zV9BMaz`bimuLTDFK#!=B=J-!=NkBZ%1~xq+DoUTPp{`B~!utrzwlgBVCZt}kzjWaE zSUU0L+`JrYV9V+)<*67Uv|A_ShDdDehmB=mv+t!q(<0aw|FJ7F2A<>mw+XGxQQ68E%$bL_l*ynrB z+Zy>WhuW|@Ixp)9a_O_Pv)t9y6>^vNz~i}r>vrZp?gUpbxm|9XC|nCa$hy6W?Ehi@ zs&v=#c{_kDY(!~$&ww!DPDl2qT!wv6697lPS>^T*AORpqG!L%!njd=uT9unYavs*0 z1ai-1baVWwkUdZ#%SeT=Ar;aRJ~Cz0ZwCVt@ zvImcS3)19MA|ev&yqpYOB2T@)h35=xuAstIiz5uMvN$ge|DJx&_;4Re%JaJj!OKkT zpT#`W7!Hkgz`TxxrK^E=MItq1R?lWq$Jcs#s_zvy4 zW@~F{Bf`sT_FuojV_|K?`@~w^8t<~f^6VuW3WfR#`Lp7!Wb}0k<@VQer%$Nd2pMg6 zxIuHVwV=Cm>bErK*6n+K(@CA!y5>p5`jvk-Zd6(mIO(~X=0?;v1xKkv>*>6_IP9gi zZ8+=idz@pX|5weE8-@&yW&c`8Dl2?UY0)oA?#oOxNf-$W4t1P5FkUHaGw@JGk!H=_ zyIW6YtVxYswe{rsy{CuH_0ZvK+k*q<_>V%Lv;V(;R8~JkR~;_-rMt*Oo5^cyy5PCC zlMnc1<>Urt2gBJpIXC9&$e%sCehb6V1N-+EHN4tjRZ*KILQ$OE%qaBeXWpD|T-+fw zkA3BP4<7WK8g0GGAADmhb1-9JsFxFm+4iG_`uvA=3n&tcGgp5*<;E7#M!k2P zvmeXorBaPkKT+z-q)pz(ORJZT*0|{Y7O~mBfV&(d#C%7S$h7j!7q_YG0#No z-f26YGY~MWJRYS~lb|h{Jz3;I{j2$^pJJ-<#d_l-oPiqyWu$sP`6OQSq0rFKjF)pI zDrDQ6ZC<+ymoq<|zr-pj*=e5r{rj~n`%z=Hqt<vrlzK*ViGwWDec3zYcuX1>-^=>^XJCXvyZ1{znLVyQjNWob0ev! zH19cH+LFe7J#&7VYP{Qn<(pojMk?oi>4$r`xksOuey*(4|NLn0X(_2Ie7oN24*u+=AMzZe-YrT8+5ej4vCicw2s4hsuYiBY;&%IqB1Jk9H+nAl`9)+U^7 z_u{Boa*0!a{;F=L+KW7#^$Zp{w@UQ75m0X&e+`s0u3NY67a}*sqEkZR@Av(0&Ig~o zc8x<`V)lSV?jO3Cn3&aT*0iKu&ayqYd-rY<1pU6F#hyDz7}h6V4!6jgT^rvhyu?^r zTl-AH)hWq3rKPfnTCy_fYUz!|*})jibRNz?uO=Pmc$GOOe*N{~u2Z|0X1}=a5-{AX znPz(B@9&|J&irr|_xYNGNkRH;8CE6bJX#sYb##~!b-jp}-WH?qegtu4nD`5B&9wIh z6?B`|p7Na2e6PD=2fJL~XnN-x`EUs;mN|`gYKb~=V?o@SpVTh98mJw$`=RpY!V75x z>#n1wyF5KTD}x0*%v#fu5XH74+MaXr7cLk~kF{^!&3|`%-170`$InC^cq)Q;jfNZJ z@7}-v&1?y$PdUZ#LhBsP?foqbhUrz3OY=qI(`|Rc!&!LqX7-7M`ua)yeSrN>vLDsZ zNHg`6iPBq~pA|Iw_QWXM^(l+n%!-=_mEVkikz9IjSViBOahqI$Rj)L&`@9vdxEiM> zSip#C^jqrH&OFx}j*cx%mm_Q5U#r>I>M5Y^eukNuxv#%J@XfappEv6jZ{5Cq`^nq4 z9NEb$R;}ge=;*LF2w=OQL@^kujq-}%kkQkNSjk~CP?^*^hB#D>h>WE5E{Wjqiip$6 z)mZVwB7Y&RIVm?cHxMsx?%-8_e|*K0{bzhRu+=hH@j$0PKMoFl2~VHXsVP4I&^DCaL zW4=)^_6wh+NaD2Z<3`hdDZ6QWAC&Q>({1hoa%B0l!&kjrOKX|uj1yG-kPzN4 zbkIsER)>klA_qn(N6UG&n5LOce_Y4Hag*PDaekP2*xGq|?BeFNcld9N>uLt?cRwZW z^jiU0&-(k&GFZXvi|4f~mKf~hsno=Gi<^81U#W5~=A8AK~@n~9ES=m9l zUPKek@!9!bU%X3Zig(C!TzD>+6li2*#O3DZCKE2hv zqh$g)4Q7p5MeKgi;I}2P$%Un*(drM62m7X*w(wJWdU{66OCRoDRe(KJeQKF_PLYP~ z{Ih~cKM9$Nr`)n_Y&<+vKGIj6I}IQD{$!-C|Cv(jPsn-2652g1b zHpPtpL@lkvQSk~7@3b3E{_gfCg7wg$hdkO@&jfCe+1=fJEPu((BhNd->VTE^#*0Yo$iBAiqd1q8 z5oz}6pPk{TtCl0phbegrQ<~@5cHkYjre;6hS+`^RcD-~O?O)loFHhW2&vz3K4h~Km z{#MOzP)_qsHQqRTt$QXSd)uyEpIa^Rt8kKqu*`__Qhk1HhkTT~Q}L=hcI>#ShSMf@ z{P@jy-;g2fRv)U;!Kb?@t)9yGtkLo#^jqwH)E~4L|5G2MEcW~BDSaa&o9@DU!#XK> zjY$=;Zxenr#2Tq3G!4gGjBT_Vo}8KJEm>@Io1ZvSTUVFpSg8KkX0X~nAVB#L-OaUI z=yj9Sg{*q+YR~34{`y>2*4_2-&LORguRMyY`UVF09Vhko?caZR*XGsh$Q_>4(4Ze0 z8Y=O{_l2jZ#f#@>f30{X=`OKq?dJEQG24#qoUMAWu_4t&O-Wff_?Sh<#q@LM&UL4J zk=TFWz}@VztP0h|nO?uhx*^l}F)434t5PP1Co|z~ePscjetzkiVq#)4VjUd2aF-@m1D{Tit1jfoE9oOTH1yRtGVDe3oE``o)$+mUAf^bRNQJl8pXhcPYVhIb{% zQKoj*M-&wm0T-#5#m?SYyT!C01^;za)HYh$i(@mq)5y-&QzI>Uk>TDnTQX$MpZ_r2 z!|gRuJ~z34-#+y;)7@9DT$x9zdAM8PJ`Um5?c00Cmm@6UVf!_~Z(~jwbkx*-daXIr z9nL@v+ZY)~6b@l4P(b{jJySPrzqM+eLTtlnY3Xm})gi(~OADP#H8INUzn#Rdmik5^ z4DIum2qHxx7@umjXe~zqN)XmtMCL3mD!Nn3;vRC;>>B}5i+_iCm(S(v5^heF8#jc2 zDthp1r1lQrrA9RoQaA`ZXlY9jz!SfJ>!TR4rfK~BGhB*QxzT-Z=hth3VhFx|-=Q$) zu@zlp?I%iE2Jh|E;jkC=i^K;NBMDUko>*0>PI&HM-zDK9^hJD{QC@OE5LsXkAK!S^ z+|SymO~;dV1fgE8Z2Z}C2&X(}>YK?!X7T5MqubLnmlo%6T*#8x$7k^7&p&?hhy26B+^Vt;#gt^(49dAJ zEjS?4bz4p+OGmy!T_KxcAGA|RNl88D#$mH>A3lEh@t2@?~S^VkKb_NFL2K{N2OT{P|T9WOUUB*8uZLzf}&iBd-)fKYl>e08)r=}uRdu8zw@N$jT`G&IG) ze!+s*w}*;4yg^ZAlyG@QEirS`u5=*X!O)6s)2i$B7Df_Uy9{$iga#I!y1``q;x= z9;5H$bD6O$aB}?N&6`)y*%^+UpM1TJO*KKwvHgU9V$S47-kkB1F>(j)d1u<5&wl$v zCW~oA<32S@0;RmC#M?WbYj{*QXb!0gCBHxD@<>{CqxGzr>`inmPexnQTSuqMTVIe0 zSE9?ufsTqZt^JSrI%OKE!@=jvKU}YS^8APir%0%r=fj68D9kSb;#$mh($d%0Kxqm<`K^2)&w_o8xNFvg4vtM)sw(u(0SyR{=0d z-aGKbowWzC5ng_Nezhp?{Yb3%6cx`U<^=ofraz6Fn*0ySmt3&;{k^90#WBCWzCOKx zGZ}@bkI1N7Od8{?>^M$7kU5)R<^4hfu-==FyQk(1OYXtPX=urxqrp5Dm16WI8At?Z zUlbrgq31Z88qoS)cJ|VSE9>`i9vtG_c`WLPN#oZ%S7)G45`n<1wsvPvuD4QtRLo79 z`)!$@{(VJ9zJBjrh8WvBbvT&O^5LJFnx^kp%^kvTX?aI*=o=a;A;^ZS3)F_TPXqmp z4lL5*CFXSOav|@l9y%Ne}R(47b2K)c0 z+W+T^Z@sp(^jd#^|1?HBZoF`(o!{K-tT3yUv!i48;2^vESE|QZTnsVk$pQbqaLKj@ z4s1`@EVtu-U?9#$Wq;y6ZD4Tp1%fDns>lE!2LYdxBUWjc5?f@&pk!g7rs6O=J4?Bi zsuA6G|B$EV1DQQsT;2if@=C!*LaH?P(8;^|iFPu2B z0^MovXaD`!)MzccgZNC%kTU&~iZmxro*e)E+tyBq2LKV3|Hh3QXIEO^tk-OzZ3vBy zW;afy50xuL6q^3Iq&lg&HRAExIBqj6b+yQZ|9|$4FesWz2FxdZR`*TYyW-lmrla9q zy>|1iQDK`QnF9QS)F;=tX31W;pr~r&$S^QA}K1*s|+pY*AJWp>*0l;Lbmy z2F0NJcFGMypM--`f`c@Yrio}o(%y>&W7(wbkmR=D)H?0s z>Di6yo!07p^5jZ%=m2QA<~uS``?$HQ(%iZVZs9x^O}WiZ_9K4LP9^4KQ-Zdz z?e|A!3+P$FnjAQAfMN+a%C<1H~HKK8RY`=fKh3=x+a6g({24u$rLPERHf_zIetH6>a z{MEKt!((Q}3!s~kAv91ODvOv1K4LaSuU-epfb#k6f^p*;^FS=-?n^)y8 zEmj~qVqq#ngn!*Hb>Ca@IarIfY$!q4YHP$H>kEeTa*IW*r5)4OMmfKmmMqwh90`=dN?(Xj2qpd-#vQG(xWDWiXr~k6c#2QiyNw~E;boSp`$J~VgKYjW%AG%pO z9<9&7t7dbTz=i~yYjI)v z@>AZ+a{BrQ7>=3ukxV`?{i7{Y03D$o;RD5;pYA<%pAY;RE>8W8P@;a4I$?XT<7vs8 zcJhEAWO4ny4frz(kn0eZkZe6EsG;>Y?e@JQxD#Xx>a^!aUCJH-fdB$f!2v{aY(%Gf z6cH&Y~;j!eR+aX87dkCn!soF*Pwvg{ES|!MO%hH@X`wj*T0lT zfh@vPq7B#jvkMWBCLr)$B91X`>3zAVlj7wWiz7|yd-m^TQc=0AWZ`>IHkbB7fnJij zsdwy?sTouw4zH8wMr7LZ(A$zm;>i;lbP<#rzp9QocHLS>!P%pp0iK)1*BkwTYTrBa zC6Sa3=cYzKm^AqUuh8-8RBBq}-Yd~dV!eg-X?}j5Vj`RSwu6#Q$6gQ}?k0nS0aO)b z)%z)J6t#;>HBJ}w6w-wU^4-dDkS|+z>^SA(A_heK{*Q##VkXz{_wrrO1+Sk(bekSN z|Kg|*s5F1>pO3 z{Hl?dyaE%|lUDNbCR)3C?1)ymdH>WI`S+&5wn0HsE-pE-rz~ZC>tCqGvLfjtroeP~ zMZ7;amay^R*pKs>E&6@h`KiI7p<9m2$@z}z&sj?amGTP+fa_WD5=Y0rwF52kNJs9A zhYvRcIDM~=*#YztLBdu$>j`#L#9{0_sy_}cxF>}BHQAeN0iL&SuWXf|W)dj|%UTVR z|J;QOsjR-M)=?=$N^j9@vIdaldr<|@rJUR6{fI^YBB?D(&;s;Yj(f0`NL4r`-iv2)b7Zrw`zTUJ?l$ZF-I z_H2i`w~G6-)e#l9OZ2XQ+h}v0Zl~B=(JZ(nCnuX4tXZ>WmydL-GwMC?819zz>wwTN zqGW@!#{y7Lq?hz4AfO1p zs@c=&%SE$b?jyY)GDVzbdbNFz((CWjD)iW4LbRA3-9blZsK!i3XWyW?0=#b#jwx1o zi&un#f%C=` zttWR=9w!3?4RRJl?N3M7Wr{GSD?W9qsHo^gk1{he)BNUAPD`oAF_Xs4fifk4ATsj~ zPJN%Ztz5MV+|1KaNe7UA*=BYkOd_Gxs#7R1tywBThc2B=)X7~>O}(xFpo1(5(!Y-D zpNoR@TS(a$sx6tCMNg}Qt(2JU+W~UPt3>Y=?gMxX2iml~fPjN_RE%9d$2vIZvNhsA z)z$5gl$1m|rT6)icA>`eCJssb`RKZqDQZ6RHX&rXGNc75P-9^6LC|dqlrd->KwlaO z2oJ8G0f4=AM{Yt~_&%rHjqF;U+~N6m)K^IRAJ)+q>0Qv;27x?CL#=S0=miSh9+ zw4!g2r$A7==&uNBo!YT`_ob1!mAf|I*RyjP?>gZ&H+pRGSNPJ`bc@RfV$;?oWj8akNnp`kKdnWkyE@)^tGnKk%nHWoA^j0AH66!$P$~jvcHjA^JG?eqt48w2Vh}e&O4iUC_;O(7~T^$+{Qi)D%2#J*5=RT_V%Le0?57&2~ z6t0dtXIb~=0`9MMDwM_P``(<~+}ZDuexSD`p_GMcyAs$%IHh){m#0kd#Ps5hv67M(XWmSBdGv~$ROdFwh}!AoQrjL;hLvB+A_dZkWu?0)Hv13h7A00FMb{9zwU6p-PZz9RJLHY7>a)zL2;l40hK%_Eg}X>mFqsL(?-UV~Qj4S;T{NfR3z+b45fWnJAp z7vHILWAoTRVL)N2OJM&g11jSU-tRYfUwoT7nU%hj24dAmNIN{k*(i zj?$Ha5G$`V6rl4iv0q3*r-sT!4Rre6q=^TaMtNi@4{ZLg&ZWg5!gv8HD*~>VG}@p# z;<)G*+*~ozo*mQ>tM8v-3RgR`|Us^bZ)-?h;7tsI#8J?rQq=43FbswN0doF#iiChOdc+b(JPf>qs7wwBXzYZRmMm_>FQRfn9z=8>J!OgFb3YYPUw-kz2Z zbTCfV-kUa{`v;2PNBZD`2$N*|#nb=`{nw*#>pZX(if%`a zBY|c3{7~HN1WtG04YgWsDXUj#_cXu?mIL(!g7-KGO7X+?ty^EBo^pZZ0H9F*Q?^bpjTpI;$(x`<%1s7EUHk#Utyg!hY%Pse!*d32^1NK8JWG8^9G-6KQg8kHS9cG zo|{6#!Xi01%3L3+3XGyxv_2L?ES{FJS2Y`FN6Uxc@qs*;>5g{;5mXSEKfKawBv zdk|Bn=~1qoygDlA?<@2y)zli>Qx~~K9>36X^2tU{4iR!C9!~7MyU=mhy@c?!Fhm3oc>rk#!N*-AN}{Ad73dcx%+N`h_MxJ{(LZh|Ju{`uFP45CT(osQ;MrbViWUv zKzc_YKOEBd@VTK|=r!5t;l`?lD-T{gaNc}4_uTG{nr*ZELKhyq_=f%m%thR#l!2@} zsdqD4&h_wk$a0&5zyVcr^=uE%y4JVW*R3|~y_<33fK||`nl8bsx7K*~f9mvQySp`F z(!W@nN=mzbPgCZ-ttZ=dJ zXtfFQwFsbR6k5u8aM~n$KxR|(xX8&9E?m`4%Q~h7rb4KF6}4Ca;*K)Be;@dwv!o?< zo6qpxzhi6!+(Ztza##m~kz#;IJkEJ%hk!J1^NqN9xb=wl9r+1?WhcQ7s7%<;-cr9o zlCwn}s?(}6ta=HzprfNx|L&qU)|)n4)$#XtMIaC0yK924#7(yeggHM#y;PU4Ic&P?ds4zY6)V#c_|q<5(XoQ2rXWyD1h@eM zj!OIjx~+}7BtY_lU0viE>I4JSFalSQ*U%}E?qHb`cYL?S3^|wg$n#QFt7x&87T%3%1W4JM;@U1t$<-9JK3SrHHZL5!cxPcL%Pvl zC`VX^B?VwvewNq+Xc7oOf+A@JE(1#LE+Na8@y^2B+&<{B1i+q?3&P6oK4Sc2RJfOQ z7OREtX+UvAAV`T_Wi!3t129H)fC$mWxya^jv;8}>laYCoQ1!5$v&iHtcHu=(yNOfB z-cM(ZkYyJI42EG(u_xiDR1;KV9e?IdzrB>ghJLZ&LJemCnmb#8e(N<_do}& znELKd@z=V#U(Y?~&{(jb|I)|(QP5f>IsP&P7+DhLwkj~K*Oa;#+T*P0 zcQ#DF`jwpKqHSlo?t?`q=!pS}Wp~yZx)D0lr3-$&*wxWW< zO{`J78$UlkWqc~n&14CZ!y8m9G`Vkz|6n~!rra~39}!VF&9tQuQI(_~mupq($HJ@J z1KJlwoDXU@_;X#ZFP}emLH#6spM5I;WBbUr)QW^Spf`JVQDI@>65n4CU0>E{J%6ze zs5Bw=25ME#{A2}w&)a(^?>E;(5DwdS@Ag!U?MDUB0~r|gL%TWOT@oqAHfe^u=dfFv zAPH0OqLsvy5qcMj*0;w;kK^{RTSmZEX~m&WpA!EK&h-Jr9Z%X)AeS1y>t9A zoY9J+sem4SCn)Hu`>^jLleYfXL9HL}W-G?TwKpWFCw#x1!;B_JPfzawD9dWmpM7=m zlB}YlF95Dr-y|3rElif}P$8;(InasYP*f0zX!|)~*S~_ssn0>wnK1uExVT{Ja%Kl! zuqH_2Vo(Utxaioi5PA!^1n+kDKklNNdWQoW2gBXv?Cp=jr)3%}LERYe0)%v{QvJTX zHXxX*=~YY)ZC5mdLPM({#5{l%=(5`^E6!Li;&nBTYvO|k>jx@>i*QnWJv`Ro=(s>a zGVsmJ0sBT=Lj*OW*|Q%;H=6i2vm(2U1Q?+hMeI1S%W0zB!cM0dkksu02>=W-~{ns&pvc`O%d41zUIl{Sh_5+>!jtP%~v{-7g`_uVZ0h!LO>BY6FxB zTlK6aicBCH{D)xDzA1w7U^MNWO%%DTN-A;sf|L-A&x&T(~ z{{90y-mh1*n*8V%@q~-jKRo>!X6Ouj%IMbBf8pjgR#q$g791!tTJB)4J8txD0fVh$`q~j@3_*xBF9FA__HcQ&7eO>DPZDeFP<^XA1~Yltaa~Os>u!ph6>dAG{7rUpK&=bm}`6JR_%VY8-d|&f6pDJ_er2CiGLE+fk0ix-{6O6 zcLo32vWxHd3R7m%#F;uH+yXnnp?y2F3_VIa*E0R=319HcrlRo-i)b*b$@;!olSw@cnzfejHi*{Gu^*q4S$~euMw##HWCt4^>Jx z*X{>+NY`|a&&qN+=oR^Wx)H6j-dyIqD6@#|S;z0MJcy>dykspY(bjOf#5Sg4!GK)i zii?XmT3TAj`r&{DA~E6ID-X40rc6Q%XS9c3p>Sj*$ zp6`!OFCQt-%5Kb;I%6F$Pgj0!td}mrdi{nCNep(bnK)^`om?~hUeygHIBnkR_4&w{ zb#3gXa4NPtb$2tOAc2j(8}@o*z?}#Kf{=k^Pa_-mnDt}Dej@E2IM>#HAhMkF6lc*z zls(Nb7!b4yh}G{^xR)^`G~D^}z?gNicw-%hr)FD-*ILnwzfI*%J}}{W?iiorQ2V*- zgLPJY&(j2JE1O#Qv>hF-pw7TT8kHLbM@ciAcubs~0^L7x7U7MWMu6SQl`G3#2XEr7 zvus75eaI-OIv1q`)7(calS~NJhhznsdu?r6ttk;wLuYdX+XL-(Zry6x5M3^Oa=U}@ zP@g?t_gdI>;5dt^Z|?_aB=ig5TKQ{9sz**-*%4VLt!dn-BXZeiF5?wtbts(h`~*4; z2>M8$f|v<6+vA&zdzPhKBfecBB1yhl?>X3aU*x&FwMY7Kv9=ul3h%8aA26K5%e5s| zc(<{0p$&^5C8pir$TQybyBqf2eXC2>jK`{ias+mH+Vl9`>nbmKa#9u7z9s*C4gY;E zY9)23-Lw473edF`YYte6-a2!|J+rL>qC9y&`<2UW>A$8fv`fibb359#2VSh6ts6Gq z<6dsAAoV{xV9pK@K=zF0T$`MN;5)I)=Ih8?ek5;sf~yJg@N#1q+Ewe?22V5IUT^vB z|EsISuc6h$J8Z=}=rUa7L4a&Msltb!_6S7df-@AC-wWY|ru5F)9{bx736n0%uP3(} zTF`irXZdsfy+%1~<9}ZBF=~T4+PVMzk^fo7%!AwiPf0h{ycITe70!!E{V+Ra-P+d5 z^@H#8 zB$b+5_66TgaFFc7taZvIMQdCEb}*TF$GhKht)Engud7V{9-THY4;k z|162f-XfrGxm5FDC56b%NS(FX-J)gnwX$k~WOUroBPq!b{QMm3)|;P$f8q65xir4W zC_4bRMs+ioa)UoC+wQ}yaIQVj2VaDh9HeqTMs?Q~Gchuv zrtM{AElCh#Wre3=+{EoDP$#htAaTz=Z{59lEqv%n)_9W-k|$Z@hZngwzHE%B%X0aC zv(<9o=PQ1HCoa*L>|}h&uC2!k4cBgtY#JtN9NLQHz)OedfM=xeeZp)D@XJ#ON-#~8 zc~Sk!662Ar=O2wB2c&QE%@r*zMxp@|^ZeZOPb1iVV7C*v_H_^C@AOZLV>jYI!#_%> zKQ#QAHG6kPHoZIegDJ?LF6^T|*5nrG)Buen(fB*>d1`zhsR+s>=oQY49%s+en zygncod@hBwc)3yx-?fIm;6r^C2M&?9cvP|DSONSWyM?XwJ%?cwP>zG0+=;_W>7%0X zr&G~;zv%nZk>k9ve==cGvn1-=e~w8H4%hb9NO1$p=j4A6c($JFs|h1#b2Uz*^+79H zH4@TZ`|%$<;@^~)&n>4fl7Rp6NjY{K-yWpD$n&KSXI0T3=ho9qB@?D0{B(=_WE)7h zq;2F|ZmSAca_%`F;YEkfF26Iw@$KmWTF)m{{vYqWK^^I!4Qx{A>49ZlYQIoO1~rR> z);6n*+z7h#wo-D!_X&q&T-DQqFHRhy-#%!J`}C}3ty#!zGJNbV&IKR+{HU1>_6GVN zF>IN(XQl4bv*7|0wtjE1PnTtnua8eZ5$(~7RfbE3<4k{jbAbUsyb`q-MsF>tV#m6G zx#g6$-heseO@lFEL1w@|IYL)HCnKW=A_SyIZN9rZ*p=Q&Aqyw|cUt7_6$XldJ=_IA zhwR(8?-^upAbv6^0i&$V-{02(Q^&}!rEPy?%aDZ_Fv#$~E~|GY6o-qc=>pGQTW&iHKNx`n*4ecLw0o}*~>VfIRF`LafikzJOVV5c&|& zgIP>*1rZ9mX)hZ-zqZ8=hJ5KBNrtr-(+h;2$ha}F53lYcC=@^p;$p%+J=;y-2`P?i zYPFY3fKXcx^I^T!$e2V*xhB}C4-*yi2O$jM=)%?}M_tRb>qAiWt;zF-E}IR0RFXlk zgtBfr2e@M(awf5wQBX6nn^3Uiwp53{ZQ%T^ky*W*>=6n$p!Th)qZOl=R>3t0vvN4} zzY3fskV55<$DB>L^O!J5KPkK$=|dalg*dUjdvAUHs$f*ym*yoMI9Q>z9AFQMwEID_^uujE016edKmAQ;W`w!kzH{f` zZ%Vu8zpEGY*f9;sYW&Ziet4G*p%YV7;xz(6h)#m;7ZyM6u+Q_~M{-#0q@j6#V?vM6 zl}L=x##e*DOh0+s<{1CKlr!-4hXe6wF=WMj9bnj@S^UJ*jvH^EZxU}EwC{{mu1AG0q_ZQ##+;ERDIcI%_= zOY`=uLz-!o*C(C?RjQFBLQ=j_)$VKqp1DJOEio`;(}ZC zX+|za@vshz;!aP9q*z>hdf5(eF;;a~pF=#z<6U$k)3CuWhBEIQN4zz6xgaA&X>Q^AxZgv4=rw{^rZT#5DR{?X3d;<>g}8 zXW0{W#N??mm8l?oOP;If4z}~}17jMDasCUyP0P$zg2+D!T(JuY5n`$U{GDV@2c)RB z-DzhxHwiE~Y10_!qdYs$cAiZ+Gw)Q*AaAGNtMRArN3^bHPP=n)#f%mIIrsmo)J|`hG^n79&g0TQQpZ<;|Hl z#%q?EB<4zE76w9x9*Ud`B@q=x?Zay1rhV1#4d!)iy#xYLn_3OKUKI-Ex)g`#V zJ4Dqf5ADqYoNXzj6i{?*5Uq(@Wo;Z2Mi5f})@DlKEW6K7tcyJ3_Xg3U607Q?7%6=i zrkOMO()SKNzbVB$dXOAk063Cz;b4M&YB_z4n4m89; z)kY979$9@Bg3IVd(I1xw;kha1a=rvadl2%Zs~XFl)*-%5D0E!=q|ZMwM~jG)q6Od(!~6O9^FhS8^i zrx+9@_0c*bb{=-^mJ2jT-KZ`Z10Ly! zj*1c<6>cAs%UXs~2Rst3^1;$$!mM~I51&b7T8Kj_&eP`6YX^P31~`L0UMJ|}Hee}+ zWdM#>ZpCy6y50PxMNw+8aSGD1ozu;+Pe(y#EJOK~LTwkrLPAVs+lY__Z88E);^{MI z>XHp)$$I?PMwBpNKoG-66!kopO!OHM9M7sA$88R};P{Ti%R6!#=z>_QjFN@V`~AK~ z%d>!&DFR=515)9N;a{X%2w{GiebCryRo_nakq(sat^NIgc%V0lR)jUl`O~NgZyLoC zLqG7yj4iK9m*9K*AX$Q?y3bRwn}^D&_3ZfohqWl{9*5|XUkodC69+@8~V>dG6bh80sId0$>5Wh zZS7H-h0C-^VJ2b})du1@4Huq+ut!j^e)r+bT-my?Wvtk(Mdc6(XXF#&T)_Z;U6!2* zg$zGo#_yb#R!H3{+cV5T7YOn_DHMPWhC_+ywCIOOn@@q;t{f-K5sys3N{e!4eG27W zCU=B_PkF*~a}&x13|}l5Xu4o%$VLIBO}jlL`|&@RPUDeaWs<5vsCA6GQA`S-zSa&| zzO%O+1ZCAktbqwL?t!}b?tgGk>i+`wEMQNqyKSSk_Fpuwu@bTZi`+}GUsVG~hF1g* z2^Lk0@I3_QuV)7YW)Zf24agq#pHo%RUCe|*K)`w>uLP@#QC+fK@%4A=(kwdVAjXw_ z{>+iaBQ73F{5{Zf5&H@M=pQeoAH{fFgoO=q0R~LeOhfbYB_WaM!z=@^ukH9FYB{fz zaM<;9BpYl(j?Mq^7g&ePoJX(jANx;|h^qIT!&)|ln1VR=Kx-<5md5DOKZ5FYy{9N< zMnN9OCP+dv#sHAqhVu3n>A;HRtRScQqqrS&lJJSAZf`p1RY=MobiNR}XQICzEjQRI zkCZy8jzU!;a}~%#1T#b0T@}ZT?B@1@6d;@(Rh1C)l2az)EagGVtY1i6y(enuHz*m8 z(QQtWc~zwtiit@!%*yC&F{7(|9+8V@$z%wAtnGC2l8o>A<^ zRw+f|rht`|mZqcXLas5Vwu9^H6Fa&(4yR4ZHf1a?(p?*2F&p~hrlzJ*7aHw9py=;- zsxo(7m-j-!zJDpLfBdR=39F0(_prCO8rztxcE49d+xPc`Kq!Pfen$5KMFsy}xIz8U z#%GmecIBjy9|&Isuk8+>4)XPXEB9v8UE%m4nqWcjt;{+X`C`Q56M30aXc;~jZ(P@2 z!F`47{X3OAb@o3yw0|&R7V<;o#|)-GFVj=IR%D*p`-kstBkv*AD_`H030%_OPKUH2 zckx{@69WSZUDl7|u@QE7{6$Kpbt+%VmRCXBrwznx=}mf`UY93VqZqS&8hmp?z9MU& z+4_{cjD1$lKLlT2d8}DTPT9qn?G6~{k}B;^O8_gLw~Xgso!{}EGSZsv2Z#ZHGFlEs zvfFxHzg%*{RAYCf{gl+jLGdOexaGy$Ragp;M#olo0Vp!**E3jM3l$7 zJMby+Ocq1SI1f05fud9msJ>>zt^<7v49X1~m%NwjDt61GPeq;=ofgCX7#<+8cQpe%=^smEzTwqUu z)D*i(#X0#jQV?lLiJ6dEhUT6=E~k2Ar(!-rVY{>9(vHI^AA?dURFho3#$MKp1MDPrdK z@Ap+t*56=dWkqHh(4OonRlqv?p;Kw^V26p&meKpXX!19 ztWjUDlAR197`oG0Y3ch#D=?7~fR2tIoFP*GXL$2r$|KLIP+NG2p&v1^wlqAeK-fjg zNNMG!9S+|P^X;Srg>C)UONM|ZnT9!24n!^>eTMcd92rGuG73>jWO8{UYd#}Q1@m3G z9e+MvwGMd!F>KrL1;ZqmcE-FzH}cgWfMGPy8>{&Xm_gj!@1`4=Tdc;%CE^+z?vtbLw?Rx!jKgQ+%oR&$4;#cCox6 zjM19*#EBC`mIR~J9LOSMd6Ue0pc{VTbQz<6Z!}VkF`MoWqP3;`vde^2V}dqzO4G~L z5PS^M#3N$n2@9(xiXjO|^e?B7rM%4~|2;fJHO^(Crv!ozu5tK!zWYiy$LMDDxi!_Z zN3QfAq?PqE$q*up+&eR zgP=ahsTY8&X5d;T<04*WlK&@>-4q`(3_Bh29zkYe$@#b4iHp5P(+ zArZs9XqCvLXvlav>^nimEO?{|@h!pqw7rR8ndSBjw`pW~B^P~4JL)Lq`R}XOY(;X! z_n~dW2uHNj%)u~cMyfsVXvxFRK^{p2kR)K*%!hfXPe{+G@rK=1E)A6`1C;dM=7uT-kyC7ealtot7zPa zazEK$VU~X5Ki$e~3DC!G5nB#SRIFaRwl>Gn25in*v`nGf<%8iL^gdId_h}D23FMul zWZKYxr`^(O%D$=dbj4-Nv*s8#%>>FbIs+~eah_2^`rfZZDr2T+K98*EspIX6vz8xM zRjq>D51fi2`1M=1ud0ztW8d&^01B>r>}VQ9|VOu;egFq!NI|yi-8Z&y&1)2a-6vpYu`Ga z{#W&@2fx0x24{xZADNJwQo7+8W;TJcgfhGPOUOmE8K$68cpA9&(M=o4ww)ROs-fAo zhVI_Vln+^?5_uG*-x0@{6bKG9np0n~K(OtPHo^r`1Ws{uwYC#ay2n(lu%gbbH7q_w zgBb7Kd-^bfHzN9WRfup(bC!(wJH|aP*S-~0c;vnJXI#9{7yVDA3U4$A@c!#XsgAAU zrmMIZBoq2!g`kMZOZK zsGBpLNbUNpK~G=3>iw|(bCX`uE>!>wa-Qs_q#Bp+rYs7F-by+y{S=K6ha`FlRJyk+ z@AUeCUQjJz@q!I<4|1Zl%uVwcJ}YM<7WM+!GaA00tIBo@#xr+)%K&1@5XUQF2a<-5 z9nVL=gBS#n!#|y(7ROwLA(#i!>;f!Kl(C1aoX#10#b*`E!}#XX5qHXVx!0L|d&re< z#Cr@kB@+6C*!NPomXLIM=8IGMptfAef(-^P4|K5I{uR--|jRPx911S zMsCNQZ9?f@fbR$0n1^0J$#107qLA@KFvR_S)!IY31?ij=?u9zavb1bT<*~y-L1C+G z5D&L%9)>TWeo#JFS7SUqeZD3$rEqLAE6aw$C=qnQ$+s+U8xgA4pmUYDUV8vM%O`Zf z*U_R-a7eGVBpU!2?7Rtq6MVsN+u8OD3KxXZm^(vu)USV6K2gtTA1>1yCbBodmxMV3 z8W7TU;cX_Ng2E{zNl{4D5l1yNd2!AR6j`-TEtB@td;jLo)r|60d%H81Qw>Pn4eEs9 zB7clZtxYlySsjaIDd5ePt2j-R!SZ+@MKUUlrnwf47aqg3sQ^#&sYV^`MML^r+gp_K zo=QQPro`?rZphLZry1rI^mRLkixJBvuln@Q26e)l!GR7w!E8;#hsDaw@43)In3<&ca97LU<-ax7Tw=zRjMWKk;0OuKK0DSe4xb$qeMW;5UYJq#Q@cDNs#S z2T!!~@B8^-ao#~V$^X_(v4dF3)3g6gHJ!oJ^boq}pplVr~py zTKs6XZ7pRgM5a{#Df>O#I|lEo5L)p}hyxhf$Lp-2Z`Gm=W|Iq1M-oXiuKJiL zvMc3naN6$6)ZC72o0i_-xbY)s&C9!sZwY4=7$Ps_!DNr!LJ$mt?0=SwauXJhg zILRIEgHy)Ll#$0|GC$%Wk^(?dN_)0zW=IGl4%xtym*xi>#@>PX^_cVn~06 zij-D@r*ohT*T$+PdOd7#rL_-oX8wEUnmf1G%Iy9$l79^pet0|t=Yi?>U1B%*a8*T} zot9ypt>mb+#~`uMTTk{$o8iNs>gYIiQzF zHNM26HZ(YR2H#WAS6+eLwc2M)bw>kz&Z!B0qgssxzh!MrsIt3Q8+K|u+;Qb`1Slvt z3k)ZV?b%Zh^AQV0f9>m*n>;_bM}&iYTOu-qIIt^YkgvqiP@r93Qvl5*Slsz23`gYQ z1u(;Z99q#~y)nCj~F5onml$6v2__wpQJlsBX^tNkWdOM{o z?_BpICH66*Kj2h76)MA|jtHcI9ym6vjV;sT?u%2t$IZTIFXhcRN}4}&5FpOvISouA zG?J3}dc*Sz3yuT9MyS(ol<#C4NOj&R+5dp^-TB+qW~`+g@*9Z>Nd$3(RMmqi{EQ!e zF=&4LXPr0F zrL;8cMY7276c+10cpPJGcsP+!CbjwhsIn#e&4dpq7(z*y(~p>8xxbJ9tE*kj&la#D zAjUvZhBqmXPz*<_#Wo%MUY`+Tm?xUTQ-`_J#!RabT4ocDd7d*9FJOTck@m$Ul-(Z#!O!?kg{R3(gdWURyx*?dY!6^tUx_7!?k%JEy z0ROF@imqZ?U!Pr_?%H|sM!G8U`KVw>+y{%O;SRxoD&eJ1Lb3na4T22GR9#&?cXz(8 zWf>5KcR*|X749(PA3uJaEB!wRsjhULnkW93%er<>3fKg-3g>sa4VCb=osG^7O&zWM zc3ED1FyC37f9Jn8=sb4f>-o-h(-i;ZI+X_qNzpRmjfeKMh(VOuM1e@vWOgdRR~*XzB}1@bOQ4cTex+svn4@xG;=_}-b+5Y}<)zb*=+ z2OO%>DfF1(0vnbDB@YL=jg!Ct4?}Dzbg>^haCHo80Vz0~{t*uYY9gFjyngvo_Wu2u z7pEr{SL)F`6SSoSjkVV(I)%cJvmRf*RqmL`NGq_1BC7gQ+umTf0)7Rmf1nKFAbz#rk{@X+3@rKb)i)?XT!i}vTzt^ zvhZpozu(83gSn*OqUec0K_YRC|I*Um^GY^uB^}HQuk)pnE=uI=NrYB%1itm5sgWj3 z@$jN4PuW&ddII%&e`nK|+=($F^JgOGP!S8Lfv*{-z}Gb03dNR}o~_ka5gnWw4*E%~ zn)WoR{}TnQFrG##PuDAx+cLcfPR3;*(xDo~Db}9EN?UZeyW7GTWOAE&S8Zur{NlAw zb6=~T@X|;fM^2x^|LEDw-yM`$DJ}`aG2f-|1NLma{JjaQ?>%<9Pg1j{&_7OsRPcQ3 zgI=uG{QG&Gn&w|TianAVY7ePCO2FyQ;AFF$K_6w*PrhhPM1^%Jd_+xh@B{t#_ov!B z_$NbWZ3?&kP?x4XzR!F0H>u&g2~#FiAfiG`>7k7l+U?2x`O+~(`&VHv)+rKA~LSc$i#wcEQin10r$70oUt%<4dn2EE^ z)BOjumJVg=iu3&s2WtBz;wi}G+xZLE25d%t`2WsypEdn#vA~_<&vCZIVpex=jqmoM zX?1rf5WJyMTzycNFZP`wMCKeWxQ49>c^BDZhY82LPGNe0lH^S&#Ebnl+v8i z$XP~7Y8qaxxWXEg2HxzVG$C&~`9rzS#4=qr=N1pz>7&itiY9VY92Pc3B=@Cs!-EQF z_bfS|V92|eAFEA5b*QLO@A7_`Q2olFQI?^eL)m`Ld+YEqUJ9i-XT9YeqO;{^R#NW! z8MOB{Sgec{-lLwep_?#+rl}?eKbI2`6T}}@nq~Qvg`xPx){z?-ndk+%s$vNf`#|5X z&Chu?(UD~bPk#9d)DZkWFhuHdnw<@bN4GTJwENkpU#grNKIPKvgR`5eP>rq2^8 zHqn?j(WtVrk_xFei5*$?UVi+fgzYghao(P;5A|LW>0Dy^))K~;p_RX9`IYNf*b~{q zsUFML5fz|Tea)|4@H^({Ts_S)Mkc`!w8)(fD=X*E@UyMCy4=r3bt3r*D_Gl%yT^6T zx%mc2ou^FY-^UZzs9e2*UDzB+!$%RZtv*XvYV3SQB}34sKKg?n#*b!2YR@aZ;_Qj$ zisNeU^Zc_OoL>}k;@QL`JRYmL9XH(LC)%K4{CX|n)%f%K zBCy@*d);Chu1mQ!ePD@N^iJ8HVnZKR$25^uIA0Q(Ut-xH4HoVGoP)n`bY-;wI658+*?OqGlI)4vFwVR&L?9VYs^@@&OEwEl0zM0rLWGj^~ z(v!h+dXM0lQ;mkBeekQMsM1Em*0h=Fj3z z$@`G-l}+*5msO&Lo#Q{Mlw4KuJ%4)K*`tmaj)hs4+)l+2syl{Ed}%ycYL4ZwJkdVa z1KKWi_V60&NRn;q_I^*nUovVWTYb)~H(o2vKf2#c>3h3d&@_NZT*LN|bL$A>!&|$F zr5eY-%5L9hw!v0=_k2Cm{W|_puNQpYP`TNc!fRr6a&;v=l-TmWl>RE38^qmvh;?2` zuX>j5kyia@vW#c{nOy#vwckEo9(bk4GHWsTI--Z0A=~w9=gLqryZ%mo1356IhS`}i z1y@)sg+zBnE$xPx|+}5+{^D-r@LN< zcf8*|JgqMA;HYZVrqqbi$V*JN?AL{B3#a_=@@yTDTx>zf8;v%1nU>`hJ{pjUS~Otb zuX|?7(Z47Yz*8qP+=;nNK_RY_ThNWax^`BkJrlM)k!bPqlvu zH+oq&J2Tggy`@vBV`4j)ESW^?-<3}`a ze_H!J*gG~aAT#)AiSm)qigR8 zwO6!A_=E#8<^IwWo;HZn@l; z+{kZ!n6D}XY&{n+^M?(RY|ehJ|9-SvagTvK<+h^X-QyS6iEv90wSo6L&-gB=nE2cjT6uNE@WKC}AnqEq)On_t%Phe#L*UC6POu zuPt}m6u99s_J%=cx>jo5v}vrC)_2ztE1eYcm3P~-Rz{1wGEW;g%2UCb5KqxVwYY5V z4hYVq8J&K_q;^ku5HR<_=vy~ap*p?})K9%NGp21=e8~5Pj2WCB5h;&0+m$kkP>P06 zHnE@iEuHkGA|QPx!SthYd)xeb_pp82F-u1MO?Z#I{%oz=1VmPW&mTaAWXjGZsfJ5h zr;8M&p9~ET`ai03=gQQ+sk!_u*4t8kH|7ndimKTfVQ%-9`rxSL6A2XAcH7Wcb)vB~NZ73*c{-F#Aa2~%$VwlLRl3|m@p z#pC_2KE}hLAsFikjf8Tsy_=fXya)|he0^p$(5%?)?abCm%7;nV+r(2BVk;Fwg=|G6 zd#=AFVhnqo>@YJl_Hp0;E0;&=?O(Fh$?XllZ94jnM$In2R44zuFv|IM!D99N`78|1 z88y_m+2StwjWj5mH~(9Wr-yD>hlknO+96>l*6osQ;!AbvO4v@9C6}mX26jjaXk`u3u<|DhgwI-`=pyK zxORKgm?P0+TfVBokyvh=FHKO*zEHaQTCMV8In?cFscN_cyqowzZ$m*z%WQU&jEoUO zU?Dr^7V}vGv!=SVo^b5<%pqp+%e@YFiy0^IW)k51s~^yJLOM-QsBBRidt_%-!={TyQoP z@fp=4fBmyL+KRz&6YcI%eqT8`pvLr<}Cn7)BI^o?(z zNaMJS4x~HKHYnmJ2-GykL)q)Ub6>VF8vG=`EvvDsGBe)Pvn7aix#EgDW7hKKRcE|R zz^_jq+J@EFiO<)2taUdZrxUSTTaL^Ty==1Vqig&JgFAIQNv z*%uioHO$+{`9CY8OZV#Y z@*esK_5QaMUQ_;B`3=edDAo#$|3RX=vd9&)AT|ph!G3>BPbLy36eC>-&1LN8KB+RX(bi33_ zcK*-9c@2j)WrXR zK|6z4va0cqR0QE!ZhGt$f`%oGDvSJ^UbXchVc(rc4>}X&;35K4p}!D+3?KxrI3B&-Zqv7x5`#`#sp^-;L*Q24c-v@TYu zp_V^cn*|!xZ>|n-=bZbkcJx>VmLb|QqX~p({B_CJ+{W+)#f0NJeEf`8O?Q;7?|6sq z)|-n~sW}?0x1oYUeTp4?TPfLj0-to% z2@Uf-v+Vk71_B3tsW`1U?o^t1!4Ks%d5H_`{Ftb$>&RsJD4$~=drzDFFEW_ca!TO% zXD66tLebzl$RF5IaBX=Dbl3o!@MsdFT2TSR?cLUt9PV+q7!+Y(QDbw^%;}xfu1Q%J zcA{96Oux&Wa>t#C9g}LhZ^q~%_KoIvZ>@WtBXW<$Xi|w5E;XWQ$9A(dErg1GS4=GQ zElRu1jeesJ_>&!fGWZG0P?kuxQK0JhkSivS`$9I$qvg=s5`+&fXE7J^UGaB9tGX^7 z=+$i**%zk0H0ZPtrK=Y;71!!rkj2{hJ*(^5>{EW$h37Vo`9`i#af-BJZlgsC&;!pX zm^w1#Fkc1X$T;D@c%~KhLtQIJIa==#J+?uEe;u2nmZJ}9cqj19rHIVOqQdET?MbkG zeLQ&wN++x=o}y6R+Zp}K?)UYy2NmhW0hBPx=FlvujtQ_VJ>93G;U*cI)#bL=-rV4k z=ISalxQcOnVnu(}wK37b&!PHvS$3ljQ+3*M$k;6YvOx2&j%||Wp~EbL>2O6MvbCYf+a;tKb@1s zCgYY1!3@+(b_1$q!%2mnNLxtxPS>=X53>zvLIcIHc?$Wah^E9q3XCWN#2cB484R!F z(%@e$ssTp<(JOjRVy|6>QoDw#uWy{b5P8pm&b&)vv|88cuKdfYm)?YT=j^cEQNl01 z8Sl=Wv*$5>&vU`c(@u+&Xgar3(cUSLYse?*9V^it?;KJW6bHi%2F)aw0uu4%M0YL% zx(uSWHjl~3gy>9|IjXw8B@eipaVjKSax=@=mGAX7_9ZW64wWLs3`Jlzi(j8&p$%Eh zrU{Nn*34mTSd0Cxpc^XFyP&o7X4KYg#;NO7gK7f%3K&O#5=uf=BC|kWojS6#OGyxUztGbVI)iga8_`&swrO4c>kKk1pL$`=yhpQp|9;(Y2Q zTNqZ>X>5NI(1X%+`ZO)=K2P3akbphXw{A+dbPxS@*S6E!i#E$jAlr)b_E(FJM$MPe zU2ks&4Tqe1!NLB5gW#b?%}|8Oi!ZS;nAkAPTm3!Zp&c`;cBS{U8RdzZJnYvJjs`dt zuhCyl&g?ea=rM}I$)R;Es-bur_mDS-tH|bTP;lN_Sum+Wc2i~_?ePG8 zefjZ#LDT|SaZgG~kI_aX6UW%)SP}Bhp{VR@0j`L<_}CE+eEG?M3rbB*4dB&#P-o!L z)R-yT5dzhr*G2goWt@7ci-x(dKBCB zz*SNtj3&40LPO$bxRvj7C2PBu+jgz#Rp<1H`~KNdXlPkJfkbm#w8Nu%={XiGm++)= zmsY*)$0Jwn$E`bcoqKEQL~2o-NLDjfLdt*RzOgS})D6rHf~Xszb$CB9 z6}uC!)GBnx2cbdJm+DGn=KMwjq+Fm@{@PMB@F?1}kbT37p#U9Y+II2A<(PuQQ#+~c z_a~C>$bQf3KN*&Wy;Ws8(W@XcT}mi>2E*MWsT{^h9)>tz(I7z30hfOzinl6x+nlFV6JRjzCZ8~w=VNbW&HI+kqW&&bTc@HG$@uM&jGwxHYqZ|0?cnP(6$ z3lK8#F!mVFQD-8Ag$W}X;4a}V-(0|^>w>;N`9Oz2EfODq?p%a4b0lz(H;41R# zgQ@u7PLOzAglgJ;a)&YKisS1z^Two76ZPy_BjY){s?f_5{8x4*Ux$+YROGvV{-^KK z($H|Q-xmJCS>hc*D%ggpOdW8K|7qSOl=mZl`bRmIAv3d5(ismtIvaVWzrdtZgWf~ zs&wVdGbJdUT9M=nHP=}mA{J?pWF$rDP8Z$MWH-c z@R~w-cUf7a?$&PO`xqK;%Z(ET*A~o<$1W&b;Q%kHvuOgyE|yDW15RzTe#Ac+>CS8k zknX?zsr^n``@I@bb4Ehc@TdIxh>CY>A4TeA`K5x)#82@ZYf3K8+3X zOP{3l<)e!NH13g(t$f}pcHw;jdUZOp5`JD8N?u$uaa~1n8IvD!bWV7< zWoOz{%>`@qAVr%_MH7+j;WtW$1( z7aWfD17+8i$z}GE;P!&Y^=nUYE~NNo?3@y&IAF(q4#xeOnBN_u1jP z3GNSAdC-BKk~D_<1eoI5Q^gx7(*yX7;5XN~*_1PV8FznSEgjm;lLq`wCzu_0FBEX# z5R#Ak@S25k;E(%|i(!yts@Qncv<*=}oO#*L5-7ZC&qXNaVdg%kc7*v8-ZR znMnF88;5qA`IL4+`j>b2N*4Ued+&Hmg~Qj{SMXUI8s+OzH4VRYZ4*m3yQz(~LuJT~ zB%y#?$<43Rc+8Du=1qUtvr6I4{(U1yYNHp)IQ&w$WRc- z9IDT2iPFD(?ZiG}5U5Zj{YQvrqIxW83(Ioi8fQ=&E}t2X3eojsnN2aYFL6YE=%Bw9whODU1w~(&8N1Yl7L}rv#F3XZ!rT zbwE$Cnz0L6q3WIj2jS0sf|DS!S$^Viu_``=sTj*T z#8t*WS9Rairwu(k70LT<-YjV{k`H%=!9-MVvTqjm{ZIM&c6qa)q$jW88?d)zK=I|x zj@^mRe|y%}v`2&=X$Mb@;q2Xu){K&pyS217np<3u^Wna^|GkX5vGeqqp)!RwWNf5 zI^;5L5Sc3ecVtgCss>wD8uLj%(bEre>o9$Ing|i1AY3g|^Xdg}D-vEd;*(p_=l$!27zp$JqF#k^Yhu+>#Q|()T>-H2iSqhO zOKQ}f=Xn1SasueIW{~08VhYZ|?s*PM@QGsiLu_iQ8Z2BArF=cYu@fL@Mu3~Z8$w(Z zYmgxU#&w`wjZNNm;sd6jHRx{<{4MBGVNaGS?v5;Y%D;np$Phqbu$Se9Z$fY=k{fN8 z`J#rmkq`q2eQN?O#{R)-Llt=G7sl%(fJ{rt>aNEKTGwBod&`6^pvSDXr~VM|*g-&N zWegBmCu9AK+aI0_fhaaq2qHyCd`o^701x6W!iOV!UtNXU0Z1cTU#B92Hvq1+27g?6 zacSu_B(4h>{c&WMYQ0mXeD!eOz~YNL;vR|vm~KxFmMh8~fYpu0=>R>N3Ei9;mwFS6)F+1mkpkCYiVB>?B znI^ptdijgsnFYs!i{<^5Sy*|3ePCqpJ^1#3Oz_61RvxxzIEXeMAdgHy@6-1Lsme#7 ziD-L8 z@AA0n5JaC3?FgD1LRAHsa~4RdK{<0f)$}vq7rsM7`2l>pB6ldfJHl6(Y7QO9*N*`o zp#UhdLGR8C_(EgLZFUHYN*R5A<}z6G&|~hx&hB8ZLA2@MkwNmlAmynMJOido7&RnV z7|9NR#v>^y2}TxUZ*bN+prPWBMAPty2qX)#slUHOKAOvP)|%=sqlrsYNZ>D_=`n-C ztbfFk%F_ChV)TV}ga-m1a*cuV@0dz5SXxd(gSHJ6% zC45{+cntu=nNWI>dimDif^LC13yI&L^^arV5i`ZxPVg*$!Zv}&#mc$IPYmtor4=&cXYxe zDXi?S3pA0kdjea!rW zL%4v@|K8!_<8y*`vZNS%*4dCjqXOrNalocyP+BnpXMhffBjX@US13T%_#{4M{(q4P5SwGgLmgf#XJFy_PoM}~(xP6fiMLNhtFZK5lm zfV=wknCW*Q$G$;cSSk8~7C3=3pvTAodtMI-^yO4(9RTT(ix==u;~;>D)2Gf1>Fve9 z@BKTTBIHL}V`xGdoDtjcg+LDB0vbg`lZ7VY%eW#a*jpwyfv=J$EDOw|AcqtvkTq;+ zR4gnqre|lfL8PbyeBLN*a6Jk5T@0XwX+tb9Z2mKm$}i7C{e4s+XNYVo0EMQ?ty@o# zbUhfqxd1ez2ZW19Sf0%BnIZ&f1(WSx3+w;$qye;C`c!9V4}Ff2O8yC2XnwJWdY&=d`wVLtpK@g1Ac%5 zmWY!14u}uiySs@RZLhhEI8^iknF`x_Gf^CkZ|T&~`s^2IUIU_f_Qc2jdNx zA+h#yjAS!NChd5T11K9+ z`Ri^0Zx#5ha^ZroA&mtY9wd=0MxnV|cu_L}?I29j1BdB#kKc)=NsvtUzW2vCXz{23 zN9&6o!aATSnI+p0!y;&dZO5uba6k`#1;pKlFs>t<0`TM)Lf|%dDS$`H4}$^{TZCZb z&h{hk4QcjcF!+vIbosE5vs}xraO8s-Ou>)nK;ZMMBPjb=tbK4F-TUaBK(xg;40p<%`@L zNcpH?G~xgp2LO&B=&A*xm-c~`j?B#9b&VOzS+|F2kOFj!Heiw|FmFf$Qt>(%6SPrA zBH$RJXoP_#Nzz*g0I*z$TMwp%`@m=cWW^6hb0k?F@o)eJrt7#`ezX|YPg=^?97hu& zC%y3Tl>ACHmJhmn3#8&8=QPNmF@{r$MYv@!Vt#}r1k8n`3R(z&6wHc{j);Vf5>i~a z4F**lF91CQB}ocY>|i8>>>Ka~!YRz#W7E*exORNRwgO%BuQC6BSh^w5hX4D*?tlC0 aG0XXZByx}i@c#jTdrg7> literal 0 HcmV?d00001 diff --git a/labworks/LW1/p_8_100.png b/labworks/LW1/p_8_100.png new file mode 100644 index 0000000000000000000000000000000000000000..66e8ca19f7373e9db7635f1a73945eab4296c0f7 GIT binary patch literal 33378 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 literal 0 HcmV?d00001 diff --git a/labworks/LW1/p_8_300.png b/labworks/LW1/p_8_300.png new file mode 100644 index 0000000000000000000000000000000000000000..3efc4a6382b926dc896d7f5f4c866aa523d92ffd GIT binary patch literal 33390 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 literal 0 HcmV?d00001 diff --git a/labworks/LW1/p_8_500.png b/labworks/LW1/p_8_500.png new file mode 100644 index 0000000000000000000000000000000000000000..e0b6da14693cf72023c29c0559757fedae571c31 GIT binary patch literal 33159 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

+bYSwLaLYL{uVsfVB? zeI7ftMpQJ*{xxSxUv*U#WGoT9#&2pQR7X_P#N@io?0JqgvS`2ML&Kl*Qm__d6BEHt zp2!eD4`oUq*Sh#LHxx2#RVs)ukQW1q+S|5K?HwKC9}ev8!Lo(T@k*Hm)zs`P9|FYO zxt8-sM`2zqA5l}*-#Np1_Uu_#4-f6x$>FCUe<=;IH*cPQcqf1#m>QclY{yK4cj4xv z^+}K|h(w9+Ca?>~q_(|1o$!gDBFd|$i{oSxNvHEz~HOV!1f5@l}9-&rEgFgU|TN62FdN3t=?4wF>AcEIQ?jPRK4GU~Y3e zS~o?rBw#MdP&^A7nfMAu{ac%s($ce5;MZ(SynO=_ECj!v;k>Rez58WA73XMZml1%2 zmQ6zu6h95po&}yC5*F5bCvg51So?wDf$vQZ*;Kr~hhS5Ru3NVh|ER(VAIZNS_J}~$ zy?0m@6&1A)o<6NYr&)URj(-^R&tza|D3Y{^0e_CI+8WS4xSK^pdabEkTw@Zi-l#Cr}RWP2L{KL%)c#SJPhX{3TbeTp?r?wfmgMK)vxtA6%i5{~!66GhYQfe|+R%QyZfQ z8T(@5o$9B5m4Xx>{uO{S;r?YON{|iIMO|wOEhyrK)#>Fp=R2T#j-l_QBqdQe zO4)ipayZP}6}s2*mQ1aPb?xzYUscbzvc9;n+Ie70xU%IC^op#W7e*4>2kH}8b}6h~ zO9w_$4%~qj&*s!oz+*jf>Bp%WL<( z2$(Bqoa0pS8DR#gg_iQ%sqMXCC(01nOzkf`&R@8&shG3&bzNO~@KUBR$X{#Z4Mf9n@$8w&w0$7F?2v55W0wFVmVrWBUU0q#w&3;3skUd(zD*aFn zBNUngp~L-wF4VjGyLnS&M5!?pRa-P3K4o|N(1vSZw8|b|3BudCYu8zmwC$Rjuhfez zwvbi1XCE22Dq2VMY~+6D8{v;ED<4GLRa|KYuR#)bJRR!5kZ; zgw2dhOivx&@-y?xGe}EIQj?*Q0B1(4 z75Fnbd}4ei-3HEsV@vwVWz2ksjhw%avakns5e~S;x&6GL>P4BK%)%P0P=gl>3TzdT zEn9d{K)C~CrZ~k$_+76?Mwn;VM8?(JKI89C3LNUuU9Bmv{rfq|?gqrrgna=z4R8Zl zI><&C>ketSI<@li6YH({1qHUvkBvXR^e;?~vv5IU0voMD|A@q8t3hfHI|*2v?>jC^ z_!pdml?C4=xq#8YLq#Md>rw^OSFff)pVgJSHB@?*7VZmO;_2@j$S=l0*~Blhi~=mH zM6+QR5{iPJ+y{9feex!bd+DPC4=>-j ztf7=H0qQR#67KJVpIu5S?V{Dg2zj!rx~OSj5VbEoX8m4WR7h9IGq68aZ`_!n>(=V6 zPqxB4pV;imJ@zLdDsK32Tmi-K9K@S7xZclsE<3P&_C2vuFM`!VQK)t(&C5U{Bw&Aq z{Tyhp0~O2n8sZVtzj;_G5mX#@RM5g~$%1x_*q(Q|a>fBqZ*Secs!P~mHu71oKYtd$ zeVGOq=KveVrpm6B_S*JCdK7|e7>hs{_;EKp8`3twu_FMv`6s#PXh6%vB_uXoyo!Cd z<=U~FLm>6#$8AXg!ri`zyAZG9#i$*|Ea%xaB&g!aurL+45Kia{L<`~Xke*MfmtaGZ z)(`t)9Od4&AyNH*q*1Ur{>i3qo?-dFG7jb(Iw@YL&PtiRJflo*(sKyB?>+XyUK=f* z5+XYek`fybT`8_k7IIC>+^>#4B6B!8rta%dJocWB&{+bH$c;p+D;jWlP+nn4D>0|w zoSPq!o{5s8U*UKN7@iQEpsJ5g?Ff4U`+YZfXaMyt2+}I)66Y^otiVEM*;TXB z(bEeEdJMix7MGT;f;RB>!gh&RTP!ZA^uWZSD9+@hG`}1Gg3xkw6bAz$Lc*(t1~&6t zC%Ny-AW_T5CnWSh2g0_Ywt+7)9~o-NC~wIyXG!S+foH_o_Z(?oNxO`h{4LB;HomAE zw{KqZlAPt4{t$1zj zcdIpbR7TS`X6r18%}~ho6V+Bih1&s-XAJUpA67s&Zp%rD4r~0Fx3?8Y_k^mwoSH^K zyL{_b1ig?iMWku?a~$mKhuFl#Bw^!v9>smbTWl*BU=jlxPDP!|Ie%OgWlQ#=#DE%1@`Bwr^G|Fm`SR$t z3f9`w4xQkzk`*MXEx z-HUuQK$5=T54}&Th00;q4GZ#j(DH0N6avXIDR5za8uf<*0076OO;sw!^>q`!ZLip~ z1mc>XXi29L>8$qv&Vc*7HPgDpd7!4|N@aERVgmpTAf>5IbyYUdk2a%sY)lFVU6N9l z2HWP*WB2wyVu!Ga{YsSGmh^*Q@h}S>+uVUDeHVM4FgqX|S)Y-1##V_ZR>h3B^og+m zkxyGv1EwgI1rri)=AV?2mevKJY}7an<4{+f2GE@x45zM_{;CC@-2{xEE9>YG1QaG31FW%&oj*~clTq#g=eK-#i*~Rt0p#&6x({#$>2ff(%~OW+ zs<(K3H}XUUu5HK%l4mT*!#eQ`9>v*mY|oeL446GhnlwHgClBsUzKw6ga3I%ugZLmo z-p0ANIL#LTH-s}YGZ|P|DnpiYA&p=tVE+6@XLqIBOS%)-XX9rVoN4q-BRc_= z!{K(W1~5dG4s(b00S?Op=SRuoD|6Mwm9+SiqRCGu!u)?JYPLT+!UTCR8fUZT*3raA z6BeY0z*A3apNC(|=bUqDHbeX8&z~HEf|pQV*2u`PLFFkwuvZ=J{v&^fbT0 z%#A}l=a0Sr;6d+)M+aPed|-+GrJ-(aI>HEX`8@DGf5&O=MfQlgc^I3QPyO`sWDAMd zUTE{W5Fm-ZN?2G0dDjv)28L~hhL;8o5~(yT3Qt{VMsJI zi;b{pOjB!gFP35hQB-4Nqmt(!yT)`kZQ8mK+=!w--_vwUb|)Cn!z%~D7lCk2W!aQ3 zBZgz4 E(KVYc(C=hyVm?)GDL_9P&mR-&oH&BMLm7Fp&h1KKBcBXbb5lE^Bt~iX zh~}Od_Hy2gpF;~joQ|@0aImesz)jK_QLB`Lv$ABVQi3H>vHB+Z>mbW$L)8qOT{-aO z3q@I2j<$aa?7O5$pgi2L`|pPVN1HokX8v#NKIqxIz|#7}I#1kq$U!6xv_IHXNwBJM z&s^Q)MqN5q6;)Yk|H*WhF4bby7Ud{R8y?TkV45&MJOK#oEJRzto@5t}8&f^u z!u-QOQ5gAi`v(S6Ai_ecDuqZ#1SVuqR&Hw>V8m&ujg=g)R~;=y>H^ZXSxG=~rCjSZ zH1rcsio=Mtgx#t8xv01}?Tqz|^90#ph<%u49i}1Kf?uHnzvqF8TGxQ7uErWg*>0bII4R3m-uZ( z7porr@nMJh_y{01kY~_wfQNJ0+1dN{OUkIL3!*Dj#4CG{yacg;Ap1K6)NaDP@dXGP z@AMnhOg7{@`4ht2&YcXbtCS8K1;AM%d@)r@UjD<_QgIYs_fwViEdX6KXYJY-kaX|)V*IX|HTU%z(np` z1((iMpdCc^z6N1}1=~ng#Rt8T$Sg(ke}>4)!%=7Xi~t%dI1h3>-O1rXT7a`|LoFTO zUfY_UVsUfjzcLJljszPGdtoi1o0k#$1rBcRQ23+0 zz@$}~mW3B5n;hlC3f>>jc?WXPYHX{R&_>P7kWODy-{DARDf`m`@Fohiu1VzO7K%~jq4{}H&ETLAb zsuosNOGr!egau5ev2XdQXfr;^WO6=p1dyKx_Jk-*#LucL!fkgIbMx>pLcHL@);-C0 z>o<$Ah6Q!lH@~ou2^fSo;P3d3lsR~~#;;miO`$MyEo0$dOUQNb!-o$MLUM)voeayQ z4B;=jOS)@NV;K)+n2`QKZ6mf4OfqCOWT?ebU+(78wO&ffzRqh z&LNvu!ArG@PyeQaqxSq*lkPOyD)Z;x11hH`?(IuJWnB(yHMz%YX8ISD88Ni;?U3cQ z92_2G!CP6areOs@D%P}#uY;0_i4~~R}huZ-aB2V@t>m<@s++TUkZ2?Qk0f2&V+;i25$H$7B zkL0yldM)t0eZA-J#t-cD4>_7ykT}sz$*lW{v$p?H`nWREcd-K^@B0)+_&Fb*bL*GC z>(_zWme&5j`g+a-h>K3Keea4dZ5-j>)Gm0DDT^KCqZF(lo)sY4hYM8{3`hBb$`;nx z)Rw0$C7R$Ay&bPobDP+_pZz{=pkt&yS9?MsVORO9V+s{Z%~Eq?5VQqaN8|?IosjT8 z1-vja@k6sp7Tu!zAt@!L1Cj=u+}+=A+;@u>6zQJ)MTw)m4?gXJIv04q8=xz$*Z+V`Do83sYRbzcx>&aK3sTyR&Y8F3dCeWrjl zxw@O0V_u$_h*isVXssv?TnJ!>NCsSuQUu((J7*TXr(v+8P!Y(EL>dheRBV9reb#@J z*ts@HPue8q_JJ~RxvC$x^MR-vAM6p3vVPfqZ*FR|D;mzL9f}uG0Z#uKJWIrFaOEvg z&rjDgj%z6v)`B6n{7{K5M5_gcdh&W!#yt1U;BVE@qH}-(OU?6~x8wa8s}jEb+UP7@ zriIJ=`i?0JBFmSrU(2eiAJ+Oq8bW@z#|wm*a@!6g??B4Wp{^%;+h2r!=NHb-eAmh~ zRHp`0?CFS9`RVL-aTX_$Q0YyYKepM;^N(vFdqM7 z;d*>G=n`;Z4A*ZbiEV@=#v!|kNJu>X%ZGi(mpng{mrVThHmR<@{-WX+A~-|-)z0NgFC z$lN#rHmlA4SSYj@T`Hv&rdQ6%Z9MM#U4@Xr?+|45xm38tHWJzU5gsvTNg|=fDXs)H zG`H)`UBXQ^)u6Nu{x3u=1#=|z?d|m2O%CU)nk^?G{x%-2Jnqyle_kE?A+cUm^s_Bq z>2G?3@Uulf zlj{xDU-C%jO#OB<9H;B}Fa+1HSq^-yA(w*lEh*Q&`r?{89GNiuWynTy;05sibhh4z zi$n#yvQf^>JferyhD;~eYvYHMsfIw6=_su@xvswUy=sV?3LkzyJ6B$8R$4rkZy7$c zFVL0+vs|!D&-W76)+s#Vvz}5kS!MFFp4wwr21Q)1SqQG^;0mzUIH0rKunt&>XzJ7LPORIv3hKXog-f#6c33|G z3-b(47}0x?a=e7x8i^Wa9Lgch@XGDm$0LI7MORd&M*4t=7bplVQ8^|D(A}^a zOjr$2$_fx*StxFRnx+MN;n%(diRGss*!jz{|2wB3oo0}Z=u;2uDNmVAs&3X$hN5N> z+JVc^em7`UtjD+7V?j5Ien;T;*4)NNQbeaD;hKSlJM z;1FShEzPEXINVhtjH{Xk+PQ+ay?LWg5TWD8tksjFT`rM)g25JIp%xO}(H?CF@D}cD z^LB_j6-k=svViSt>}}Kbr!|x0)J-KfQIfj&Eg~2iqZOv+wVa4~SKi+2=!HaEju;`! zE&&R;7IJ5Kd5<=CuVQf--bI>_cW*%VS$gKy+&b03c{MmrcCksTjN2@n7q5~fyRdfs z-o%R}2mn8vP5l=;)s5UTk;FUwr!3<&{6A&6KsL_ceMH;+ootX3*dT-xQ;S)&f<2;F z_`b@W$nlaq8{6R+(n@yn7AzE+_tWjGrs&o$Hp4Br4pt_nZ1N{_qEd^nBG7Kk5=y-u>2 zl-r|b7)AmBw5vfu4t(?b?~b}Hr4j$Rd1j<`uL0x!dx`Y>no@yOKdmh)FWwdgLrnMbW9v5V6eqHKNrf7)TNn z@rpNwx$y7w6I8gtHez2M1^oUOO9GWI1qr)rmNwyEw1WQX{lNp);Q`4%q)~^P5c49l z9k9H@!ozpu%--(koka2(0mRS>K?uIc;drney?*cBTH>R`E?u?^<5%=R?+`dM#}fa4 zn)Ildvd`T{M=bq0U>EIV!|q>`kxG}(uq5|fdiP{+6TjfBm5*P?m1F;(Hl58ig`p~0 zLVT;MQ(#$BK`{Eep}%j|yPOlMcORn#n13-8PoLb8y7hXbo|@HDlWt*{E;D|qyZ_I} z9r#`!U!b7s){vmeJ2Emt?vO)6A`6A!5Eg}r%!QHP1Rf4~Um$kf`t^vDro3;N?5N6F zgi~+y+F{`muY%A&?1I&bio6u~q;pKSbL*o6>zzL5zD<=vI66Vat3Yy~ge%r!>*M&= zyv2iXn^o*aog8$pa!MY-HvVFJg5^Xp7TLn+4EY1pb7c z6i@OK;RoYQ-4J%G!I`9@UfpJ9%0l{AM`w%eq}m9ppb9~MCdxDa0SE*dkokm5L|H{{ zf(kl}kF4Y(D8d=ynnK9w-3yPSHT_jC8#iot1=Moj;i!w8)w@ zDO#tXmjmD0pi;%YOp8C)gyL(0n)2sFTi))yd!NV}W@Or!Dx<00er?%LS`XzW@(GOS z;&qPZ<2i^mJhxf?q2K~(rZp}42JL`VR0U67VPRn-X9^-jq|QO)wwq%RJbwTszVeXZ za}}CR$0`$-L+!aOtL*j!y@nzdEu`BIGtT3+gQfr-H$h$V56H? zxb1!SBz_qcTDjQX{2kZ~b{iN}k>L+c&LuA_Sa0b&{7S96w}1JyO(=au^|*g6N4;ZQ zLE-WP=2S3B6xrR~t+(T5>k*026}Xhe+P(+t3X#_3FI+Y7z2}-rQ4I%IYdi1z2f9Mq zEc*e3n>+dLW%gN+hO-W9j4Y7si54k~;?vE`dXzNEFX<}XAlReyN9F{?^JHWuU_pk# z)my{dJ)1-=E28cj=$!FROgl9oBo#s zC{nYLIOxXMz&7MXscsVR!r{;0k6-g%#;=y3q$?Y7{ZqrA!-*|HCeMg_i>*%)mplJ4 z|36Gr_oG4`*GsaKNH(6`|49DY)Q>i*HU+P%utb z6A_^>EM>C1_6nRi^f-I(-pPpxE%1QQ3HaZ4Vat=hRNhQ3ndR2v{=5hWNp!=8<*<2> z#3R!NKq#_KA7#xe1`UnwN5m~|G9G*nGQ_Nq0HfZ$Glce)j9%jV<;o7Sb)mCY^T?^J z$c!iS&VEwO8S|hrFQ=CfuLGY?*bk20U6{VP=No#iZ7eP00YE-@r!B%<23k4p7eozG z$~SG^j1kO}Z$GZOnthc(T&!$|u?Acq5@4sO43kKb3O`FPv<==aMmkRnPp>jKXsW!3 zsr}LBh~tf{Hw{G+EP#Pz+yX*e7$n_}?=&j>-m&=Y8}Zwl-oJ;ZMn{q4Nn+sqDH0k4 zWGTb-rVAyd$i3+Uw#N<_+N|nEzib)FvEU*RfKWX>HNrxPi;D;8i)EhZPrPQfAJUB*Vgv>7wnE*=e&6Fzi;_pnk9BCeiri+WVKEazmCY|INm^8 zI{!cfZoUG9RJgO$iKKwG7PAh!wV#xey{ z8P_|?B~BfTolqh7H?D2t2nq5bm7obF8A3gDF6~=!1GY9Qv^nka1>ngPxGU!UcfKHU9v&9Aj2S%*BauLn_Qc&6zEqrlk=$i z#@X%8)hM~|u;1sSj-OAyd@U=gBjL0!Y9>=_w}BD1HHKia4u zjFpkV7!G?bZgA=k-8G90spW`CuQYlK`kgE?&}2{=bAA*BFEftL^z$z1;ZlFa7H!Ul z)S+LSuXz}e4szjOYkt4GGSol9m?+z_%rrphwWd>RM7`+OwzBfY3UDf#8o&jR-0bIi z2&Kt&;>#}cieBILB{bC4BKs6u|6XY+2hxrX-e_yhU$1|YSWK|{1Te5ENXA8Tp^JVx z{;JtK*!=SJJ*{5p;;OfcmEjiF`PDi4K8UDf%tk0++6LzJT}XsscfKA12FHwd4@RRg zSJ;afNb^Vu-0A-eAQPh(uz=Ze%BMr{Q2W0HaPW?t#fO=w&fwG#C_sQI@T^&`(@GNf zLBh;LW&If#nh@O=$sMe&KETy-bWe;@5So=%c|;;v-p$m}?S^#e-LH!vcvCi)kD1xc zW`mb_0f`17zC%ZmcpBcTN=PEMi}A+=5~+l$auL};iXsE*nAhwE{x*qxE%k@TXCF_} zh9xTusQg7n8udD27HMU`yk%tM&DYnL?_?d~R@ewn@jLP3s_yl1^YZrLMPVvq3`Y{Q5xL8exa zCnMuQ;6t0g`JxA*QZg_z%S*5^GgmnhqpBn6;17=802 zSO?JtTll?H5J3je*ojeW6*%X$^FBBI>og;YRHMg?{g_se2n=asl%ax(WVyxF6VqZi zsic9|c?;Ac z$Ll@XdC4F_!sR|0d)!&S>6Q|^K094Z!^u6{8TXFwdU2({{?E6=m8(d5Z#m-L8wEm& z1c&9fEt>3P7;+7g)9EogcI@bjlzCZ-PJ4+2<1p)3)6k%Jag#6rd}DVGMA^grwXwt} zBMBtb)i;Fb*2PeL*N>kcFBB9Ylf#;oQ7h+$#f7?5n89c@0zCNS>X#VZi7eEgeAkgcH zF165m_^Lmm^~E~Qh~&be^NRdXFC`&FE}OF~bC+Csu-?xdU56Wbo@U#ydY$fd)t`x^ z6Vr;Z7^nhHyru_?%Bg&%l&)vqZrdyUWl`zaF1C(HVLR7emAJv(>=Ltc?YrYcR(Bt# zS7!7szJL}lfX4Jug|*rN)zUg76j2b4E5C1D%P%i0a}o^KmOSBRY7r7jMmf@7-(6}( zb)%IL)Q^DvrP@2lzVOrcyGp#M8cw(W9~4%NtQ5lj1fgBb^ur)@W?XANZN>UiuY*J= z&Rs7u-H9|PIwa?(^6}b+1MeVz-Me=WtbQqZ-~k@%L83?|`5Sg7B)hnsXx_Guhgt*x zCxOV>gw)O}cKXs{rWp^^z<&nc-)ACP{p*Z?2 zK>LwVFXDeYfI6KxQtVvW=-x~7A8N0+2nt=KCKc*PI)51$prtx}`&fRBb_v744uwSw z^UxkhKsS^p?`D4UA_3tBqMiNq4XGMr95DU{x=7pE*%@}F-|K4O_%+#oda~>+zYi$n zrcIkJ)}A?YhDdfuP^2yW>iXExZL#eijA@JT!`8x6W9Uu;+8sZfAAocK3LQ{FIPv7s_1U*v&$;Den7AURxIBLC-IP526y`PiM z!Ja>T$-I71z$Ad3uyw4$6T_F7Pkw%)wVr&Ef24T=?F!y8exjp?w58N`ogUhV8I2yK zlm?sAc&WpPdBf@vM@;egw;jSMwK61n+vhiJO5 zKE&T!VqcTQB^q*~>5dZX1f$H#;T3QG{T8ux&Pd$BeGml?!?=EI=4CO4C2Ki%B@_wg zX};KQX4G$D(A3Jp!Le@-4g&11z0=dv6b0aB*A%qswt3L>W|>Oa$E(=sQ)2^h`Su%P zIDLSSD2nJTc`m{Tb%dhze3q9D|6&CQCTQm?7}{)TK)UAZ^;&dh!Eqso=|zy;!Itlb%_C<|JB3Xc#Ih zJ@WS{!*~EhNOQ1<5+I5ue^PVluGQKBPp>cfaL0jUxy1A-O3Jd}d0DQ?*2nFYyq9Zf zEF&5zg+&Lg#n!vG<(qGDuHOC)-Tc&-P6^A&Yl|glXwxjeVu$9;cC%lK{ELFc!HDe< zeuyBFQ~=loJ9aUi7_tPDe>ZaMJoKIKN2orLa!XTIx`cvJ@uQ*`?l<-WjOwKTyH${T zNT3%47h)qz?)k>2eCwQ_o@Tm5R98J5Kcu%^`Vh|~f)Vo(@)qdpBoAQ=UC)H&UC%Z1 zkjiS~rPR*X`##IzDNO}8h=z=@u^<{+iECStaL;$|zhE5f?%02*onzja3d+Bxrn(FQ z`4lHGAlN9nsAcjQgp&XwakrJ2@KssFlq^ZJpx4X28<;h!7~#Zg2PC9`LMTVuF-TI$eq$Fm4d_8`^q{B#g& zb#Z!{T6^pA{mU<>No(q5@}Ctln7o8FT9w!qAwUuTUhVgX11(Ygo!y5{pV(`;+^DjR zVajX!nL`@A`zOeirB>xrkvXqpgR*@`-M@$>Kb=?canBSyCn|c^4_ELR98W_-gIfr3 z$W+rOLS!x#b4edXO{#mW##MYQBsxZX30l;?r3xr>{Gc--hO_} zr+j{4KWQ;{`Li8`rU+{wgM$dQmSQ2tAhoZ&n)~9qjCB+qD}_NeLSwMfJ9B1{lp`a9 zaE~zMMS>nc%UdGrPj2ovZx1%yvhE^jx5sPlR`|n8fM`Qci1~jDRc}@5|3imipf! z7o^CLA~m^{P=XnO4HbvXkn5@>IyNpG@h?t9;e(;RfiPKqo5wJvE&_E3`vivz2k=1- z7;MQ9AQsI?b=JmMfut2N3KRR8^QMY!8J|Dn6(LBAuC(LmqypjQJ$M|5mZ#_Q#+q^5 ztlp-*TNP%MpzM=u00i!n;xT&niKBv^AnD(L!TAd$X@F&$Mz#-gsnMWlhcU!*`L%uQ z%N-de+8HJSR*R`hpnVMSz8*KxU6`+pTI0hMv~~^Kx`T?{Uso;@HeI@DLSb4)P9Wp^ zsSkriQ^DWAM?J3kKOX)8pRXUDz-h#?Lo(M6oq%V62f5uk6OS1x%mObO2SjHo3uTIZ zxgJtChHuteA(%+$o12^4O<9{I^89;ZGv+YrW`pMxaMvR3y&QAYF?|^Z`uh5z&%z_Q z$7tDSr&!z7;#h=lF|WMb{m_!$wZl5A_SERo*k-|wm57-9?|d_!m2vZoS~geSjT^j} z`z6E5DMTmy^!HFUg8%RYNfr$ea&%=@MVHPBOw^_6w}bZSVtp5b5Kx!KF~L|?p5n04 z8W|p(1vo$gU@4AqPCpw;Uqm_za9rFXINM|RTDd~7m?rNs!>^%^d%6R~yhf%zMhXa` z{2Tv<8PPPgEUpZ~CnCFV;+46!{vD%5G!guS#KcHa7z-yRT>U@%>9ubE>({SQ9UuQv z$5Tm=ZPM-NCDVb(3}CY&`zBem(TW+wJK~%asb+kjGt$#+Q-dGYGl( zW&E{F7;5t!w|x_**zm;;55r-=m?|0YyL$ENfAahS%hD}N0tELTYx9Z3yU2hms*5%X zC>f0+8FM7H<)`dECIZA{Kd%%VOb(9Ii-H}S`CuUB*kM7dx`gxRrJ&bY<-4v%X*ade z@z&I&;gPm*H0fOy1Yy_)Ii*uvf1llVK=a@X!nP&tyX%9os;RwTZ5D%Lh+WvZ_X=s8QKHC1FVXA>CYIs*8tLOy6$k6Sk(P|O)yH_bxmV*Ujf0x~)7LVkZ+OC2`QEqW zz6B!`PQ}ek!;7s$0^kBGg^+0oDh9^z%FvPV7Wp4y^B1{zZ(Z57&hg6tBZYo*;z=sD z)>$wCYlI%jGYHIHxUVyk;C}gcVmEp20n%3FX<;B6eaG7m{5>^9XLy+=sh#ooqW8js zw&()UT+$@H6w|-tF$F-#w%F;uI0s~~5jtqT+7QkBTN+Jzi#GZsr=<#u&@-ehLKPeF z62HO{3fNd=jkeP+Zv-Roe2YA1&#B<5;)*->JNn}}p&uyNc=tMgNF_r^ODMrohFt})tH&muCsHDvb1HnCU{Q_J9M7CFT!Xb$vtlZX1TWjCuuqx3@u zam6z?fZdWH^qR1YBqn*%l&R2;`vuhnYW+6c95RzHqOno<#?_zfgFW`63_u!Z0S8}N znwjyDv1YO1?}IyT+^`yOcH%o&zldFgp!7iGi@@}hNkNSsSQY}l8pNa`pU<&RW!v!g zu5A$oPI_jGi0R5HeS>yL(&cD^-AHWN#65hto{SX(PJh5cY+iEcLf(wj2D(h)FN-C^ zR&4zUvh_WfJxX(*B@g^TNibiR>KCPB`@!;Gm}fs;g9juYcaajkQAhG9u}LGl{)|l2 z`Mt~kC2jLxAn1!Dz8<~19C*vTe-i4-8YLx=xQ-ZpFM1K0s|}?&N`k+O;%Ty)vBAH} zDZ5PpRKacDjzB`_Nm$!Aw+3q982~QL-6I<^1Gc#ejGy`|R9@qrnS{IiRrZw76hs#? z-j)Ju7|%lCB+ojdNQnbQqu~;7Bvvhuz zmL;2w*6}Q0T#f0CQsX0yPlC^%|9+ES=9Hd;L_))`yT8oe_G?s7cAiA0?hcfim0}}> zd$!)0{j*wUd;StCK*Oy(iUx|u8k^pipU?2qSlI*_oV&7Gk%ltg+oAQcprZaP`P;+z z+uDtRpX5gw`2V~REisGiYFPV8Sr(6erPFVpH2h>K{i2AzLETK48k=jR^TW#O{6B@A zby$@9*Y1Z-=};OZ1SADPq*XvbI+QM@lE+xEHr9}g+Ufu#YX;sOPZA(?)3423iZ)U_(Cg@ z@LHPm{ewvlsfH<>x$g5Q_(c&iowFP-7eri#)T)O9$Q)RS<(W*2yBC&D(@;|Of(Lfz zWhNb61G!A9&&M&-@bX%#CD}}?u_`E52B1Jg$G;CLlX&qZLfVNZ!}oBm5bbs}(nYx0GSBr5T6+rdieS5hWTuz}x1+%-8SHEUuk$YgT{d9d_ z1B(tfcy($DYb%vscI=QPVssTBIi_z!UZjs;iptOJGV>WYW<~gI?qsY$IxN%_Pyb}_UoDG6Cf8xv!v`i)MzJMgu~l+Hqa&eJH5B&A zo&?b#9)rI!oV*HBYVUjNbI(Kcuy&sxihSRdd#&cNH~syFzcOqJ{C;)f8=;S#G|Hl8 zO?>Ly2W~GkHD&ib*i1`QzJn4BTH~vVo`{xn-7z3LsY|)H3I+Eyo#kZl4LIo;?qCgy z&K!@DF3y3^Qi5N4P7r~0zi9kTXN%sx=0Ly(chBbcoyQ=8cOU}0j}jlwLG3BjY3?|M zkOPK0Cm#5rjd-^}!4rk?a`?_{*GDcoCv5(X4AaG9b(Y`_^w!}mOO(g3bBLumWWpt; z9M@<1f+;goZIR<>`vR}>k9}%P%v21)y)umvHr^xdX4I6=?j5`=3Vrai@R5aoS*YL_ zi*c^nK9Oru7NK8eriBd_N;oU@`=Qz!WKzNe$|X62m-*o5skxn$wNh(6Ny0@Fd^_)!O;8TVxv)0^|4x2pQngNC@#6}acIHVW7`dGjyKjz8C4QM@B=X? zLMep>k32N?zUFDN!Zx1XVLdDhtU#PF_oHIbG`if&ZorY$ODu&TolRjcIkxSWJ%^Ug z-PN~|Aj(V_x*P&-9jnjJL=ZJ9$^sT@h&l6}-?jq)g$jChVa8nxCRAj22M>sl&F$Oz zz5x|Rrz&ce{9F))?{7U){@`)(_G-zz>*wC(!Kl5tZ%pd#ruhA3j4#@waWYJCs_;g8 zB^{c~JZIQqqup6>pyx5oH z{y9U25sYjR{eO2o{8~GzssA~Nf2q`3diC&&sqo~YaBZG1`3+U4myW|6cC7y7ibIy( zGIZ{Pm=z}4zbDQbBlG?bZdmRXySamG+6oLfh|w46IrR9$JmeozVn>!vrh5!~lOKt? ztd`Ix&r&OC0$ph~?sdy=*uPjk45^)*Exxy;@BR4k-@T{YmCyOc7;YyZuEC<@wPA_=eMJyUoS5k^S^eRjQTU%o2yI~u12;a0bY`yo_ITYlQE;BVqU9nisP^0?CAi0|NTc0>{By|6L~!@D((jKoh4G_MH)H zjSqr5K*Xd#8-iU$KZ%be;@Hw@Z`Y?aB>OBll^o2jydNhXmLv|?A#|~)Z!`|2q8z!f zG^)=6ZAV}P{WexXyYwxz@?dwDQ7MI-@ggZQ7K0B3;XMQP>rCBPXD11YFR5QV;|p=X zg*Q0d_p~e;!`T9gZ${7T6Ez;#hO8CKm-x!t5%@m@J)^kIZnKQtSGJs2uMmZkimIxj zjSVMkzBrwJ>jgk3m0Yh(rxl7c8qq?(d92STx9;aX7HTHlCqG?0fVbb<5K`iYbK?+O zW)`L3d8kGPV^f*`zbEDutFYK9+QxCSa7&?Cl^bHHcjBw9?jkZz-fCG~G43vz(o})5 zbIqJ{XT~SJuQiz^wH2D3gzPOc0d|APPOvXn9CAE)ovskZ;yhT^( z4hxQB6dGIa-ETl+;hph{O^J+r^QqZXS(<6$A+s*)ht4>$P(AE`fOc}`;>RC9Jq!we z_3>(BJ4ss&{!%LWd3&jYS;y~I zZjSCq&`7^0C3M2E>ut578SWvXz++H4^yBoqj@AXZ+YY~ ziEpqR)0$i!aDLRCnLp`+PySE7+F==LS=$DzFUQzZdDy>BIAu|d7ijGEROYi84ey-g zsOfxGwRo;tJz8OzaeUA#Yru<}vU9h2LQzLh_HdE7k11(#pMYm#`rRr=`In|6Lan3 zJ6z=a^=y3KyBjPmJH#4C@UeD1;806CD45WMH3iEfUGROq<~{9)ttMabUBj(HF6guFyfY`Y@u916+!kFeG)$PMQP%yUBEQgO zb3dBNwFPjx%k~4;7I$U8&fa5ll5p|M_PJLpj8o-$HGqjv=B>Z54g2!f^TuTD`R5yX z)S0$sw8^z32RF}BQ}+6)4|^yRr_cnhkSJyzhQ_DqhGl9DH|{D^yNK7JE_ZQR&sN*0 za5mzcs-^7Zpr|vJee|ho=RPh)Ui^q8H`!f`D~*a2&J?$z-@1etLCDzq)0v-pS=S1M zWRFs@*b}V0F}8v79MzqfX_2pYK)+Om>nCZcxJ&qGwePg8^Rz|(z70(7LN7>^xgHsD zKQ`}d_8$^r``nKw^PJ#?Bek4|-3jUN4^k>}EfW-HM(EA~J7@FC6&y{XoJ$h-ml#91 z&C`OOX7YK}Svw9!nFh4r7Hdwy$MUDQr$sKD=5{KL1Z-G=UxuB27qxD7Du)P$0@Ia; zeC!c5`my6Y-c9#$zCNZZ;%dE60tTO-6NGXe_LDIew=XLa`cmYHGGv*7c%6@CvPm#J z#R|Ktn#jfs=Sdf;QUfc0_I{|x_=eMZ*6b7>?g%+<1%9Y;OxJNLwrKdsLO2K-pH;Q< zh03I__gt~`na>iQ%2!+4&DC2v6gm~$n#;kSO`%+TXS}VKG@y#a#jw3QD@$USgp08D zX;hoAxg@VmNKD)wq0_wpmm8Gv0dy+TM8nZ|RMz*CHs!Sq20g@NQm6>+*typm4_o}> z2u2Ac{l{8uG9>SaprLeu@zOP}y;(P@lj<}l zpAsFxYnyD|NX6`=AQvO?P)?Nh-m7{lxWLXIj4GFm1INFN-i{jXrFYrE(p#Zr?dZv5VV|VO;$8iDtFrB1Fs9qUHbl8jmhlVmrQK42J<0RjPg4-TrEs?PO%A{Y15=8Xvy*zH?ic7 z4{F~c=kdmdMP7X@R_3P==c|M6hQZvP9HkKD(JMuq@?F@9nGg>(=YdTnO5y@52jpO? zo0*Q#X)%l`;VPZ{N=9ZFCs@_D`srIe{HlW}a(6qmkflX= zKk0ZD0vi*$;8*5!t8ZWNW4TecD0|WrTVV?Ys>mo(CZ*%H>r1SwJ#4Dpn$X$NePvO~ zQ}a;7HSvnOetUOKJ-t!?t|%V}j}!tNWGBCEz{1Axz~tzbR$&Vaize4Q3E~~LWb<)f z&n`cL(VcMHOW}1K$%6mo?D|R)#lWLyqnHIlTPJE zJ7Q*&WjAy~hB;m3(}T2Algc6-*F;gwSZqPJdS{<@VCmaChjuV)`975u5^!IqHhj5B zOdIU?eKywOcP7h7qDj(*+sN{5Ag}6ZP!{LR{4`R+g5AxZMn>~pTi7%XbK{8p$jDJWiolg6z;>R?ftMGGY>njNc z*&j~s4SfX!*g2ZYB8t3TR4TT7x@|z6X}ak_*_NkS>0UV7Wrd?#I(mKgf`7iYr{&ds zYL>lA?fi3rPHShly=+*;KW<2A1mmj3qJ2ull{)!}3Mb*3i(<&b!~y2O=aW>-RAnuF zd$H;w`HR8aHgs&4lw%cR>CieGF1%bN9h;K8IfPsA;}~MB6^%7-!{oXhicaid{WUic zkq?XQG$EgL)ze;4;kte`^-{dWA*4c29iZ)HU)m+;Z<@qK*7l7q=IolgQ)-Z)jPJas zZ?0pt<5q5${>t>sw}(l8z4IoaX=S9Kq?Sm?Pjbt*3^BR=oy%yrgHKUW3F}E|Onj1V zSo0DG5Fa^sm1A?36m972v~s#9jQp^QbLsVhWm9NQR`~WX1*F$U`mf#3u_4l<*P)o2 zCJy$dg*_szb^&z!(&g8KO!yiHLyOF=yy&MG(RfOLu+nno7I=S*}V#-b)Vaz8ck~CgP>UV(0o6 zTrLz)NR$yfUydeyK4~4RDxEg9=5F|5?8fcAd1s%Zu!iTu}(Y3u9Bs7g~a0d*T+S+sJ-XAX6f&@YL0HK+bT$D#pBc1B*|(DnV#plaaY_? z)p#pn*AeA;k<+2kPA{bC8k5cJ64yymLG$y$sl3R_NdoZXu?=qWQR^f~tGT z-0p#jyRP~lT5tR^X)whTvgPMG*vJw6rZj=(A)I`1`HEvbVQLf8(yv)z7T+zRbHm5Y zVa9`prPLu|XB%U!CoSrlbtkz()Gq%OXFAPW?7zx#K1kuKJ(dEGtcTG%9)(}J^JY7j zWERl^&lf3md<*p;@rnA9aMV?7O?o_OQ<_M^*Fom#8uA8N`18IFR~%(zG-I~{)~oB! zpKUmO2Ab*mX!!za)yn)E(aL;SwWdjHUiwX~*NB`A@d8Ye*SxeDg8VRi0 zjeI2e*~+|1(JCGI^&gbaf3u69O=5c-f;M#R@`}1@Qt_n#%jH*D?kYd_6OEX~VaI4x zkrC4e^OqNc%+h$ieCWD?>qgb0hP`l?P29LP(ey^u0orkyzcXkdvr~T(CEL}bb~+<# z($;1DHvKP|NVp)6<5jsL4BQhNFRzvec5}c{&-=DSK*imJVNHm8w|ryT*8y%Tc^=e! z?qP~52bOdi&6*n}bxmgd?bTPJ1}y!uSaKEt}N znTY82Z9Gsfd}S+paT<0qr{1VFkIpNeDkTy3X0k8IOH!MdHhH?V-E~Ufu!pW8&UjFh zCtoXZK{)QJ&eNl#=eL5G6evojXNPHwx43cz0*Y$3eBbSTrNOGM3@Plf54=SrZ}!9| z1^OoImh6{8Mp0oTWi1MR^|=zCyT{~PC9qw{CytIVa8e@+71x@sszJXS6kAR*+>)9z&4GtTrSRe1&j+JWo!rf8|D<2~9*_Jx0~3!KTEpy~F?M zxo*3+%e!M=OB{{Qm6k+HbX;#R@%owexnL3<`ttmGf^WqgS2fz(*G*trS=%gxD=0gu zY3tlrJ?wrQ5M;X=y}7fhuzSM8`O-fE91+h|$zVCLU3VkcJV7ZYX$kx2{ibGl&>H&` z?P9Zy`OUt2<~w-u4+<66)#P2H$QX*MXq?`hDe|u_KR@V?dFt4LLC&>oZCZ;#ouPdS zItJURf_=hJiG#Kz@h}1>wuaI9+tWzhb>gxP0f$6=Kk~!E(w2MCo6X|eF`Lf*8A4=J z)E<-T9;u}U4P0r`YKc{v)p&jZEzcL{(DR<_{Fuc|9F0M1xM%${z;tV&$@ASEPwL`U ze$^L$E|?!>DaEJ$bNGXFn<7JI@g`YpZaw>a@M>AFb1o-PVyP` zEzlyZ5aRadfYXI_(G?QXh#OUO;R0x z2iLI=^-sg6@0UzF4Mucpo>uIngSLRJQAUfY+We$C{nb2_GfI7+SvOweeHf$j*w5^h z(0!wv?&$VfvFezvmYibNFtq*)1&yqM(*6bm^qf{M@DK!jfHO9;v4L z_x(qUtw_wr4*GeHjK0-C{d!d~pSPN#X8gm{JjgPm=}}LMZ-+onVkYqvT5wWVNAF@| z$+^xWcPamvf~8Yq4!1tj!PCuA%JI(A`M@rquE|P3R5dX`sapBYeaSjOOgV{p@I7-m zK30@ljB32Go{ryTqi=0FRN38o2gQNweu1|_y$!F&>!D!an3!dM(3DYhxX?Crdt~et z1@1d>^CbNrO%5$^aF>;$a&GUg$u>&2Iu6nEOpr)=X~JH8@oo3zI?{s0D1l>! zG1AtjoK&u1n3(X9197Aouh$C8a>9)y_O{J0?kg?Z>y=qu)`8ku*jGgRy?@$HF;;Gs zbyOT}dsp)dcC+&;*Y+0W59_&ol&>Q$I_$wUm!0s3x|8#oardq*BB;9j>ByTU0!+Of&oUn+!Ac)U&{BSfFO?fl3Zpa-DK5YNet>4zfOy+*cM)cm#Zn4HLdfv3En(sf@@QB}7f#89m)f$K-eptXkU4t%x$>UlEo0v{C+$2LcctNNA!4 zmslitU-YV1Ar$342nRr?zz7OtkXpU*3P!|)Q6tp5|D(F>0Z4>ZcOhj-$joN~4_I6T z;G4Y)ib|HiEp5m=*c4O-%8bYEpp2^!z?K2&`vE*Z2+JSw*+7HkW}TmB?qP{}0}BXJ zK{?Nf*c1WnP6due!0**}CQ!rnW}sJktEq{}BWRmjgXT6u6llVb-GlIEbF9JP4IQ7x z*1V0O0w9_K>g(eoD1A|r%+6w|sUynzzfMwF@&v8^6?y??7)WgR?+Pw%W^0g;ft4Df zD)n-Q=>HS?qHer(q5-bVLbtS<$Um_c|0RM-s^LE;e0(xPR_FEu;&5WXlxhXM78kcS zNA;!u5MDi=sHp-cdhC~ye|pHj&)xJq^@kbre;71*tEVo8n^IS1X0ieX0f~F;Nc`hE zS@xF$f?@693TB|fksg=;rqe-?PQ<6*k~NaDajjulut@H zom)760U%y)`fxP(S0G}kK^&4S0c$Ix8ql0-%lNL2MEOI!0TMO=KNp{r6b3c~AeW8^TP%Yx8Uo{_ z@C}MhqQFBWeYjMn)S3b!1-kP$T_mo6W1?me8jM&LAT$Cwf==!bVjtZ)07Ra+6q=0? z^_h`Six%2n5P1d~inSkcDSs}?-{65jjh@-p3*V!g10?`pkBtKL+cFaoJT32rhfM&( zYk-NnD$G?kb_FzRe*#;)!6U)ItR`1+o}E4GlWyk%!=JpAzfD3ExX>x%;N)zc+i{voKoxa$ zF=@z*bpCkp`S<7Ybn{=c9tgWmUj67;WWWyrvV?H%O0D%O7*UqsnU3g}O4k5kBNf6Q zJJ;FKK?Omoi12riz3B%(7uPiu+tN^_CXD|X@Sq|onx}Uz1)tQS>rjwIetwzbtFDbV54gQiw@{-SX&qwz2ug46~{Avg(d z|3f3Yd^*Lt+HIN`#DI?$x*-t*I3hMOqukJKMj^o^C`4BavRLgAgtQ3iL5q=Opami> zFN7!p7>K?UB9J6T!UZ0F{TOvpH_{HRc?v43P_Q#h02{m+oLX1|#iI+uH^C5JCk47b0=)-Qe!7w)BFlx7C z(zBigPoWVaKM<-RqA0W*c$?L|10Fd9p{Ep~_t+Lki+t^{~IgccN*IUp%_z$8#W zXs3wdY7(xon6&Lk3O8tIp-->m;_`O+Wad0epF!)r;VNx#zc<163I}l+5lGo-Yin!6 zz=-bu(4YWHBQa2TXn@Jei=u#BJwAwG(y8)VP6d498dM5m@YyuMjm`l)9wQ%M2!(^i znHbb*UXO?CKgF>MK~*LOt`{xnn@`0-W&bD({$pweF*`Qo+cW_nBn;H1M4(GAwf?>% z0n7zUIDbvRCkq2j90}YURGd^%Z{24#6ew=m&YT1C0>w>l{S?{28U*)JtMLx$K*uCR@kv8ErXXRcB-dSt z3RASOc!9*T!AM91HM89LYlZx6Pki~CWp`pNGn<+eErE3uT3K0%#G)aF4q!UGJPs|! zgGY!9V7Wx9xjK+`Nsq*Rsr(3qD%83h_1x32THygc5on{4bXgeZcp$ez1t3%x?p9u_ zTYsN{sL6hViT;1FlKwAhu0)%}m6k<&QyK5`3xKJo?6-bqq zmac(q#em@>OyUr&2ZCDsnN2nFjqev){pxNZOuWd!Ep&ko_6(sSMD)YG3`JkG)_^ZL zViw5dO^7)G*gh|QLw=x2o&{D0sDwU11R()TiV7jv5>(?4Fqq45LL%V4g2cz{o@a<@ z7)dCB0I1R#Wv&_?SPS=x0N(II`J-)Qng+l4C1)4m6ab(M>bY3b{=vaZ@J>MdNo`gk zs7w*-`DnoA4Mc};TH}$w<%8Hy0KV(GK6womEYv_N=oNw5M%#fvPheVav@QLI9|BYi zVEmaRAA+le8AucI@VM)DX?m1QiaWiOg5*dXKo8J%#4%q+ju^ozaWm&ZO#`;=2Pmtj zZvR(~2(TCI&l%VHh#>>xFvyTZ{hTl;4(gya$-3^l~24-*3kc<{rK@Ek;Xlc*_6gp%~#;Dqn^ z5Lr3^he8+%PBa1lla(Evy9pmCI|?pDxWjH9{-hcygJtzXBxrSzv~namjm2+{eHg}i zB=J!MYWdP|^*1}zk93622GF1@zfO*k;gB#i1jMOOJ`rlQP~8?41PdU*N)!r7wF1(Q z1<0nrKOgZE9#0F1zcBb!cy(9wH#=lX{{Jzn#R>)MT^k?1-_CxFRIq3Xk&?7PB_*Uo2`QyJRdgvJqS7FsARy8pT_UBVNVkB1 zba$O=>bv(Idz|zA@vSjjivD88^W67U_w=|ab8X*ln%yKMB>Qe$zba2cLb`xo%{#Z_ zZ=PI>_rz}k)?zBw3TAh$?e19WlStpOHos?Pea}eegsr}%m64h0dG>Rh?3`y$7+PDK zTM2M*-2d-au$x&LaQIoOSmIN5nO|46A|WBWL;NEBAR22#LgM}V#??!T_HV|z?CgDS zt$v<13t<@UJ}RNU@bcY>osoNwJUWq0N_n7I`JwW`V?Vvlie21haU%Qh{(q>a6b_!f zeu;OBzWZ2PK|?Ta-K5W_ckkG^joL3exh0L}vWmu9D~BM>+TFI@FhUo-{siV+_At-FM1E6L0u%=}hV#ypQME z8C&A*+h3KkKmNca9`&lU^lI&!3kqHDcFO7Az*`kRwzjI2dmp`~qHv+xl?jVf&oVu{ce|GJwAe&;|Ndjg zk6YNX4D zk^OQi!=jtZWNL{4VS;w@_}r2G*Pf|eq9=QJkk6fxRf*HMk!j9RxVN_#U#6q0o3p;q zal!m2$#(aLcS`=9ULJ~wYBG)&)R5cnv^Wv1nP0v)2HWee||td zRQ2s!aYKXe=Gu@b$yG72ck*#d!?6((W21wE;j)*Nxc>fZ`lr{^zU z9yoUF*v&Y_4~i_NdE=R*l&49SmzVSBo7K4uzmtT?T(h_5H_M;io|BV9wff}g(}rYi zQ7;?aiWg$h@~R0PDR;KA_vX3Z_*|$xC1^KM`t6%XL#%8=q}U#7 zf#a7hUBZcMp1g3Ot#9c^?FFkrDSWX?p>s}C3%ewasb)1GlVUSxtMkfm>|pDa%a;$I zzq>asF0Q3OTwHwn>1!{}oISf2$J3Q-LR|1PDn_| z+{&uIaCJg=s5WeH+%xifqB`H&`nrdY4_|U!RaKOJRRGTGL3OnhNo|B^-S7G+qaW{g z)z;Q7t*p$n>iYQGZ;G8W&QK#KCqJ7x-kMr+Y&64dN2KEoh5Qe;=>~P>hTLg7WxLxm z@2l(NMMThPyRGwF^PwF`uM^Q7X^i{lpMRzr6=bI;@+M!udGp-I$H!q4FY%w7vkrG0 ziQ8RaJKZNntill9`;}y(YY(ELTsHLN6%>MbOq4w4w{6=dwDi;cji_6=MSppHwuLTk z-+6=Dvn>v|!QayKtL*3MuLX17*^*~FuG5^LdQ8yv`K@@RHu{Ah`5P;v^v(42^sjt< zOZIT&UtFB%A}-Vgmlf_kRA+DF5|6cK>Tvca0sU6~u6`(5u&t!4l45Ti_rdGFxDbLHuNEJ7*{Eva~=M0*_h@<5#M^-LtnFqvQmWBIM3VSm=1)Y~tA{&PN4xSbdYEhjP zZK2Iz_gm-H@vKVR8p;f{#OFu(YIPzK5)#PIO|+(7A@xfx+Q_~79P36&E%Tm{Rzz@c z999DpRw47e@Uszm>FLOJeLX$D4`qG~oSX+f3rT&%PO$#{{o!QcYHhx(r6rf!+Vl=t zk!3xPn6~H7_Y&7TAnn($UsFHb$zH#F`8n5SbZUM+V<6FgWM-hsd2PBPe|a!8J158g z*};@yM--`Tx7U`YsYV&4f=E737HyhJX17E$?e=Am?t68O_8pdC^u&4BHTy>6jOBSW z9qHS*Z^um&tGa^D?aeh>hsP+S$zNJBoBrK*^lMd>ZfCXyKflI0-v#svR3KB80I~jg zuYk{=FRm<%SJjDbKCd_Y#1eo@yRkMayM6z$>+37?HKXqC?nk)vcA}4E92Qu@zNpW$ zGuv40*_@eckZpK-X=}H`&~Yy-0YSmgBEG|W&(PD?r`)-cpP%2FWv1a6wZywOn(i-GSi^ctVfvW9y z{n&$L_gknZY|Zga#xy*}ihZsV166?zKOgS+T3vmHnR)o%#p-0caZeVOcn0YZm4p`K zjK*Z`&42YBdcQm&FET+nIK{>`o=e9h>5K1GQd06zAqn9z`M2KiS6`VI)o9Vm2y0qe z8o$HL8SJZ!>%U0a+S;Uoxt@IgeiN<7)zx)rb=5Z{L_$qX&0`dQp8dR)EX96WhXmE8 z8pYtO$lSBgr)!E=Ge%pI>ArpY<~-k|tUqyxnz{ltcWQBQC@F7(E18bl@Boc>xrWK+ zLWh|V3ToWuKe1B5m-Y1Cm-YSnr8qLbFy2vtBO~6CGZY^GQ!sy|HC6YlX0BgWk856| z(`v*kgU*}li$vpKQ_obf7NF##9u{K!*oA(eTHwgTkw3Mi!iUb_ z>&ufA6ci*eA$7oJ!Cd;gnVFf-Y8Q4!miYVlkdX;Zk)X^R$38sMk$GQtV{JKFD;CWa z4WmRybDE*AuW)TflGb_ZQll{smV1AEa$z6NDsjpwjN6F(e*33h55{mNtB7!6rx|q1 znP0xLX@>QuMp}~V9`8C-tuG&dn)h7%G^1?zd)4&2gYy;^7Vl$X$f>B5dY8Obu|?3+ zIqIGAuFE}5L3>i+K1p3>Kc4?jadB~iW*)KoP+LpzS-(57IB=DfwDTf8D@WQ}XJ=-r zqj-}lzI}@;6`^yPJ4j1QyR^KlO6gTpB+Aat{)XQovNW^5!l(b|&x?kJ9~?BLr1oyE zPr3~^#Zv<)Dr-4B=`L_mUt4oq8D_*CDF*_p8AYQ>>gX?$jS%6#aN(Tc_Y=eocHh2l z38gvFkt5Rhx;M5ZK%nhd>m}^WAT(dQPKzDDPHe%!!H=IjIftG2CM;}uzC~Lyab9SB zuHl%lqo1<23o2>N+e_{&#~OqeJGWx(3Vp_p_E@8mdzI6gUmO=yNx!=f=%mmzaRoc# zIjwLAwYKxCp>U@cw8D-*$H!etW*5ghsNa_E2z8hpB#l|r;lLKJesjS$P}?>5?c2BV zi#gb^--oT80WhdCJ`=k)J3E`aWSoZ2^xnj^X*3dDZW@Q-=)ilqwqo$fH0n?|=@%*8Nm1G1Gou3|CS2(`)$e-~Goci`{n|Ij8gZ z*5oBcwzyQU(94E~OeW0T)Fo6_|1r*y8@)9=J@vE#Ce7fb(}d8jMV_U00F-MRZsKr1={tv zwB+}^rk7m8$ExO9Guw#W4i7X_N=9Wo>^U2Da?dDmdM}!?eZDFbk-F2yrhdlOm6RXcP^I|Yx+~CF4r4! zOJDVl87p*(Qc_ZmmTNob*k&Jn>pWGwgKFq3O}B00wmno#(xJS!xM{q}4=vuU{vr?-$Fpn@mFOl>PSgYszqY3(KT=)+qwsh>fApJ;IADyG-=-^q8W=z2(1r z`9hJX6p#MEDl5AF$#P@O!D~I?I9HBYk4UuLWVdH%Xed^2r1faCbX%cIp2KRH7d54< ztZcN~<_5ivbEf)y9TVCQ@y;LU?gLBH{SqoFDsgUP`uhy> z>TTtO^(0i~PUo-9R1qzww7fhZNFz!>DwNmz!w06w$jFa^6eq8;onCA$W8+|CdH3L^gGJ+oG48b0cG zbK+4_Qc?m9JwGm(nR|u&@-t(`|FCs@(*Gj!!$Qitqw2rIhJKQ6Z#pC zCu>EE)JXbCSJv{%n`Zi^rF;8@-cMl50yDaNwEO{ z>C?3@>Noz^8}6}X9ql?5P;2%7lo~p9sV|enyyFJ=MekCyV`?hD&H3~9@9QAjiR?Q} zZsfELwp%L1H}MMyDA@;PK$`f+!NH-lw6t+$M+=kZWuO;o4lTb6XA@2g+ztIvSyNW_ z&*oi7bP5S!vov3%s8&pLx2 zE32wX47tf^Xw*g{49vJ`zTxL@-)@lmQNHiIXLUd4f}mhjy&=EbM!rJ<+ee;MZFP4o zR1B=9v97#8VE?Q}U7$}vuNH0BWqN22=a2H4>H&=m&I^RSK+jvd)AQ7c6C`G4X4tf~9cD$|$;oDMLtkrZ==u0s z)&zuwk8|4G!%LeB_w5m@P@WUYc;y#{HN@v$4BZ5cjtd5>Gat_aCURkC~ z8x7p$rjeuAhL_+Xw-)8QHSpEUwt9=7CKFjY0eRtGS8hgUg*Q6p{Ai2SudfHK(#t$4 zS)W_jsIU_+8ZSF;-zVdykJal~T~`1hTA{K)$kO&0k8Wzca^=bmDXC9Y zerc~>y&{yR@{LnURLp`MD(a>eE?gkKaB9jtbaJ?hB{C{1Skz4fTFe4KcPwO1D@NJArEW?Iw=B zd-slhgSMfeVS08p?~YCpb4VW=XBEm(Ii#z~utqRUm%DZ0HGo4&p^c<~aXwH-pr^6$ zq>ftW$_us_ant0{Q#ggkXTC~Hmv*R1eEXKfU*d_odkLFE#5z!mRG5H2deEz&pzG%5 zoM;Jpm43`rSv^GQ0xH)ne|`sd25j-?*x2)|tSpC!$ieTCGY19~f(L-9&I#Czlt%f8 zRN|v>lvkqa4^UCvZ5dU3ihW#MOzJOjYoy1_VUtYBL`Rw8$>zplQG!~AC(7)pQ>Q9z zI`bwAt5CUBi(G}r+cWZdHz2Q_VrKUE`SYjezh@t3dl3B^i{J-T8A2n$yZ9}C?F95; zAs8tkcvV#F5R*I1V@v^(Wq>Z;bUZWV3-CX&RdK0oZJt_IeQ5T1k5lQz`qp2b8OYAd zJ9PA@;dqu6&fB2gcyWa6wFSW7R|v8AxLOoorASu zCKemNe;Y!N!c9HJ!m=AmqOtKuhgC?CNBGU(F3+R1{qD>;5Bdkx^#d{?_~-p@*NM&x zcvF3SJ&8u4b1T*E4%(fnW?XZc}Rv#mMbau3{Q4uf2>enwfUzsx^&hGZ@ z6QE3;sHQmD;y#zM($cA^60-i$Q7?&TE{?LEj*R`s1+GHtBIMtemOx?pRzU|ocnYXPpFB8&g>y58NpX+{kUGcz-WjUNu;yg%J* zd(C6g?57$7$&=8(fS`lSQYRqRf~)im4L!vU(#*BK(^Kf8U)Z9qnbF)z&91RC$Q3=aKSLqb zOX#am$Ufcg2!M7lizSe5H>u@CCVV?L5rXasX!J*U?{RL{)qVYX8}*XVeV9DIfSC=0 z{((g1_ommFi8XaoxScK&4cTX$H2~+$#qo#VZO_$H&GiiSA=SP7{TfN9dXl4*~_I!?waIM6tmOa|G#~ymu5fNv8g&3(jI4PjR zeeT7dp*=a^!jo3h(Wa%RPtVM-%!jlvQ~)vdPfpg=M_tPq&+Isxc^`Wa>jC)xAZ(BQ zL4(5|w2MU0J>Nso<1Yq8OvK;#u zV&_xbpLQXKR>lbD%bOeP!RHP3gZc87sda*=ppoi>b_@nQh>YkMO)jeaS?o@#z*-Le zK^*BaG>w`HR?jcz>x4=mB(~-|q?he@Jkgb>t}%+jQBhUpRTIhw{l92;g==~avp`*w zUU7JgmiOz{vcyu=sKMXQKNi{Cvc7Mk(qQd|eid3|XKwyhAyx)7mf`^fDMAhdACZLC zyabZ_t)^xmwSso*Te&E4!;C+|bGZ+l_QK==7Hn<$Uz#KN?geMGGkbQC?eBf+J_Duy5j08f?}$XZC;!&d-du+Q2Yj< zka4u+pG41!LW`j~|ESw#u?vVn<_*7GZ)v!{e;FZvd@?);>|*6HUgl;>0+KqoxiPtU zwz&XB_g-iAD}!){m{KQCFE8DhU*F)!9HgU@y>y9GRaKQrU*7k6R-FXZ84u0QN2p=! zY8A$+l^y>;X}*FV@x81ztEsvbQws~_Jv}{&BAj*l zz5V?q`3|!|{1&HROAxwc(5`e4j5Cak1g%RkX<@e=Z{HSF&On`oZQt!UnrK<3mq@4* zZ~~@l1t+J_&<`CyE?pJC#-;;1fed%Ptgem>+X<4s?(Fdqw{eL(K~V?QNuzh|+ZT<72ihH?zV|b?^(2}i z)j3rYpzOVLB5$73Iz9skAqV2`qq^H)?oDh)7<~mWApVRPE3b`A~C2$lj zopM=Sh!*pr`fV)$*_oAMu||sAiQYHH{v=BsvE@un*$Hls>rS9BoMnBwfh=6165t9_ z7*o2ayF>>k^eH%K=N#t@fylmqm)8t|l@O4fuiM^T+?%EzYlXbU+SWD(RtKT1M)vz> zW%1#vJHr@x1F3@WEUFotIC(1UAdW+|PIFo`CFDn6S&|*u2EF-fYm~c?5 z8&Gu62HgU;W7ay#n}(+k!p}(ofe_#y47o%4Sw8L?8XOF1@#pOtBg!Gs*Vh+*L`8Ryn9@*5lSvH%}3vI^Y+u<#yg&znS%LC$V zVsaD%5Qr*2Kio=*Jy%v!BTaxEKNu<@b$pQ2w=uO42Q|wB$P~jbD98$UU5N!0X$>QY zkl2WiTUxS@Htou-#C=P5aC2fP6zBI#OG|&G3ob6M>H%K+ zsh^f*suWKlKB%Y!^}+C-4o_xlSX*<}$99sqe*IZwy`dlW3QN3lGOt-trWB=^97^Cj z;uxTOE8}~ygknFLw8&UkTFOJLf4{cW??ZgrOz{pnzh&3>%eXd>86qhtG-~#>tU8@F zGtD)M@hb>^9~;|0JnT?nv|4$ZgTrS~Ve^c(-1MSJ*UtG@IYU)dw>eYbF3!F@At%xt zppJzJ=L{lGWVtM}(`n=ah@t?=kXLS? zGSexKg5CC`Qr@R5BQ&3dD%bmcGBPs4>Ws}TNtHmaT<-JY_$av7!uMsV*0%iJjQM%5 z8F*|@nkr%4SKQ`2KuKv+Qmc2lv-(V`GO3x7Co&ImV#J@V6r4YDmm%x$LF096{6)E; zoGN+f5Ig0*5&y~oZ5{CkPgKq=B2Rc0KHb|IoU`0?^f{5BkS2GcG`IYRFKqad?XeBRpirRjaU1vFYmOdQpqr;BoucPHS`0EI^jh{yX$;sJPJHDTn;~P zY<-dv2-F!RA6M;_oXmmhFA5TuF!BBBK29hWC?{e?uIq%%=kemjU67lmG+*nmj)7y31QDYRXa2SLOp!UPy*V4o>T%~+SjRfyNT~M^+S9(Q* z1Lqu+Ybltb&D-m6C~J$@!~E(I)dXjDf0@|RV8h`2?VpTFfC6*ur%wUr4!UT$t=m9M ze(vS92M~4$Hpf|u$A`P4uDB79a3*^-@TSXj|+S-OIB>q1txi?f$S(g0&;~Ew*@z z>mH1)H`FVCegtYRHDUz#0+lS&u%?#W1z|tib)x*Bt@ch#$Up>w9SKm{-4_IL-W&J` zNbw$f=)dI=g4m$Emi;a3v;W^Bhk58TN7{XW^*w#ZlvicfdY`DhL$cH#%yfH90X+ zi{gVT-uwOC6?88`jMH)&=b04|Bg@r*!$Uwuu+?8MJDF$IAcpROwW4ntaZYzTRM0Ia z`1xCP)bHM903(bAqJSh7BNhDR3YqX#YisK#;V%|O;*$gHPqjiz|BAb}3=1FizC$(N z{v4sH5Hb@09j|sgH$pO5-Hu)`^$yU{)j|72XU@)97U1FWXAHN01k9i2IByIhL)5(L zx?qkPlu~>AIS8tSu;biMfW`h`gYb8#gMigF>=u)doBqhjDuJ+iaYLX^4*7^~ko^1~ zO0vUWLO*qLy1xRnn9r9{_AZ$C;5^zsVQqjDnGaSU5%;03F-a~c2aGokY?VCiQSh3X z#z67nTZTjCuiJ(mr=;V~??dta?8gb8c6mIj=PdazY>b*7$da>_tjQ@zfq0c_DY}#G z+W=U_B8~$276c4aRMX|5fS-k+ctm4wG6t$@Ef1QWg-$InH{FA z6?yEytfU~yUh9*G-WW0~^{fN3oHd{DU7ZHm}EwtEal|NI- zN;SmZ9SO&b(C2Ev3OGF00|xJ{4E>C4-dd<}qe@)Pk33@Gadw=ch7`}xNNy%2dR#di z3exL0ZuG)UkB0C-c2paY`GiQbCdR6PozD#vnQH}GRt*#`d42lSVs z(gFhEMRo;voj&P2LRW;rZ)0nlDW)(7KQ9BSet*Cm>3 zMEA=#TC(`ZUC0-pVilds&CUIRatLw%YnWa4Hvoehckjk5pNkQ+9sBu>G2*>hPvII^ z+*nUh1mRcy8W>Q0GgRr%%FoY#;J^X%uF)_dhu46_Y1P;Apx=4`J`viN&^7eG8!|G3 zUL1x06%%@URcc@!9L+a4_#1AsS;O@0l_`*l`&ypHjb$!`_p%C@P@B(o{=Bb<%gWE* z-eO$n3P>bGw=$o1*|uXxIwC_vh~dqfH$*H83S0VxK~Jv3d-D;6f%$mIz`(%kK2inx zw95H9wve9$tbY><>tR@ZWji8q=j)*(L6Rtghfs~1RFilnb0eYZ3ShT_hLlIwIlgV8 zd=0be1I%WZ6>0y-iCf#+Vv5qoJF*T@QI$jG6K&5hxrV|9_1f8^9|@)_*l}hmUXJVY zEk`a`o`I!x)`k$&As}U5cPvAK$^tS3$b!jXEe3^!4iqj8>|j?7mrG9 z9qjGB1nnLyBweNGeg`l3yJ;#rH+SP2X&kbF`~m^@zQfW>YmK$%5`v%r^i~}%9Et_> z6df+$H~$V!fIuP$hDg-4zx?N?O^-Idv68Zg4LPJ|p`l07Nvu8Y!`&JH>jAB(&!0dw z0LJ;&*N!%706lLFZYJzhcM!VZtnscqY8W>t%sHb;d4`?Y=aiEaT_uCK%ak*}(B!eO z1|Q&HB%jYIeLrBXe!R|jztppklduCJQh#ow*u*k=+cG-bQzS}4kOXX8aKcA|lli_- zc)K)w|52zh8mRQIM#n_6-lm zF?mMf;)qHhc;S!m1oL+HOIUq!P*41@l5ju(@OTX_@GVk5G@KsiZj;4bd-kM18*10b z_8{y_gj#+isGb*#ZD3AR%aDf(PjOK-!x*ZvrzP(3Xt=?**Yv~-p_5biOGFc5;IRg% zoc;hzq1x0G6ioOe1<>CpLvEUA+_y?Px3xRnTGols2i5&l|3fN*w5ffPuj51f0<|1( zFf%dTl$V$H1Ef)c@U3hu5cVTg_u9Z8C8oB(dD)Vnayib+X=QchP_v>pAM9~Kj)^!` zN^kKfZqrVcW!y)$Ozq?ZPYy8)iuKNw`BCLQp|YNS^cnvhwDuQ)cjRER`9V3jo?|^M zAFQ9qa+3v% z;hMFljoIT;m3a*sUhcXjLvxZg=5BoucN`Jz{&4JdD{E*v_3jwjKpUHw$F!m0S02jc z@*@15B6?%Yzoz)0dpoypK(agSwH=h(#Gfqfjmz)~^_q*Kj9h8!pG<*`34t{m%)-LX zj`75a2L!(EEA==^yNIn6!uZ;-EluBJsGr623&g;k`}dc(wFN_rHwTxkbUe!EH)I%6 zp%&(Q`R%oO7uy?SeS}3|GwsKQnhtgasao}t(46~0P@Zu!Iu z`yNDQHvNm(@^u``Crd=3SZ3oM4A>~_vy+sR+?qYnPi{BXS`2W=);vGa6$%Ev)qG)0 z70Gut+PI0>rrrh%N3#t{(mb0_7B?zdmt*xm!6$y)qMxaACKxUR7lAwGV?I(T z{##ught1~9hI9|NC@Gp*wncw7>T~jH>ld`CEnBy;HE-L#J!Hs}eZ{fBB?)fLS;S+s zbk-x>HjoRq@p*Yx+UpC=YTN0}mkFkOKeV~^9W%LQz~Vg7eu9fDE%!<`J?@1mZfw)> zFKjm|Yj_9PvSt?CbBxGWfjaq}mpGBiOq?;14dMP4NqIt8I1FGAiu0{rX8nEJw+woepEapTDPSjUztU4@#O+Mtk8ZjOhY{RKLumkai}!pH?1f#U*U zNu`dUuz}h?B4g~IzM;76BHdFFGxU}2;)S-+p_?7Jn=*fM63k{f{#p0pGgc!bnUL}b zAS7Y1iGv3ZT9oJt*p7V#Q)O!w6Bj3{DhbfvP6DAY;tVmn5WE;?tSnfk8O9+Z7jf;y zySHk62O(rw-7@iZLGGB?9=O&&Cnih_cT5Zqd!(l`lfr%TgY!xV4WH+PI)QYds%p^M z|0GpPP$`C-UNRKnw*P@dv<_mj`QVA%#*JTvI@!*gd0#z5shk-}BdB`AKF83!`NKC} ziUXkmSF*K-OIC~uyyJU690JnXqd^r_Y=kMp~NHEz@dU?Szf zmn7`JK!fYjii(OJHa@}&hw)1#xB^nc-Rhv?=SR-7kcW2#nT)l?-Fzu~oWnptC-7-8 zQRB`BpZc)-*9EGkO3JS{=vx~aEf1XbF{8wQi~)3@2a%Rn>nZn#R!J~qr)=$_40e&h zo5F7BB(ty=#w4rWXq;w|8k;$B7}*(H1}Hg9wNDy;-6d*qD+LFHr@w#wk)K-R8yoAe zu|hs%o&%R#gU>8{)G_sxWq6-bo>W)ED1439{1i^Z6_U}xXcg}+vC(INUPi{BS^wxs zkB<}ID8{oerbl9B<@}tx0+l=E^o_AwWg5DC^a}z{YNokjc6Z#TB-K76iEh+fP% z4u34tvYi)<25Fq`sqGi<_l~fH26ox+DLyZ<`Eu%x;(r|Z-^pLndid&nb^eGqzW%EB zNsj^+%Fy@XQMM;OYwoySXOAne0A9|bdH#lXjzPZl+e5gtjJUM&ayxP(!>6Ad|IIGB zLx8wY(Dqnz{6v1SiT^!N4}6j0oYX>s$)K04FAb4wTE(&YSAIy<4*2tZ(gz%K;|YA>>m258YoD%`TV6`z4!jsheW>yMgZjp~iSfv7C+H<({IN3ryhXlV z*fyHPvVmmEk~tw&k{F)4vxE4ksQsTzV4tU16X61{=7u3Ek11MeK}TmWFJko) z@CZ8*t)ivNZE33agW^YWNsMh&uOe}lSh@gSqBJ9z`h~~0QDa<)@y{}(R8I5|2FU}e zOTS(G$Z~uWoeB1bt`?+Pv@tSln4mIOHnmTfPJmtMf3Wa=QtM!#%-s)SKb zHpG&-tjsYlZiI)2+dDdjXk*wQ1h#6p!{8CGb?|J$fKh*AYf~e<5UDjC$2I!~cTMm^ zbE%e`w#z&v)Swf@=*IdtUq)zK#h5KZ7J~~_X9Qb+(81Em3U(q-k&LYDj?cF_Z*wZ1 z?WH=dJ$Ea5w)7z9T?Tms!D8e{U%m>JRgz(+$*^`}vb^8sL1cu&5F$dQ*1ezOZzoE? z+ZwsHSGY<|A8+kF#-F0Gs-0u`1jRoU;FHKy&#qt)WNU$zEG7n?d3fA`r$!_jpcD5` zOlXbd;3AgK4L3+8Xd~*1JTY%UMB0-6vEB&$ zwF_wKBtXGoi~~TGhS2So)58|pYETnWMi4nj8EW_2+Bi|tAe#WtRKPh@9})TQG*G^2 zum98H+h}gDLBJvMpIA5$lAQZ4d;3e#2_};9?q#n}W6sSRS%STm@FmgcfNFvN*MHeRXR3?@+RV%8#bv&@qnce3i ziDKI~!(+!UMStlKlT@=6SrHQ3V3N2~7jfnOse!wKNG1_rBY!}tJFS4;?6+xmelR>? zf7PuVGRZAg$ax@`5Pu@gl4(T9p!%ssLxFR!k`lIL0m^^N=sfI4=nnfnBY_L~dJtTb zL@I>a1CCb!{{%v)kr>$MwC%W0pIHEX>K;Cw2*q(7^@}@Kf-zmDY zIL;*|{8^Ti3W?Iwn`^UV&}z;X(TchXkwBZ#1)YX58072x3cjT4#iNiRr|4iQ9K}N>^pn8qI>w)KgU+1D4*4hCsK?u1Bda6Lc#ec-fb(rRPBk_wV zkDEs^8a|y)i-nxBn3f@@76E@^Y?o=puDI!!` zQ;ygcqzSYYBA{Xr0KOphOl0|qgb9q;vf|>oBSc0IY@D2y)^t+EWWSX{{xEG`x{`No z{liY@({ZZXJHzynhyLCO>qrrL%02j<@3?poF~94l_oDTi0+?5 z;4l(OwC_X~Toe=F(6pC~l)3_C9G$?F=Mmm}LDHm6yTy2Hqey4w-da^ui75oNMsE#6 zrRr$oj=m=$v74w>aQnBu1?_%*_}mtZoaJp-)-}@nT)%6^N-D!PEKlrD)B2*MWEb9% zroRWK4k1jxfB*jF>(^fpoR>moK|S+c-1EaGF(!<07Hr360+|2AbjK5tQhi{V6XH3t zML^1=OiWC-!AO8p{>46M6aGr`t!>8-j?nNa@#!7K*A?=KV^h`C6~%nsAqFW0#J1i+%2dh5`ml&IFm@gpRr^ivv_HV)vKXSzTt z8LiOa2SgOU@ji?HZZSEGoDvybp)VmLAvcVF?J^^JS1~R(w1vuNQ41D@gTZ5ejI=vD zlo%I~{3iaE`D3a9;a8zyw{l;q0ij30u`uV5=Ime%VImlQfBTR)D~)_936V2F`y!|Tmrg=((y-7_Z^ET$u0)BN zfI(t^W~Szri&*qs)pA|dN61lAXB`5+3?}@>sWiOr7FLAs^?cNR=}Bz*zl~?NV$p5s z4Ex9@f;VQJi8mR;a_Gn83tOryW^WLMX=J}dETV-+8egma@$}XYG}0%~)z^{IiOES> zcq|_CNXuc8wDojM`=!y{#tNr6MlKHBYJDif5C=Sdhc!O5@0vGF8Dzr>sL#KFhDnGa z9Hd2`(}{LZkT$D8G;R(*sGD0iaZ5IQiUFto1;qp=7sJHF1Tn(}t&sEpIr$fet@enD zjnm%tzAN*e>rJObzW~oTfJ3|X<;g4d5Y3RDC;1FbP5x2*^czXK8NwOGWl0;M&5MdU z4QWpZGWG-JcarkS54afOUco`Z8C8zdT7l&mKwb7fC^_CQ-~1`<2L%VvDz8$HE}gI= zH&*0Nm{mx1Q4!;q<1<(JST%t6{`#p*Sdf@=Avr5h`R!2GJw@l&G@g8Ae{cW&U&E$N z!|gPA@qZSk;`64(*18B$S!A+zLdQ}eQWxOJi2^M!)_z0IJbCiuU;EIdYdtD563dT1 z0A$i@9ZUBjgchV6h$%xPDb-hb=AwB1V5Q}g+MzvL`P@V z#Pjj7m%f5?J^zAp)Mar~*FTsM!4(_)UBR3QRNExm(P(){m542dD%5N(PX zSz74WeK5pGZzBu024~`|R(=r5qMA#hgubaKAH6N3H;sXJ$h|A1alzY#-f%Y^28?>9 zE|+s?6=|NmK?0Tg=tPc%$ryAi-Msl3Lp3!D)k>MLm|lj4R^89)D#v;ts5U7v*9a|Q z@W?a?#5E%mMtGlO-N(%i zI`>tE^~6bGuiHNDVXevPwvkf*EA&4zp*&Fv2DvN9cnk{?@q^GTqYSl)+);M8)wjAE z+RmU)Kt-)j(i8-=Tb`-nAf|jV_1yPDaN@+dbFVN>NeBTi_UzsJ3*}5d+z#VjQV}8r zr7Iwvhd`$DO0`DPM<}0cu<-1cAPsfh^thKuw|_g&+f$aaw(Jg7F1AcjW2O6`1pE(o zMnv1+q{xzSfnG9zCIH9`hz+$~!jRE}#>L+&v^@GDN23oxTPJV(uG+7d9^bD3SBc+8lqe`$k%?QDy*J~5XHel@(bK%~Yy97#|?tA}KTE-5Kd?W5uTTvir+m80NCOekebuTm?8 zwu&xCh!QWo!XI*r7nh2-ZLCS`jG{W<(&`n`7frCdFSclsP_J)^AInfCiWdbFXV4)h zB`wmNrBwI(do%|IFA_tJ%k*P>f%5sfMowMe)EPJ2|G!1a}s6IhQ$^8W5*QB z{>{H(MSzY`fKcT4z5=02>*<|QOKi?B#3M2gB56n}ZlY!e^84pRk8gmn%qa{LIDIU_fsiCyb7gVH}I|T@hlUk@+xQI0PpGA z=n%8HNWTiCrlz9KBQb=I*zd2bbq7-@{s(nyl(`cVHrkE!|6VNtTrK!0gb|0S7f-F^ zSb$POc(um%2E|ksf6k-rv7`9!8oQ@E&u@!yMP|(go^(Yg7E2q^Gg3h_To$7{7b~-ORk= zxE+ABgrcHfL4W*l2`N_Aus?mYe57;(eouX_jR}eC`n)pwdtk3^+pMn?GC>mvQCU4tbY=pD;VzExH+(6joOYs8=9Bw!ag5E3y#fi7H=4A;rR*~KMJJ&PT& zs83kul{{pRrY--3t4<~u*yv~@_zUx%1O=NMDm&g#OpIC*wIA1ZA79nAEXS&seE4ME zlw4*JUf$+6t!}I1e1sYRVL%M<;kbZxiqnIPe@%vYY=hs61EBH%tUEb5S>X&xpq&^@ zP$o0&#)Vz*PU1Z$%gS1(M<_pn0Eiew`|L}`d}4)pGDtfma?6yHwfNIs9?`#(v6O-{>9KDe@F{90iM|K0)|-!Pqv!a_)d0_7@9m0 zS`KQ3eIoP0)F1&JL)1UXPf>p$LNMR-aKAl&2m^8^qVADzXv=syyUx{9VQ z5?H4YJK#b>l09_;J}jRog?Q`d8anb94@F2PbGbSR1#%u2j1FVz1`#fqr7Iw6=5xR0 z^8UGHqAIkrTv4}zrvE{$rDYeAU^{LCwO>do1#>V7>h zY1Vjz4=n>y3Dqq@cV2h_t?v*FV$8}^p~sQz+_mctI#T{ppO;b?>t6-!JYvtZ7|K67 zQ3U{cpfTq z2XP+m3Ikwp43OrAe6!Dzzek4|^h0W#9KgPCS>i+baG zkYY(hS&(@no>&2BY_U9}Pt3)BZd}8_87JhlE5s$lzyJxx8z2R5nSvJdy~xcC1&jf}qg(l_+I+Y6CbTN5=VJjDg|y{=z5)A;YmP zmVuoh520_W{RbC*`0(LqxD_TA2MRZ&<4~Hq55|UaosUmE zl>ySd4}%)tjCf1#JXy;2uG6EdrzZjr#PG{m$HK&eE!yzDITcQR;FOBaWdlp9+`=#p>z>KfzQ!#0e3y zg6w9FG|yv+=q*wi^H5+89XWCXk}E6QceSVw<)+*hZ9V_+{uIw!hZ>PBdx6ak<+lcK z48}ElOO)SGiQUOmmW>a68GpUMba#tQfpp29zul26-XMG{9{%8cX14Md&25RX6@DCu z$o2a#l+zo>%<^!_`yRdROA$et=yfMZXrQ_R3;jOFuOAJVip}{1M@n5yT)gCm`_cH!V z1~jyD$er+r0R4)So-m{8o^!lWQu>1#ndm|pK9KSQo*|iif`g+@XB`iNQ0aYZTo6g) zbcy!Y`(TqXG2J$s7bC`d;c1oD00z1u>`DmXxNUkCJq3mn_Bj=%J7^fcJ6tps&|~;H z-f@6BF(e^>3wx}dLQhX(?r92~vTvGWc84TK0a7XdOixeaK_KQBP|Lj6b{T8@nWyK+ z#|KQ9XZzI$a){;!L{M6&Td^O8=|c?tB58}j;rARX158SkAycSwCcf1aU`YNUVZ&&_0_13m(+`Bq*1&u!$qiC8#V#tv<5ZRAXifR7T% z8!9Wuh(`wyhtQ4ZG0ZMvVG{BIhO7F=$L~)Z;TZcF@*k2ADTD(E4+s#qv`i}#0C`0& z>AI|Jmiq0CZXTY6?_X$~oWC$L`(Ww^eAQh=|ylbL7Dv2hu_p--*gGi|MvNl_ESn2alyQ!FRs3A-&(*m>S$- z`_}glgOe}-aL9bwoG zbV|f$q5Yfyr=fFQdI)~*4`^yR_45+4Z{d~CQWsd@sr*slG$N#Z?%xN0#w=J^f$qT; z;$N)838vsO@G+H|E&@J?YgZW!3>4nxft6(ME)@cs-_cx z=XyYcdEx7O2=Mwg{0pTrn+DF7R<_Ah#;+>GzSd__)>&LwU=Zn6G?|;3`O?vmS1SLh zn+6ZmAv8C9fS<`GVCM`Tn)4lx0)(=0gwOOCo=c^Nz}TP*kwC`n55`00FzH6j2F^`% zbsXDdD{HdE6CHHhII8}9Pc)OV!WvHf3H(kHqyf`9%2wxwui!C0l?9tf^A17 zNVqX93Ymr&mI;c@4f`L(?i}4L658o_<`jd>8^f&D_{X7y2&l4f$l?epa?Habb)M~5 z^?i30lS;esbQuynGN28l`?UD;x5zN~)2J8`4-P_*@$8>u4)`4DOAHr7Rt)AgdhL+s z?!FZ!>1}{j{cr@=13No4W=A8{cW-wmbuYg8e=0i*xU9Bq?Z1?Sl%yaM(jcfvr-Dc$ zDUF0kNp~ZPC`bq*N=pj@QqmzQ4boi#5(3glePglrx##Zt-TTG)?e^dsYpprQ9MALo z$A@4RoO_OwkJsc{lp{Mb@aP{ssLeHV%|#(- z3jtn745H~)oyM+6THVMfxv2sGOW;&%?doD-W)6ftl-iyU?78n3pE!MutLilE<5r)fJ`z->)8jP3lcC-3m`%-E8LQX)t>Mxsvn##;hzIBX$icW zQ2kUqRgeAJTIz6Pd1-9XS4D`p@)wQX;BiQoz_S`3Jx#VRaRz~Hc@$tf`cL9->C=jV zm(|d7Rg4#W4d>+lCRlh`-;%@SoCXhSR}a zf88JsiA$j;Jp28u9o^0kj^%Zga}O{I7rQ_3|66@kpLFE38_`V|hFAc>JK>K83h8R9 zDk>fgpAo~(Xg$l)6+k^WuMS^8<=$6-zQ#zI10&@2FzWzD2|0F%1M68jXi}G)Lywj0 zKzkvEFTP`T6y76WmLdn7@p;VgFwiFHuin-Q`kI3&wsj<{Gqr!QH5TJo(pvwk>;@pp=v zUjv;lyou51AKf=oH{RGpHd!+|H1-p6%G2C2#1#=8u z61tSWO0I9Db-ReVXHH-%EVEsHpsyT#wm4oLc{40vH`xJ?R5x@aQ5KU`LI7gO9&l=c zbrnKwZR3WcpB%x`WCr5Hkk~p{*6cbn_P%3IJo=-nZ7L9I=C z<&MmV^6KRukaPJbNto1=Cq4CziCM_E^F1r)h9E4k0;F-zE5(2WfY1PT!=&FdapF7E zM#K@mJe|GJL*tgfNClS#7BFLf$bmsa!(>OyRh58-hW>Nl(&2CebcB{=&jio(&%#JQ zWDb}wCcvUg2hs$@9Rs1!u5tHMN!(wa8p8VmP4@uY2X`YdyXZzs?TG3ifv!_(dl`Xd zfW%m}QGXtiA~%7xSc$D~O%Cm)8$Xl~6!D83IPQaQZyrtn3$P`YYM+Aa_8aVHn{b2o z!PyOo%*d_oYIs}eNWVTix67Nsg@;lCh`cf{cObJ)2b~S1 z!bp0?!ErJ_)w2#rFm$~R_xCqI1bnM~3V)rQo5O&I0@2pU!!FOz!qg->ja zA53_zhG<>7RP9KI_j#i@d}v4+bRjlSczDonfdd7J>3gtLK>B4^K;D?d`4Y_ut_cyO zpDk$HeTDc!o}+!2L=0lhxK?X5hqlO{UM*K_8%2NoTGrm3E1=R>Y&~}D4+&fzIG6l@%frIMLy~*n+Hk7c%guFd+;V984tsE@ zdCZw^sNW7{D^z=GbSP3{V!%wM7zB_E8P|0Cx_lcuNb9h|mqm(OsE^j*@T;h(_;Lr1 zP~c7xcEy#~2QTn$Swk_-Z`8E5;yEO1dGQUrcw8VH^?Q8IC|eK}1Ya&<)kkvk z;3c_#_f<-niP+qVr?BeK*n9NUdWl8#YyocM5x|0{2O23zZUm0_()mMuRUS@j)q92r zaRw?*PR6^c@pe)wD|HdL?B?Y;HP=v;T}+xzMo1ZV?mp|kTE}ox@56`Rhlmbrm4a|T z5LlIT_}*XY4pD@vlEZ;{k8JhYDi?BQK1q3-|O-7czA%H z5rx$~nk234uF?6vp>2hT=njJ&pM8%h<}>zpTM{C4goE)E8qM(P5C^uL%owl&AAct3 zBFGOuk79KXyuIx4LIi$t3@zhuRmbC?%)-X=OE_F4>f~`M1m1yyb4L#>X}r`*=~&Ed z3|Z;yz=>etoi$u`7jhEfi>qE#FUx%G=OTlg6JoV}!mHu&Sx8Haijwm5tZ2HDEej?_ z`aR@4_YS(+MPRK0Z3e`JvWkjXsPhY6aFA&4Uw>DY(rCL}R<@<+=pxMo#TSc_i-{kk z;tt@U)&}P(z^mXni-gYt&bfN<(HcwnsFgzD7<(pXE>^p73q2s}m2)lt5C)_0< zK(rxb5XNxP0BE*BW{wB~hzpR`nnA)(>@WVeiq>pxti)Q&Y5i!n9k7l@ljb0!F@J#r z^)Y{wYu{!zw(z~{)bzg}EPINyyCW6vAnWdr9}j`AMC1=ONNa0G#uQ?6g>GUFhBhqd zP#l@V^9SM5aOgVs!664$Cxr>5r3tXa<|-O-?~C97F%1`cR4@h2P+)~a0L0Gau>fE6 z^77}>VJTR$h2O=^&5OgD+JFCkct|!7N#L-W4z(7q&FI-F06BFa3*Y>_nF|Wqz6jYs z6odd2f_H#-p8%Ybn-HTSIeZ|3+w~Vui~aR5c$uLAIUkG!j{d4omHp4^Q=@^y^83BN z$;Iwj(xB@m*L+S0c!zOOPqZz;*zl-uokv8ORkLj;Ti5KZfzp5NBXU6A-WvS?I2S58 z1IUJmaE-w1n92sV?-S@!|AszK^r1c=5a1xY0ZIyzGvE3HYT4`9*fwa7+Pa6qDuy_s z#R31ZRRLk@A_%4y>vBy_PCBnoCO~O$>A{03weA~$mQ>4ZF!;;aH}5N+B2#C37#G_8J1Y{5kW z28$=1(Zw`x3GLb^2;@)copQ4J3v<5yyF&_wb%@+U_h{mJftGu4A@~lVKgZ!o9fxoV zfsyq6%0~=*YTj>0K47B<76Lgam-HMQ!H7@4(F63Hf0@=xAE!YsK%?uFCY zTGF#dwPrQle(jKZtNVbrf}d+D_eGpR`Wpi-pzi&{FUaM#SPr0z5a<@g2;(XNoeX?B z)6k*hUSC3O0OTw8J}CX>1>)S?YtQ#uZr;49Q(%JCEq=I4kgpCISx6fInEZ|A?+FrH zum0_wjc(L9IRohcTos%9Ylx2OjVO3lJ5zsy_955SogHFbq6;VKc4#?uu7HvVg;>>0 z)fTuu8NvR5pg9Gqx~vIQaVB53u$L~YoD0CSl}(&7VOFJe2r6C_w|*bVX^ zg3<=zm|mR&H(1UJur5bt{CE^N%EGVCT^QjvX# zH#a+*H&(L_07Oa2fB`f_=dOaBKSD-^B7_)vYtTBy!NJ$U9&M8*9smJ?MhcJP<FZ|xlY$h+FGd@ocWkQ`>KU8Z zo9GbeN!5!9{uOA=x-b*O%CKU-XZZ)(&!gC*YNt@6E=cPSyA_>gqb!3`7TM-w*hXywXx4r#0xg3JA5@IshG z$&&@cgYk);7^uGre=TP7U4>VSR)AL|@4-j6!$?I7%bOYL%FsRBtK?4Z?#y49MvNI0 z@Vo1%=K37AIOnd*`S@w^IBp&MP6`>g6a#mKJfsL%toJ@yDtc{N(zyCq)eP0RkLlpO zlIO!l>IWWRbF{{bCJ*Ultd~}`FcN5jf2r(Uyi%H?HkbzaBAIq$^9D#&@)<7{+E4NZ zvUZXV#(!L>LtgnDymEp(md_+sGzN`MQ;`dIifYcV6L%m6rFzcUJ%NNf_;GB_Dy9hc zA18MBzeV%^>$iQ)v^$z|cv{y)NfLJR>rFiWk|2|^E2M+Sjsby&FZR37Y5Pz(lM+dX z4P=|4cE9-@)F$W*vhgp!<}L z$TNvij5R5prxV<){TJc7#|gXL8Z$<9^jwuzLfaBJYM*Jh9H4=R2geH%5|><((7Ptx z(@)#ST-;3ARNO6_d<(bmvPF2{I*V<4!YAY{jCzFhkUP>+t($l`e-o ziI>fQs~~1cJ%d03xp>ltrn*v*Yu_}A;Fb!3J3~(>%XnI{r(%x0G(?kODy9D0iUb{# zxLD@df@KURvl5*in~lby>1o-JAF`8MM}a>&L|Km9QK_QGAQ0Qi!TYZ~H(^|dj-u^6 z4pfbGIr8CAeO`wPy2o;c>?%yTpcfUT0S+1>9>TG)eH?(M-4asN_rAxBK3SeuFgf7TU z(Ac2vkpXiMLY9EOxEU=X4%^XgkuC+BJzI}5^`KGQ%rd9 zTtp^Ca)$9&X7LSLVkXw%y=hYeh=gT?^@j_elQ!bgGhI}7Wq`R~~#XhjwD zBSS!-Y)ZFP|3~hx4(d^uO+XJUpGR=AVGe@;#NVXU2@Q3=i})AupW{{6rp$4ACUW$e zvMd*KTAUcP$5eQTl1N0m`R*-rV#nTB5G>UgnYiIcr4YMH1EsM9VpE3HRYL+;M4ZYcqi~ zHe{)hUf+W6fUfC1Ma49*&A@6Mvh(E06B-HMs(w?1$O5?qq#A)31+vv4b{=TccD@O~V1NS_G@vW~Yl4EqIgcaC9kIn5% zytadhupH)mzi!)FSc&`Z*xlcnZQ5wuZ0-Qmk!Yy5*9d@{@qPX^+*6X4(P}fC7UY{!JY;)KPEOd2JwXpw^dXk znuI{z9)WX8c{e-WfxvA(E7I{@wlEIHD88xQ$L(9*8)LL`Yw(yyW$(_|{$FYwrmd5k zk2(-2^bgpTk#h<%90`no06~|n>o@iNJ12NFb$Uz(X;Twu1%ObX?c75;pXT&brsf&; zf?D$T9);={nLYfOB65lLRfLj6n!W3_dJh0}5D!8s95DC7&DQ`GPDjENU7_wL_dNfF}Y*4$sY-9-wN-Dk&krIj}(GHQwP*iPzvLb7ESK z5b5zdWZEgr-{|;#`uR_LD!#ibkCjV_pEyWns#&9?B6SGsRmAo2$1zCDUp4dtdH_NY z7!pf@I1xxvkfCfaWWe(mcAMUvb^PnhcW|drJq8GO4X%>rM z%F>JGc9JJW!KS6v@-?%!#$MHai}S;#WR$>4EkKsc7rOUIDnBR6OBczoI;C}oALZb+ zMBz)8DqVSGXpSGVtLX+`i)s#7M)<9Lw207ISAQ(}7d&L^!dwYYJ}DIWC{c|w@^RpD zB5V!vk;Bq~?iE5?-+sPd{aG0{we$)D&oC(F_3_tV7x%7VQ>9sVNVy7h-sMw8!?S zy93WXM!lIhek;;Jdkftoq~hz7Xrl<$6?k4XBO19^S$Y~?zPu*dl6UB5mgj(@6HI6` z?yJ2+(_F4(e0)m3{BA->gv zaG9||=H)x+?QRdI+es(AKlu5NX_$MoSzf}R`7-kw{CpUGN)5>h<@qR<)M_T9?f;f z%4MdfVnj|!%XC#m-3{-RGO+5Ji0XwUhbM>!aiM6#cG;<6fU=VXIH5{Ss=sdKQ{3LR zy3p8^hQDxH_ELdEVmIE&$j*v%`oeNf-u2-voIPtIHP)@`ggP(nSGD@klehdm-ELQh zsbq3JD}J5f#c(GVM%;`S2Z+X(321+?n-Y<0=i6L-EqEeG(-79j@hIc@^{7OP8}>1M z(zLr`GG0M*nCW-tplQu|%F89~eM$1$WnxE>{&I`}-6wMk?YiTJBemW= zmd(9Z%-sjFW>Qwfm(-s6SE4ND^lnK^X$uP`r205~wpd~cCFQtflJmoA73iY4(; zQBY4IdW<%CVVb_^+Ia?B0{BX~I#qwwUEZlGPfZlKHaUdjV=FFlkF{V&c%8!gUk-Wme_+hT;=qrWPNB@7Z^;^Wp|E%+sV9@N%&Z8dkq(ZqleEdTgwV z9vc@~lVitMZ4Eb39FwbRYS|J^r_@i>_d@*D%82?zr`97UaiqqT>*|IQYR=s?RR(i!<1_ojz1l#L7ovxded~kv`$RxtYv=W1~*|CDxQLTT=YE9XA+O?4p!h zuuQ_>vDlM-WSu>cX@KbyZz)tcvN=mlxnZO7ZuQa=EwMf^pL`Yd?{58?#&WRIaKJM= zxaHXUz5F#@!li@vL+Ov^9k%6#WlX;dQAB+$c;~F#Y##ACs(a0;byZxeICE*Ty4K5$ z8mp}Liel4c?%%xk4XzB^Us!x~GmGTjd#nBDS6_%d)Rk9xZ}lh9Md{^a4(&egb%MSv zYs|b8p2|dUNq~T*ig%5YD}nk?@5h;eheZpGgvc#U35sRT?&vFbvM?~l zJbR`8CFz_!Y8h?E-fdaZ$4`KoZ?LzSD>@@qaG5>kcWb%7=^tj<%7@wWi;Mo^gT?wM znGbIXhv$^|Og+z77n4$=!yJG5Fhh*t*?S04w#lvhyj5gG6pQ5rLz@;CoP-U#TiwN2 z=Xew!%-t+|6RC7pSsa@?!*Tk`5vD)obfEk|fDsYv@<9dhU}Io2tp~4z{D(y0mnc(o z`Yim>3CQ5X} z)lyz82^*Kdo}sEB_E81Xa*hcOzkWUAiYOtwxl+mTcDqrB0P|`8c~sUDeiUbnzF2N^ z)0=6rWioDtX`RJo>u%x5qrfZ%RTUMRbj&7zU9MXTRDktmLcILngSjYXgnzIzz?o{b&h#W@ORC^M*3A{L#_3d zN~|YdMg{qSAzs85@xKgh!9WaCJsXvpl@?{Uh>2o@+}{j8;^koa>2yBIn*ttQrPkVw z!*|7xH#b8Y7js@nBw#X;i|AtQqu1=0moN6*ehTB4J;erI?*gz5<2DEh5%6 z{A)rD2_Ndd1vcW}&z(}V=)2!&cCjonwsXG!@zxN{)7N)=xL^L!Cp1v5T)^iDwmK2d zD<%Cob0;DwEZN9>x%>y|2c?WKDLmh_X@iJY+^lGty=BL*wEKpRXwZ;{sd&bqU6fx4y-Xk3D<4!oWQW0ZU*+ z{CgQiUBUuOp~kdD;;2}gKjK_L!`n1@X|b_~Q8%|_VG-5tDA97@)|Uhf2JWWwl^!V> zl?c+?w95TXt&IIQ0_h_+_*iCNUoyA)bFWro_{a}yvnYS?WG;MiKUB!WP-!>sB=9nt zlp-CDXfT(qR^^*i;!++EW%{pxcl3e4X%eL7OfL18F2R&?~@eiuIC3^~R-3BeNV?u)Fmwz7Ak z$V24mh;&*r4o`$WW~k4ny?^`T=8)f0;d^}z9`T}FlnFr}1M6D*`stFhoRY2m6}LF8 z;^VFqT+{yS53}>aq59S>we3W*uHd>+nAn4s=rqU)3me9LVl_yc5h&K$s}kTCgueVE z2Ys-6f&^?ZUyaLPg#(ng(i{pqEt{7&4x7vt$%$iZvzJ;7wixKe8H4s;>CfJDY;6~a zd}~9`HC9*a@W;AqR;{cbtxhMkdCEY>zcS2Uh_&4 zTW-^tR_rCwnp$CfYxf`L?Nc)(q~5^cCpvVpC(7{k=E+Vi5A;C`P`r$8#_L}esNrP- zY=AS#1@d@Eiyk6}h~$DK0U@{d5=k0f1ilb7_UnOI094u@Xa$GS2qCThj>8F%d9La> zy3ph+vu@d+H@?@U%Qxej_v|ow;wYC5&vN9PdgQ%sX6|aXnZ*c|cl)I0YnPq20F&}g z2KA8R0PZmC=1-r%OdUVRugz$$Jk_FP-T=~(A~)nYd*Wwan%*)=SXDn;iwKk;{)N6 zg6Q}grWm0CV`pAqR1V{>IpV*;V05u{=1(2R5HfSKf{|IbzG(wJ;&}2ga;O7az ze8JfhFYXfy=x_}1ok6qziLSw>G1dP7r+EAG!_~ZdXRsnIDm=yNL(&~B>yy^^=hO-} z;eNa%%Y7uy+L^S&Y;B9^Dh8xZHtzPnV z#h-*6hc47_ri8}+A#-`DdrKqP5U|(-?%7Ov83piO9>1wVGX*3m4*vqy*IAfz#OXkb zjL{Wy2PV^BeH>(_P3W6T7QEB5X{okLp)Sm6<_jBJ>noNnixX+{6v+K6mn7r(h+8g@ zjxh43(n=(c(+x7VhYJ)D@8dd~-mLO;S&iIQNxeTaZ}NwD`d7x+u?JESPU0>!JNqJ! zW>UMF^%6p{J;%w^>Cg;(g|p)|zA0XfzeZ2%*rzhTcxx0(!;G zd82XHsI2m%af@r!y6vLLOt|Rb{BY|!BVE0ecyB`vbF^BX$ zBA-I2$G~k0j4{9jX#w3uUJ3jKXc>f0#Dy(1hqj)d-XWJ}5M!;q-n$qpj`?sQ5;hgN zB&|=H)60=IY;`Kh?+)?bq@5ebqdd*AzO3OcWWC|oJ3W`(loR$A#TqCa>l`p(iJA3% zZtdK_piUOSs{*EpRtQUp8 z$DV)!b!%8b0O2rI1h6B&$Sa6b-l~7pa2K}Ta2_OfNO+CbG=CAV16Lw_ga4LQ0TGH_ z=bT!RA|0L@o*mW0d2$saUNJ#7_M72-xI^+(M2j7djl9p13W!?rf>NSFngUkh+q=5Ss*4naoE>s}KAp>xQ7O^ajJ3{>qf1r!S+g3R-q^dG7vQBN^rXPEAq~4i})>QN8!LboiE-|vw z`GZ9s7O1kwx9ZL0G-!ME>ECPw_3OujXO>c$+6|tX`=7Hj$3Eiq*cW;<_bVb)%b4@Y zr3`V*E-b2_Z)p0TD}LkD-PWq@9*7gC`9V%-)6p0AcDwxx*~gc<*wmTz57*U(O{Pso zOjNe3yCyapo<{8r5RoY-3QQE?+Xh=84$nt@UXToJT7kx-!Ja;tPXS~xsr(wmkK7g@ zP-TXkyGOYa`|12Eyrn?ClUW6;FCY2pjw&{!ZhOw`vFmvJSh#e9BO=m_p1B<*XQsr1 znG91Zt_})Y_aisIy=!AbYro0#%$jzY^3%-wf%z=hbU|0EGd1FMd3Ze{(S{z5X|HH7mPQWJ7WEA>yZK7U zVDu4`rNnWDlbj;_N-h(z++aIeUenwkXuUwhE0fbCZ3zlfukDQPnc0~Y{>nEAgCSc)Yqo+Csfk8=t3DpxYGGIoz9oeFQi`6&pi8sC?d{| zNh?VqWpa=Rn@})I)PCS#I`5_rv3n20vjQa>(FB4s18Z5j<>kvA;f!B2p8!0^+6wpc zzI}wjHd@`SyS+hAS1NEPdYZX%&>SMKUa}N>)gK zwLpRLG5$_upFes*=j@kpL;#ghW^vh}SNJWDfy%(ga>i}=7%y~X5zi%#>Qgv}fzQo~ z_{;)!hv3TJ10~Pi7BSz8GuTqfIXEanFA>41AwNug=l|`8MZc7g1*f1Q5)%!9pNoGE zLVJ+FkV!2#7OE{lhX4ITwvrb5$R-mlP2$B4<1kP-1O&MYvhbof3RF~75Hx#RZje6C zwlgFNC<9KdJir)+$){)cl!J>MY<&n`8IpU$?DeC!|1okB<_k)ze*5-~9ta88L51sS z3Zd0xkZ}PA^HAR6_QpoU1NTdEXTJ5nb(&DVdDrS#&kJXxAO7=a_G0c^at7!wIaCi5 zAI2U3O5pv=@lx2Pbe8jhFYV0Z`+xYBsw27JC$A8ULlr*{i zcbccz*U39bHV5>&myp5%UmQ42B9I}@1g6cFP8yoKc;sE?Z#oBZiFMb1wJcm7751D0n>!X==vC_N5 zyMngkf{5kVw(=K$orbG!F2yyNc;S=2s)$VOgRBbZ@?YUb159Zzm}()OlRlnj3U3F| z1tDGeW|*bc$!rB~aripYA)*N`rRy*q7(_Z+m>Q+eKF{*f;Dz2eTpyseer^&Iaqv-! zU`j+FQDC=jgyG*64dv;;>1#Ri0R|NE6d4;E1KNxT z%mHJ^p5MtH$o(a=GJEm^F608hs+3eGbc5UE+CD#qM_?XIfu?YqQ-o6!;^AF^>j4!; z$T560@C`z&EDg{p2PzT5!G>cG(QMUcwtdV4QGt_JRm4rGQlctt_PR&$*P z{`bG)yy-_>V2c582I9LyVjf$*=d)GXFv5<6Ly>%HVcO(TCIC2M8FOfujPMx)u$C7L{SFof_!sIU>bzckkYPjtoCS z0vCA6;G?@YQtMZX%uohIT<-J~F!*apS)6J2{X!INe>lmiAFRY;NB?>%5G#TI%yR#K#Qe zasgImcZQWzUj<)$_7TU0;r7>a1dVvh8CW;6+f5`r4OS)PgUxt3A_^sp+SAFO5N~5& z;nDI*3JF@=c(c21Ow_h?9Dp(AHfA?9MbsSBASA+i5nuQE#rVd&%;(xyAAuE`UsUw* z-uhH2{2Og}i>Ie&$19h^%ctU;ldnn+6J?o9z^GXSlZ)FQ@_d0y6?fA-3|QsgJMe04 zF%M5y;Wqn%7|1-Uzre`0N{E>~Eagp4>$8mFwY9dg;wh><-5i{pw1wKP1jraVK0eiE zMI)^?o_OypI+=8M-aAij%`{+J+t`#87V>Nzc*8Bhe~F6feN{&0i??qnans;j4h=5PJ@@#DfVjE(bUX;)D)etxxA zUcb=Q)6>+`%jxY^6?5OX1&gjKJ#i1DX*AW;ct&i{_tAET(FC(|a$Eqd{A;*C3MzRG zGqd#ina_C-YV(4K=r~@>%0`OPc0U^f|4DqoWR*v1bMsx8#L&991z(gBH4Tlkp`E3r zs*+NuxbG309QCD3>NYmH@Hb{Th;l`@%&Ed#*?Pab>*^s&n@NP4yReF)f#wV8;IVHl zIQ?Lc;m&-k$im0NGy8aIQlz519KL=Z`E<1kkFAUjMR4KX7f*^|f`*;^`c$pfRf;I4 zl9G}o0GkOrEp$8+t8)J>`SOlrdU|@`JC12x($iqHqu%W7Y-BWVzSV)ZAvhnqw%}-H z3Gcqk3DWeUv;fNCh*o2X>IHiUlbnHpK`c=00H>M-R7oq~i7v0M_QT2~JE*bS3Uc%>FJD77_7V+5&(J2RHX1%+ZM- zg*Q+FbbA7Pe8Cc<>sc1O+0ejQhQ|-S@i_Y`m;v+?e4lNPiZDesNHInH9XL2RngWz<9(2#$O0|QEAx)!>owO%Ub0b#auDN?Z6Bfu%w7~hwLn+~DB+b3J2f@p z@Gb$>v=Y;-^X2h-m(Ix{iMN> z-V#p7Nga9;M1|%@8*tfw4qB+XHQwd0%V+9yXMXs=kRah__(4S$Y*&ZNpZ4fr&QO8m zhX`0vQo#}nV;Q`xEG$$!Jj&reGA+Tofh{irLRC2>)XZg+NejzXEhWC`8rQ9yOLu21Fyf=*-(Jn-NkQNl{%oW8H0 td=7=8G!DNEe`Od(L)l*l`2YRKgY&N|3#$n?22sfWx literal 0 HcmV?d00001 diff --git a/labworks/LW1/p_9_50.png b/labworks/LW1/p_9_50.png new file mode 100644 index 0000000000000000000000000000000000000000..fd411b4c9674e14471913afec8f2f01ded2d4634 GIT binary patch literal 36685 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 literal 0 HcmV?d00001 diff --git a/labworks/LW1/report.md b/labworks/LW1/report.md new file mode 100644 index 0000000..38a4cb7 --- /dev/null +++ b/labworks/LW1/report.md @@ -0,0 +1,608 @@ +# Отчет по лабораторной работе №1 +Артюшина Валерия, Хохлов Кирилл, А-01-22 + +## 1. В среде GoogleColab создали блокнот(notebook.ipynb). +``` +import os +os.chdir('/content/drive/MyDrive/Colab Notebooks') +``` + +* импорт модулей +``` +from tensorflow import keras +import matplotlib.pyplot as plt +import numpy as np +import sklearn +``` + +## 2. Загрузка датасета MNIST +``` +from keras.datasets import mnist +(X_train, y_train), (X_test, y_test) = mnist.load_data() +``` + +## 3. Разбиение набора данных на обучающие и тестовые +``` +from sklearn.model_selection import train_test_split +``` +* объединяем в один набор +``` +X = np.concatenate((X_train, X_test)) +y = np.concatenate((y_train, y_test)) +``` +* разбиваем по вариантам +``` +X_train, X_test, y_train, y_test = train_test_split(X, y,test_size = 10000,train_size = 60000, random_state = 15) +``` + +* Вывод размерностей +``` +print('Shape of X train:', X_train.shape) +print('Shape of y train:', y_train.shape) +``` + +> Shape of X train: (60000, 28, 28) +> Shape of y train: (60000,) + +## 4. Вывод элементов обучающих данных +* Создаем subplot для 4 изображений +``` +fig, axes = plt.subplots(1, 4, figsize=(10, 3)) + +for i in range(4): + axes[i].imshow(X_train[i], cmap=plt.get_cmap('gray')) + axes[i].set_title(f'Label: {y_train[i]}') # Добавляем метку как заголовок + +plt.show() +``` + +![отображение элементов](p_4.png) + +## 5. Предобработка данных +* развернем каждое изображение 28*28 в вектор 784 +``` +num_pixels = X_train.shape[1] * X_train.shape[2] +X_train = X_train.reshape(X_train.shape[0], num_pixels) / 255 +X_test = X_test.reshape(X_test.shape[0], num_pixels) / 255 +print('Shape of transformed X train:', X_train.shape) +``` + +> Shape of transformed X train: (60000, 784) + +* переведем метки в one-hot +``` +from keras.utils import to_categorical +y_train = to_categorical(y_train) +y_test = to_categorical(y_test) +print('Shape of transformed y train:', y_train.shape) +num_classes = y_train.shape[1] +``` + +> Shape of transformed y train: (60000, 10) + +## 6. Реализация и обучение однослойной нейронной сети +``` +from keras.models import Sequential +from keras.layers import Dense +``` + +* 6.1. создаем модель - объявляем ее объектом класса Sequential +``` +model_1 = Sequential() +model_1.add(Dense(units=num_classes,input_dim=num_pixels, activation='softmax')) +``` +* 6.2. компилируем модель +``` +model_1.compile(loss='categorical_crossentropy', optimizer='sgd', metrics=['accuracy']) + +print("Архитектура нейронной сети:") +model_1.summary() +``` + +> Архитектура нейронной сети: +> Model: "sequential_8" +> ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓ +> ┃ Layer (type) ┃ Output Shape ┃ Param # ┃ +> ┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩ +> │ dense_19 (Dense) │ (None, 10) │ 7,850 │ +> └─────────────────────────────────┴────────────────────────┴───────────────┘ +> Total params: 7,850 (30.66 KB) +> Trainable params: 7,850 (30.66 KB) +> Non-trainable params: 0 (0.00 B) ' + +* Обучаем модель +``` +history = model_1.fit( + X_train, y_train, + validation_split=0.1, + epochs=50 +) +``` + +* Выводим график функции ошибки +``` +plt.figure(figsize=(12, 5)) + +plt.subplot(1, 2, 1) +plt.plot(history.history['loss'], label='Обучающая ошибка') +plt.plot(history.history['val_loss'], label='Валидационная ошибка') +plt.title('Функция ошибки по эпохам') +plt.xlabel('Эпохи') +plt.ylabel('Categorical Crossentropy') +plt.legend() +plt.grid(True) +``` + +![график функции ошибки](p_6.png) + +## 7. Применение модели к тестовым данным +``` +scores=model_1.evaluate(X_test,y_test) +print('Lossontestdata:',scores[0]) #значение функции ошибки +print('Accuracyontestdata:',scores[1]) #значение метрики качества классификации +``` + +> - accuracy: 0.9316 - loss: 0.2666 +>Lossontestdata: 0.2741525173187256 +>Accuracyontestdata: 0.928600013256073 + +## 8. Добавили один скрытый слой и повторили п. 6-7 +* при 100 нейронах в скрытом слое +``` +model_2l_100 = Sequential() +model_2l_100.add(Dense(units=100,input_dim=num_pixels, activation='sigmoid')) +model_2l_100.add(Dense(units=num_classes, activation='softmax')) + +model_2l_100.compile(loss='categorical_crossentropy', optimizer='sgd', metrics=['accuracy']) + +print("Архитектура нейронной сети:") +model_2l_100.summary() +``` + +> Архитектура нейронной сети: +>Model: "sequential_9" +>┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓ +>┃ Layer (type) ┃ Output Shape ┃ Param # ┃ +>┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩ +>│ dense_20 (Dense) │ (None, 100) │ 78,500 │ +>├─────────────────────────────────┼────────────────────────┼───────────────┤ +>│ dense_21 (Dense) │ (None, 10) │ 1,010 │ +>└─────────────────────────────────┴────────────────────────┴───────────────┘ +> Total params: 79,510 (310.59 KB) +> Trainable params: 79,510 (310.59 KB) +> Non-trainable params: 0 (0.00 B) + +* Обучаем модель +``` +history_2l_100 = model_2l_100.fit( + X_train, y_train, + validation_split=0.1, + epochs=50 +) +``` + +* Выводим график функции ошибки +``` +plt.figure(figsize=(12, 5)) + +plt.subplot(1, 2, 1) +plt.plot(history_2l_100.history['loss'], label='Обучающая ошибка') +plt.plot(history_2l_100.history['val_loss'], label='Валидационная ошибка') +plt.title('Функция ошибки по эпохам') +plt.xlabel('Эпохи') +plt.ylabel('Categorical Crossentropy') +plt.legend() +plt.grid(True) +``` + +![график функции ошибки](p_8_100.png) + +``` +scores_2l_100=model_2l_100.evaluate(X_test,y_test) +print('Lossontestdata:',scores_2l_100[0]) #значение функции ошибки +print('Accuracyontestdata:',scores_2l_100[1]) #значение метрики качества +``` + +> - accuracy: 0.9482 - loss: 0.1875 +>Lossontestdata: 0.19283892214298248 +>Accuracyontestdata: 0.9462000131607056 ' + +* при 300 нейронах в скрытом слое +``` +model_2l_300 = Sequential() +model_2l_300.add(Dense(units=300,input_dim=num_pixels, activation='sigmoid')) +model_2l_300.add(Dense(units=num_classes, activation='softmax')) + +model_2l_300.compile(loss='categorical_crossentropy', optimizer='sgd', metrics=['accuracy']) + +print("Архитектура нейронной сети:") +model_2l_300.summary() +``` + +> Архитектура нейронной сети: +>Model: "sequential_10" +>┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓ +>┃ Layer (type) ┃ Output Shape ┃ Param # ┃ +>┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩ +>│ dense_22 (Dense) │ (None, 300) │ 235,500 │ +>├─────────────────────────────────┼────────────────────────┼───────────────┤ +>│ dense_23 (Dense) │ (None, 10) │ 3,010 │ +>└─────────────────────────────────┴────────────────────────┴───────────────┘ +> Total params: 238,510 (931.68 KB) +> Trainable params: 238,510 (931.68 KB) +> Non-trainable params: 0 (0.00 B) + +* Обучаем модель +``` +history_2l_300 = model_2l_300.fit( + X_train, y_train, + validation_split=0.1, + epochs=50 +) +``` + +* Выводим график функции ошибки +``` +plt.figure(figsize=(12, 5)) + +plt.subplot(1, 2, 1) +plt.plot(history_2l_300.history['loss'], label='Обучающая ошибка') +plt.plot(history_2l_300.history['val_loss'], label='Валидационная ошибка') +plt.title('Функция ошибки по эпохам') +plt.xlabel('Эпохи') +plt.ylabel('Categorical Crossentropy') +plt.legend() +plt.grid(True) +``` + +![график функции ошибки](p_8_300.png) + +``` +scores_2l_300=model_2l_300.evaluate(X_test,y_test) +print('Lossontestdata:',scores_2l_300[0]) #значение функции ошибки +print('Accuracyontestdata:',scores_2l_300[1]) #значение метрики качества +``` + +> - accuracy: 0.9437 - loss: 0.2113 +>Lossontestdata: 0.2168053537607193 +>Accuracyontestdata: 0.9412000179290771 + +* при 500 нейронах в скрытом слое +``` +model_2l_500 = Sequential() +model_2l_500.add(Dense(units=500,input_dim=num_pixels, activation='sigmoid')) +model_2l_500.add(Dense(units=num_classes, activation='softmax')) + +model_2l_500.compile(loss='categorical_crossentropy', optimizer='sgd', metrics=['accuracy']) + +print("Архитектура нейронной сети:") +model_2l_500.summary() +``` + +> Архитектура нейронной сети: +>Model: "sequential_11" +>┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓ +>┃ Layer (type) ┃ Output Shape ┃ Param # ┃ +>┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩ +>│ dense_24 (Dense) │ (None, 500) │ 392,500 │ +>├─────────────────────────────────┼────────────────────────┼───────────────┤ +>│ dense_25 (Dense) │ (None, 10) │ 5,010 │ +>└─────────────────────────────────┴────────────────────────┴───────────────┘ +> Total params: 397,510 (1.52 MB) +> Trainable params: 397,510 (1.52 MB) +> Non-trainable params: 0 (0.00 B) + +* Обучаем модель +``` +history_2l_500 = model_2l_500.fit( + X_train, y_train, + validation_split=0.1, + epochs=50 +) +``` + +* Выводим график функции ошибки +``` +plt.figure(figsize=(12, 5)) + +plt.subplot(1, 2, 1) +plt.plot(history_2l_500.history['loss'], label='Обучающая ошибка') +plt.plot(history_2l_500.history['val_loss'], label='Валидационная ошибка') +plt.title('Функция ошибки по эпохам') +plt.xlabel('Эпохи') +plt.ylabel('Categorical Crossentropy') +plt.legend() +plt.grid(True) +``` + +![график функции ошибки](p_8_500.png) + +``` +scores_2l_500=model_2l_500.evaluate(X_test,y_test) +print('Lossontestdata:',scores_2l_500[0]) #значение функции ошибки +print('Accuracyontestdata:',scores_2l_500[1]) #значение метрики качества +``` + +> - accuracy: 0.9396 - loss: 0.2295 +>Lossontestdata: 0.23596525192260742 +>Accuracyontestdata: 0.9369999766349792 + +Как мы видим, лучшая метрика получилась равной 0.9465000033378601 при архитектуре со 100 нейронами в скрытом слое, поэтому для дальнейших пунктов используем ее. + +## 9. Добавили второй скрытый слой +* при 50 нейронах во втором скрытом слое +``` +model_3l_100_50 = Sequential() +model_3l_100_50.add(Dense(units=100, input_dim=num_pixels, activation='sigmoid')) +model_3l_100_50.add(Dense(units=50, activation='sigmoid')) +model_3l_100_50.add(Dense(units=num_classes, activation='softmax')) + +model_3l_100_50.compile(loss='categorical_crossentropy', optimizer='sgd', metrics=['accuracy']) + +print("Архитектура нейронной сети:") +model_3l_100_50.summary() +``` + +> Архитектура нейронной сети: +>Model: "sequential_12" +>┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓ +>┃ Layer (type) ┃ Output Shape ┃ Param # ┃ +>┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩ +>│ dense_26 (Dense) │ (None, 100) │ 78,500 │ +>├─────────────────────────────────┼────────────────────────┼───────────────┤ +>│ dense_27 (Dense) │ (None, 50) │ 5,050 │ +>├─────────────────────────────────┼────────────────────────┼───────────────┤ +>│ dense_28 (Dense) │ (None, 10) │ 510 │ +>└─────────────────────────────────┴────────────────────────┴───────────────┘ +> Total params: 84,060 (328.36 KB) +> Trainable params: 84,060 (328.36 KB) +> Non-trainable params: 0 (0.00 B) + +* Обучаем модель +``` +history_3l_100_50 = model_3l_100_50.fit( + X_train, y_train, + validation_split=0.1, + epochs=50 +) +``` + +* Выводим график функции ошибки +``` +plt.figure(figsize=(12, 5)) + +plt.subplot(1, 2, 1) +plt.plot(history_3l_100_50.history['loss'], label='Обучающая ошибка') +plt.plot(history_3l_100_50.history['val_loss'], label='Валидационная ошибка') +plt.title('Функция ошибки по эпохам') +plt.xlabel('Эпохи') +plt.ylabel('Categorical Crossentropy') +plt.legend() +plt.grid(True) +``` + +![график функции ошибки](p_9_50.png) + +``` +scores_3l_100_50=model_3l_100_50.evaluate(X_test,y_test) +print('Lossontestdata:',scores_3l_100_50[0]) +print('Accuracyontestdata:',scores_3l_100_50[1]) +``` + +> - accuracy: 0.9459 - loss: 0.1914 +>Lossontestdata: 0.1960301399230957 +>Accuracyontestdata: 0.9444000124931335 + +* при 100 нейронах во втором скрытом слое +``` +model_3l_100_100 = Sequential() +model_3l_100_100.add(Dense(units=100, input_dim=num_pixels, activation='sigmoid')) +model_3l_100_100.add(Dense(units=100, activation='sigmoid')) +model_3l_100_100.add(Dense(units=num_classes, activation='softmax')) + +model_3l_100_100.compile(loss='categorical_crossentropy', optimizer='sgd', metrics=['accuracy']) + +print("Архитектура нейронной сети:") +model_3l_100_100.summary() +``` + +> Архитектура нейронной сети: +>Model: "sequential_13" +>┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓ +>┃ Layer (type) ┃ Output Shape ┃ Param # ┃ +>┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩ +>│ dense_29 (Dense) │ (None, 100) │ 78,500 │ +>├─────────────────────────────────┼────────────────────────┼───────────────┤ +>│ dense_30 (Dense) │ (None, 100) │ 10,100 │ +>├─────────────────────────────────┼────────────────────────┼───────────────┤ +>│ dense_31 (Dense) │ (None, 10) │ 1,010 │ +>└─────────────────────────────────┴────────────────────────┴───────────────┘ +> Total params: 89,610 (350.04 KB) +> Trainable params: 89,610 (350.04 KB) +> Non-trainable params: 0 (0.00 B) ' + +* Обучаем модель +``` +history_3l_100_100 = model_3l_100_100.fit( + X_train, y_train, + validation_split=0.1, + epochs=50 +) +``` + +* Выводим график функции ошибки +``` +plt.figure(figsize=(12, 5)) + +plt.subplot(1, 2, 1) +plt.plot(history_3l_100_100.history['loss'], label='Обучающая ошибка') +plt.plot(history_3l_100_100.history['val_loss'], label='Валидационная ошибка') +plt.title('Функция ошибки по эпохам') +plt.xlabel('Эпохи') +plt.ylabel('Categorical Crossentropy') +plt.legend() +plt.grid(True) +``` + +![график функции ошибки](p_9_100.png) + +``` +scores_3l_100_100=model_3l_100_100.evaluate(X_test,y_test) +print('Lossontestdata:',scores_3l_100_100[0]) +print('Accuracyontestdata:',scores_3l_100_100[1]) +``` + +> - accuracy: 0.9488 - loss: 0.1810 +>Lossontestdata: 0.18787769973278046 +>Accuracyontestdata: 0.9467999935150146 + +Количество Количество нейронов в Количество нейронов во Значение метрики +скрытых слоев первом скрытом слое втором скрытом слое качества классификации +0 - - 0.913100004196167 +1 100 - 0.9462000131607056 +1 300 - 0.9412000179290771 +1 500 - 0.9369999766349792 +2 100 50 0.9444000124931335 +2 100 100 0.9467999935150146 + +Из таблицы видно, что лучше всего справились с задачей НС с одним скрытым слоем и 100 нейронами и НС с двумя скрытыми слоями по 100 нейронов. +Метрика точности достигла почти 95% при достаточно простой архитектуре сетей, это может быть связано с тем, что датасет MNIST имеет только 60,000 обучающих примеров - недостаточно для более сложных архитектур. Также при усложнении архитектуры сети появляется риск переобучения. В нашей задаче мы видим, что при увеличении числа нейронов в скрытых слоях метрика падает.Простая модель лучше обобщает на подобных учебных датасетах, более сложные же архитектуры стоит использовать на более сложных датасетах, например ImageNet. + +## 11. Сохранение наилучшей модели на диск +``` +model_2l_100.save(filepath='best_model.keras') +``` + +## 12. Вывод тестовых изображений и результатов распознаваний +``` +n = 333 +result = model.predict(X_test[n:n+1]) +print('NN output:', result) + +plt.imshow(X_test[n].reshape(28,28), cmap=plt.get_cmap('gray')) +plt.show() +print('Real mark: ', str(np.argmax(y_test[n]))) +print('NN answer: ', str(np.argmax(result))) +``` + +> NN output: [[3.0055828e-02 1.7918642e-06 1.0183058e-05 1.3000262e-04 2.2273003e-05 +> 9.6671683e-01 3.1997326e-05 6.5717955e-05 2.9293287e-03 3.6015103e-05]] +![alt text](p_11.png) +>Real mark: 5 +>NN answer: 5 + +``` +n = 555 +result = model.predict(X_test[n:n+1]) +print('NN output:', result) + +plt.imshow(X_test[n].reshape(28,28), cmap=plt.get_cmap('gray')) +plt.show() +print('Real mark: ', str(np.argmax(y_test[n]))) +print('NN answer: ', str(np.argmax(result))) +``` + +> NN output: [[9.8050815e-01 5.7898621e-08 9.2301030e-05 8.2087971e-04 5.6250155e-06 +> 1.8371470e-02 9.3076023e-06 1.4318567e-04 2.3332947e-05 2.5768295e-05]] +![alt text](p_11_2.png) +>Real mark: 0 +>NN answer: 0 ' + +## 12. Тестирование на собственных изображениях +* загрузка 1 собственного изображения +``` +from PIL import Image +file_1_data = Image.open('1.png') +file_1_data = file_1_data.convert('L') #перевод в градации серого +test_1_img = np.array(file_1_data) +``` + +* вывод собственного изображения +``` +plt.imshow(test_1_img, cmap=plt.get_cmap('gray')) +plt.show() +``` + +![1 изображение](1.png) + +* предобработка +``` +test_1_img = test_1_img / 255 +test_1_img = test_1_img.reshape(1, num_pixels) +``` + +* распознавание +``` +result_1 = model.predict(test_1_img) +print('I think it\'s', np.argmax(result_1)) +``` +> I think it's 1 + +* тест 2 изображения +``` +file_2_data = Image.open('2.png') +file_2_data = file_2_data.convert('L') #перевод в градации серого +test_2_img = np.array(file_2_data) + +plt.imshow(test_2_img, cmap=plt.get_cmap('gray')) +plt.show() +``` + +![2 изображение](2.png) + +``` +test_2_img = test_2_img / 255 +test_2_img = test_2_img.reshape(1, num_pixels) + +result_2 = model.predict(test_2_img) +print('I think it\'s', np.argmax(result_2)) +``` + +> I think it's 2 + +Сеть не ошиблась и корректно распознала обе цифры на изображениях + +## 14. Тестирование на собственных повернутых изображениях +``` +file_1_90_data = Image.open('1_90.png') +file_1_90_data = file_1_90_data.convert('L') #перевод в градации серого +test_1_90_img = np.array(file_1_90_data) + +plt.imshow(test_1_90_img, cmap=plt.get_cmap('gray')) +plt.show() +``` + +![alt text](1_90.png) + +``` +test_1_90_img = test_1_90_img / 255 +test_1_90_img = test_1_90_img.reshape(1, num_pixels) + +result_1_90 = model.predict(test_1_90_img) +print('I think it\'s', np.argmax(result_1_90)) +``` + +> I think it's 4 + +``` +file_2_90_data = Image.open('2_90.png') +file_2_90_data = file_2_90_data.convert('L') #перевод в градации серого +test_2_90_img = np.array(file_2_90_data) + +plt.imshow(test_2_90_img, cmap=plt.get_cmap('gray')) +plt.show() +``` + +![alt text](2_90.png) + +``` +test_2_90_img = test_2_90_img / 255 +test_2_90_img = test_2_90_img.reshape(1, num_pixels) + +result_2_90 = model.predict(test_2_90_img) +print('I think it\'s', np.argmax(result_2_90)) +``` + +> I think it's 5 + +При повороте изображений сеть не распознала цифры правильно. Так как она не обучалась на повернутых изображениях. \ No newline at end of file