NeuralNetworkForSorting.ipynb (25242B)
1 { 2 "cells": [ 3 { 4 "cell_type": "code", 5 "execution_count": 86, 6 "metadata": {}, 7 "outputs": [], 8 "source": [ 9 "import keras\n", 10 "import numpy as np\n", 11 "\n", 12 "arrs = np.random.rand(1000000, 10)" 13 ] 14 }, 15 { 16 "cell_type": "code", 17 "execution_count": 87, 18 "metadata": {}, 19 "outputs": [], 20 "source": [ 21 "X = arrs.copy()\n", 22 "y = arrs\n", 23 "for i in range(0, len(arrs)):\n", 24 " arrs[i].sort()\n", 25 " y[i] = arrs[i]" 26 ] 27 }, 28 { 29 "cell_type": "code", 30 "execution_count": 88, 31 "metadata": {}, 32 "outputs": [], 33 "source": [ 34 "model = keras.Sequential(layers=[\n", 35 " keras.layers.Input((10,)),\n", 36 " keras.layers.Dense(256, 'relu'),\n", 37 " keras.layers.Dense(256, 'relu'),\n", 38 " keras.layers.Dense(256, 'relu'),\n", 39 " keras.layers.Dense(256, 'relu'),\n", 40 " keras.layers.Dense(256, 'relu'),\n", 41 " keras.layers.Dense(10, 'relu')\n", 42 "])\n", 43 "\n", 44 "model.compile(optimizer='adam', loss='mse')" 45 ] 46 }, 47 { 48 "cell_type": "code", 49 "execution_count": 89, 50 "metadata": {}, 51 "outputs": [ 52 { 53 "name": "stdout", 54 "output_type": "stream", 55 "text": [ 56 "Epoch 1/100\n", 57 "\u001b[1m10000/10000\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m23s\u001b[0m 2ms/step - loss: 0.0856\n", 58 "Epoch 2/100\n", 59 "\u001b[1m10000/10000\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m24s\u001b[0m 2ms/step - loss: 0.0427\n", 60 "Epoch 3/100\n", 61 "\u001b[1m10000/10000\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m23s\u001b[0m 2ms/step - loss: 0.0426\n", 62 "Epoch 4/100\n", 63 "\u001b[1m10000/10000\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m23s\u001b[0m 2ms/step - loss: 0.0055\n", 64 "Epoch 5/100\n", 65 "\u001b[1m10000/10000\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m23s\u001b[0m 2ms/step - loss: 9.9785e-05\n", 66 "Epoch 6/100\n", 67 "\u001b[1m10000/10000\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m23s\u001b[0m 2ms/step - loss: 8.7118e-05\n", 68 "Epoch 7/100\n", 69 "\u001b[1m10000/10000\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m23s\u001b[0m 2ms/step - loss: 7.8787e-05\n", 70 "Epoch 8/100\n", 71 "\u001b[1m10000/10000\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m23s\u001b[0m 2ms/step - loss: 7.3314e-05\n", 72 "Epoch 9/100\n", 73 "\u001b[1m10000/10000\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m23s\u001b[0m 2ms/step - loss: 6.8400e-05\n", 74 "Epoch 10/100\n", 75 "\u001b[1m10000/10000\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m23s\u001b[0m 2ms/step - loss: 6.3560e-05\n", 76 "Epoch 11/100\n", 77 "\u001b[1m10000/10000\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m23s\u001b[0m 2ms/step - loss: 6.0688e-05\n", 78 "Epoch 12/100\n", 79 "\u001b[1m10000/10000\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m22s\u001b[0m 2ms/step - loss: 5.7792e-05\n", 80 "Epoch 13/100\n", 81 "\u001b[1m10000/10000\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m22s\u001b[0m 2ms/step - loss: 5.5196e-05\n", 82 "Epoch 14/100\n", 83 "\u001b[1m10000/10000\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m22s\u001b[0m 2ms/step - loss: 5.3011e-05\n", 84 "Epoch 15/100\n", 85 "\u001b[1m10000/10000\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m41s\u001b[0m 2ms/step - loss: 5.0850e-05\n", 86 "Epoch 16/100\n", 87 "\u001b[1m10000/10000\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m22s\u001b[0m 2ms/step - loss: 4.9164e-05\n", 88 "Epoch 17/100\n", 89 "\u001b[1m10000/10000\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m22s\u001b[0m 2ms/step - loss: 4.7786e-05\n", 90 "Epoch 18/100\n", 91 "\u001b[1m10000/10000\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m22s\u001b[0m 2ms/step - loss: 4.6064e-05\n", 92 "Epoch 19/100\n", 93 "\u001b[1m10000/10000\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m22s\u001b[0m 2ms/step - loss: 4.4914e-05\n", 94 "Epoch 20/100\n", 95 "\u001b[1m10000/10000\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m22s\u001b[0m 2ms/step - loss: 4.3817e-05\n", 96 "Epoch 21/100\n", 97 "\u001b[1m10000/10000\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m22s\u001b[0m 2ms/step - loss: 4.2979e-05\n", 98 "Epoch 22/100\n", 99 "\u001b[1m10000/10000\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m22s\u001b[0m 2ms/step - loss: 4.2093e-05\n", 100 "Epoch 23/100\n", 101 "\u001b[1m10000/10000\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m22s\u001b[0m 2ms/step - loss: 4.1059e-05\n", 102 "Epoch 24/100\n", 103 "\u001b[1m10000/10000\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m22s\u001b[0m 2ms/step - loss: 4.0475e-05\n", 104 "Epoch 25/100\n", 105 "\u001b[1m10000/10000\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m22s\u001b[0m 2ms/step - loss: 3.9875e-05\n", 106 "Epoch 26/100\n", 107 "\u001b[1m10000/10000\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m22s\u001b[0m 2ms/step - loss: 3.9346e-05\n", 108 "Epoch 27/100\n", 109 "\u001b[1m10000/10000\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m22s\u001b[0m 2ms/step - loss: 3.8780e-05\n", 110 "Epoch 28/100\n", 111 "\u001b[1m10000/10000\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m22s\u001b[0m 2ms/step - loss: 3.8075e-05\n", 112 "Epoch 29/100\n", 113 "\u001b[1m10000/10000\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m22s\u001b[0m 2ms/step - loss: 3.7682e-05\n", 114 "Epoch 30/100\n", 115 "\u001b[1m10000/10000\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m22s\u001b[0m 2ms/step - loss: 3.7309e-05\n", 116 "Epoch 31/100\n", 117 "\u001b[1m10000/10000\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m22s\u001b[0m 2ms/step - loss: 3.6973e-05\n", 118 "Epoch 32/100\n", 119 "\u001b[1m10000/10000\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m22s\u001b[0m 2ms/step - loss: 3.6500e-05\n", 120 "Epoch 33/100\n", 121 "\u001b[1m10000/10000\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m22s\u001b[0m 2ms/step - loss: 3.6221e-05\n", 122 "Epoch 34/100\n", 123 "\u001b[1m10000/10000\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m22s\u001b[0m 2ms/step - loss: 3.5780e-05\n", 124 "Epoch 35/100\n", 125 "\u001b[1m10000/10000\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m22s\u001b[0m 2ms/step - loss: 3.5255e-05\n", 126 "Epoch 36/100\n", 127 "\u001b[1m10000/10000\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m22s\u001b[0m 2ms/step - loss: 3.4851e-05\n", 128 "Epoch 37/100\n", 129 "\u001b[1m10000/10000\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m22s\u001b[0m 2ms/step - loss: 3.4683e-05\n", 130 "Epoch 38/100\n", 131 "\u001b[1m10000/10000\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m22s\u001b[0m 2ms/step - loss: 3.4109e-05\n", 132 "Epoch 39/100\n", 133 "\u001b[1m10000/10000\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m22s\u001b[0m 2ms/step - loss: 3.3758e-05\n", 134 "Epoch 40/100\n", 135 "\u001b[1m10000/10000\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m22s\u001b[0m 2ms/step - loss: 3.3491e-05\n", 136 "Epoch 41/100\n", 137 "\u001b[1m10000/10000\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m22s\u001b[0m 2ms/step - loss: 3.3178e-05\n", 138 "Epoch 42/100\n", 139 "\u001b[1m10000/10000\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m22s\u001b[0m 2ms/step - loss: 3.2711e-05\n", 140 "Epoch 43/100\n", 141 "\u001b[1m10000/10000\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m22s\u001b[0m 2ms/step - loss: 3.2707e-05\n", 142 "Epoch 44/100\n", 143 "\u001b[1m10000/10000\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m22s\u001b[0m 2ms/step - loss: 3.2125e-05\n", 144 "Epoch 45/100\n", 145 "\u001b[1m10000/10000\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m22s\u001b[0m 2ms/step - loss: 3.2062e-05\n", 146 "Epoch 46/100\n", 147 "\u001b[1m10000/10000\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m22s\u001b[0m 2ms/step - loss: 3.1909e-05\n", 148 "Epoch 47/100\n", 149 "\u001b[1m10000/10000\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m22s\u001b[0m 2ms/step - loss: 3.1489e-05\n", 150 "Epoch 48/100\n", 151 "\u001b[1m10000/10000\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m22s\u001b[0m 2ms/step - loss: 3.1198e-05\n", 152 "Epoch 49/100\n", 153 "\u001b[1m10000/10000\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m22s\u001b[0m 2ms/step - loss: 3.1206e-05\n", 154 "Epoch 50/100\n", 155 "\u001b[1m10000/10000\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m22s\u001b[0m 2ms/step - loss: 3.0994e-05\n", 156 "Epoch 51/100\n", 157 "\u001b[1m10000/10000\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m22s\u001b[0m 2ms/step - loss: 3.0871e-05\n", 158 "Epoch 52/100\n", 159 "\u001b[1m10000/10000\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m22s\u001b[0m 2ms/step - loss: 3.0583e-05\n", 160 "Epoch 53/100\n", 161 "\u001b[1m10000/10000\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m22s\u001b[0m 2ms/step - loss: 3.0572e-05\n", 162 "Epoch 54/100\n", 163 "\u001b[1m10000/10000\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m22s\u001b[0m 2ms/step - loss: 3.0405e-05\n", 164 "Epoch 55/100\n", 165 "\u001b[1m10000/10000\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m22s\u001b[0m 2ms/step - loss: 3.0263e-05\n", 166 "Epoch 56/100\n", 167 "\u001b[1m10000/10000\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m22s\u001b[0m 2ms/step - loss: 2.9958e-05\n", 168 "Epoch 57/100\n", 169 "\u001b[1m10000/10000\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m22s\u001b[0m 2ms/step - loss: 2.9656e-05\n", 170 "Epoch 58/100\n", 171 "\u001b[1m10000/10000\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m22s\u001b[0m 2ms/step - loss: 2.9605e-05\n", 172 "Epoch 59/100\n", 173 "\u001b[1m10000/10000\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m22s\u001b[0m 2ms/step - loss: 2.9368e-05\n", 174 "Epoch 60/100\n", 175 "\u001b[1m10000/10000\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m22s\u001b[0m 2ms/step - loss: 2.9298e-05\n", 176 "Epoch 61/100\n", 177 "\u001b[1m10000/10000\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m22s\u001b[0m 2ms/step - loss: 2.9185e-05\n", 178 "Epoch 62/100\n", 179 "\u001b[1m10000/10000\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m22s\u001b[0m 2ms/step - loss: 2.9058e-05\n", 180 "Epoch 63/100\n", 181 "\u001b[1m10000/10000\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m22s\u001b[0m 2ms/step - loss: 2.8837e-05\n", 182 "Epoch 64/100\n", 183 "\u001b[1m10000/10000\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m22s\u001b[0m 2ms/step - loss: 2.8828e-05\n", 184 "Epoch 65/100\n", 185 "\u001b[1m10000/10000\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m22s\u001b[0m 2ms/step - loss: 2.8554e-05\n", 186 "Epoch 66/100\n", 187 "\u001b[1m10000/10000\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m22s\u001b[0m 2ms/step - loss: 2.8403e-05\n", 188 "Epoch 67/100\n", 189 "\u001b[1m10000/10000\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m22s\u001b[0m 2ms/step - loss: 2.8261e-05\n", 190 "Epoch 68/100\n", 191 "\u001b[1m10000/10000\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m22s\u001b[0m 2ms/step - loss: 2.7985e-05\n", 192 "Epoch 69/100\n", 193 "\u001b[1m10000/10000\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m22s\u001b[0m 2ms/step - loss: 2.8051e-05\n", 194 "Epoch 70/100\n", 195 "\u001b[1m10000/10000\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m22s\u001b[0m 2ms/step - loss: 2.7925e-05\n", 196 "Epoch 71/100\n", 197 "\u001b[1m10000/10000\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m22s\u001b[0m 2ms/step - loss: 2.7633e-05\n", 198 "Epoch 72/100\n", 199 "\u001b[1m10000/10000\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m22s\u001b[0m 2ms/step - loss: 2.7610e-05\n", 200 "Epoch 73/100\n", 201 "\u001b[1m10000/10000\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m22s\u001b[0m 2ms/step - loss: 2.7255e-05\n", 202 "Epoch 74/100\n", 203 "\u001b[1m10000/10000\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m22s\u001b[0m 2ms/step - loss: 2.7215e-05\n", 204 "Epoch 75/100\n", 205 "\u001b[1m10000/10000\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m22s\u001b[0m 2ms/step - loss: 2.6946e-05\n", 206 "Epoch 76/100\n", 207 "\u001b[1m10000/10000\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m22s\u001b[0m 2ms/step - loss: 2.6809e-05\n", 208 "Epoch 77/100\n", 209 "\u001b[1m10000/10000\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m22s\u001b[0m 2ms/step - loss: 2.6713e-05\n", 210 "Epoch 78/100\n", 211 "\u001b[1m10000/10000\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m22s\u001b[0m 2ms/step - loss: 2.6600e-05\n", 212 "Epoch 79/100\n", 213 "\u001b[1m10000/10000\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m22s\u001b[0m 2ms/step - loss: 2.6570e-05\n", 214 "Epoch 80/100\n", 215 "\u001b[1m10000/10000\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m22s\u001b[0m 2ms/step - loss: 2.6319e-05\n", 216 "Epoch 81/100\n", 217 "\u001b[1m10000/10000\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m22s\u001b[0m 2ms/step - loss: 2.6275e-05\n", 218 "Epoch 82/100\n", 219 "\u001b[1m10000/10000\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m22s\u001b[0m 2ms/step - loss: 2.5981e-05\n", 220 "Epoch 83/100\n", 221 "\u001b[1m10000/10000\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m22s\u001b[0m 2ms/step - loss: 2.6002e-05\n", 222 "Epoch 84/100\n", 223 "\u001b[1m10000/10000\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m22s\u001b[0m 2ms/step - loss: 2.5906e-05\n", 224 "Epoch 85/100\n", 225 "\u001b[1m10000/10000\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m22s\u001b[0m 2ms/step - loss: 2.5878e-05\n", 226 "Epoch 86/100\n", 227 "\u001b[1m10000/10000\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m22s\u001b[0m 2ms/step - loss: 2.5709e-05\n", 228 "Epoch 87/100\n", 229 "\u001b[1m10000/10000\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m41s\u001b[0m 2ms/step - loss: 2.5713e-05\n", 230 "Epoch 88/100\n", 231 "\u001b[1m10000/10000\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m22s\u001b[0m 2ms/step - loss: 2.5431e-05\n", 232 "Epoch 89/100\n", 233 "\u001b[1m10000/10000\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m22s\u001b[0m 2ms/step - loss: 2.5485e-05\n", 234 "Epoch 90/100\n", 235 "\u001b[1m10000/10000\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m22s\u001b[0m 2ms/step - loss: 2.5247e-05\n", 236 "Epoch 91/100\n", 237 "\u001b[1m10000/10000\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m22s\u001b[0m 2ms/step - loss: 2.5124e-05\n", 238 "Epoch 92/100\n", 239 "\u001b[1m10000/10000\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m22s\u001b[0m 2ms/step - loss: 2.5110e-05\n", 240 "Epoch 93/100\n", 241 "\u001b[1m10000/10000\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m22s\u001b[0m 2ms/step - loss: 2.4945e-05\n", 242 "Epoch 94/100\n", 243 "\u001b[1m10000/10000\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m22s\u001b[0m 2ms/step - loss: 2.4931e-05\n", 244 "Epoch 95/100\n", 245 "\u001b[1m10000/10000\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m41s\u001b[0m 2ms/step - loss: 2.4784e-05\n", 246 "Epoch 96/100\n", 247 "\u001b[1m10000/10000\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m22s\u001b[0m 2ms/step - loss: 2.4788e-05\n", 248 "Epoch 97/100\n", 249 "\u001b[1m10000/10000\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m22s\u001b[0m 2ms/step - loss: 2.4458e-05\n", 250 "Epoch 98/100\n", 251 "\u001b[1m10000/10000\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m22s\u001b[0m 2ms/step - loss: 2.4624e-05\n", 252 "Epoch 99/100\n", 253 "\u001b[1m10000/10000\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m22s\u001b[0m 2ms/step - loss: 2.4258e-05\n", 254 "Epoch 100/100\n", 255 "\u001b[1m10000/10000\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m22s\u001b[0m 2ms/step - loss: 2.4311e-05\n" 256 ] 257 }, 258 { 259 "data": { 260 "text/plain": [ 261 "<keras.src.callbacks.history.History at 0x7fde9d64eb10>" 262 ] 263 }, 264 "execution_count": 89, 265 "metadata": {}, 266 "output_type": "execute_result" 267 } 268 ], 269 "source": [ 270 "model.fit(batch_size=100, x=X, y=y, epochs=100)" 271 ] 272 }, 273 { 274 "cell_type": "code", 275 "execution_count": 91, 276 "metadata": {}, 277 "outputs": [], 278 "source": [ 279 "import keras\n", 280 "import numpy as np\n", 281 "\n", 282 "X_val = np.random.rand(1000, 10)\n", 283 "y_val = X_val.copy()\n", 284 "\n", 285 "for i in range(0, len(y_val)):\n", 286 " y_val[i].sort()" 287 ] 288 }, 289 { 290 "cell_type": "code", 291 "execution_count": 95, 292 "metadata": {}, 293 "outputs": [ 294 { 295 "name": "stdout", 296 "output_type": "stream", 297 "text": [ 298 "\u001b[1m32/32\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step\n" 299 ] 300 } 301 ], 302 "source": [ 303 "y_pred = model.predict(X_val)" 304 ] 305 }, 306 { 307 "cell_type": "code", 308 "execution_count": 100, 309 "metadata": {}, 310 "outputs": [ 311 { 312 "data": { 313 "text/plain": [ 314 "0.0035610408570671526" 315 ] 316 }, 317 "execution_count": 100, 318 "metadata": {}, 319 "output_type": "execute_result" 320 } 321 ], 322 "source": [ 323 "from sklearn.metrics import mean_absolute_error\n", 324 "\n", 325 "mean_absolute_error(y_pred=y_pred, y_true=y_val)" 326 ] 327 }, 328 { 329 "cell_type": "code", 330 "execution_count": 116, 331 "metadata": {}, 332 "outputs": [ 333 { 334 "name": "stdout", 335 "output_type": "stream", 336 "text": [ 337 "\u001b[1m1/1\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 13ms/step\n" 338 ] 339 }, 340 { 341 "data": { 342 "text/plain": [ 343 "array([[0.09922367, 0.20260817, 0.46617624, 0.5223598 , 0.47366232,\n", 344 " 0.5015192 , 0.5033721 , 0.46761733, 0.54254556, 1.0096481 ]],\n", 345 " dtype=float32)" 346 ] 347 }, 348 "execution_count": 116, 349 "metadata": {}, 350 "output_type": "execute_result" 351 } 352 ], 353 "source": [ 354 "model.predict(x=np.array([[.2,.5,.5,.1,.5,1,.5,.5,.5,.5]]))" 355 ] 356 } 357 ], 358 "metadata": { 359 "kernelspec": { 360 "display_name": ".venv", 361 "language": "python", 362 "name": "python3" 363 }, 364 "language_info": { 365 "codemirror_mode": { 366 "name": "ipython", 367 "version": 3 368 }, 369 "file_extension": ".py", 370 "mimetype": "text/x-python", 371 "name": "python", 372 "nbconvert_exporter": "python", 373 "pygments_lexer": "ipython3", 374 "version": "3.11.2" 375 } 376 }, 377 "nbformat": 4, 378 "nbformat_minor": 2 379 }