Upload 2 files
Browse files- image.png +0 -0
- Яровой_47.ipynb +353 -0
image.png
ADDED
![]() |
Яровой_47.ipynb
ADDED
@@ -0,0 +1,353 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"nbformat": 4,
|
3 |
+
"nbformat_minor": 0,
|
4 |
+
"metadata": {
|
5 |
+
"colab": {
|
6 |
+
"provenance": []
|
7 |
+
},
|
8 |
+
"kernelspec": {
|
9 |
+
"name": "python3",
|
10 |
+
"display_name": "Python 3"
|
11 |
+
},
|
12 |
+
"language_info": {
|
13 |
+
"name": "python"
|
14 |
+
}
|
15 |
+
},
|
16 |
+
"cells": [
|
17 |
+
{
|
18 |
+
"cell_type": "markdown",
|
19 |
+
"source": [
|
20 |
+
"# Зачетное задание Ярового Максима (47-2)\n",
|
21 |
+
"Варинат 6"
|
22 |
+
],
|
23 |
+
"metadata": {
|
24 |
+
"id": "RrbLNs83IdXK"
|
25 |
+
}
|
26 |
+
},
|
27 |
+
{
|
28 |
+
"cell_type": "code",
|
29 |
+
"execution_count": 22,
|
30 |
+
"metadata": {
|
31 |
+
"id": "ONb_xUhwIWWZ"
|
32 |
+
},
|
33 |
+
"outputs": [],
|
34 |
+
"source": [
|
35 |
+
"import numpy as np\n",
|
36 |
+
"import matplotlib.pyplot as plt\n",
|
37 |
+
"from tensorflow.keras.datasets import mnist\n",
|
38 |
+
"from tensorflow import keras\n",
|
39 |
+
"from tensorflow.keras.layers import Dense, Flatten, Reshape, Input, Lambda\n",
|
40 |
+
"import keras.backend as K\n",
|
41 |
+
"from keras.utils import plot_model"
|
42 |
+
]
|
43 |
+
},
|
44 |
+
{
|
45 |
+
"cell_type": "code",
|
46 |
+
"source": [
|
47 |
+
"(x_train, y_train), (x_test, y_test) = mnist.load_data()\n",
|
48 |
+
"\n",
|
49 |
+
"x_train = x_train / 255\n",
|
50 |
+
"x_test = x_test / 255\n",
|
51 |
+
"\n",
|
52 |
+
"x_train = np.reshape(x_train, (len(x_train), 784))\n",
|
53 |
+
"x_test = np.reshape(x_test, (len(x_test), 784))"
|
54 |
+
],
|
55 |
+
"metadata": {
|
56 |
+
"id": "6vgOEs03KD0A"
|
57 |
+
},
|
58 |
+
"execution_count": 23,
|
59 |
+
"outputs": []
|
60 |
+
},
|
61 |
+
{
|
62 |
+
"cell_type": "code",
|
63 |
+
"source": [
|
64 |
+
"print(x_train.shape)\n",
|
65 |
+
"print(x_test.shape)"
|
66 |
+
],
|
67 |
+
"metadata": {
|
68 |
+
"colab": {
|
69 |
+
"base_uri": "https://localhost:8080/"
|
70 |
+
},
|
71 |
+
"id": "I-R_I4pHmIIj",
|
72 |
+
"outputId": "92dc6a74-a423-4802-d702-d88e7c0bd40d"
|
73 |
+
},
|
74 |
+
"execution_count": 24,
|
75 |
+
"outputs": [
|
76 |
+
{
|
77 |
+
"output_type": "stream",
|
78 |
+
"name": "stdout",
|
79 |
+
"text": [
|
80 |
+
"(60000, 784)\n",
|
81 |
+
"(10000, 784)\n"
|
82 |
+
]
|
83 |
+
}
|
84 |
+
]
|
85 |
+
},
|
86 |
+
{
|
87 |
+
"cell_type": "code",
|
88 |
+
"source": [
|
89 |
+
"input_encoder = Input(shape=(28*28, ))\n",
|
90 |
+
"layer = Dense(150, activation='relu')(input_encoder)\n",
|
91 |
+
"layer = Dense(40, activation='relu')(layer)\n",
|
92 |
+
"layer = Dense(10, activation='relu')(layer)\n",
|
93 |
+
"\n",
|
94 |
+
"encoder = Dense(3, activation = 'linear')(layer)\n",
|
95 |
+
"\n",
|
96 |
+
"input_decoder = Input(shape= (3,))\n",
|
97 |
+
"layer = Dense(10, activation='relu')(input_decoder)\n",
|
98 |
+
"layer = Dense(40, activation='relu')(layer)\n",
|
99 |
+
"layer = Dense(150, activation='relu')(layer)\n",
|
100 |
+
"\n",
|
101 |
+
"decoder = Dense(28*28, activation = 'relu')(layer)"
|
102 |
+
],
|
103 |
+
"metadata": {
|
104 |
+
"id": "s7K1VIwiKG68"
|
105 |
+
},
|
106 |
+
"execution_count": 25,
|
107 |
+
"outputs": []
|
108 |
+
},
|
109 |
+
{
|
110 |
+
"cell_type": "code",
|
111 |
+
"source": [
|
112 |
+
"encoder_model = keras.Model(input_encoder, encoder, name='encoder')\n",
|
113 |
+
"decoder_model = keras.Model(input_decoder, decoder, name='decoder')\n",
|
114 |
+
"autoencoder = keras.Model(input_encoder, decoder_model(encoder_model(input_encoder)))"
|
115 |
+
],
|
116 |
+
"metadata": {
|
117 |
+
"id": "4yMPWXC0KRAQ"
|
118 |
+
},
|
119 |
+
"execution_count": 26,
|
120 |
+
"outputs": []
|
121 |
+
},
|
122 |
+
{
|
123 |
+
"cell_type": "code",
|
124 |
+
"source": [
|
125 |
+
"autoencoder.compile(optimizer='adam', loss='mean_squared_error' , metrics=['accuracy'])"
|
126 |
+
],
|
127 |
+
"metadata": {
|
128 |
+
"id": "WW1RyDz-lII4"
|
129 |
+
},
|
130 |
+
"execution_count": 27,
|
131 |
+
"outputs": []
|
132 |
+
},
|
133 |
+
{
|
134 |
+
"cell_type": "code",
|
135 |
+
"source": [
|
136 |
+
"autoencoder.summary()"
|
137 |
+
],
|
138 |
+
"metadata": {
|
139 |
+
"colab": {
|
140 |
+
"base_uri": "https://localhost:8080/"
|
141 |
+
},
|
142 |
+
"id": "bU6n4qWSnIdZ",
|
143 |
+
"outputId": "db5014ca-b5c1-455c-a3c2-22c6921afad5"
|
144 |
+
},
|
145 |
+
"execution_count": 28,
|
146 |
+
"outputs": [
|
147 |
+
{
|
148 |
+
"output_type": "stream",
|
149 |
+
"name": "stdout",
|
150 |
+
"text": [
|
151 |
+
"Model: \"model_1\"\n",
|
152 |
+
"_________________________________________________________________\n",
|
153 |
+
" Layer (type) Output Shape Param # \n",
|
154 |
+
"=================================================================\n",
|
155 |
+
" input_3 (InputLayer) [(None, 784)] 0 \n",
|
156 |
+
" \n",
|
157 |
+
" encoder (Functional) (None, 3) 124233 \n",
|
158 |
+
" \n",
|
159 |
+
" decoder (Functional) (None, 784) 125014 \n",
|
160 |
+
" \n",
|
161 |
+
"=================================================================\n",
|
162 |
+
"Total params: 249,247\n",
|
163 |
+
"Trainable params: 249,247\n",
|
164 |
+
"Non-trainable params: 0\n",
|
165 |
+
"_________________________________________________________________\n"
|
166 |
+
]
|
167 |
+
}
|
168 |
+
]
|
169 |
+
},
|
170 |
+
{
|
171 |
+
"cell_type": "code",
|
172 |
+
"source": [
|
173 |
+
"plot_model(autoencoder, expand_nested=True, show_shapes = True, show_layer_names=False, dpi = 70)"
|
174 |
+
],
|
175 |
+
"metadata": {
|
176 |
+
"colab": {
|
177 |
+
"base_uri": "https://localhost:8080/",
|
178 |
+
"height": 861
|
179 |
+
},
|
180 |
+
"id": "cZmMu1HNW7xJ",
|
181 |
+
"outputId": "52370b32-9aba-4cd2-d3fa-60ec11a26aef"
|
182 |
+
},
|
183 |
+
"execution_count": 29,
|
184 |
+
"outputs": [
|
185 |
+
{
|
186 |
+
"output_type": "execute_result",
|
187 |
+
"data": {
|
188 |
+
"image/png": "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\n",
|
189 |
+
"text/plain": [
|
190 |
+
"<IPython.core.display.Image object>"
|
191 |
+
]
|
192 |
+
},
|
193 |
+
"metadata": {},
|
194 |
+
"execution_count": 29
|
195 |
+
}
|
196 |
+
]
|
197 |
+
},
|
198 |
+
{
|
199 |
+
"cell_type": "code",
|
200 |
+
"source": [
|
201 |
+
"autoencoder.fit(x_train,x_train, epochs=10, batch_size = 60, validation_split=0.2)"
|
202 |
+
],
|
203 |
+
"metadata": {
|
204 |
+
"colab": {
|
205 |
+
"base_uri": "https://localhost:8080/"
|
206 |
+
},
|
207 |
+
"id": "nCfX8mdKKaeT",
|
208 |
+
"outputId": "d97685b1-ecea-4051-d92b-bcfd2eb3562b"
|
209 |
+
},
|
210 |
+
"execution_count": 30,
|
211 |
+
"outputs": [
|
212 |
+
{
|
213 |
+
"output_type": "stream",
|
214 |
+
"name": "stdout",
|
215 |
+
"text": [
|
216 |
+
"Epoch 1/10\n",
|
217 |
+
"800/800 [==============================] - 6s 6ms/step - loss: 0.0530 - accuracy: 0.0105 - val_loss: 0.0438 - val_accuracy: 0.0092\n",
|
218 |
+
"Epoch 2/10\n",
|
219 |
+
"800/800 [==============================] - 5s 6ms/step - loss: 0.0418 - accuracy: 0.0085 - val_loss: 0.0403 - val_accuracy: 0.0113\n",
|
220 |
+
"Epoch 3/10\n",
|
221 |
+
"800/800 [==============================] - 5s 6ms/step - loss: 0.0391 - accuracy: 0.0091 - val_loss: 0.0382 - val_accuracy: 0.0088\n",
|
222 |
+
"Epoch 4/10\n",
|
223 |
+
"800/800 [==============================] - 4s 5ms/step - loss: 0.0376 - accuracy: 0.0099 - val_loss: 0.0373 - val_accuracy: 0.0110\n",
|
224 |
+
"Epoch 5/10\n",
|
225 |
+
"800/800 [==============================] - 4s 6ms/step - loss: 0.0369 - accuracy: 0.0095 - val_loss: 0.0367 - val_accuracy: 0.0093\n",
|
226 |
+
"Epoch 6/10\n",
|
227 |
+
"800/800 [==============================] - 5s 6ms/step - loss: 0.0360 - accuracy: 0.0104 - val_loss: 0.0360 - val_accuracy: 0.0098\n",
|
228 |
+
"Epoch 7/10\n",
|
229 |
+
"800/800 [==============================] - 4s 5ms/step - loss: 0.0354 - accuracy: 0.0106 - val_loss: 0.0353 - val_accuracy: 0.0117\n",
|
230 |
+
"Epoch 8/10\n",
|
231 |
+
"800/800 [==============================] - 5s 6ms/step - loss: 0.0348 - accuracy: 0.0103 - val_loss: 0.0351 - val_accuracy: 0.0096\n",
|
232 |
+
"Epoch 9/10\n",
|
233 |
+
"800/800 [==============================] - 4s 5ms/step - loss: 0.0344 - accuracy: 0.0095 - val_loss: 0.0345 - val_accuracy: 0.0092\n",
|
234 |
+
"Epoch 10/10\n",
|
235 |
+
"800/800 [==============================] - 5s 6ms/step - loss: 0.0341 - accuracy: 0.0097 - val_loss: 0.0343 - val_accuracy: 0.0099\n"
|
236 |
+
]
|
237 |
+
},
|
238 |
+
{
|
239 |
+
"output_type": "execute_result",
|
240 |
+
"data": {
|
241 |
+
"text/plain": [
|
242 |
+
"<keras.callbacks.History at 0x7fd6136d5060>"
|
243 |
+
]
|
244 |
+
},
|
245 |
+
"metadata": {},
|
246 |
+
"execution_count": 30
|
247 |
+
}
|
248 |
+
]
|
249 |
+
},
|
250 |
+
{
|
251 |
+
"cell_type": "code",
|
252 |
+
"source": [
|
253 |
+
"autoencoder.evaluate(x_test, x_test)"
|
254 |
+
],
|
255 |
+
"metadata": {
|
256 |
+
"colab": {
|
257 |
+
"base_uri": "https://localhost:8080/"
|
258 |
+
},
|
259 |
+
"id": "7jvdKd7OlmlW",
|
260 |
+
"outputId": "0314d2ed-725d-4151-fa3c-f6a6846e4e59"
|
261 |
+
},
|
262 |
+
"execution_count": 31,
|
263 |
+
"outputs": [
|
264 |
+
{
|
265 |
+
"output_type": "stream",
|
266 |
+
"name": "stdout",
|
267 |
+
"text": [
|
268 |
+
"313/313 [==============================] - 1s 2ms/step - loss: 0.0343 - accuracy: 0.0135\n"
|
269 |
+
]
|
270 |
+
},
|
271 |
+
{
|
272 |
+
"output_type": "execute_result",
|
273 |
+
"data": {
|
274 |
+
"text/plain": [
|
275 |
+
"[0.03432705998420715, 0.013500000350177288]"
|
276 |
+
]
|
277 |
+
},
|
278 |
+
"metadata": {},
|
279 |
+
"execution_count": 31
|
280 |
+
}
|
281 |
+
]
|
282 |
+
},
|
283 |
+
{
|
284 |
+
"cell_type": "code",
|
285 |
+
"source": [
|
286 |
+
"predictions = autoencoder.predict(x_test)\n",
|
287 |
+
"predictions = predictions.reshape(10000, 28, 28)\n",
|
288 |
+
"plt.imshow(predictions[0], cmap='gray')"
|
289 |
+
],
|
290 |
+
"metadata": {
|
291 |
+
"colab": {
|
292 |
+
"base_uri": "https://localhost:8080/",
|
293 |
+
"height": 465
|
294 |
+
},
|
295 |
+
"id": "tVxjGrLhK-Zm",
|
296 |
+
"outputId": "8d42fbc4-e334-4116-ce2b-a48bdd01f730"
|
297 |
+
},
|
298 |
+
"execution_count": 32,
|
299 |
+
"outputs": [
|
300 |
+
{
|
301 |
+
"output_type": "stream",
|
302 |
+
"name": "stdout",
|
303 |
+
"text": [
|
304 |
+
"313/313 [==============================] - 1s 1ms/step\n"
|
305 |
+
]
|
306 |
+
},
|
307 |
+
{
|
308 |
+
"output_type": "execute_result",
|
309 |
+
"data": {
|
310 |
+
"text/plain": [
|
311 |
+
"<matplotlib.image.AxesImage at 0x7fd612b8eaa0>"
|
312 |
+
]
|
313 |
+
},
|
314 |
+
"metadata": {},
|
315 |
+
"execution_count": 32
|
316 |
+
},
|
317 |
+
{
|
318 |
+
"output_type": "display_data",
|
319 |
+
"data": {
|
320 |
+
"text/plain": [
|
321 |
+
"<Figure size 640x480 with 1 Axes>"
|
322 |
+
],
|
323 |
+
"image/png": "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uI51OeIKCABgggACAJgggAAAJgggAIAJAggAYIIAAgCYIIAAACYIIACACQIIAGCCAAIAmCCAAAAmCCAAgAkmIx0khw4d8q7p6+vzrrniCv9v6YkTJ7xrpPgmeOzt7fWu+frrr71r4hm7eI91/Phx7xrnnHdNPBOLZmVleddI8U0ae80113jXXHXVVd416enp3jXxTOQqSWlpad41TEZ68bgCAgCYIIAAACa8A2j79u26++67lZubq6SkJG3evDlmu3NOzz//vHJycjR27FgVFxfrwIEDieoXADBCeAdQZ2enZs+ercrKyn63r127Vq+88opeffVV7dy5U1deeaUWL16srq6uS24WADByeL9jXVpaqtLS0n63Oef08ssv69lnn9U999wjSXrttdeUnZ2tzZs364EHHri0bgEAI0ZC3wNqampSa2uriouLo+uCwaAKCwtVW1vbb013d7cikUjMAgAY+RIaQK2trZKk7OzsmPXZ2dnRbWeqqKhQMBiMLnl5eYlsCQAwRJnfBVdeXq5wOBxdDh48aN0SAGAQJDSAQqGQJKmtrS1mfVtbW3TbmQKBgNLS0mIWAMDIl9AAys/PVygUUlVVVXRdJBLRzp07VVRUlMhDAQCGOe+74I4dO6aGhobo46amJu3du1cZGRmaNGmSVq1apV//+te67rrrlJ+fr+eee065ublasmRJIvsGAAxz3gG0a9cu3XHHHdHHq1evliQtW7ZMGzZs0NNPP63Ozk6tWLFC7e3tuvXWW7V169a45rECAIxcSS6eWREHUCQSUTAYtG5jSJg0aZJ3zcSJE71rzrxr8WJlZGR415w8edK7pqenx7smHA5710jxTUYaz58OjBs3zrsmnvdHp02b5l0jSdOnT/eumTt3rndNPOdQXV2dd82OHTu8ayTpo48+8q5hMtL/CofD5z1vze+CAwBcngggAIAJAggAYIIAAgCYIIAAACYIIACACQIIAGCCAAIAmCCAAAAmCCAAgAkCCABgggACAJgggAAAJrw/jgGD58xPlr0Yvb293jXxzFAtxdffqVOnvGvimW36P//5j3eNNPJmMm5vb4+r7tprr/WuGT16tHdNPDOdxyPe72s8/yZcPK6AAAAmCCAAgAkCCABgggACAJgggAAAJgggAIAJAggAYIIAAgCYIIAAACYIIACACQIIAGCCAAIAmGAy0iGsu7vbu+brr7/2runo6PCukaTU1NRBOVY8k5HitK6urrjqrrvuOu+a9PR075p4vrctLS3eNfH8v7iUOlwcroAAACYIIACACQIIAGCCAAIAmCCAAAAmCCAAgAkCCABgggACAJgggAAAJgggAIAJAggAYIIAAgCYYDJSxD3ZJ5OEDn0PPvhgXHWzZs3yrklO9v99trm52bvmwIED3jVffPGFdw0GHldAAAATBBAAwAQBBAAwQQABAEwQQAAAEwQQAMAEAQQAMEEAAQBMEEAAABMEEADABAEEADBBAAEATDAZKTBMTJ061bvm9ttvj+tY48eP9675+uuvvWtqa2u9a3bs2OFdg6GJKyAAgAkCCABgwjuAtm/frrvvvlu5ublKSkrS5s2bY7YvX75cSUlJMUtJSUmi+gUAjBDeAdTZ2anZs2ersrLynPuUlJTo8OHD0eWNN964pCYBACOP900IpaWlKi0tPe8+gUBAoVAo7qYAACPfgLwHVF1draysLE2fPl2PP/64jh49es59u7u7FYlEYhYAwMiX8AAqKSnRa6+9pqqqKv32t79VTU2NSktL1dvb2+/+FRUVCgaD0SUvLy/RLQEAhqCE/x3QAw88EP165syZmjVrlqZOnarq6motXLjwrP3Ly8u1evXq6ONIJEIIAcBlYMBvw54yZYoyMzPV0NDQ7/ZAIKC0tLSYBQAw8g14AB06dEhHjx5VTk7OQB8KADCMeL8Ed+zYsZirmaamJu3du1cZGRnKyMjQiy++qKVLlyoUCqmxsVFPP/20pk2bpsWLFye0cQDA8OYdQLt27dIdd9wRffzd+zfLli3TunXrtG/fPv3pT39Se3u7cnNztWjRIv3qV79SIBBIXNcAgGHPO4AWLFgg59w5t7///vuX1BCA/v34xz/2ron3pe+enh7vms8//9y7Zvv27d41ra2t3jUYmpgLDgBgggACAJgggAAAJgggAIAJAggAYIIAAgCYIIAAACYIIACACQIIAGCCAAIAmCCAAAAmCCAAgAkCCABgIuEfyQ3gwpYtW+Zdc+edd3rXBINB7xpJOnjwoHfN3/72t0E5DkYOroAAACYIIACACQIIAGCCAAIAmCCAAAAmCCAAgAkCCABgggACAJgggAAAJgggAIAJAggAYIIAAgCYYDJS4BIVFBR419x1113eNdOmTfOuaWlp8a6RpNraWu+abdu2eddEIhHvGowcXAEBAEwQQAAAEwQQAMAEAQQAMEEAAQBMEEAAABMEEADABAEEADBBAAEATBBAAAATBBAAwAQBBAAwwWSkwP8YO3asd01JSYl3TWFhoXfNmDFjvGv27t3rXSNJGzdu9K4Jh8NxHQuXL66AAAAmCCAAgAkCCABgggACAJgggAAAJgggAIAJAggAYIIAAgCYIIAAACYIIACACQIIAGCCAAIAmGAyUuB/LFmyxLvmhz/8oXfN5MmTvWs+++wz75qamhrvGin+SUwBH1wBAQBMEEAAABNeAVRRUaFbbrlFqampysrK0pIlS1RfXx+zT1dXl8rKyjRhwgSNHz9eS5cuVVtbW0KbBgAMf14BVFNTo7KyMtXV1emDDz5QT0+PFi1apM7Ozug+Tz75pN599129/fbbqqmpUUtLi+67776ENw4AGN68bkLYunVrzOMNGzYoKytLu3fv1vz58xUOh/XHP/5RGzdu1J133ilJWr9+vW644QbV1dXpBz/4QeI6BwAMa5f0HtB3H8GbkZEhSdq9e7d6enpUXFwc3WfGjBmaNGmSamtr+32O7u5uRSKRmAUAMPLFHUB9fX1atWqV5s2bp4KCAklSa2urUlJSlJ6eHrNvdna2Wltb+32eiooKBYPB6JKXlxdvSwCAYSTuACorK9P+/fv15ptvXlID5eXlCofD0eXgwYOX9HwAgOEhrj9EXblypd577z1t375dEydOjK4PhUI6efKk2tvbY66C2traFAqF+n2uQCCgQCAQTxsAgGHM6wrIOaeVK1dq06ZN2rZtm/Lz82O2z5kzR6NHj1ZVVVV0XX19vZqbm1VUVJSYjgEAI4LXFVBZWZk2btyoLVu2KDU1Nfq+TjAY1NixYxUMBvXII49o9erVysjIUFpamp544gkVFRVxBxwAIIZXAK1bt06StGDBgpj169ev1/LlyyVJv//975WcnKylS5equ7tbixcv1h/+8IeENAsAGDm8Asg5d8F9xowZo8rKSlVWVsbdFHCp4r3iLi0t9a656aabvGsu5v/Smf7+97971/z1r3/1rgEGC3PBAQBMEEAAABMEEADABAEEADBBAAEATBBAAAATBBAAwAQBBAAwQQABAEwQQAAAEwQQAMAEAQQAMEEAAQBMxPWJqMBgCgaD3jULFy6M61g333yzd01PT493zRdffOFd8/77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\n"
|
324 |
+
},
|
325 |
+
"metadata": {}
|
326 |
+
}
|
327 |
+
]
|
328 |
+
},
|
329 |
+
{
|
330 |
+
"cell_type": "code",
|
331 |
+
"source": [
|
332 |
+
"autoencoder.save('drive/MyDrive/model_autoencoder')"
|
333 |
+
],
|
334 |
+
"metadata": {
|
335 |
+
"colab": {
|
336 |
+
"base_uri": "https://localhost:8080/"
|
337 |
+
},
|
338 |
+
"id": "_muiNE6wq0Vl",
|
339 |
+
"outputId": "2cfd0c8e-7fcd-4a57-b7a2-274e11c5b25d"
|
340 |
+
},
|
341 |
+
"execution_count": 33,
|
342 |
+
"outputs": [
|
343 |
+
{
|
344 |
+
"output_type": "stream",
|
345 |
+
"name": "stderr",
|
346 |
+
"text": [
|
347 |
+
"WARNING:absl:Found untraced functions such as _update_step_xla while saving (showing 1 of 1). These functions will not be directly callable after loading.\n"
|
348 |
+
]
|
349 |
+
}
|
350 |
+
]
|
351 |
+
}
|
352 |
+
]
|
353 |
+
}
|