diff --git a/src/POET_Training.ipynb b/src/POET_Training.ipynb index 1071888..9a064f1 100644 --- a/src/POET_Training.ipynb +++ b/src/POET_Training.ipynb @@ -117,7 +117,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/home/signer/bin/miniconda3/envs/training/lib/python3.11/site-packages/keras/src/layers/activations/leaky_relu.py:41: UserWarning: Argument `alpha` is deprecated. Use `negative_slope` instead.\n", + "/Users/hannessigner/miniforge3/envs/ai/lib/python3.12/site-packages/keras/src/layers/activations/leaky_relu.py:41: UserWarning: Argument `alpha` is deprecated. Use `negative_slope` instead.\n", " warnings.warn(\n" ] }, @@ -561,13 +561,16 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 15, "metadata": {}, "outputs": [], "source": [ "# os.chdir('/mnt/beegfs/home/signer/projects/model-training')\n", "# data_file = h5py.File(\"barite_50_ai_20k.h5\")\n", - "data_file = h5py.File(\"../datasets/barite_50_4_corner.h5\")\n", + "# data_file = h5py.File(\"../datasets/barite_50_4_corner.h5\")\n", + "data_file = h5py.File(\"../datasets/barite_50_ai_20k.h5\")\n", + "\n", + "\n", "\n", "design = data_file[\"design\"]\n", "results = data_file[\"result\"]\n", @@ -596,7 +599,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 16, "metadata": {}, "outputs": [], "source": [ @@ -605,7 +608,7 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": null, "metadata": {}, "outputs": [ { @@ -615,17 +618,6 @@ "/Users/hannessigner/miniforge3/envs/ai/lib/python3.12/site-packages/sklearn/base.py:1474: ConvergenceWarning: Number of distinct clusters (1) found smaller than n_clusters (2). Possibly due to duplicate points in X.\n", " return fit_method(estimator, *args, **kwargs)\n" ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Amount class 0 before: 0.9521309523809524\n", - "Amount class 1 before: 0.04786904761904762\n", - "Using Oversampling\n", - "Amount class 0 after: 0.5\n", - "Amount class 1 after: 0.5\n" - ] } ], "source": [ @@ -633,33 +625,23 @@ "X, y = preprocess.cluster(df_design[species_columns], df_results[species_columns])\n", "# X, y = preprocess.funcTranform(X, y)\n", "\n", - "X_train, X_test, y_train, y_test = preprocess.split(X, y, ratio = 0.2)\n", - "X_train, y_train = preprocess.balancer(X_train, y_train, strategy = \"over\")\n", - "preprocess.scale_fit(X_train, y_train, scaling = \"global\", type=\"standard\")\n", - "X_train, X_test, y_train, y_test = preprocess.scale_transform(X_train, X_test, y_train, y_test)\n", - "X_train, X_val, y_train, y_val = preprocess.split(X_train, y_train, ratio = 0.1)" + "# X_train, X_test, y_train, y_test = preprocess.split(X, y, ratio = 0.2)\n", + "# X_train, y_train = preprocess.balancer(X_train, y_train, strategy = \"off\")\n", + "# preprocess.scale_fit(X_train, y_train, scaling = \"global\", type=\"standard\")\n", + "# X_train, X_test, y_train, y_test = preprocess.scale_transform(X_train, X_test, y_train, y_test)\n", + "# X_train, X_val, y_train, y_val = preprocess.split(X_train, y_train, ratio = 0.1)" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 14, "metadata": {}, "outputs": [ { "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAv4AAAKKCAYAAABF1l9uAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAXEgAAFxIBZ5/SUgAAcqBJREFUeJzt3Xd8VFX+//H3JKSHEAi9BDSQoFnpoFSRIogoZRHXtdDEn7ooCmtdWFCxIk2wrzTXgvJVFAvSiQiCFEGRZujSAiRKEpKQ5Pz+YGdkmJRJMnNT5vV8PObxgHs/954zuZPMZz5z7jk2Y4wRAAAAgArNr7Q7AAAAAMD7SPwBAAAAH0DiDwAAAPgAEn8AAADAB5D4AwAAAD6AxB8AAADwAST+AAAAgA8g8QcAAAB8AIk/AAAA4ANI/AEAAAAfQOIPAAAA+AASfwAAAMAHkPgDAAAAPoDEHwAAAPABJP6oULp27SqbzaaJEyeWdldQgKFDh8pms2no0KFF2ucrsrKyFBMTo6CgIB0+fNhp3+rVq2Wz2WSz2Uqpd5534MABx3M6cOBAaXen1E2cOFE2m01du3Yt7a44eeGFF2Sz2fTvf/+7tLsCoJhI/FEo+5tQXo/Q0FA1adJEQ4YM0bp160q7qwWaPn26Jk6cqB9//NHytmNjY2Wz2dS3b1+3jzl06JD8/Pxks9k0depUL/bO2cSJEzVx4kQSsFI0c+ZM7du3T3fffbcaNGhQ2t0pkLdfLwcOHHC0Ud79+OOPmjhxoqZPn17aXSmWUaNGqXr16poyZYp+++230u4OgGIg8UeR1KpVy/GoUaOGsrKy9Ouvv2r+/Pnq2LFjqb85R0dHKy4uTtWrV3fZN336dD311FOlkvgPHz5ckrRkyRIdO3bMrWPmzJkjY4wCAgJ05513erN7Tp566ik99dRTXk3869Spo7i4ONWpU8drbZRXZ86c0aRJkxQUFKQnnniitLtTKE+8XgICAhQXF6e4uDgFBAQ47Ttw4ICjjfLuxx9/1FNPPVVo4l+9enXFxcUpOjramo65KTw8XGPHjlV6errGjx9f2t0BUAwk/iiS48ePOx4nT55UZmam1q5dq9atW0u6kASUZuV//vz52rVrl0aNGlVqfcjLkCFDVKlSJeXk5Gj+/PmFxhtjNG/ePEnSzTffrBo1ani7i5Z6/vnntWvXLj3//POl3ZUy56233lJKSopuuukm1a9fv7S7Y4l69epp165d2rVrl+rVq1fa3Sl1o0aN0q5du9z6W2G1u+++W5UqVdK7777rdhEDQNlB4o8S8ff3V8eOHbVo0SLHts8++6z0OlRG1alTRzfccIOkC5X8wqxatUr79++X9Oe3Baj4jDF6++23JUl33HFHKfcGcFW9enX16tVL2dnZmj17dml3B0ARkfjDI+rXr6+oqChJUmpqqsv+8+fPa9myZXrwwQfVpk0b1alTR4GBgapZs6Z69eqlDz74QMaYPM996c2MW7du1e2336769esrICDA6Qa4vG7utd+jcPDgQUnSsGHDXO5VyK/d2267TdHR0QoODlaVKlXUrl07vfTSS0pLSyvyz2jEiBGSpN27d+u7774rMNb+hlqvXj316tXLaV9iYqIeeOABXXHFFQoPD1doaKiuuOIKPfTQQzp06FCe55s7d65sNpsaNWok6cIHi/79+6tOnTry9/fX0KFDHTfV2l133XVOPyP7sZdatGiR+vfvr7p16yowMFBVq1ZVly5d9MYbb+j8+fN5HlPcG3gbNWokm82muXPn5htT0LkvPj4rK0uTJ09W8+bNFRYWpipVqqhbt25asmRJgX1IS0vThAkTdMUVVygkJEQ1a9ZUnz59tGLFCrf7mJ/ly5dr3759ioyMdHxQLIrc3Fx99913evzxx3XNNdeofv36CgwMVFRUlK699toCr4kkJScn69///rdatWqliIgIBQYGqnbt2mrWrJnuvfdex3OUVOzXS17yu7m3UaNGuu666xz/v/T3Nq9rnJGRoVdeeUXXXnutqlev7ngO/fv3L/Da2s+5evVqnTx5UmPGjFFsbKxCQ0Odnue5c+f0+eefa+TIkWrRooVq1KihoKAg1a1bV/3799fXX3+d7/mHDRsmSTp48KDLc8nrb1ZBN/du3bpVd911lxo2bKjg4GBVrVpVHTp00PTp05WZmZnnMZf+Hdi8ebMGDx6sOnXqKCgoSJdffrnGjBmj5OTkfNuVpL///e+S5PiQCqAcMUAhJkyYYCSZgl4uR44cccTMmDHDZf+qVasc+yWZoKAgEx4e7rTtlltuMTk5OQUeu3DhQhMQEGAkmYiICBMcHGyuvfZaR+y1115rJJkJEyY4tk2ePNnUqlXL+Pn5OY6rVauW0+Ni58+fN3fffbdT38LDw42/v7/j/3FxcebAgQNF+jmeP3/e1K5d20gyI0aMyDfu999/NyEhIUaS+de//uW076233nI8f/vP0R5rf25Lly51OeecOXOMJNOwYUMzY8YMY7PZjCRTpUoVExAQYIYMGWIefPBBU6tWLce5qlat6vQzatOmjdM5z549a/r27ev0c4qIiHCcW5Jp3769OXPmjEt/hgwZYiSZIUOGFGlfw4YNjSQzZ86cfH9+7hw/c+ZMc/XVVxtJJiAgwOm1aLPZzDvvvJPnuU+cOGGuvPJKR2xAQICJjIx0HPf666+71cf8jBkzxkgyvXr1yjfm4t+HS+3fv9/pelSqVMlEREQ4bevcubNJT093Ofbw4cMmOjraEefn52eqVq3q9Lq/+HetqK+Xglzc7/379zu2t2nTxlStWtWx79Lf2wcffNDpPHv27DFNmjRxupZVqlRxev733Xdfnn2w73/77bcdzys4ONhUrlzZ6Wdt/12yP0JCQkxoaKjTtrFjx7qcv1atWo5r4efn5/JcJk+e7Ii1/829+Od9sWnTpjn9ntl/j+3/b9asmTl69KjLcRf/HXjvvfccx1SpUsXx91GSiY+PN2fPns33eh0+fNgR+8svv+QbB6DsIfFHoQpK/LOzs826detM27ZtjSRTs2ZNk5yc7BL3/fffm7///e/myy+/NMePHze5ubnGGGNOnz5tZsyY4XhDLOxDQ3h4uOnTp4/ZuXOnY/+ePXsc/84r8bdzNyEbPXq0I8l47bXXzOnTp40xxmRlZZlVq1aZli1bGkmmVatWeX5QKcijjz5qJJnKlSub1NTUPGPeeOMNR9Ly66+/OrZ/+umnjmTz8ccfNwcOHDC5ubkmNzfX7Nq1y9xyyy2O5PvgwYNO57S/4QcHBxt/f38zdOhQc+jQIWPMhWt4cTv2n/WqVasKfC79+/c3kkzjxo3N+++/b/744w9jjDHnzp0zn332mbn88suNJNO/f3+XY0s78a9ataqpV6+eWbRokcnKyjLGGLNr1y5zzTXXOF5nKSkpLsf37t3bkey98847JiMjwxhjzKFDh8ytt95qAgMDHUlgcRL/Nm3aGElm/Pjx+cYUlPgfPnzY9OvXzyxYsMD89ttvjtfn2bNnzZw5c0zdunWNJPPwww+7HDtixAgjyTRq1MgsX77cZGdnG2MuvD4OHDhgXn/9dfPYY4+5HOfu66Ug+SX+hT3fiyUnJ5tGjRoZSaZbt24mISHBcX1SUlLM1KlTHR/wpk+fnu/zCA8PN3FxcWbFihWOn9/u3bsdcZ9++qm55557zKpVq8ypU6cc248ePWqeeuopRzL92WefubRxceJdkIIS/8WLFzv62q9fP7Nv3z5jjDGZmZlm/vz5jg8qHTp0cFzDS9sPDQ01QUFB5u6773b8HUhLSzOzZs1y9L+g16AxxvFaev311wuMA1C2kPijUBcn/hdXqGrUqOGoBkZERJjbb7+9yFVwu48//thIMjExMS77Ln7jb9euncub2cVKmvj/9NNPxmazmdDQULN9+/Y8Y/744w9Tv359I8l8+umnhT01J7t27XI8l/z60a5dOyPJdO3a1bEtMzPT1KtXz0jKtxptjDE333yzkWRGjx7ttP3iKuXAgQML7KM7idwXX3xhJJnatWubI0eO5Blz+PBhExYWZiSZrVu3Ou0r7cQ/KCjI6cOj3cmTJ01wcLCRZP773/867fv2228dP5t3333X5dicnBxz3XXXFXp985OZmen4fVq4cGG+ce4mwnn54YcfjCQTFhZmzp0757TviiuuMJLM+++/X6RzlpXE/5///Kcj6T9//nyeMZ988omRZKpXr+4SY28jIiLCHD58uNjPZfLkyUaS6d69u8s+TyT+9m+cOnXqlOffws8//9zxXD7++OM828/v98OYP791aty4cYF9vPHGG40kc9dddxUYB6BsYYw/iuTEiROOR1JSknJyciRJ6enp+v3333XixIlinffGG2+UdGH8ekEzRTzyyCPy9/cvVhvueOedd2SM0Y033qirrroqz5jKlSurf//+kqRvvvmmSOePi4tTx44dJeV9k+8vv/yijRs3SvrzngBJ+vrrr/Xbb7+pVq1ajnHCebnrrrsK7Zcnpoj8z3/+I0m68847852FpX79+o7x2UX9OXnboEGD1LRpU5ftNWrUUPv27SVJ27dvd9r38ccfS7ow7vz22293OdbPz0/jxo0rdp9Onjzp+H3y1ixObdq0Uc2aNZWWluYyrW1kZKQklcuZWowxjvtixo4dq0qVKuUZ179/f0VEROjUqVPavHlznjF33nlniWZTsv8tW79+veN6esr27dv1yy+/SJLGjx+f59/Cm266Se3atZMkffDBB/meK7/Xar9+/SRJv/76q9LT0/M93j5l8tGjR93rPIAy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Zo6CwaRJk/KcNeirr77Shg0bJF24V8gbMjMzHa+xgm4yBlD2kPijxI4fP65x48Zp3rx5ki5Us+1TIkrSlVdeqejoaEnS8OHDnabRW79+vbp27VrsMc1F8Ze//EWStHDhwnzba9GihR566CFJ0htvvKFbbrlFP/74oyPJzMnJ0bZt2/TMM88oJibGZUrEorjzzjsVEBCgzMxMvfTSS5IuTKWX15jZ4OBgvfbaa7LZbNqyZYs6duyob775ximh3r9/v9588021a9dOr732WrH7Zf85vffee/l+wOjXr58GDBggSXr88cd13333ac+ePY79WVlZ2rBhgx577DE1bNgw35sMi8qeyOzcuVP33HOPY1jNH3/8oWnTpunee+8t0Yw4BencubN69uwp6cIHxLlz5zqS5SNHjuj222/Xt99+m+8sKO7o2rWrJDkSt6IIDw93fBMzZswYrVy50vFtzM8//6w+ffpo06ZNTt/GXaxhw4Z64okn9P333zt9CPj11191++23Kz09XX5+furVq5fTce68XkoiNjZWgYGBki5MI5tftXz8+PGKiYlRdna2evfuralTpzrd6Pv7779ryZIlGjJkiDp37lysvnTq1ElhYWEyxmjw4MGO13xOTo6++eYbde3atcBx9faf1R9//KGPPvqoWH148cUXJUnffvutBg0a5Ki8nz9/Xu+9957jd6RDhw55zq7mCVu3blVWVpYqVark9ZnWAHiYJxYDQMWW3wJetWrVMlWqVHHsk2Suuuoq89tvv7mcY/HixaZSpUqOuNDQUMcKp6GhoWb58uX5LgRUlAWLClrAa82aNY5l7v39/U2dOnVMw4YNXRbTyc7ONg899JDT8woODjZRUVFOz0GSWbt2bVF+lC7++te/Op1vyZIlBcb/97//dfzcJJlKlSqZqKgoExQU5HSeSZMmOR3n7sJBxhjz7rvvOs4TEBBg6tWrZxo2bGg6duzoFJeWlmb+9re/ObUbFhZmqlatavz8/Jy2X7rIV3EX8DLGmLvuusvp3JGRkY72Ro0a5dUFwI4dO2aaNm3q9POJjIw0koyfn5956623THR0tJFkPvjgg3zbyM+JEydMYGCgkeS0IvXFCvp92LRpk2PRNP1voTL7Sq6VKlUy8+fPz/dncPHP1M/Pz1StWtWxmJl0YSXpadOmubTp7uulIAUt4GXMn6sK2/9eREdHm4YNG5qxY8c6xe3bt880b97c5fVhXxnc/shrcar8/v5c6vXXX3c6V3h4uOPnVL16dacFtPJ6Lt27d3fsr1y5suNv0MU/24IW8DLGmKlTpzr+ltmfo/11U9DfYXf+DhR2LYwx5oknnjBS3qtyAyjbqPijSC6drSY9PV21a9dWr1699Pbbb2vTpk15TnfYt29fJSQk6MYbb1RkZKSys7NVvXp1DRs2TFu2bFH37t293vcuXbroyy+/VI8ePVSlShWdOHFCBw8edJlj3t/fX9OmTdOWLVt0zz33KC4uTv7+/vr9999VtWpVdezYURMnTtSPP/5Y4mrXxeP5GzRo4Kgo5+f222/Xr7/+qnHjxqlNmzYKDw9XSkqKY1rVUaNGafny5XrssceK3ac77rhD7777rjp16qTQ0FAdO3ZMBw8edBlCExoaqg8++ECrVq3SnXfeqcsvv1y5ublKTU1VzZo11a1bN7300kvau3dvvuOhi2P27NmaMWOGWrRooZCQEOXm5qpjx45asGCBZs6c6bF28lK7dm398MMPGjdunGJjY+Xn56dKlSqpT58+WrlypUaOHOm4udi+IFZR1KxZ01Glfe+994p8fOvWrbVx40YNHjxY1atXV25uripXrqzBgwdr3bp1uvPOO/M9dunSpXriiSfUuXNnNWjQwDElbOPGjTVs2DD98MMPjm/DLubu66UkXn31VU2cONFRMT906JAOHjzocqPyZZddpk2bNmn+/Pnq27ev6tSp4xhqdtlll2nAgAGaPXu21q9fX+y+3Hvvvfryyy/VtWtXhYeHKzs7W/Xq1dMDDzygbdu25bvwn93ChQv18MMPKzY2VufPn3f8DSrK8J+HH35YmzZt0h133KEGDRooPT1dISEhuuaaazR16lRt3LixwGlnS8IY4xjq9v/+3//zShsAvMdmjJfuyAIAH7N3717HXPeHDh1SgwYNinyOhIQEXXvttYqJidHevXu9OiUjUFQXvz737NlT4nVBAFiL31gA8JDnn39e0oX7WoqT9EsXvpm6/vrrlZiYqI8//tiT3QNKzP4anzRpEkk/UA7xWwsAbtq1a5fuvvtuJSQk6OzZs07bhw0bpjlz5ki6cMNzSbz88svy8/PT008/bel0qUBBNmzYoCVLlqhdu3aORQgBlC8M9QEAN/34449Oc+RXqVJF58+fd5rN5sEHH9SMGTNK3NbcuXN14MABjRw50qP3SADF9cUXX2jTpk0aMGCAY2pdAOULiT8AuOns2bN66623tHz5cu3evVsnT55Udna2atasqfbt2+uee+6x5EZ1AACKg8QfAAAA8AGM8QcAAAB8AIk/AAAA4ANI/AEAAAAfQOIPAAAA+AASfwAAAMAHVCrtDnhT7dq1lZaWpujo6NLuCgAAgJNDhw4pLCxMx48fL+2uOLn55puVmJhoWXsxMTH6/PPPS3SOzZs3a9myZdq4caM2bNigo0ePKigoSBkZGcU6X0pKiiZOnKhPP/1Ux48fV+3atdW/f3899dRTioyMLFFfS1OFns6zcuXKyspKVUyjgNLuittssrkda1Q2Lt2hw5HuB5/L9Fo/AABuCglyOzS6QYr3+uGmorw3SmXn/bEwiQfOKzDAprOpZWuF7vj4eP366041tiB/+vXAeTVufIV27NhRovP0799fn332mdO24ib+p0+fVvv27bV3715dfvnlatOmjXbs2KEdO3aocePG+v777xUVFVWi/paWCl3xj46Olsneq62r65d2V9wWYPN3O/a8yfFiT9x3U/+hbseaTT+7f+KK+5kUADzP5n5ybLvqL27HLl40txid8ayivDdKZef9sTAtux4p7S7kq3GjAP20pqHX27nq2oMeOU/79u3VvHlztW3bVm3btlXt2rWLfa6HH35Ye/fu1cCBA7VgwQJVqnQhXX7wwQc1c+ZMjRkzRvPmzfNIv61WoRN/AAAAFIdRrqz4JsIzRb7HHnvMI+c5fvy43nvvPQUEBOi1115zJP2SNHnyZH344Yd677339NJLL6lWrVoeadNK3NwLAAAASPr666+Vm5urLl26uCT2QUFBuummm5STk6Ovv/66lHpYMiT+AAAAcGIk5Zhcrz/K2qDebdu2SZJatWqV5377dntceUPiDwAAAOjCTEuSVL9+3veH2rfb48obxvgDAACg1CQmJio+Pj7PfSWd7aeoUlNTJUmhoaF57g8LC3OKK29I/AEAAOCi7A3E8T77LPe2fGbJKu+z4JP4AwAAoNTExMRYXtnPT+XKlSVJaWlpee5PT0+XJIWHh1vWJ08i8QcAAIATI1kynaeRirg8m3dFR0dLko4cyXuNBft2e1x5Q+JvAb8ivKSLsuhIUc4rFe0ruzl/NHA71v94stux2eX8KzIAKLOK8Pe1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u85j7ZL4AwAAABYzboylciemKBjjDwAAAGdG1lTkfWWQfzEdPXpU4eHhHjufxxL/qVOnau3atfrpp5908uRJZWRkqHbt2urataseffRRxcfH53nc/PnzNWvWLP3yyy8KDAzUNddco3HjxqlDhw6e6hoAAABQqubPn+/0/19//dVlm112drZ2796t5cuX65prrvFYH2zGQ98hVK9eXWlpaWrWrJnq1asnSdqxY4f27NmjwMBALVq0SDfccIPTMWPGjNG0adMUEhKi66+/XhkZGVqxYoWMMfr44481YMCAEvUpPj5eB385ova260t0HgAAAE9bb5ZKklLN76XcE2fx8fH69Y8kNZoxyuttHRg9S40jamjHjh1eb6u0+fn5yWZz/1sUY4yCg4P1+eefq0ePHh7pg8cq/p999plat26t4OBgp+2vv/667r//ft199906dOiQ/P39JUkrV67UtGnTFBUVpfXr16tJkyaSpPXr16tr164aNmyYunbtqqpVq3qqiwAAAECp+Pe//y2bzSZjjJ5++mm1aNFC/fr1yzM2MDBQdevW1fXXX686dep4rA8eS/w7duyY5/b77rtPU6dO1a+//qrdu3fryiuvlCRNmTJFkjRu3DhH0i9J7du317333qtXXnlFs2fP1tixYz3VRQAAALjJl2fd8YaJEyc6/j137lz16NFDEyZMsLQPlszqY6/yBwYGSpJjSI8kDRo0yCXevm3x4sVWdA8AAACwzIEDB/TSSy9Z3q7XZ/WZP3++du/erdjYWF1++eWSpF27dikzM1M1atRQ/fr1XY5p1aqVJGn79u3e7h4AAADywow7FY7HE//Jkydrx44dSktL086dO7Vjxw7VrVtX77//vvz8LnzBcOjQIUnKM+mXpLCwMEVGRio5OVlnz55V5cqVC2wzvxmDEhMTVUlBJXg2AAAAgHesXbtWn332mfbu3auzZ8/mOW+/zWZzjJQpKY8n/t98841T5xo0aKB3331XrVu3dmxLTU2VJIWGhuZ7nrCwMKWkpCg1NbXQxB8AAAAoL4wxGjFihObNm+dI9u03/trZ/1+UmYAK4/Ex/suXL5cxRsnJyUpISFBcXJy6du2qZ5991hFz8RPMT1FmGd2xY0eej5iYmOI/EQAAAB9mjM3rD1/1xhtvaO7cuWrdurWWLVumgQMHSpJ2796tr7/+WkOHDpWfn58eeeQR7du3z2Pteu3m3sjISHXu3FlfffWVWrdurfHjx+uHH36QJEcFPy0tLd/j09PTJcmjq5UBAAAApW3u3LkKCwvT119/re7duzty4yZNmqhXr16aPXu2PvjgA7388sv68ccfPdau12f1CQgI0K233ipjjGOWnujoaEnSkSNH8jwmLS1NKSkpioyMZJgPAACAxYwkYyx4eLDPGRkZmjBhgmJjYxUcHKy6detq+PDh+eabhfn11181cuRINWrUSMHBwapRo4Y6dOigyZMnl7ivO3fuVPv27RUVFSXpz1EwOTk5jphBgwapdevWevnll0vcnp0l03lWr15dkpSUlCRJiouLU1BQkJKSkvK8GFu2bJEkNWvWzIruAQAAoBzLyMhQ9+7d9fTTTys1NVX9+vVTgwYNNGfOHLVq1UqJiYlFOt+nn36qq666Su+8846ioqI0YMAAtWzZUvv379ebb75Z4v7m5uY68mPpz/tek5OTneKaNGmin376qcTt2VmS+K9Zs0aSHGPuQ0JC1K1bN0nSwoULXeLt2/r27WtF9wAAAODE++P7L4zx98w4/+eee07r1q1T+/bttWfPHi1YsEAbNmzQlClTlJSUpOHDh7t9rm3btulvf/ubwsLClJCQoM2bN+uDDz7Q0qVL9dtvv+nDDz8scX/r1avnVPxu2LChJGnr1q1OcXv27FGlSp6bi8cjif+3336rBQsWKDs722n7+fPnNXPmTL377rsKCQnRrbfe6tg3ZswYSdKkSZO0d+9ex/b169frzTffVEREhEaMGOGJ7gEAAKCCsuebkvTqq6863R86ZswYNWvWzJHAu+OBBx5QVlaW5s6dq06dOjnt8/PzU5s2bUrc51atWumXX35x5M7XX3+9jDF65JFHtHPnTp09e1aTJ0/W5s2b1bJlyxK3Z+eRjxCJiYkaNmyYqlevrtatWysqKkqnTp3STz/9pGPHjik4OFhz585VgwYNHMf06NFDo0eP1owZM9SiRQv17NlTWVlZWrZsmXJzc/Xee++pWrVqnugeAAAAisJIsmLWHQ8M8l+7dq1SUlIUExOTZ5I8aNAgbd++XYsXL3aaXj4vO3fu1LfffqvY2Fivjjy5+eabtWDBAn3xxRfq37+/mjdvrr/97W/68MMP9Ze//MURV6lSJaeZMUvKI4n/tddeqyeffFJr1qzR9u3bderU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gQOl0i6JPwAAAJwZScaCijTfKliKm3sBAACAUnb27FmlpqZ6tQ0SfwAAAKAULFmyRH369FGVKlUUGRmpKlWqKCIiQjfeeKOWLFni8fZI/AEAAOCK6Ty9asyYMY4E/+zZs4qIiFBERIRSU1P19ddf68Ybb9SYMWM82iaJPwAAAGChBQsWaPr06apRo4ZeeeUVJScnOx4pKSmaOXOmatasqRkzZuijjz7yWLsk/gAAAHBi04XpPL3+KO0nWkpee+01BQcHKyEhQaNGjVKVKlUc+yIiIvSPf/xDa9asUVBQkF577TWPtUviDwAAAFho27Zt6tatm2JjY/ONiY2NVbdu3fTjjz96rF2m8wQAAIArHx+D701ZWVkKCwsrNC4sLExZWVkea5eKPwAAAGChmJgYrVmzRunp6fnGpKena82aNYqJifFYuyT+AAAAcGHFGH9fNXjwYJ08eVIDBw7Uvn37XPYnJiZq4MCBSkpK0q233uqxdhnqAwAAAFjon//8pz777DMtXbpUcXFxateunRo1aiSbzab9+/dr48aNysnJUZs2bTR27FiPtUviDwAAAFc+XJH3tpCQEK1evVpPPPGEZs+erfXr12v9+vVO+4cPH67nn39eISEhHmuXxB8AAADwotTUVIWHhzttCw8P18yZM/Xiiy9q8+bNOnr0qCSpbt26at26tUJDQyVJb7/9tkaOHOmRfpD4AwAAwJlVK+v6yLcKvXr10rJlyxzJ/MVCQ0PVuXPnPI+bMmWKHn30UY8l/tzcCwAAAHjR+vXr1bt37wJn8bnUhAkT9Mgjj8jf399j/SDxBwAAALyoQ4cOWrt2rfr06aNz584VGj9mzBhNmjRJgYGB+uijjzzWDxJ/AAAAuGA6T8/55ptv1KFDByUkJOjGG29URkZGvrEjR47U9OnTFRISosWLF6t///4e6weJPwAAAOBFYWFhWrJkia655hqtXr1aN910kzIzM51icnJydNttt+mdd95RRESElixZop49e3q0HyT+AAAAgJeFh4frm2++0dVXX62VK1fq5ptvdiT/mZmZ6t+/vxYsWKCoqCitXLlSnTp18ngfSPwBAAAAC1SuXFlLly5V27ZttXz5cg0YMECnT59W79699eWXX6pOnTpas2aNWrVq5ZX2mc4TAAAArnxoDL6VKleurG+++UbXX3+9lixZokaNGiktLU0NGzbUihUrdPnll3utbSr+AAAAgIWqVKmiZcuWqW3btkpLS1PTpk313XffeTXpl6j4AwAAIA++NOuOt+WX0J87d042m02nT5/Od0y/zWZTYmKiR/pB4g8AAAB40YEDBwrcn5SUpKSkpDz32Ww2j/WDxB8AAACuqPh7zP79+0u7C5JI/AEAAACvatiwYWl3QRKJPwAAAPJCxb/CYVYfAAAAoJQ98sgjiomJ8WobJU7809PTtWjRIo0YMULNmjVTRESEwsLC1Lx5cz399NNKTU3N99j58+erXbt2Cg8PV7Vq1dSnTx+tW7eupF0CAAAAypVTp04VehNwSZU48X///fc1YMAAzZ49W7m5uerdu7c6d+6s/fv3a8KECWrbtq1OnjzpctyYMWM0ZMgQ/fzzz+rRo4fatWunZcuWqUuXLvr0009L2i0AAAAUl7kwnae3HwwnslaJE//AwEDdd9992rNnj37++Wd99NFHWrJkiXbv3q2WLVtq165deuihh5yOWblypaZNm6aoqCht27ZNixYt0pIlS5SQkCB/f38NGzZMycnJJe0aAAAAgP8pceJ/11136bXXXlOTJk2cttepU0evvvqqJOmTTz5RVlaWY9+UKVMkSePGjXM6rn379rr33nv1+++/a/bs2SXtGgAAAIrLWPCApbx6c2/z5s0lSZmZmTp9+rQkKSMjQytWrJAkDRo0yOUY+7bFixd7s2sAAABAmdGpUyfdddddXm3Dq9N57tu3T5IUEBCgatWqSZJ27dqlzMxM1ahRQ/Xr13c5plWrVpKk7du3e7NrAAAAKICNirylRowYoREjRni1Da8m/jNmzJAk9e7dW0FBQZKkQ4cOSVKeSb8khYWFKTIyUsnJyTp79qwqV65caDvx8fF5bk9MTFQlBRWn6wAAAIAl9u7dq1OnTikqKkqxsbFea8drQ32++uorvfPOOwoICNAzzzzj2G6f3jM0NDTfY8PCwpxiAQAAYDHG+HvVuXPn9NhjjykqKkpNmzZVp06d9MILLzj2z5kzR61atdKPP/7osTa9kvjv3LlTd9xxh4wxmjx5smOsvyQZc+Eq22y2fI+3x7hrx44deT68vQgCAAAAyoaMjAxNmDBBsbGxCg4OVt26dTV8+HAdOXKkROfdu3evQkJCZLPZ1Lt3b4/0NS0tTddee61efvllBQUF6cYbb3TJf7t06aIff/xRCxYs8EibkhcS/yNHjqh3795KTk7WmDFjNHr0aKf99qE7aWlp+Z4jPT1dkhQeHu7p7gEAAMAd5ajin5GRoe7duzsWj+3Xr58aNGjgqJonJiYW+9z/7//9P2VmZnqus5JefPFFbdq0SSNHjtT+/fv1+eefu8TExMSoadOmWr58ucfa9Wjif+rUKfXs2VOHDh3SsGHD9PLLL7vEREdHS1K+n77S0tKUkpKiyMhIt8b3AwAAwLc999xzWrdundq3b689e/ZowYIF2rBhg6ZMmaKkpCQNHz68WOd95513tGrVKo0cOdKj/V2wYIEaNWqkV1991XEfbF4aNmxY4m8sLuaxxP/s2bO64YYbtGvXLg0cOFBvv/12nsN54uLiFBQUpKSkpDyfyJYtWyRJzZo181TXAAAAUAQ2WbNyb/4Dv913/vx5zZw5U5L06quvOo0YGTNmjJo1a6aEhARt3ry5SOc9efKkHnnkEfXo0UO33XabB3r6p0OHDql169by9/cvMC4iIsKji9p6JPHPzMxUv379tGnTJvXq1UsffPBBvk8kJCRE3bp1kyQtXLjQZb99W9++fT3RNQAAAFRga9euVUpKimJiYtSyZUuX/cVdI+rBBx/UuXPn9Prrr3uknxcLCwvTqVOnCo3bv3+/oqKiPNZuiRP/nJwc3XbbbVq1apU6d+6sTz75RIGBgQUeM2bMGEnSpEmTtHfvXsf29evX680331RERITX5zEFAABA+bdt2zZJf64FdSn7dnucO7766istWLBATz75pBo3blzyTl6idevW2rhxow4fPpxvzI4dO7R161a1b9/eY+2WeB7/WbNm6dNPP5UkVa9eXffff3+ecS+//LKqV68uSerRo4dGjx6tGTNmqEWLFurZs6eysrK0bNky5ebm6r333nMs+AUAAACLWTXdpgfaKGyNKPt2e1xh0tLSdP/99ysuLk6PPfZYyTuYh1GjRmnZsmUaOHCgPvjgA5cPFwcPHtRdd92l3NxcjRo1ymPtljjxv3jckf0DQF4mTpzoSPwlafr06WrRooVmzZqlZcuWKSAgQN27d9e4cePUqVOnknYLAAAA5UBiYmK+i7Hu2LGj0OMLWyOqqOtDjRs3TgcPHtTKlSsLHcVSXDfddJMefvhhTZs2TXFxcbriiitks9m0dOlStWnTRtu3b1d2drYee+wxde3a1WPtljjxnzhxoiZOnFisY4cOHaqhQ4eWtAsAAADwtHKywFZha0QVZX2oTZs2aebMmbrrrrt03XXXeaR/+ZkyZYquvvpqPffcc9q+fbsk6ejRozp69Kji4uI0btw43X777R5ts8SJPwAAAFBcMTExblX281PYGlHurg+VnZ2tkSNHqkqVKnlOSe8NgwcP1uDBg5WUlKSDBw8qJydH9evXV7169bzSHok/AAAAXNjKScW/sDWi7Nvtcfk5cuSIfvzxR9WuXVu33HKL076UlBRJ0saNG9W1a1eFh4friy++KHafDx06pPDwcMc9rTVq1FCNGjVc4pKTk3X27NlC++4uEn8AAACUW82bN5f051pQlyrqGlHHjx/X8ePH89yXnJysNWvWqEqVKsXo6Z8uu+wyDR06VO+8806BcY8++qjmzJmj7OzsErVn59GVewEAAFBBGAseHtCxY0dVqVJFiYmJ2rp1q8t+d9eIatSokYwxeT5WrVolSerVq5eMMY5vAIrLfl53Yz2FxB8AAADlVmBgoGPKy1GjRjmN9Z86daq2b9+uTp06qW3bto7ts2bNUtOmTfXEE09Y3t+iOHXqlEJCQjx2Pob6AAAAwEV5GeMvXZiCc/ny5Vq3bp2aNGmizp076+DBg9qwYYOioqI0Z84cp/hTp05p9+7dOnbsmGV9TEhIcPr/8ePHXbbZZWdna/fu3VqyZIn+8pe/eKwPJP4AAAAo14KDg7Vq1So9//zzev/997Vo0SJVrVpVQ4YM0TPPPKMGDRqUdhfVtWtXpylHv/nmG33zzTf5xhtjZLPZNHbsWI/1wWY8OXCojImPj9fBX46ove360u4KAACAk/VmqSQp1fxeyj1xFh8fr8QTp9VkiHdWrb3Y3nkvKqZWVImm8ywvhg4d6kj8582bp8aNG6tjx455xgYGBqpu3bq66aab1KpVK4/1gYo/AAAA4GVz5851/HvevHnq1KmTZs+ebWkfSPwBAAAAC+Xm5pZKuyT+AAAAcObB6TYLbQeWIfEHAAAAvOjpp5+WzWbTP/7xD1WrVk1PP/2028fabDaNHz/eI/0g8QcAAIALW+EhcNPEiRNls9l06623qlq1ao7/uzPHDok/AAAAUE7Y1xGoU6eOJGn27NlOU3tahcQfAAAArhh/7zFDhgxx+v/QoUNLpR9+pdIqAAAA4KPGjBmjZ555xvJ2SfwBAADgwma8//BVs2bN0vbt2y1vl8QfAAAAsFD9+vVLZS5/En8AAAC4MhY8fNSAAQO0Zs0anT171tJ2SfwBAAAAC02cOFHR0dHq06ePtm7dalm7zOoDAAAAVz5ckfe2fv36KSgoSN99953atGmjOnXqKDo6WsHBwS6xNptNK1as8Ei7JP4AAACAhVavXu34tzFGR48e1dGjR/OM9eR8/yT+AAAAgIX2799fKu2S+AMAAMCFL0+36W0NGzYslXa5uRcAAADwAVT8AQAA4Myq6Tb5VkGSlJKSorNnz8qYvH8g0dHRHmmHxB8AAACw2PHjxzVu3Dh99tlnOnPmTL5xNptN2dnZHmmTxB8AAABObLJmjL/n5qspX44dO6a2bdvq6NGjqlevnmrUqKGTJ0+qffv22rdvn06cOCGbzab27dsrICDAY+0yxh8AAACw0KRJk3T06FE9/fTTOnz4sG644QbZbDZ99913OnbsmFavXq2mTZvKZrPp66+/9li7JP4AAABwZSx4+KglS5bosssu07hx4/Lc36VLFy1dulRbt27VM88847F2SfwBAAAAC/32229q0aKF4//+/v6SpMzMTMe2evXq6brrrtNHH33ksXZJ/AEAAODCZrz/8FURERFOM/hERkZKuvCB4GLBwcEu20qCxB8AAACwUHR0tA4cOOD4/1/+8hdJ0ldffeXYlp6eru+++0516tTxWLvM6gMAAABXPlyR97Zu3bpp+vTpOnHihGrVqqWbb75ZYWFh+uc//6nDhw+rfv36+u9//6sTJ07ovvvu81i7JP4AAACAhW6//XYdPnxYO3fuVK1atVStWjW9+eabGjZsmCZPniybzSZjjOLj4/Xss896rF0SfwAAAMBCzZs31wcffOC07bbbblPHjh311VdfKTk5WbGxsbr55ps9Oo8/iT8AAABcMdTHctHR0br33nu9dn5u7gUAAAB8ABV/AAAAOLNquk0f/Fbhjz/+UHZ2tqpVq+a0/eDBg5o1a5Z2796tsLAw3Xjjjbrjjjs82jYVfwAAAMDL1qxZoxYtWqhq1aqqUaOGatWqpVdeeUWSlJCQoCuuuEJTp07VF198oQULFmjIkCEaMGCAR/tAxR8AAACufLAa7y0///yzevXqpaysLMe2pKQkPfzww6pVq5YeeeQRBQQEaNSoUbrsssu0b98+vfXWW/r88881b948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", "text/plain": [ - "" - ] - }, - "execution_count": 12, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" + "
" ] }, "metadata": {}, @@ -667,9 +649,16 @@ } ], "source": [ - "timestep=250\n", - "plt.imshow(np.array(X[\"Barite\"][(timestep*2500):(timestep*2500+2500)]).reshape(50,50), origin='lower')\n", - "plt.contour(np.array(X[\"Class\"][(timestep*2500):(timestep*2500+2500)]).reshape(50,50), origin='lower', colors='red')" + "timestep=251\n", + "# plt.imshow(np.array(X[\"Barite\"][(timestep*2500):(timestep*2500+2500)]).reshape(50,50), origin='lower')\n", + "\n", + "plt.figure(dpi=150)\n", + "plt.imshow(np.array(X[\"Barite\"][(timestep*2500):(timestep*2500+2500)]).reshape(50,50), origin='lower', cmap='viridis')\n", + "plt.colorbar(label=\"Barite-Konzentration\")\n", + "plt.title(f\"Barite-Verteilung (last iteration)\")\n", + "plt.savefig(\"/Users/hannessigner/Documents/Work/BMBF/GreenHPC2021UP/Treffen/2025-02-20-PERFACCT/Vorbereitung/images/barite_distribution_second_dataset.pdf\")\n", + "plt.show()\n", + "# plt.contour(np.array(X[\"Class\"][(timestep*2500):(timestep*2500+2500)]).reshape(50,50), origin='lower', colors='red')" ] }, { @@ -681,7 +670,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 11, "metadata": {}, "outputs": [], "source": [ @@ -797,7 +786,20 @@ "cell_type": "code", "execution_count": 15, "metadata": {}, - "outputs": [], + "outputs": [ + { + "ename": "AttributeError", + "evalue": "'StandardScaler' object has no attribute 'min_'", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mAttributeError\u001b[0m Traceback (most recent call last)", + "Cell \u001b[0;32mIn[15], line 1\u001b[0m\n\u001b[0;32m----> 1\u001b[0m model_simple\u001b[38;5;241m.\u001b[39mcompile(optimizer\u001b[38;5;241m=\u001b[39moptimizer_simple, loss\u001b[38;5;241m=\u001b[39m\u001b[43mcustom_loss\u001b[49m\u001b[43m(\u001b[49m\u001b[43mpreprocess\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mcolumn_dict\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m1\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m1\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m1\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m1\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mminmax\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m)\u001b[49m)\n\u001b[1;32m 3\u001b[0m model_large\u001b[38;5;241m.\u001b[39mcompile(optimizer\u001b[38;5;241m=\u001b[39moptimizer_large, loss\u001b[38;5;241m=\u001b[39mcustom_loss(preprocess, column_dict, \u001b[38;5;241m1\u001b[39m, \u001b[38;5;241m1\u001b[39m, \u001b[38;5;241m1\u001b[39m, \u001b[38;5;241m1\u001b[39m, \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mminmax\u001b[39m\u001b[38;5;124m\"\u001b[39m), metrics\u001b[38;5;241m=\u001b[39m[huber_metric(\u001b[38;5;241m1.0\u001b[39m), custom_metric(preprocess, column_dict, scaler_type\u001b[38;5;241m=\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mminmax\u001b[39m\u001b[38;5;124m\"\u001b[39m)])\n", + "Cell \u001b[0;32mIn[14], line 6\u001b[0m, in \u001b[0;36mcustom_loss\u001b[0;34m(preprocess, column_dict, h1, h2, h3, h4, scaler_type)\u001b[0m\n\u001b[1;32m 4\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m scaler_type \u001b[38;5;241m==\u001b[39m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mminmax\u001b[39m\u001b[38;5;124m\"\u001b[39m:\n\u001b[1;32m 5\u001b[0m scale_X \u001b[38;5;241m=\u001b[39m tf\u001b[38;5;241m.\u001b[39mconvert_to_tensor(preprocess\u001b[38;5;241m.\u001b[39mscaler_X\u001b[38;5;241m.\u001b[39mscale_, dtype\u001b[38;5;241m=\u001b[39mtf\u001b[38;5;241m.\u001b[39mfloat32)\n\u001b[0;32m----> 6\u001b[0m min_X \u001b[38;5;241m=\u001b[39m tf\u001b[38;5;241m.\u001b[39mconvert_to_tensor(\u001b[43mpreprocess\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mscaler_X\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mmin_\u001b[49m, dtype\u001b[38;5;241m=\u001b[39mtf\u001b[38;5;241m.\u001b[39mfloat32)\n\u001b[1;32m 7\u001b[0m scale_y \u001b[38;5;241m=\u001b[39m tf\u001b[38;5;241m.\u001b[39mconvert_to_tensor(preprocess\u001b[38;5;241m.\u001b[39mscaler_y\u001b[38;5;241m.\u001b[39mscale_, dtype\u001b[38;5;241m=\u001b[39mtf\u001b[38;5;241m.\u001b[39mfloat32)\n\u001b[1;32m 8\u001b[0m min_y \u001b[38;5;241m=\u001b[39m tf\u001b[38;5;241m.\u001b[39mconvert_to_tensor(preprocess\u001b[38;5;241m.\u001b[39mscaler_y\u001b[38;5;241m.\u001b[39mmin_, dtype\u001b[38;5;241m=\u001b[39mtf\u001b[38;5;241m.\u001b[39mfloat32)\n", + "\u001b[0;31mAttributeError\u001b[0m: 'StandardScaler' object has no attribute 'min_'" + ] + } + ], "source": [ "model_simple.compile(optimizer=optimizer_simple, loss=custom_loss(preprocess, column_dict, 1, 1, 1, 1, \"minmax\"))\n", "\n", @@ -813,7 +815,7 @@ }, { "cell_type": "code", - "execution_count": 17, + "execution_count": 211, "metadata": {}, "outputs": [], "source": [ @@ -824,7 +826,7 @@ " history = model.fit(X_train.loc[:, X_train.columns != \"Class\"], \n", " y_train.loc[:, y_train.columns != \"Class\"], \n", " batch_size=512, \n", - " epochs=100, \n", + " epochs=50, \n", " validation_data=(X_val.loc[:, X_val.columns != \"Class\"], y_val.loc[:, y_val.columns != \"Class\"]),\n", " callbacks=[callback])\n", " \n", @@ -838,11 +840,12 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": 230, "metadata": {}, "outputs": [], "source": [ - "model = model_definition(\"large\")\n", + "model_minmax = model_definition(\"large\")\n", + "# model_standard = model_definition(\"large\")\n", "\n", "lr_schedule = keras.optimizers.schedules.ExponentialDecay(\n", " initial_learning_rate=0.001,\n", @@ -851,71 +854,173 @@ " staircase=True\n", ")\n", "\n", - "h1 = 1\n", - "h2 = 1\n", - "h3 = 1\n", + "h1 = 0.16726490480995826\n", + "h2 = 0.5283208497548787\t\n", + "h3 = 0.5099528144902471\n", "\n", - "scaler_type = \"standard\"\n", + "scaler_type = \"minmax\"\n", "loss_variant = \"huber_mass_balance\"\n", - "delta = 1.0\n", + "delta = 1.7642791340966357\n", + "\n", "\n", "\n", "optimizer = keras.optimizers.Adam(learning_rate=lr_schedule)\n", - "model.compile(optimizer=optimizer, loss=custom_loss(preprocess, column_dict, 1, 1, 1, scaler_type, loss_variant, delta), metrics=[huber_metric(preprocess, scaler_type, delta), mass_balance_metric(preprocess, column_dict, scaler_type)])" + "model_minmax.compile(optimizer=optimizer, loss=keras.losses.Huber, metrics=[huber_metric(preprocess, scaler_type, delta), mass_balance_metric(preprocess, column_dict, scaler_type)])" ] }, { "cell_type": "code", - "execution_count": 19, + "execution_count": 232, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "Epoch 1/100\n", - "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m24s\u001b[0m 14ms/step - huber: 0.0074 - loss: 0.0408 - mass_balance: 0.0334 - val_huber: 3.3606e-04 - val_loss: 0.0145 - val_mass_balance: 0.0142\n", - "Epoch 2/100\n", - "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m22s\u001b[0m 13ms/step - huber: 1.9324e-04 - loss: 0.0116 - mass_balance: 0.0114 - val_huber: 9.2832e-05 - val_loss: 0.0099 - val_mass_balance: 0.0099\n", - "Epoch 3/100\n", - "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m23s\u001b[0m 13ms/step - huber: 1.3864e-04 - loss: 0.0091 - mass_balance: 0.0089 - val_huber: 8.4605e-05 - val_loss: 0.0061 - val_mass_balance: 0.0060\n", - "Epoch 4/100\n", - "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m23s\u001b[0m 14ms/step - huber: 1.1021e-04 - loss: 0.0069 - mass_balance: 0.0068 - val_huber: 6.8588e-05 - val_loss: 0.0056 - val_mass_balance: 0.0055\n", - "Epoch 5/100\n", - "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m21s\u001b[0m 13ms/step - huber: 9.6181e-05 - loss: 0.0059 - mass_balance: 0.0058 - val_huber: 6.1424e-05 - val_loss: 0.0052 - val_mass_balance: 0.0051\n", - "Epoch 6/100\n", - "\u001b[1m1688/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m22s\u001b[0m 13ms/step - huber: 8.5980e-05 - loss: 0.0048 - mass_balance: 0.0047 - val_huber: 7.2775e-05 - val_loss: 0.0048 - val_mass_balance: 0.0047\n", - "Epoch 7/100\n", - "\u001b[1m1307/1688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━━━━━\u001b[0m \u001b[1m5s\u001b[0m 13ms/step - huber: 7.4528e-05 - loss: 0.0047 - mass_balance: 0.0046" - ] - }, - { - "ename": "KeyboardInterrupt", - "evalue": "", - "output_type": "error", - "traceback": [ - "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[0;31mKeyboardInterrupt\u001b[0m Traceback (most recent call last)", - "Cell \u001b[0;32mIn[19], line 1\u001b[0m\n\u001b[0;32m----> 1\u001b[0m history \u001b[38;5;241m=\u001b[39m \u001b[43mmodel_training\u001b[49m\u001b[43m(\u001b[49m\u001b[43mmodel\u001b[49m\u001b[43m)\u001b[49m\n", - "Cell \u001b[0;32mIn[17], line 5\u001b[0m, in \u001b[0;36mmodel_training\u001b[0;34m(model)\u001b[0m\n\u001b[1;32m 3\u001b[0m start \u001b[38;5;241m=\u001b[39m time\u001b[38;5;241m.\u001b[39mtime()\n\u001b[1;32m 4\u001b[0m callback \u001b[38;5;241m=\u001b[39m keras\u001b[38;5;241m.\u001b[39mcallbacks\u001b[38;5;241m.\u001b[39mEarlyStopping(monitor\u001b[38;5;241m=\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mloss\u001b[39m\u001b[38;5;124m'\u001b[39m, patience\u001b[38;5;241m=\u001b[39m\u001b[38;5;241m3\u001b[39m)\n\u001b[0;32m----> 5\u001b[0m history \u001b[38;5;241m=\u001b[39m \u001b[43mmodel\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mfit\u001b[49m\u001b[43m(\u001b[49m\u001b[43mX_train\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mloc\u001b[49m\u001b[43m[\u001b[49m\u001b[43m:\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mX_train\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mcolumns\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m!=\u001b[39;49m\u001b[43m \u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mClass\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m]\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\n\u001b[1;32m 6\u001b[0m \u001b[43m \u001b[49m\u001b[43my_train\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mloc\u001b[49m\u001b[43m[\u001b[49m\u001b[43m:\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43my_train\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mcolumns\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m!=\u001b[39;49m\u001b[43m \u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mClass\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m]\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\n\u001b[1;32m 7\u001b[0m \u001b[43m \u001b[49m\u001b[43mbatch_size\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;241;43m512\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\n\u001b[1;32m 8\u001b[0m \u001b[43m \u001b[49m\u001b[43mepochs\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;241;43m100\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\n\u001b[1;32m 9\u001b[0m \u001b[43m \u001b[49m\u001b[43mvalidation_data\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43m(\u001b[49m\u001b[43mX_val\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mloc\u001b[49m\u001b[43m[\u001b[49m\u001b[43m:\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mX_val\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mcolumns\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m!=\u001b[39;49m\u001b[43m \u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mClass\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m]\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43my_val\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mloc\u001b[49m\u001b[43m[\u001b[49m\u001b[43m:\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43my_val\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mcolumns\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m!=\u001b[39;49m\u001b[43m \u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mClass\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m]\u001b[49m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 10\u001b[0m \u001b[43m \u001b[49m\u001b[43mcallbacks\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43m[\u001b[49m\u001b[43mcallback\u001b[49m\u001b[43m]\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 13\u001b[0m end \u001b[38;5;241m=\u001b[39m time\u001b[38;5;241m.\u001b[39mtime()\n\u001b[1;32m 15\u001b[0m \u001b[38;5;28mprint\u001b[39m(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mTraining took \u001b[39m\u001b[38;5;132;01m{}\u001b[39;00m\u001b[38;5;124m seconds\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;241m.\u001b[39mformat(end \u001b[38;5;241m-\u001b[39m start))\n", - "File \u001b[0;32m~/miniforge3/envs/ai/lib/python3.12/site-packages/keras/src/utils/traceback_utils.py:117\u001b[0m, in \u001b[0;36mfilter_traceback..error_handler\u001b[0;34m(*args, **kwargs)\u001b[0m\n\u001b[1;32m 115\u001b[0m filtered_tb \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mNone\u001b[39;00m\n\u001b[1;32m 116\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[0;32m--> 117\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mfn\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 118\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m \u001b[38;5;167;01mException\u001b[39;00m \u001b[38;5;28;01mas\u001b[39;00m e:\n\u001b[1;32m 119\u001b[0m filtered_tb \u001b[38;5;241m=\u001b[39m _process_traceback_frames(e\u001b[38;5;241m.\u001b[39m__traceback__)\n", - "File \u001b[0;32m~/miniforge3/envs/ai/lib/python3.12/site-packages/keras/src/backend/tensorflow/trainer.py:371\u001b[0m, in \u001b[0;36mTensorFlowTrainer.fit\u001b[0;34m(self, x, y, batch_size, epochs, verbose, callbacks, validation_split, validation_data, shuffle, class_weight, sample_weight, initial_epoch, steps_per_epoch, validation_steps, validation_batch_size, validation_freq)\u001b[0m\n\u001b[1;32m 369\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m step, iterator \u001b[38;5;129;01min\u001b[39;00m epoch_iterator:\n\u001b[1;32m 370\u001b[0m callbacks\u001b[38;5;241m.\u001b[39mon_train_batch_begin(step)\n\u001b[0;32m--> 371\u001b[0m logs \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mtrain_function\u001b[49m\u001b[43m(\u001b[49m\u001b[43miterator\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 372\u001b[0m callbacks\u001b[38;5;241m.\u001b[39mon_train_batch_end(step, logs)\n\u001b[1;32m 373\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mstop_training:\n", - "File \u001b[0;32m~/miniforge3/envs/ai/lib/python3.12/site-packages/keras/src/backend/tensorflow/trainer.py:219\u001b[0m, in \u001b[0;36mTensorFlowTrainer._make_function..function\u001b[0;34m(iterator)\u001b[0m\n\u001b[1;32m 215\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[38;5;21mfunction\u001b[39m(iterator):\n\u001b[1;32m 216\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28misinstance\u001b[39m(\n\u001b[1;32m 217\u001b[0m iterator, (tf\u001b[38;5;241m.\u001b[39mdata\u001b[38;5;241m.\u001b[39mIterator, tf\u001b[38;5;241m.\u001b[39mdistribute\u001b[38;5;241m.\u001b[39mDistributedIterator)\n\u001b[1;32m 218\u001b[0m ):\n\u001b[0;32m--> 219\u001b[0m opt_outputs \u001b[38;5;241m=\u001b[39m \u001b[43mmulti_step_on_iterator\u001b[49m\u001b[43m(\u001b[49m\u001b[43miterator\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 220\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m opt_outputs\u001b[38;5;241m.\u001b[39mhas_value():\n\u001b[1;32m 221\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mStopIteration\u001b[39;00m\n", - "File \u001b[0;32m~/miniforge3/envs/ai/lib/python3.12/site-packages/tensorflow/python/util/traceback_utils.py:150\u001b[0m, in \u001b[0;36mfilter_traceback..error_handler\u001b[0;34m(*args, **kwargs)\u001b[0m\n\u001b[1;32m 148\u001b[0m filtered_tb \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mNone\u001b[39;00m\n\u001b[1;32m 149\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[0;32m--> 150\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mfn\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 151\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m \u001b[38;5;167;01mException\u001b[39;00m \u001b[38;5;28;01mas\u001b[39;00m e:\n\u001b[1;32m 152\u001b[0m filtered_tb \u001b[38;5;241m=\u001b[39m _process_traceback_frames(e\u001b[38;5;241m.\u001b[39m__traceback__)\n", - "File \u001b[0;32m~/miniforge3/envs/ai/lib/python3.12/site-packages/tensorflow/python/eager/polymorphic_function/polymorphic_function.py:833\u001b[0m, in \u001b[0;36mFunction.__call__\u001b[0;34m(self, *args, **kwds)\u001b[0m\n\u001b[1;32m 830\u001b[0m compiler \u001b[38;5;241m=\u001b[39m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mxla\u001b[39m\u001b[38;5;124m\"\u001b[39m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_jit_compile \u001b[38;5;28;01melse\u001b[39;00m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mnonXla\u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 832\u001b[0m \u001b[38;5;28;01mwith\u001b[39;00m OptionalXlaContext(\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_jit_compile):\n\u001b[0;32m--> 833\u001b[0m result \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_call\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwds\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 835\u001b[0m new_tracing_count \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mexperimental_get_tracing_count()\n\u001b[1;32m 836\u001b[0m without_tracing \u001b[38;5;241m=\u001b[39m (tracing_count \u001b[38;5;241m==\u001b[39m new_tracing_count)\n", - "File \u001b[0;32m~/miniforge3/envs/ai/lib/python3.12/site-packages/tensorflow/python/eager/polymorphic_function/polymorphic_function.py:878\u001b[0m, in \u001b[0;36mFunction._call\u001b[0;34m(self, *args, **kwds)\u001b[0m\n\u001b[1;32m 875\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_lock\u001b[38;5;241m.\u001b[39mrelease()\n\u001b[1;32m 876\u001b[0m \u001b[38;5;66;03m# In this case we have not created variables on the first call. So we can\u001b[39;00m\n\u001b[1;32m 877\u001b[0m \u001b[38;5;66;03m# run the first trace but we should fail if variables are created.\u001b[39;00m\n\u001b[0;32m--> 878\u001b[0m results \u001b[38;5;241m=\u001b[39m \u001b[43mtracing_compilation\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mcall_function\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 879\u001b[0m \u001b[43m \u001b[49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mkwds\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_variable_creation_config\u001b[49m\n\u001b[1;32m 880\u001b[0m \u001b[43m\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 881\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_created_variables:\n\u001b[1;32m 882\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mValueError\u001b[39;00m(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mCreating variables on a non-first call to a function\u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 883\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m decorated with tf.function.\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n", - "File \u001b[0;32m~/miniforge3/envs/ai/lib/python3.12/site-packages/tensorflow/python/eager/polymorphic_function/tracing_compilation.py:139\u001b[0m, in \u001b[0;36mcall_function\u001b[0;34m(args, kwargs, tracing_options)\u001b[0m\n\u001b[1;32m 137\u001b[0m bound_args \u001b[38;5;241m=\u001b[39m function\u001b[38;5;241m.\u001b[39mfunction_type\u001b[38;5;241m.\u001b[39mbind(\u001b[38;5;241m*\u001b[39margs, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs)\n\u001b[1;32m 138\u001b[0m flat_inputs \u001b[38;5;241m=\u001b[39m function\u001b[38;5;241m.\u001b[39mfunction_type\u001b[38;5;241m.\u001b[39munpack_inputs(bound_args)\n\u001b[0;32m--> 139\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mfunction\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_call_flat\u001b[49m\u001b[43m(\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;66;43;03m# pylint: disable=protected-access\u001b[39;49;00m\n\u001b[1;32m 140\u001b[0m \u001b[43m \u001b[49m\u001b[43mflat_inputs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mcaptured_inputs\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mfunction\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mcaptured_inputs\u001b[49m\n\u001b[1;32m 141\u001b[0m \u001b[43m\u001b[49m\u001b[43m)\u001b[49m\n", - "File \u001b[0;32m~/miniforge3/envs/ai/lib/python3.12/site-packages/tensorflow/python/eager/polymorphic_function/concrete_function.py:1322\u001b[0m, in \u001b[0;36mConcreteFunction._call_flat\u001b[0;34m(self, tensor_inputs, captured_inputs)\u001b[0m\n\u001b[1;32m 1318\u001b[0m possible_gradient_type \u001b[38;5;241m=\u001b[39m gradients_util\u001b[38;5;241m.\u001b[39mPossibleTapeGradientTypes(args)\n\u001b[1;32m 1319\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m (possible_gradient_type \u001b[38;5;241m==\u001b[39m gradients_util\u001b[38;5;241m.\u001b[39mPOSSIBLE_GRADIENT_TYPES_NONE\n\u001b[1;32m 1320\u001b[0m \u001b[38;5;129;01mand\u001b[39;00m executing_eagerly):\n\u001b[1;32m 1321\u001b[0m \u001b[38;5;66;03m# No tape is watching; skip to running the function.\u001b[39;00m\n\u001b[0;32m-> 1322\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_inference_function\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mcall_preflattened\u001b[49m\u001b[43m(\u001b[49m\u001b[43margs\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 1323\u001b[0m forward_backward \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_select_forward_and_backward_functions(\n\u001b[1;32m 1324\u001b[0m args,\n\u001b[1;32m 1325\u001b[0m possible_gradient_type,\n\u001b[1;32m 1326\u001b[0m executing_eagerly)\n\u001b[1;32m 1327\u001b[0m forward_function, args_with_tangents \u001b[38;5;241m=\u001b[39m forward_backward\u001b[38;5;241m.\u001b[39mforward()\n", - "File \u001b[0;32m~/miniforge3/envs/ai/lib/python3.12/site-packages/tensorflow/python/eager/polymorphic_function/atomic_function.py:216\u001b[0m, in \u001b[0;36mAtomicFunction.call_preflattened\u001b[0;34m(self, args)\u001b[0m\n\u001b[1;32m 214\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[38;5;21mcall_preflattened\u001b[39m(\u001b[38;5;28mself\u001b[39m, args: Sequence[core\u001b[38;5;241m.\u001b[39mTensor]) \u001b[38;5;241m-\u001b[39m\u001b[38;5;241m>\u001b[39m Any:\n\u001b[1;32m 215\u001b[0m \u001b[38;5;250m \u001b[39m\u001b[38;5;124;03m\"\"\"Calls with flattened tensor inputs and returns the structured output.\"\"\"\u001b[39;00m\n\u001b[0;32m--> 216\u001b[0m flat_outputs \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mcall_flat\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 217\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mfunction_type\u001b[38;5;241m.\u001b[39mpack_output(flat_outputs)\n", - "File \u001b[0;32m~/miniforge3/envs/ai/lib/python3.12/site-packages/tensorflow/python/eager/polymorphic_function/atomic_function.py:251\u001b[0m, in \u001b[0;36mAtomicFunction.call_flat\u001b[0;34m(self, *args)\u001b[0m\n\u001b[1;32m 249\u001b[0m \u001b[38;5;28;01mwith\u001b[39;00m record\u001b[38;5;241m.\u001b[39mstop_recording():\n\u001b[1;32m 250\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_bound_context\u001b[38;5;241m.\u001b[39mexecuting_eagerly():\n\u001b[0;32m--> 251\u001b[0m outputs \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_bound_context\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mcall_function\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 252\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mname\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 253\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;28;43mlist\u001b[39;49m\u001b[43m(\u001b[49m\u001b[43margs\u001b[49m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 254\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;28;43mlen\u001b[39;49m\u001b[43m(\u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mfunction_type\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mflat_outputs\u001b[49m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 255\u001b[0m \u001b[43m \u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 256\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[1;32m 257\u001b[0m outputs \u001b[38;5;241m=\u001b[39m make_call_op_in_graph(\n\u001b[1;32m 258\u001b[0m \u001b[38;5;28mself\u001b[39m,\n\u001b[1;32m 259\u001b[0m \u001b[38;5;28mlist\u001b[39m(args),\n\u001b[1;32m 260\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_bound_context\u001b[38;5;241m.\u001b[39mfunction_call_options\u001b[38;5;241m.\u001b[39mas_attrs(),\n\u001b[1;32m 261\u001b[0m )\n", - "File \u001b[0;32m~/miniforge3/envs/ai/lib/python3.12/site-packages/tensorflow/python/eager/context.py:1552\u001b[0m, in \u001b[0;36mContext.call_function\u001b[0;34m(self, name, tensor_inputs, num_outputs)\u001b[0m\n\u001b[1;32m 1550\u001b[0m cancellation_context \u001b[38;5;241m=\u001b[39m cancellation\u001b[38;5;241m.\u001b[39mcontext()\n\u001b[1;32m 1551\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m cancellation_context \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n\u001b[0;32m-> 1552\u001b[0m outputs \u001b[38;5;241m=\u001b[39m \u001b[43mexecute\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mexecute\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 1553\u001b[0m \u001b[43m \u001b[49m\u001b[43mname\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mdecode\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mutf-8\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 1554\u001b[0m \u001b[43m \u001b[49m\u001b[43mnum_outputs\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mnum_outputs\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 1555\u001b[0m \u001b[43m \u001b[49m\u001b[43minputs\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mtensor_inputs\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 1556\u001b[0m \u001b[43m \u001b[49m\u001b[43mattrs\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mattrs\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 1557\u001b[0m \u001b[43m \u001b[49m\u001b[43mctx\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[43m,\u001b[49m\n\u001b[1;32m 1558\u001b[0m \u001b[43m \u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 1559\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[1;32m 1560\u001b[0m outputs \u001b[38;5;241m=\u001b[39m execute\u001b[38;5;241m.\u001b[39mexecute_with_cancellation(\n\u001b[1;32m 1561\u001b[0m name\u001b[38;5;241m.\u001b[39mdecode(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mutf-8\u001b[39m\u001b[38;5;124m\"\u001b[39m),\n\u001b[1;32m 1562\u001b[0m num_outputs\u001b[38;5;241m=\u001b[39mnum_outputs,\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 1566\u001b[0m cancellation_manager\u001b[38;5;241m=\u001b[39mcancellation_context,\n\u001b[1;32m 1567\u001b[0m )\n", - "File \u001b[0;32m~/miniforge3/envs/ai/lib/python3.12/site-packages/tensorflow/python/eager/execute.py:53\u001b[0m, in \u001b[0;36mquick_execute\u001b[0;34m(op_name, num_outputs, inputs, attrs, ctx, name)\u001b[0m\n\u001b[1;32m 51\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[1;32m 52\u001b[0m ctx\u001b[38;5;241m.\u001b[39mensure_initialized()\n\u001b[0;32m---> 53\u001b[0m tensors \u001b[38;5;241m=\u001b[39m \u001b[43mpywrap_tfe\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mTFE_Py_Execute\u001b[49m\u001b[43m(\u001b[49m\u001b[43mctx\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_handle\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mdevice_name\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mop_name\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 54\u001b[0m \u001b[43m \u001b[49m\u001b[43minputs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mattrs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mnum_outputs\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 55\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m core\u001b[38;5;241m.\u001b[39m_NotOkStatusException \u001b[38;5;28;01mas\u001b[39;00m e:\n\u001b[1;32m 56\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m name \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n", - "\u001b[0;31mKeyboardInterrupt\u001b[0m: " + "Epoch 1/50\n", + "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m12s\u001b[0m 13ms/step - huber: 4.2799e-06 - loss: 4.2799e-06 - mass_balance: 0.0421 - val_huber: 3.4483e-07 - val_loss: 3.4514e-07 - val_mass_balance: 0.0225\n", + "Epoch 2/50\n", + "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m13s\u001b[0m 14ms/step - huber: 4.0330e-06 - loss: 4.0330e-06 - mass_balance: 0.0451 - val_huber: 8.2502e-07 - val_loss: 8.2549e-07 - val_mass_balance: 0.0422\n", + "Epoch 3/50\n", + "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m12s\u001b[0m 14ms/step - huber: 3.0521e-06 - loss: 3.0521e-06 - mass_balance: 0.0354 - val_huber: 3.4769e-06 - val_loss: 3.4814e-06 - val_mass_balance: 0.0462\n", + "Epoch 4/50\n", + "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m12s\u001b[0m 14ms/step - huber: 3.4066e-06 - loss: 3.4066e-06 - mass_balance: 0.0438 - val_huber: 3.5683e-06 - val_loss: 3.5691e-06 - val_mass_balance: 0.0380\n", + "Epoch 5/50\n", + "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m11s\u001b[0m 13ms/step - huber: 1.7451e-06 - loss: 1.7451e-06 - mass_balance: 0.0261 - val_huber: 2.0604e-06 - val_loss: 2.0614e-06 - val_mass_balance: 0.0619\n", + "Epoch 6/50\n", + "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m12s\u001b[0m 13ms/step - huber: 2.4580e-06 - loss: 2.4580e-06 - mass_balance: 0.0323 - val_huber: 2.4216e-07 - val_loss: 2.4243e-07 - val_mass_balance: 0.0148\n", + "Epoch 7/50\n", + "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m12s\u001b[0m 13ms/step - huber: 2.2816e-06 - loss: 2.2816e-06 - mass_balance: 0.0288 - val_huber: 3.4576e-07 - val_loss: 3.4610e-07 - val_mass_balance: 0.0119\n", + "Epoch 8/50\n", + "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m12s\u001b[0m 14ms/step - huber: 1.5347e-06 - loss: 1.5347e-06 - mass_balance: 0.0267 - val_huber: 6.3932e-06 - val_loss: 6.3978e-06 - val_mass_balance: 0.0862\n", + "Epoch 9/50\n", + "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m13s\u001b[0m 15ms/step - huber: 1.6830e-06 - loss: 1.6830e-06 - mass_balance: 0.0279 - val_huber: 5.2368e-07 - val_loss: 5.2401e-07 - val_mass_balance: 0.0174\n", + "Epoch 10/50\n", + "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m12s\u001b[0m 14ms/step - huber: 1.8310e-06 - loss: 1.8311e-06 - mass_balance: 0.0254 - val_huber: 1.8551e-07 - val_loss: 1.8579e-07 - val_mass_balance: 0.0094\n", + "Epoch 11/50\n", + "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m13s\u001b[0m 14ms/step - huber: 1.4000e-06 - loss: 1.4000e-06 - mass_balance: 0.0234 - val_huber: 1.7775e-07 - val_loss: 1.7799e-07 - val_mass_balance: 0.0094\n", + "Epoch 12/50\n", + "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m11s\u001b[0m 13ms/step - huber: 1.0789e-06 - loss: 1.0789e-06 - mass_balance: 0.0180 - val_huber: 6.4235e-07 - val_loss: 6.4321e-07 - val_mass_balance: 0.0207\n", + "Epoch 13/50\n", + "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m12s\u001b[0m 13ms/step - huber: 1.2999e-06 - loss: 1.2999e-06 - mass_balance: 0.0227 - val_huber: 7.2673e-07 - val_loss: 7.2751e-07 - val_mass_balance: 0.0118\n", + "Epoch 14/50\n", + "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m11s\u001b[0m 13ms/step - huber: 9.0124e-07 - loss: 9.0124e-07 - mass_balance: 0.0175 - val_huber: 1.2052e-07 - val_loss: 1.2076e-07 - val_mass_balance: 0.0048\n", + "Epoch 15/50\n", + "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m12s\u001b[0m 14ms/step - huber: 9.3653e-07 - loss: 9.3653e-07 - mass_balance: 0.0170 - val_huber: 1.4767e-07 - val_loss: 1.4796e-07 - val_mass_balance: 0.0076\n", + "Epoch 16/50\n", + "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m11s\u001b[0m 13ms/step - huber: 5.1122e-07 - loss: 5.1122e-07 - mass_balance: 0.0121 - val_huber: 3.0834e-07 - val_loss: 3.0882e-07 - val_mass_balance: 0.0116\n", + "Epoch 17/50\n", + "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m11s\u001b[0m 13ms/step - huber: 8.2455e-07 - loss: 8.2454e-07 - mass_balance: 0.0153 - val_huber: 1.7300e-06 - val_loss: 1.7301e-06 - val_mass_balance: 0.0423\n", + "Epoch 18/50\n", + "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m12s\u001b[0m 14ms/step - huber: 8.4078e-07 - loss: 8.4078e-07 - mass_balance: 0.0167 - val_huber: 1.1781e-06 - val_loss: 1.1793e-06 - val_mass_balance: 0.0246\n", + "Epoch 19/50\n", + "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m12s\u001b[0m 14ms/step - huber: 9.9003e-07 - loss: 9.9003e-07 - mass_balance: 0.0154 - val_huber: 1.6503e-07 - val_loss: 1.6526e-07 - val_mass_balance: 0.0121\n", + "Epoch 20/50\n", + "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m12s\u001b[0m 13ms/step - huber: 9.5923e-07 - loss: 9.5923e-07 - mass_balance: 0.0121 - val_huber: 1.3140e-07 - val_loss: 1.3167e-07 - val_mass_balance: 0.0076\n", + "Epoch 21/50\n", + "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m11s\u001b[0m 13ms/step - huber: 6.6818e-07 - loss: 6.6818e-07 - mass_balance: 0.0122 - val_huber: 1.7268e-06 - val_loss: 1.7283e-06 - val_mass_balance: 0.0221\n", + "Epoch 22/50\n", + "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m12s\u001b[0m 14ms/step - huber: 5.7110e-07 - loss: 5.7110e-07 - mass_balance: 0.0127 - val_huber: 1.2545e-07 - val_loss: 1.2569e-07 - val_mass_balance: 0.0120\n", + "Epoch 23/50\n", + "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m11s\u001b[0m 13ms/step - huber: 7.6431e-07 - loss: 7.6431e-07 - mass_balance: 0.0113 - val_huber: 1.1261e-07 - val_loss: 1.1285e-07 - val_mass_balance: 0.0047\n", + "Epoch 24/50\n", + "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m11s\u001b[0m 13ms/step - huber: 3.9674e-07 - loss: 3.9674e-07 - mass_balance: 0.0101 - val_huber: 9.1139e-08 - val_loss: 9.1335e-08 - val_mass_balance: 0.0032\n", + "Epoch 25/50\n", + "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m13s\u001b[0m 15ms/step - huber: 4.1321e-07 - loss: 4.1321e-07 - mass_balance: 0.0083 - val_huber: 1.7158e-07 - val_loss: 1.7183e-07 - val_mass_balance: 0.0036\n", + "Epoch 26/50\n", + "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m12s\u001b[0m 14ms/step - huber: 7.9635e-07 - loss: 7.9635e-07 - mass_balance: 0.0112 - val_huber: 9.2774e-08 - val_loss: 9.3000e-08 - val_mass_balance: 0.0027\n", + "Epoch 27/50\n", + "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m12s\u001b[0m 14ms/step - huber: 4.6850e-07 - loss: 4.6850e-07 - mass_balance: 0.0098 - val_huber: 1.0283e-07 - val_loss: 1.0305e-07 - val_mass_balance: 0.0048\n", + "Epoch 28/50\n", + "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m12s\u001b[0m 14ms/step - huber: 5.5048e-07 - loss: 5.5048e-07 - mass_balance: 0.0090 - val_huber: 1.0981e-07 - val_loss: 1.1003e-07 - val_mass_balance: 0.0062\n", + "Epoch 29/50\n", + "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m12s\u001b[0m 14ms/step - huber: 4.5964e-07 - loss: 4.5964e-07 - mass_balance: 0.0098 - val_huber: 1.1467e-07 - val_loss: 1.1491e-07 - val_mass_balance: 0.0027\n", + "Epoch 30/50\n", + "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m11s\u001b[0m 13ms/step - huber: 4.0565e-07 - loss: 4.0565e-07 - mass_balance: 0.0069 - val_huber: 1.7731e-06 - val_loss: 1.7736e-06 - val_mass_balance: 0.0482\n", + "Epoch 31/50\n", + "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m13s\u001b[0m 14ms/step - huber: 4.2617e-07 - loss: 4.2617e-07 - mass_balance: 0.0085 - val_huber: 2.6948e-07 - val_loss: 2.6974e-07 - val_mass_balance: 0.0138\n", + "Epoch 32/50\n", + "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m12s\u001b[0m 14ms/step - huber: 3.5269e-07 - loss: 3.5269e-07 - mass_balance: 0.0063 - val_huber: 8.2824e-08 - val_loss: 8.3034e-08 - val_mass_balance: 0.0023\n", + "Epoch 33/50\n", + "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m12s\u001b[0m 13ms/step - huber: 6.2967e-07 - loss: 6.2967e-07 - mass_balance: 0.0081 - val_huber: 1.0330e-07 - val_loss: 1.0348e-07 - val_mass_balance: 0.0063\n", + "Epoch 34/50\n", + "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m11s\u001b[0m 12ms/step - huber: 6.5417e-07 - loss: 6.5417e-07 - mass_balance: 0.0082 - val_huber: 8.4881e-08 - val_loss: 8.5073e-08 - val_mass_balance: 0.0053\n", + "Epoch 35/50\n", + "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m11s\u001b[0m 12ms/step - huber: 7.1504e-07 - loss: 7.1504e-07 - mass_balance: 0.0074 - val_huber: 1.1448e-07 - val_loss: 1.1464e-07 - val_mass_balance: 0.0051\n", + "Epoch 36/50\n", + "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m11s\u001b[0m 13ms/step - huber: 5.6783e-07 - loss: 5.6783e-07 - mass_balance: 0.0070 - val_huber: 2.2916e-07 - val_loss: 2.2945e-07 - val_mass_balance: 0.0092\n", + "Epoch 37/50\n", + "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m12s\u001b[0m 13ms/step - huber: 5.5385e-07 - loss: 5.5385e-07 - mass_balance: 0.0066 - val_huber: 1.8947e-07 - val_loss: 1.8975e-07 - val_mass_balance: 0.0055\n", + "Epoch 38/50\n", + "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m11s\u001b[0m 13ms/step - huber: 4.9893e-07 - loss: 4.9893e-07 - mass_balance: 0.0065 - val_huber: 7.4849e-08 - val_loss: 7.5058e-08 - val_mass_balance: 0.0032\n", + "Epoch 39/50\n", + "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m11s\u001b[0m 13ms/step - huber: 3.7779e-07 - loss: 3.7779e-07 - mass_balance: 0.0050 - val_huber: 9.0772e-08 - val_loss: 9.0945e-08 - val_mass_balance: 0.0046\n", + "Epoch 40/50\n", + "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m11s\u001b[0m 13ms/step - huber: 4.2443e-07 - loss: 4.2443e-07 - mass_balance: 0.0054 - val_huber: 9.5168e-08 - val_loss: 9.5322e-08 - val_mass_balance: 0.0039\n", + "Epoch 41/50\n", + "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m11s\u001b[0m 13ms/step - huber: 3.2178e-07 - loss: 3.2178e-07 - mass_balance: 0.0047 - val_huber: 1.7941e-07 - val_loss: 1.7961e-07 - val_mass_balance: 0.0092\n", + "Epoch 42/50\n", + "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m12s\u001b[0m 14ms/step - huber: 3.8325e-07 - loss: 3.8325e-07 - mass_balance: 0.0050 - val_huber: 8.6094e-08 - val_loss: 8.6295e-08 - val_mass_balance: 0.0041\n", + "Epoch 43/50\n", + "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m11s\u001b[0m 13ms/step - huber: 3.1550e-07 - loss: 3.1550e-07 - mass_balance: 0.0050 - val_huber: 1.0606e-07 - val_loss: 1.0619e-07 - val_mass_balance: 0.0052\n", + "Epoch 44/50\n", + "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m11s\u001b[0m 13ms/step - huber: 3.3489e-07 - loss: 3.3489e-07 - mass_balance: 0.0045 - val_huber: 6.8194e-08 - val_loss: 6.8356e-08 - val_mass_balance: 0.0027\n", + "Epoch 45/50\n", + "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m12s\u001b[0m 14ms/step - huber: 2.0352e-07 - loss: 2.0352e-07 - mass_balance: 0.0044 - val_huber: 8.4055e-08 - val_loss: 8.4237e-08 - val_mass_balance: 0.0058\n", + "Epoch 46/50\n", + "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m12s\u001b[0m 13ms/step - huber: 4.4620e-07 - loss: 4.4620e-07 - mass_balance: 0.0043 - val_huber: 7.2554e-08 - val_loss: 7.2720e-08 - val_mass_balance: 0.0033\n", + "Epoch 47/50\n", + "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m11s\u001b[0m 12ms/step - huber: 2.8217e-07 - loss: 2.8217e-07 - mass_balance: 0.0042 - val_huber: 7.2467e-08 - val_loss: 7.2613e-08 - val_mass_balance: 0.0023\n", + "Epoch 48/50\n", + "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m11s\u001b[0m 13ms/step - huber: 3.1265e-07 - loss: 3.1265e-07 - mass_balance: 0.0037 - val_huber: 6.3017e-08 - val_loss: 6.3177e-08 - val_mass_balance: 0.0019\n", + "Epoch 49/50\n", + "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m11s\u001b[0m 13ms/step - huber: 3.8543e-07 - loss: 3.8543e-07 - mass_balance: 0.0041 - val_huber: 9.2895e-08 - val_loss: 9.3143e-08 - val_mass_balance: 0.0025\n", + "Epoch 50/50\n", + "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m12s\u001b[0m 14ms/step - huber: 3.3291e-07 - loss: 3.3291e-07 - mass_balance: 0.0039 - val_huber: 1.0309e-07 - val_loss: 1.0330e-07 - val_mass_balance: 0.0039\n", + "Training took 589.632762670517 seconds\n" ] } ], "source": [ - "history = model_training(model)" + "history_standard = model_training(model_minmax)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Test pretrained models" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "metadata": {}, + "outputs": [ + { + "ename": "TypeError", + "evalue": "Could not locate function 'loss'. Make sure custom classes are decorated with `@keras.saving.register_keras_serializable()`. Full object config: {'module': 'builtins', 'class_name': 'function', 'config': 'loss', 'registered_name': 'function'}", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mTypeError\u001b[0m Traceback (most recent call last)", + "Cell \u001b[0;32mIn[26], line 1\u001b[0m\n\u001b[0;32m----> 1\u001b[0m model_minmax \u001b[38;5;241m=\u001b[39m \u001b[43mkeras\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mmodels\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mload_model\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43m/Users/hannessigner/Documents/Work/model-training/results/models/model_large_minmax.keras\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m)\u001b[49m\n\u001b[1;32m 2\u001b[0m \u001b[38;5;66;03m# model_standard = keras.models.load_model(\"/Users/hannessigner/Documents/Work/model-training/results/models/model_large_standardization.keras\")\u001b[39;00m\n", + "File \u001b[0;32m~/miniforge3/envs/ai/lib/python3.12/site-packages/keras/src/saving/saving_api.py:189\u001b[0m, in \u001b[0;36mload_model\u001b[0;34m(filepath, custom_objects, compile, safe_mode)\u001b[0m\n\u001b[1;32m 186\u001b[0m is_keras_zip \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mTrue\u001b[39;00m\n\u001b[1;32m 188\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m is_keras_zip \u001b[38;5;129;01mor\u001b[39;00m is_keras_dir \u001b[38;5;129;01mor\u001b[39;00m is_hf:\n\u001b[0;32m--> 189\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43msaving_lib\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mload_model\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 190\u001b[0m \u001b[43m \u001b[49m\u001b[43mfilepath\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 191\u001b[0m \u001b[43m \u001b[49m\u001b[43mcustom_objects\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mcustom_objects\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 192\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;28;43mcompile\u001b[39;49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43mcompile\u001b[39;49m\u001b[43m,\u001b[49m\n\u001b[1;32m 193\u001b[0m \u001b[43m \u001b[49m\u001b[43msafe_mode\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43msafe_mode\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 194\u001b[0m \u001b[43m \u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 195\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mstr\u001b[39m(filepath)\u001b[38;5;241m.\u001b[39mendswith((\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m.h5\u001b[39m\u001b[38;5;124m\"\u001b[39m, \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m.hdf5\u001b[39m\u001b[38;5;124m\"\u001b[39m)):\n\u001b[1;32m 196\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m legacy_h5_format\u001b[38;5;241m.\u001b[39mload_model_from_hdf5(\n\u001b[1;32m 197\u001b[0m filepath, custom_objects\u001b[38;5;241m=\u001b[39mcustom_objects, \u001b[38;5;28mcompile\u001b[39m\u001b[38;5;241m=\u001b[39m\u001b[38;5;28mcompile\u001b[39m\n\u001b[1;32m 198\u001b[0m )\n", + "File \u001b[0;32m~/miniforge3/envs/ai/lib/python3.12/site-packages/keras/src/saving/saving_lib.py:367\u001b[0m, in \u001b[0;36mload_model\u001b[0;34m(filepath, custom_objects, compile, safe_mode)\u001b[0m\n\u001b[1;32m 362\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mValueError\u001b[39;00m(\n\u001b[1;32m 363\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mInvalid filename: expected a `.keras` extension. \u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 364\u001b[0m \u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mReceived: filepath=\u001b[39m\u001b[38;5;132;01m{\u001b[39;00mfilepath\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 365\u001b[0m )\n\u001b[1;32m 366\u001b[0m \u001b[38;5;28;01mwith\u001b[39;00m \u001b[38;5;28mopen\u001b[39m(filepath, \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mrb\u001b[39m\u001b[38;5;124m\"\u001b[39m) \u001b[38;5;28;01mas\u001b[39;00m f:\n\u001b[0;32m--> 367\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43m_load_model_from_fileobj\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 368\u001b[0m \u001b[43m \u001b[49m\u001b[43mf\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mcustom_objects\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;28;43mcompile\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43msafe_mode\u001b[49m\n\u001b[1;32m 369\u001b[0m \u001b[43m \u001b[49m\u001b[43m)\u001b[49m\n", + "File \u001b[0;32m~/miniforge3/envs/ai/lib/python3.12/site-packages/keras/src/saving/saving_lib.py:444\u001b[0m, in \u001b[0;36m_load_model_from_fileobj\u001b[0;34m(fileobj, custom_objects, compile, safe_mode)\u001b[0m\n\u001b[1;32m 441\u001b[0m \u001b[38;5;28;01mwith\u001b[39;00m zf\u001b[38;5;241m.\u001b[39mopen(_CONFIG_FILENAME, \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mr\u001b[39m\u001b[38;5;124m\"\u001b[39m) \u001b[38;5;28;01mas\u001b[39;00m f:\n\u001b[1;32m 442\u001b[0m config_json \u001b[38;5;241m=\u001b[39m f\u001b[38;5;241m.\u001b[39mread()\n\u001b[0;32m--> 444\u001b[0m model \u001b[38;5;241m=\u001b[39m \u001b[43m_model_from_config\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 445\u001b[0m \u001b[43m \u001b[49m\u001b[43mconfig_json\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mcustom_objects\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;28;43mcompile\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43msafe_mode\u001b[49m\n\u001b[1;32m 446\u001b[0m \u001b[43m\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 448\u001b[0m all_filenames \u001b[38;5;241m=\u001b[39m zf\u001b[38;5;241m.\u001b[39mnamelist()\n\u001b[1;32m 449\u001b[0m extract_dir \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mNone\u001b[39;00m\n", + "File \u001b[0;32m~/miniforge3/envs/ai/lib/python3.12/site-packages/keras/src/saving/saving_lib.py:433\u001b[0m, in \u001b[0;36m_model_from_config\u001b[0;34m(config_json, custom_objects, compile, safe_mode)\u001b[0m\n\u001b[1;32m 431\u001b[0m \u001b[38;5;66;03m# Construct the model from the configuration file in the archive.\u001b[39;00m\n\u001b[1;32m 432\u001b[0m \u001b[38;5;28;01mwith\u001b[39;00m ObjectSharingScope():\n\u001b[0;32m--> 433\u001b[0m model \u001b[38;5;241m=\u001b[39m \u001b[43mdeserialize_keras_object\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 434\u001b[0m \u001b[43m \u001b[49m\u001b[43mconfig_dict\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mcustom_objects\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43msafe_mode\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43msafe_mode\u001b[49m\n\u001b[1;32m 435\u001b[0m \u001b[43m \u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 436\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m model\n", + "File \u001b[0;32m~/miniforge3/envs/ai/lib/python3.12/site-packages/keras/src/saving/serialization_lib.py:734\u001b[0m, in \u001b[0;36mdeserialize_keras_object\u001b[0;34m(config, custom_objects, safe_mode, **kwargs)\u001b[0m\n\u001b[1;32m 732\u001b[0m compile_config \u001b[38;5;241m=\u001b[39m config\u001b[38;5;241m.\u001b[39mget(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mcompile_config\u001b[39m\u001b[38;5;124m\"\u001b[39m, \u001b[38;5;28;01mNone\u001b[39;00m)\n\u001b[1;32m 733\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m compile_config:\n\u001b[0;32m--> 734\u001b[0m \u001b[43minstance\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mcompile_from_config\u001b[49m\u001b[43m(\u001b[49m\u001b[43mcompile_config\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 735\u001b[0m instance\u001b[38;5;241m.\u001b[39mcompiled \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mTrue\u001b[39;00m\n\u001b[1;32m 737\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mshared_object_id\u001b[39m\u001b[38;5;124m\"\u001b[39m \u001b[38;5;129;01min\u001b[39;00m config:\n", + "File \u001b[0;32m~/miniforge3/envs/ai/lib/python3.12/site-packages/keras/src/trainers/trainer.py:971\u001b[0m, in \u001b[0;36mTrainer.compile_from_config\u001b[0;34m(self, config)\u001b[0m\n\u001b[1;32m 960\u001b[0m warnings\u001b[38;5;241m.\u001b[39mwarn(\n\u001b[1;32m 961\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m`compile()` was not called as part of model loading \u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 962\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mbecause the model\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124ms `compile()` method is custom. \u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 968\u001b[0m stacklevel\u001b[38;5;241m=\u001b[39m\u001b[38;5;241m2\u001b[39m,\n\u001b[1;32m 969\u001b[0m )\n\u001b[1;32m 970\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m\n\u001b[0;32m--> 971\u001b[0m config \u001b[38;5;241m=\u001b[39m \u001b[43mserialization_lib\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mdeserialize_keras_object\u001b[49m\u001b[43m(\u001b[49m\u001b[43mconfig\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 972\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mcompile(\u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mconfig)\n\u001b[1;32m 973\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mhasattr\u001b[39m(\u001b[38;5;28mself\u001b[39m, \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124moptimizer\u001b[39m\u001b[38;5;124m\"\u001b[39m) \u001b[38;5;129;01mand\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mbuilt:\n\u001b[1;32m 974\u001b[0m \u001b[38;5;66;03m# Create optimizer variables.\u001b[39;00m\n", + "File \u001b[0;32m~/miniforge3/envs/ai/lib/python3.12/site-packages/keras/src/saving/serialization_lib.py:595\u001b[0m, in \u001b[0;36mdeserialize_keras_object\u001b[0;34m(config, custom_objects, safe_mode, **kwargs)\u001b[0m\n\u001b[1;32m 591\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mTypeError\u001b[39;00m(\u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mCould not parse config: \u001b[39m\u001b[38;5;132;01m{\u001b[39;00mconfig\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m\"\u001b[39m)\n\u001b[1;32m 593\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mclass_name\u001b[39m\u001b[38;5;124m\"\u001b[39m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;129;01min\u001b[39;00m config \u001b[38;5;129;01mor\u001b[39;00m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mconfig\u001b[39m\u001b[38;5;124m\"\u001b[39m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;129;01min\u001b[39;00m config:\n\u001b[1;32m 594\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m {\n\u001b[0;32m--> 595\u001b[0m key: \u001b[43mdeserialize_keras_object\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 596\u001b[0m \u001b[43m \u001b[49m\u001b[43mvalue\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mcustom_objects\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mcustom_objects\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43msafe_mode\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43msafe_mode\u001b[49m\n\u001b[1;32m 597\u001b[0m \u001b[43m \u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 598\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m key, value \u001b[38;5;129;01min\u001b[39;00m config\u001b[38;5;241m.\u001b[39mitems()\n\u001b[1;32m 599\u001b[0m }\n\u001b[1;32m 601\u001b[0m class_name \u001b[38;5;241m=\u001b[39m config[\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mclass_name\u001b[39m\u001b[38;5;124m\"\u001b[39m]\n\u001b[1;32m 602\u001b[0m inner_config \u001b[38;5;241m=\u001b[39m config[\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mconfig\u001b[39m\u001b[38;5;124m\"\u001b[39m] \u001b[38;5;129;01mor\u001b[39;00m {}\n", + "File \u001b[0;32m~/miniforge3/envs/ai/lib/python3.12/site-packages/keras/src/saving/serialization_lib.py:678\u001b[0m, in \u001b[0;36mdeserialize_keras_object\u001b[0;34m(config, custom_objects, safe_mode, **kwargs)\u001b[0m\n\u001b[1;32m 676\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m class_name \u001b[38;5;241m==\u001b[39m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mfunction\u001b[39m\u001b[38;5;124m\"\u001b[39m:\n\u001b[1;32m 677\u001b[0m fn_name \u001b[38;5;241m=\u001b[39m inner_config\n\u001b[0;32m--> 678\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43m_retrieve_class_or_fn\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 679\u001b[0m \u001b[43m \u001b[49m\u001b[43mfn_name\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 680\u001b[0m \u001b[43m \u001b[49m\u001b[43mregistered_name\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 681\u001b[0m \u001b[43m \u001b[49m\u001b[43mmodule\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 682\u001b[0m \u001b[43m \u001b[49m\u001b[43mobj_type\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mfunction\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\n\u001b[1;32m 683\u001b[0m \u001b[43m \u001b[49m\u001b[43mfull_config\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mconfig\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 684\u001b[0m \u001b[43m \u001b[49m\u001b[43mcustom_objects\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mcustom_objects\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 685\u001b[0m \u001b[43m \u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 687\u001b[0m \u001b[38;5;66;03m# Below, handling of all classes.\u001b[39;00m\n\u001b[1;32m 688\u001b[0m \u001b[38;5;66;03m# First, is it a shared object?\u001b[39;00m\n\u001b[1;32m 689\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mshared_object_id\u001b[39m\u001b[38;5;124m\"\u001b[39m \u001b[38;5;129;01min\u001b[39;00m config:\n", + "File \u001b[0;32m~/miniforge3/envs/ai/lib/python3.12/site-packages/keras/src/saving/serialization_lib.py:803\u001b[0m, in \u001b[0;36m_retrieve_class_or_fn\u001b[0;34m(name, registered_name, module, obj_type, full_config, custom_objects)\u001b[0m\n\u001b[1;32m 800\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m obj \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n\u001b[1;32m 801\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m obj\n\u001b[0;32m--> 803\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mTypeError\u001b[39;00m(\n\u001b[1;32m 804\u001b[0m \u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mCould not locate \u001b[39m\u001b[38;5;132;01m{\u001b[39;00mobj_type\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m \u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;132;01m{\u001b[39;00mname\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124m. \u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 805\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mMake sure custom classes are decorated with \u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 806\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m`@keras.saving.register_keras_serializable()`. \u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 807\u001b[0m \u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mFull object config: \u001b[39m\u001b[38;5;132;01m{\u001b[39;00mfull_config\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 808\u001b[0m )\n", + "\u001b[0;31mTypeError\u001b[0m: Could not locate function 'loss'. Make sure custom classes are decorated with `@keras.saving.register_keras_serializable()`. Full object config: {'module': 'builtins', 'class_name': 'function', 'config': 'loss', 'registered_name': 'function'}" + ] + } + ], + "source": [ + "model_minmax = keras.models.load_model(\"/Users/hannessigner/Documents/Work/model-training/results/models/model_large_minmax.keras\")\n", + "# model_standard = keras.models.load_model(\"/Users/hannessigner/Documents/Work/model-training/results/models/model_large_standardization.keras\")" ] }, { @@ -927,7 +1032,7 @@ }, { "cell_type": "code", - "execution_count": 19, + "execution_count": 233, "metadata": {}, "outputs": [], "source": [ @@ -935,38 +1040,33 @@ " \n", " # predict the chemistry\n", " columns = X.iloc[:, X.columns != \"Class\"].columns\n", + " classes = X[\"Class\"]\n", " prediction = pd.DataFrame(model.predict(X[columns]), columns=columns)\n", " # backtransform min/max or standard scaler\n", " X = pd.DataFrame(preprocess.scaler_X.inverse_transform(X.iloc[:, X.columns != \"Class\"]), columns=columns)\n", " prediction = pd.DataFrame(preprocess.scaler_y.inverse_transform(prediction), columns=columns)\n", - " \n", + " \n", " # calculate mass balance\n", " dBa = np.abs((prediction[\"Ba\"] + prediction[\"Barite\"]) - (X[\"Ba\"] + X[\"Barite\"]))\n", " print(dBa.min())\n", " dSr = np.abs((prediction[\"Sr\"] + prediction[\"Celestite\"]) - (X[\"Sr\"] + X[\"Celestite\"]))\n", " print(dSr.min())\n", - " return dBa, dSr, prediction" + " return dBa, dSr, prediction, classes\n", + "\n", + "def mass_balance_ratio(results, threshold=1e-5):\n", + " return len(results[results < threshold]) / len(results)" ] }, { "cell_type": "code", - "execution_count": 21, - "metadata": {}, - "outputs": [], - "source": [ - "model_large.save(\"../results/models/model_large_minmax.keras\")" - ] - }, - { - "cell_type": "code", - "execution_count": 22, + "execution_count": 234, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "\u001b[1m26993/26993\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m26s\u001b[0m 958us/step\n" + "\u001b[1m14175/14175\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m17s\u001b[0m 1ms/step\n" ] }, { @@ -1004,57 +1104,57 @@ " \n", " 0\n", " 111.012436\n", - " 55.506577\n", - " 2.545392e-05\n", - " 0.056169\n", - " 9.056123e-05\n", - " 0.028152\n", - " 0.000378\n", - " 1.000338\n", + " 55.506630\n", + " 0.000003\n", + " 0.033113\n", + " 1.027863e-04\n", + " 0.016638\n", + " 0.000809\n", + " 1.000536\n", " \n", " \n", " 1\n", " 111.012436\n", - " 55.506767\n", - " -2.754421e-06\n", - " 0.013520\n", - " 1.372749e-04\n", - " 0.006905\n", - " 0.001824\n", - " 1.001608\n", + " 55.506611\n", + " 0.000011\n", + " 0.039366\n", + " 9.827365e-05\n", + " 0.019756\n", + " 0.000823\n", + " 1.000528\n", " \n", " \n", " 2\n", " 111.012436\n", - " 55.506561\n", - " 4.052742e-05\n", - " 0.066249\n", - " 8.696535e-05\n", - " 0.033175\n", - " -0.000851\n", - " 1.002237\n", + " 55.506592\n", + " 0.000015\n", + " 0.047951\n", + " 9.366860e-05\n", + " 0.024039\n", + " 0.000815\n", + " 1.000414\n", " \n", " \n", " 3\n", " 111.012436\n", - " 55.506218\n", - " 4.709655e-02\n", - " 0.153739\n", - " 1.902060e-07\n", - " 0.029717\n", - " 1.007493\n", - " 0.000263\n", + " 55.506561\n", + " 0.000026\n", + " 0.066884\n", + " 8.696726e-05\n", + " 0.033494\n", + " 0.000733\n", + " 1.000262\n", " \n", " \n", " 4\n", " 111.012436\n", - " 55.507805\n", - " 4.156423e-06\n", - " 0.001301\n", - " 3.962677e-04\n", - " 0.001057\n", - " 0.000573\n", - " 1.001946\n", + " 55.506805\n", + " -0.000013\n", + " 0.011500\n", + " 1.467149e-04\n", + " 0.005883\n", + " 0.000873\n", + " 1.000751\n", " \n", " \n", " ...\n", @@ -1068,107 +1168,107 @@ " ...\n", " \n", " \n", - " 863768\n", + " 453595\n", " 111.012436\n", " 55.506592\n", - " -3.092120e-08\n", - " 0.048117\n", - " 9.312747e-05\n", - " 0.024139\n", - " 0.002836\n", - " 0.999394\n", + " 0.000015\n", + " 0.048123\n", + " 9.360327e-05\n", + " 0.024126\n", + " 0.000805\n", + " 1.000494\n", " \n", " \n", - " 863769\n", + " 453596\n", " 111.012436\n", " 55.506775\n", - " -2.154928e-06\n", - " 0.013042\n", - " 1.396511e-04\n", - " 0.006667\n", - " 0.001727\n", - " 1.002290\n", + " -0.000014\n", + " 0.013106\n", + " 1.392483e-04\n", + " 0.006671\n", + " 0.000793\n", + " 1.000676\n", " \n", " \n", - " 863770\n", + " 453597\n", " 111.012436\n", - " 55.506489\n", - " 3.149816e-05\n", - " 0.108516\n", - " 6.810994e-05\n", - " 0.054227\n", - " 0.108361\n", - " 0.891181\n", + " 55.506496\n", + " 0.000089\n", + " 0.108489\n", + " 6.996401e-05\n", + " 0.054217\n", + " 0.104229\n", + " 0.891664\n", " \n", " \n", - " 863771\n", + " 453598\n", + " 111.012436\n", + " 55.506577\n", + " 0.000022\n", + " 0.056605\n", + " 9.016610e-05\n", + " 0.028356\n", + " 0.000782\n", + " 1.000076\n", + " \n", + " \n", + " 453599\n", " 111.012436\n", " 55.506218\n", - " 3.613450e-02\n", - " 0.141631\n", - " -7.596697e-08\n", - " 0.034772\n", - " 0.996522\n", - " 0.000232\n", - " \n", - " \n", - " 863772\n", - " 111.012436\n", - " 55.506214\n", - " 4.155123e-02\n", - " 0.150297\n", - " -7.713574e-07\n", - " 0.033498\n", - " 1.020295\n", - " -0.003992\n", + " 0.041664\n", + " 0.150247\n", + " 3.867281e-07\n", + " 0.033441\n", + " 1.004886\n", + " -0.000868\n", " \n", " \n", "\n", - "

863773 rows × 8 columns

\n", + "

453600 rows × 8 columns

\n", "" ], "text/plain": [ - " H O Ba Cl S Sr \\\n", - "0 111.012436 55.506577 2.545392e-05 0.056169 9.056123e-05 0.028152 \n", - "1 111.012436 55.506767 -2.754421e-06 0.013520 1.372749e-04 0.006905 \n", - "2 111.012436 55.506561 4.052742e-05 0.066249 8.696535e-05 0.033175 \n", - "3 111.012436 55.506218 4.709655e-02 0.153739 1.902060e-07 0.029717 \n", - "4 111.012436 55.507805 4.156423e-06 0.001301 3.962677e-04 0.001057 \n", - "... ... ... ... ... ... ... \n", - "863768 111.012436 55.506592 -3.092120e-08 0.048117 9.312747e-05 0.024139 \n", - "863769 111.012436 55.506775 -2.154928e-06 0.013042 1.396511e-04 0.006667 \n", - "863770 111.012436 55.506489 3.149816e-05 0.108516 6.810994e-05 0.054227 \n", - "863771 111.012436 55.506218 3.613450e-02 0.141631 -7.596697e-08 0.034772 \n", - "863772 111.012436 55.506214 4.155123e-02 0.150297 -7.713574e-07 0.033498 \n", + " H O Ba Cl S Sr \\\n", + "0 111.012436 55.506630 0.000003 0.033113 1.027863e-04 0.016638 \n", + "1 111.012436 55.506611 0.000011 0.039366 9.827365e-05 0.019756 \n", + "2 111.012436 55.506592 0.000015 0.047951 9.366860e-05 0.024039 \n", + "3 111.012436 55.506561 0.000026 0.066884 8.696726e-05 0.033494 \n", + "4 111.012436 55.506805 -0.000013 0.011500 1.467149e-04 0.005883 \n", + "... ... ... ... ... ... ... \n", + "453595 111.012436 55.506592 0.000015 0.048123 9.360327e-05 0.024126 \n", + "453596 111.012436 55.506775 -0.000014 0.013106 1.392483e-04 0.006671 \n", + "453597 111.012436 55.506496 0.000089 0.108489 6.996401e-05 0.054217 \n", + "453598 111.012436 55.506577 0.000022 0.056605 9.016610e-05 0.028356 \n", + "453599 111.012436 55.506218 0.041664 0.150247 3.867281e-07 0.033441 \n", "\n", " Barite Celestite \n", - "0 0.000378 1.000338 \n", - "1 0.001824 1.001608 \n", - "2 -0.000851 1.002237 \n", - "3 1.007493 0.000263 \n", - "4 0.000573 1.001946 \n", + "0 0.000809 1.000536 \n", + "1 0.000823 1.000528 \n", + "2 0.000815 1.000414 \n", + "3 0.000733 1.000262 \n", + "4 0.000873 1.000751 \n", "... ... ... \n", - "863768 0.002836 0.999394 \n", - "863769 0.001727 1.002290 \n", - "863770 0.108361 0.891181 \n", - "863771 0.996522 0.000232 \n", - "863772 1.020295 -0.003992 \n", + "453595 0.000805 1.000494 \n", + "453596 0.000793 1.000676 \n", + "453597 0.104229 0.891664 \n", + "453598 0.000782 1.000076 \n", + "453599 1.004886 -0.000868 \n", "\n", - "[863773 rows x 8 columns]" + "[453600 rows x 8 columns]" ] }, - "execution_count": 22, + "execution_count": 234, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "pd.DataFrame(preprocess.scaler_X.inverse_transform(model_large.predict(X_train[species_columns])), columns=species_columns)" + "pd.DataFrame(preprocess.scaler_X.inverse_transform(model_minmax.predict(X_train[species_columns])), columns=species_columns)" ] }, { "cell_type": "code", - "execution_count": 24, + "execution_count": 235, "metadata": {}, "outputs": [ { @@ -1206,57 +1306,57 @@ " \n", " 0\n", " 111.012434\n", - " 55.506578\n", - " 1.977602e-05\n", - " 0.056160\n", - " 9.022655e-05\n", - " 0.028151\n", + " 55.506628\n", + " 0.000011\n", + " 0.033119\n", + " 1.027055e-04\n", + " 0.016651\n", " 0.001000\n", - " 1.000490\n", + " 1.000506\n", " \n", " \n", " 1\n", " 111.012434\n", - " 55.506767\n", - " 4.662127e-06\n", - " 0.013550\n", - " 1.374302e-04\n", - " 0.006908\n", + " 55.506609\n", + " 0.000014\n", + " 0.039354\n", + " 9.817041e-05\n", + " 0.019762\n", " 0.001000\n", - " 1.000091\n", + " 1.000637\n", " \n", " \n", " 2\n", " 111.012434\n", - " 55.506565\n", - " 2.349696e-05\n", - " 0.066235\n", - " 8.705933e-05\n", - " 0.033181\n", - " 0.001001\n", - " 1.000613\n", + " 55.506591\n", + " 0.000017\n", + " 0.047946\n", + " 9.354856e-05\n", + " 0.024050\n", + " 0.001000\n", + " 1.000489\n", " \n", " \n", " 3\n", " 111.012434\n", - " 55.506217\n", - " 4.713082e-02\n", - " 0.153692\n", - " 1.289482e-07\n", - " 0.029715\n", - " 1.003514\n", - " 0.000000\n", + " 55.506564\n", + " 0.000024\n", + " 0.066873\n", + " 8.688250e-05\n", + " 0.033500\n", + " 0.001000\n", + " 1.000388\n", " \n", " \n", " 4\n", " 111.012434\n", - " 55.507809\n", - " 7.424997e-07\n", - " 0.001338\n", - " 3.981606e-04\n", - " 0.001067\n", + " 55.506805\n", + " 0.000004\n", + " 0.011483\n", + " 1.469930e-04\n", + " 0.005884\n", " 0.001000\n", - " 1.000093\n", + " 1.000565\n", " \n", " \n", " ...\n", @@ -1270,10 +1370,10 @@ " ...\n", " \n", " \n", - " 863768\n", + " 453595\n", " 111.012434\n", " 55.506591\n", - " 1.684073e-05\n", + " 0.000017\n", " 0.048120\n", " 9.347094e-05\n", " 0.024137\n", @@ -1281,10 +1381,10 @@ " 1.000615\n", " \n", " \n", - " 863769\n", + " 453596\n", " 111.012434\n", " 55.506776\n", - " 4.502549e-06\n", + " 0.000005\n", " 0.013076\n", " 1.397029e-04\n", " 0.006673\n", @@ -1292,10 +1392,10 @@ " 1.000591\n", " \n", " \n", - " 863770\n", + " 453597\n", " 111.012434\n", " 55.506474\n", - " 2.738630e-04\n", + " 0.000274\n", " 0.108422\n", " 6.420915e-05\n", " 0.054001\n", @@ -1303,21 +1403,21 @@ " 0.892149\n", " \n", " \n", - " 863771\n", + " 453598\n", " 111.012434\n", - " 55.506217\n", - " 3.604271e-02\n", - " 0.141633\n", - " 1.533977e-07\n", - " 0.034774\n", - " 1.006758\n", - " 0.000000\n", + " 55.506577\n", + " 0.000020\n", + " 0.056594\n", + " 9.007128e-05\n", + " 0.028367\n", + " 0.001000\n", + " 1.000080\n", " \n", " \n", - " 863772\n", + " 453599\n", " 111.012434\n", " 55.506217\n", - " 4.167711e-02\n", + " 0.041677\n", " 0.150324\n", " 1.392182e-07\n", " 0.033485\n", @@ -1326,40 +1426,40 @@ " \n", " \n", "\n", - "

863773 rows × 8 columns

\n", + "

453600 rows × 8 columns

\n", "" ], "text/plain": [ - " H O Ba Cl S Sr \\\n", - "0 111.012434 55.506578 1.977602e-05 0.056160 9.022655e-05 0.028151 \n", - "1 111.012434 55.506767 4.662127e-06 0.013550 1.374302e-04 0.006908 \n", - "2 111.012434 55.506565 2.349696e-05 0.066235 8.705933e-05 0.033181 \n", - "3 111.012434 55.506217 4.713082e-02 0.153692 1.289482e-07 0.029715 \n", - "4 111.012434 55.507809 7.424997e-07 0.001338 3.981606e-04 0.001067 \n", - "... ... ... ... ... ... ... \n", - "863768 111.012434 55.506591 1.684073e-05 0.048120 9.347094e-05 0.024137 \n", - "863769 111.012434 55.506776 4.502549e-06 0.013076 1.397029e-04 0.006673 \n", - "863770 111.012434 55.506474 2.738630e-04 0.108422 6.420915e-05 0.054001 \n", - "863771 111.012434 55.506217 3.604271e-02 0.141633 1.533977e-07 0.034774 \n", - "863772 111.012434 55.506217 4.167711e-02 0.150324 1.392182e-07 0.033485 \n", + " H O Ba Cl S Sr \\\n", + "0 111.012434 55.506628 0.000011 0.033119 1.027055e-04 0.016651 \n", + "1 111.012434 55.506609 0.000014 0.039354 9.817041e-05 0.019762 \n", + "2 111.012434 55.506591 0.000017 0.047946 9.354856e-05 0.024050 \n", + "3 111.012434 55.506564 0.000024 0.066873 8.688250e-05 0.033500 \n", + "4 111.012434 55.506805 0.000004 0.011483 1.469930e-04 0.005884 \n", + "... ... ... ... ... ... ... \n", + "453595 111.012434 55.506591 0.000017 0.048120 9.347094e-05 0.024137 \n", + "453596 111.012434 55.506776 0.000005 0.013076 1.397029e-04 0.006673 \n", + "453597 111.012434 55.506474 0.000274 0.108422 6.420915e-05 0.054001 \n", + "453598 111.012434 55.506577 0.000020 0.056594 9.007128e-05 0.028367 \n", + "453599 111.012434 55.506217 0.041677 0.150324 1.392182e-07 0.033485 \n", "\n", " Barite Celestite \n", - "0 0.001000 1.000490 \n", - "1 0.001000 1.000091 \n", - "2 0.001001 1.000613 \n", - "3 1.003514 0.000000 \n", - "4 0.001000 1.000093 \n", + "0 0.001000 1.000506 \n", + "1 0.001000 1.000637 \n", + "2 0.001000 1.000489 \n", + "3 0.001000 1.000388 \n", + "4 0.001000 1.000565 \n", "... ... ... \n", - "863768 0.001001 1.000615 \n", - "863769 0.001000 1.000591 \n", - "863770 0.104655 0.892149 \n", - "863771 1.006758 0.000000 \n", - "863772 1.006763 0.000000 \n", + "453595 0.001001 1.000615 \n", + "453596 0.001000 1.000591 \n", + "453597 0.104655 0.892149 \n", + "453598 0.001000 1.000080 \n", + "453599 1.006763 0.000000 \n", "\n", - "[863773 rows x 8 columns]" + "[453600 rows x 8 columns]" ] }, - "execution_count": 24, + "execution_count": 235, "metadata": {}, "output_type": "execute_result" } @@ -1370,26 +1470,26 @@ }, { "cell_type": "code", - "execution_count": 25, + "execution_count": 236, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "\u001b[1m3938/3938\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m4s\u001b[0m 953us/step\n", - "9.191400065101246e-09\n", - "3.33847283151556e-09\n" + "\u001b[1m3938/3938\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m5s\u001b[0m 1ms/step\n", + "9.077700557393042e-10\n", + "4.320865443219191e-09\n" ] } ], "source": [ - "dBa, dSr, prediction = mass_balance(model_large, X_test, preprocess)" + "dBa, dSr, prediction, classes = mass_balance(model_minmax, X_test, preprocess)" ] }, { "cell_type": "code", - "execution_count": 26, + "execution_count": 237, "metadata": {}, "outputs": [], "source": [ @@ -1398,16 +1498,64 @@ }, { "cell_type": "code", - "execution_count": 27, + "execution_count": 238, + "metadata": {}, + "outputs": [], + "source": [ + "mass_balance_results = np.array(mass_balance_results)" + ] + }, + { + "cell_type": "code", + "execution_count": 239, + "metadata": {}, + "outputs": [], + "source": [ + "# mass balance fullfilled for different classes\n", + "mass_balance_results_non_reactive = mass_balance_results[classes == 0]\n", + "mass_balance_results_reactive = mass_balance_results[classes == 1]" + ] + }, + { + "cell_type": "code", + "execution_count": 240, "metadata": {}, "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "8.34125752798492e-06\n" + ] + }, { "data": { "text/plain": [ "0.0" ] }, - "execution_count": 27, + "execution_count": 240, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "print(mass_balance_ratio(mass_balance_results_non_reactive))\n", + "mass_balance_ratio((mass_balance_results_reactive))" + ] + }, + { + "cell_type": "code", + "execution_count": 241, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "7.936507936507936e-06" + ] + }, + "execution_count": 241, "metadata": {}, "output_type": "execute_result" } @@ -1418,521 +1566,84 @@ }, { "cell_type": "code", - "execution_count": 28, + "execution_count": 92, + "metadata": {}, + "outputs": [], + "source": [ + "input_scaled = preprocess.scaler_X.transform(X.iloc[:, X.columns != \"Class\"])\n", + "input_scaled = pd.concat([pd.DataFrame(input_scaled, columns=X.columns[X.columns != \"Class\"]), X[\"Class\"]], axis=1)" + ] + }, + { + "cell_type": "code", + "execution_count": 93, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\u001b[1m19688/19688\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m24s\u001b[0m 1ms/step\n", + "1.3541947511269692e-12\n", + "5.3412163580901506e-11\n" + ] + } + ], + "source": [ + "dBa, dSr, prediction, classes = mass_balance(model_standard, input_scaled, preprocess)" + ] + }, + { + "cell_type": "code", + "execution_count": 94, + "metadata": {}, + "outputs": [], + "source": [ + "mass_balance_results = dBa + dSr" + ] + }, + { + "cell_type": "code", + "execution_count": 226, + "metadata": {}, + "outputs": [], + "source": [ + "mass_balance_per_iteration = []\n", + "for i in range(0, int(len(mass_balance_results)/2500)):\n", + " mass_balance_per_iteration.append(mass_balance_results[(i*2500):((i+1)*2500)])" + ] + }, + { + "cell_type": "code", + "execution_count": 227, "metadata": {}, "outputs": [ { "data": { + "image/png": "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", "text/plain": [ - "Series([], dtype: float64)" + "
" ] }, - "execution_count": 28, "metadata": {}, - "output_type": "execute_result" + "output_type": "display_data" } ], "source": [ - "mass_balance_results[mass_balance_results < 1e-5]" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Optimizing with Optuna" - ] - }, - { - "cell_type": "code", - "execution_count": 19, - "metadata": {}, - "outputs": [], - "source": [ - "import optuna\n", + "import matplotlib.colors as mcolors\n", "\n", - "def create_model(model, preprocess, h1, h2, h3, h4):\n", - " \n", - " model.compile(optimizer=optimizer_simple, loss=custom_loss(preprocess, column_dict, h1, h2, h3, h4))\n", - " \n", - " return model\n", + "bounds = [0, 1e-5, 1e-4] \n", + "colors = [\"green\", \"red\"]\n", + "cmap = mcolors.ListedColormap(colors)\n", + "norm = mcolors.BoundaryNorm(bounds, cmap.N)\n", "\n", + "# Plotten mit Colorbar\n", + "fig, ax = plt.subplots()\n", + "iteration = 3\n", + "im = ax.imshow(np.array(mass_balance_per_iteration[iteration]).reshape(50,50), cmap=cmap, norm=norm)\n", "\n", - "def objective(trial, preprocess, X_train, y_train, X_val, y_val, X_test, y_test):\n", - " h1 = trial.suggest_float(\"h1\", 0.1, 100)\n", - " h2 = trial.suggest_float(\"h2\", 0.1, 100)\n", - " h3 = trial.suggest_float(\"h3\", 0.1, 100)\n", - " h4 = trial.suggest_float(\"h4\", 0.1, 100)\n", - " \n", - " model = create_model(model_simple, preprocess, h1, h2, h3, h4)\n", - " \n", - " callback = keras.callbacks.EarlyStopping(monitor='loss', patience=3)\n", - " history = model.fit(X_train.loc[:, X_train.columns != \"Class\"], \n", - " y_train.loc[:, y_train.columns != \"Class\"], \n", - " batch_size=batch_size, \n", - " epochs=50, \n", - " validation_data=(X_val.loc[:, X_val.columns != \"Class\"], y_val.loc[:, y_val.columns != \"Class\"]),\n", - " callbacks=[callback])\n", - " \n", - " mass_balance_results = mass_balance(model, X_test, preprocess)\n", - " \n", - " loss = len(mass_balance_results[mass_balance_results < 1e-5]) / len(mass_balance_results)\n", - "\n", - " return loss" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "[I 2025-02-17 00:06:24,572] A new study created in memory with name: no-name-585ded5e-6499-4f70-9577-49339316366a\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Epoch 1/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 12377019392.0000 - val_loss: 43404600.0000\n", - "Epoch 2/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 36439708.0000 - val_loss: 19609912.0000\n", - "Epoch 3/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 15841922.0000 - val_loss: 7256873.5000\n", - "Epoch 4/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 5500834.0000 - val_loss: 1881962.5000\n", - "Epoch 5/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 1413300.5000 - val_loss: 617048.8125\n", - "Epoch 6/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - loss: 496590.9375 - val_loss: 194345.2812\n", - "Epoch 7/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 139668.2969 - val_loss: 31873.9043\n", - "Epoch 8/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 21170.1543 - val_loss: 4920.2520\n", - "Epoch 9/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 4156.0869 - val_loss: 3427.2729\n", - "Epoch 10/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 3414.1331 - val_loss: 3416.1082\n", - "Epoch 11/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 3416.9729 - val_loss: 3429.7239\n", - "Epoch 12/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 3412.4482 - val_loss: 3435.3306\n", - "Epoch 13/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 3425.5073 - val_loss: 3403.7925\n", - "Epoch 14/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 3425.9592 - val_loss: 3423.5193\n", - "\u001b[1m3938/3938\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 296us/step\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "[I 2025-02-17 00:06:49,285] Trial 0 finished with value: 0.0 and parameters: {'h1': 72.40785703177082, 'h2': 25.825548427085515, 'h3': 61.927211067692724, 'h4': 19.232336897801325}. Best is trial 0 with value: 0.0.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Epoch 1/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 2791.0564 - val_loss: 2618.3965\n", - "Epoch 2/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - loss: 2622.5496 - val_loss: 2616.2480\n", - "Epoch 3/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 2620.7339 - val_loss: 2631.9077\n", - "Epoch 4/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - loss: 2650.9636 - val_loss: 2814.0315\n", - "Epoch 5/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 2722.9919 - val_loss: 2598.4248\n", - "Epoch 6/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - loss: 2778.1111 - val_loss: 2559.9062\n", - "\u001b[1m3938/3938\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 291us/step\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "[I 2025-02-17 00:07:00,296] Trial 1 finished with value: 0.0 and parameters: {'h1': 55.156241799815355, 'h2': 78.4033434954878, 'h3': 95.18824024469184, 'h4': 14.82240562501995}. Best is trial 0 with value: 0.0.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Epoch 1/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 7852.1719 - val_loss: 2412.7383\n", - "Epoch 2/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - loss: 2426.0986 - val_loss: 2597.7363\n", - "Epoch 3/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - loss: 2473.9902 - val_loss: 2277.7488\n", - "Epoch 4/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 2471.1829 - val_loss: 2443.7427\n", - "Epoch 5/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - loss: 2402.8818 - val_loss: 2218.1780\n", - "Epoch 6/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - loss: 2367.2834 - val_loss: 2218.3396\n", - "Epoch 7/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - loss: 2340.9314 - val_loss: 2119.3755\n", - "Epoch 8/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - loss: 2219.4814 - val_loss: 2298.2070\n", - "Epoch 9/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 2155.6299 - val_loss: 2612.8733\n", - "Epoch 10/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 2100.1267 - val_loss: 2046.4711\n", - "Epoch 11/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 2001.3557 - val_loss: 2211.9299\n", - "Epoch 12/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 1971.5155 - val_loss: 1997.1703\n", - "Epoch 13/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 1947.2655 - val_loss: 1892.0009\n", - "Epoch 14/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 1915.1980 - val_loss: 1860.9949\n", - "Epoch 15/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 1882.3663 - val_loss: 1861.6248\n", - "Epoch 16/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - loss: 1869.7008 - val_loss: 1896.9276\n", - "Epoch 17/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - loss: 1883.5923 - val_loss: 1915.4973\n", - "Epoch 18/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 1871.5115 - val_loss: 1837.4102\n", - "Epoch 19/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 1877.5151 - val_loss: 1879.3440\n", - "Epoch 20/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 1862.3589 - val_loss: 1957.3567\n", - "Epoch 21/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - loss: 1845.3960 - val_loss: 1814.5060\n", - "Epoch 22/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 1835.3391 - val_loss: 1809.6317\n", - "Epoch 23/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 1838.9376 - val_loss: 1833.8245\n", - "Epoch 24/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 1831.4557 - val_loss: 1886.3599\n", - "Epoch 25/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 1833.6478 - val_loss: 1800.0344\n", - "Epoch 26/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - loss: 1833.5480 - val_loss: 1797.0282\n", - "Epoch 27/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - loss: 1819.1056 - val_loss: 1794.1648\n", - "Epoch 28/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - loss: 1812.3524 - val_loss: 1881.1871\n", - "Epoch 29/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 1805.2583 - val_loss: 1802.8263\n", - "Epoch 30/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 1808.2974 - val_loss: 1777.7633\n", - "Epoch 31/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 1792.2367 - val_loss: 1791.2937\n", - "Epoch 32/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 1789.2295 - val_loss: 1778.8715\n", - "Epoch 33/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 1772.3083 - val_loss: 1778.3553\n", - "Epoch 34/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 1781.2627 - val_loss: 1760.8132\n", - "Epoch 35/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 1783.0363 - val_loss: 1763.7234\n", - "Epoch 36/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 1765.7679 - val_loss: 1752.7267\n", - "Epoch 37/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 1761.1954 - val_loss: 1762.8220\n", - "Epoch 38/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 1762.9722 - val_loss: 1747.1544\n", - "Epoch 39/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 1753.7981 - val_loss: 1763.1051\n", - "Epoch 40/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - loss: 1752.4087 - val_loss: 1739.5280\n", - "Epoch 41/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 1748.3682 - val_loss: 1728.5411\n", - "Epoch 42/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 1739.5088 - val_loss: 1729.1458\n", - "Epoch 43/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 1736.5480 - val_loss: 1724.7151\n", - "Epoch 44/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 1740.2578 - val_loss: 1734.8917\n", - "Epoch 45/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 1730.3800 - val_loss: 1736.1029\n", - "Epoch 46/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 1714.5963 - val_loss: 1715.0453\n", - "Epoch 47/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 1717.4546 - val_loss: 1771.3018\n", - "Epoch 48/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 1712.6161 - val_loss: 1711.4847\n", - "Epoch 49/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - loss: 1702.8785 - val_loss: 1712.8119\n", - "Epoch 50/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 1711.1716 - val_loss: 1700.8627\n", - "\u001b[1m3938/3938\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 296us/step\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "[I 2025-02-17 00:08:19,362] Trial 2 finished with value: 0.0 and parameters: {'h1': 32.18807766864932, 'h2': 32.38115474529778, 'h3': 82.71542742505292, 'h4': 21.39993663591346}. Best is trial 0 with value: 0.0.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Epoch 1/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 1814.5203 - val_loss: 1661.1248\n", - "Epoch 2/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 1621.0743 - val_loss: 1503.6709\n", - "Epoch 3/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 1466.0696 - val_loss: 1357.3704\n", - "Epoch 4/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 1319.6273 - val_loss: 1204.6761\n", - "Epoch 5/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 1164.8816 - val_loss: 1049.8190\n", - "Epoch 6/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 1012.0715 - val_loss: 900.6155\n", - "Epoch 7/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - loss: 866.8824 - val_loss: 782.1039\n", - "Epoch 8/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 765.9833 - val_loss: 752.7275\n", - "Epoch 9/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 752.8401 - val_loss: 751.8625\n", - "Epoch 10/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 752.4477 - val_loss: 755.2651\n", - "Epoch 11/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 752.4553 - val_loss: 750.9076\n", - "Epoch 12/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 752.6575 - val_loss: 751.2373\n", - "Epoch 13/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - loss: 751.5120 - val_loss: 750.2513\n", - "Epoch 14/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 750.1327 - val_loss: 749.1887\n", - "Epoch 15/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 750.2402 - val_loss: 748.8613\n", - "Epoch 16/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 751.2623 - val_loss: 748.6445\n", - "Epoch 17/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 750.6178 - val_loss: 748.5185\n", - "Epoch 18/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 749.1051 - val_loss: 748.1081\n", - "Epoch 19/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 749.3755 - val_loss: 747.6932\n", - "Epoch 20/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 748.1135 - val_loss: 747.2830\n", - "Epoch 21/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 747.3423 - val_loss: 747.2092\n", - "Epoch 22/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 747.1829 - val_loss: 747.7263\n", - "Epoch 23/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 747.6171 - val_loss: 746.8931\n", - "Epoch 24/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 746.1934 - val_loss: 746.4072\n", - "Epoch 25/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 747.4377 - val_loss: 746.0536\n", - "Epoch 26/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 747.3806 - val_loss: 745.7092\n", - "Epoch 27/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 746.1663 - val_loss: 745.9564\n", - "Epoch 28/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 746.9430 - val_loss: 745.2064\n", - "Epoch 29/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 744.6080 - val_loss: 745.0362\n", - "Epoch 30/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 745.1031 - val_loss: 745.5790\n", - "Epoch 31/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 744.9517 - val_loss: 746.2484\n", - "Epoch 32/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 745.3198 - val_loss: 744.7700\n", - "Epoch 33/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 746.6561 - val_loss: 744.3752\n", - "Epoch 34/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 744.4594 - val_loss: 744.5372\n", - "Epoch 35/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 745.4088 - val_loss: 744.5147\n", - "Epoch 36/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 745.0701 - val_loss: 743.8632\n", - "Epoch 37/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 743.1857 - val_loss: 744.3721\n", - "Epoch 38/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 743.1999 - val_loss: 743.6331\n", - "Epoch 39/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 744.2258 - val_loss: 743.9576\n", - "Epoch 40/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 744.8534 - val_loss: 743.3392\n", - "Epoch 41/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 744.1964 - val_loss: 743.3118\n", - "Epoch 42/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 743.2463 - val_loss: 744.1565\n", - "Epoch 43/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 743.7304 - val_loss: 742.9604\n", - "Epoch 44/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 742.8326 - val_loss: 743.0219\n", - "Epoch 45/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 743.7935 - val_loss: 742.7424\n", - "Epoch 46/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 742.9843 - val_loss: 742.6505\n", - "Epoch 47/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 741.9490 - val_loss: 742.4158\n", - "Epoch 48/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 741.9554 - val_loss: 742.6078\n", - "Epoch 49/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 743.1502 - val_loss: 742.2740\n", - "Epoch 50/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 743.5102 - val_loss: 742.0992\n", - "\u001b[1m3938/3938\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 290us/step\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "[I 2025-02-17 00:09:41,637] Trial 3 finished with value: 0.0 and parameters: {'h1': 51.147323536824445, 'h2': 56.78563118722674, 'h3': 31.302312703064025, 'h4': 0.2323539329544047}. Best is trial 0 with value: 0.0.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Epoch 1/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 27736.6758 - val_loss: 25335.9141\n", - "Epoch 2/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 24856.6797 - val_loss: 23624.0430\n", - "Epoch 3/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 23591.7324 - val_loss: 22455.3379\n", - "Epoch 4/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 22087.6445 - val_loss: 21249.2285\n", - "Epoch 5/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 21055.1582 - val_loss: 20346.3613\n", - "Epoch 6/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 20397.3496 - val_loss: 19634.5000\n", - "Epoch 7/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 19168.5645 - val_loss: 18746.1426\n", - "Epoch 8/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 18433.6738 - val_loss: 18086.1094\n", - "Epoch 9/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 17888.7070 - val_loss: 17506.1172\n", - "Epoch 10/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 17398.0664 - val_loss: 16952.9180\n", - "Epoch 11/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 16835.0117 - val_loss: 16448.4297\n", - "Epoch 12/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 16369.1172 - val_loss: 15983.9541\n", - "Epoch 13/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 15914.9648 - val_loss: 15574.0117\n", - "Epoch 14/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 15417.1514 - val_loss: 15182.9922\n", - "Epoch 15/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 14972.8398 - val_loss: 14841.6963\n", - "Epoch 16/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 14821.4219 - val_loss: 14586.0078\n", - "Epoch 17/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 14475.7656 - val_loss: 14208.0049\n", - "Epoch 18/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 14218.5225 - val_loss: 13965.6191\n", - "Epoch 19/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 14080.0352 - val_loss: 13686.0967\n", - "Epoch 20/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 13640.7412 - val_loss: 13432.9609\n", - "Epoch 21/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 13297.7139 - val_loss: 13222.0645\n", - "Epoch 22/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 13205.2559 - val_loss: 13020.1660\n", - "Epoch 23/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 13046.4668 - val_loss: 12839.4688\n", - "Epoch 24/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 12915.7373 - val_loss: 12695.6348\n", - "Epoch 25/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 12565.1816 - val_loss: 12489.5596\n", - "Epoch 26/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 12385.2871 - val_loss: 12334.8535\n", - "Epoch 27/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 12441.1230 - val_loss: 12193.6494\n", - "Epoch 28/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 12110.5723 - val_loss: 12051.1250\n", - "Epoch 29/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 12140.8193 - val_loss: 11922.8623\n", - "Epoch 30/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 11870.8330 - val_loss: 11813.3994\n", - "Epoch 31/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 11781.4502 - val_loss: 11694.6562\n", - "Epoch 32/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 11774.9316 - val_loss: 11599.8086\n", - "Epoch 33/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 11517.6182 - val_loss: 11493.0459\n", - "Epoch 34/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 11443.8252 - val_loss: 11402.4766\n", - "Epoch 35/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 11502.7910 - val_loss: 11311.7754\n", - "Epoch 36/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 11410.6387 - val_loss: 11226.0420\n", - "Epoch 37/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 11144.2510 - val_loss: 11152.2734\n", - "Epoch 38/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 10994.5703 - val_loss: 11074.9717\n", - "Epoch 39/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 11061.8809 - val_loss: 11009.4912\n", - "Epoch 40/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 10965.7441 - val_loss: 10939.0264\n", - "Epoch 41/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 11017.5010 - val_loss: 10882.1914\n", - "Epoch 42/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 10908.1650 - val_loss: 10822.1357\n", - "Epoch 43/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 10795.5361 - val_loss: 10765.4912\n", - "Epoch 44/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 10588.0283 - val_loss: 10712.4141\n", - "Epoch 45/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 10675.9863 - val_loss: 10659.5850\n", - "Epoch 46/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 10741.0137 - val_loss: 10615.9727\n", - "Epoch 47/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 10552.5371 - val_loss: 10568.0938\n", - "Epoch 48/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 10671.9209 - val_loss: 10526.0469\n", - "Epoch 49/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 10479.7158 - val_loss: 10484.8340\n", - "Epoch 50/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 10387.6152 - val_loss: 10451.1416\n", - "\u001b[1m3938/3938\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 313us/step\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "[I 2025-02-17 00:11:09,995] Trial 4 finished with value: 0.0 and parameters: {'h1': 61.30953008699103, 'h2': 93.9200835460014, 'h3': 57.8376987539652, 'h4': 82.3346527788174}. Best is trial 0 with value: 0.0.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Epoch 1/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 8271.6963 - val_loss: 8311.1768\n", - "Epoch 2/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 8371.5420 - val_loss: 8275.3896\n", - "Epoch 3/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 8377.3896 - val_loss: 8246.3291\n", - "Epoch 4/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 8375.9121 - val_loss: 8216.7363\n", - "Epoch 5/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 8269.5869 - val_loss: 8189.8159\n", - "Epoch 6/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 8172.8184 - val_loss: 8167.1416\n", - "Epoch 7/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 8084.1265 - val_loss: 8137.8125\n", - "Epoch 8/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 8089.8613 - val_loss: 8119.4287\n", - "Epoch 9/50\n", - "\u001b[1m886/886\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2ms/step - loss: 8135.9199 - val_loss: 8094.7837\n", - "Epoch 10/50\n", - "\u001b[1m610/886\u001b[0m \u001b[32m━━━━━━━━━━━━━\u001b[0m\u001b[37m━━━━━━━\u001b[0m \u001b[1m0s\u001b[0m 2ms/step - loss: 8253.8984" - ] - } - ], - "source": [ - "study = optuna.create_study(direction=\"maximize\")\n", - "study.optimize(lambda trial: objective(trial, preprocess, X_train, y_train, X_val, y_val, X_test, y_test), n_trials=100)" + "cbar = plt.colorbar(im, ax=ax, ticks=bounds)\n", + "cbar.set_ticklabels([\" \", \"1e-5\", \" \"])\n" ] }, { @@ -1948,19 +1659,37 @@ }, { "cell_type": "code", - "execution_count": 30, + "execution_count": null, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 247, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 246, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "\u001b[1m8/8\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step \n" + "\u001b[1m8/8\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n" ] }, { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkAAAAHFCAYAAAAaD0bAAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAcyJJREFUeJzt3Xd4FNX+x/H3ZtMTEgKkQggBlCI9CNIUFQIICJYrojQ7WIHrVRERxJ+iWC56FVAEsSJeRa4FFVRAhEgHKRGUFkpCSCAV0nbn98eShSUBkpBkAvm8nmeeZM+cmfnO2Q375cyZMxbDMAxEREREqhE3swMQERERqWxKgERERKTaUQIkIiIi1Y4SIBEREal2lACJiIhItaMESERERKodJUAiIiJS7SgBEhERkWpHCZCIiIhUO0qApFhz587FYrG4LMHBwXTv3p1vv/22Qo7ZoEEDRowY4Xx96NAhJk2axKZNmyrkeBkZGbzwwgu0b9+egIAAvLy8aNCgAXfffTcbNmyokGOa7cUXX2ThwoUVsu9zvV+TJk3CYrFUyHEvFYVtlJKS4iz79NNPmTZtmnlBlSAOi8XCpEmTKjWekhoxYgQNGjQwO4yz6t69O927d3cpK2l7ZmZm8uijj1K3bl28vLy4/PLLmTp1KjabrWKCvQS5mx2AVG3vv/8+TZs2xTAMkpKSeOutt+jfvz9ff/01/fv3L9djffXVVwQEBDhfHzp0iOeee44GDRrQpk2bcj3Wrl27iI2NJTk5mZEjR/Lcc8/h7+/P3r17+fzzz4mJiSEtLY3AwMByPa7ZXnzxRW699VYGDhxY7vs+1/t177330rt373I/5qXu008/ZevWrYwePbrKxhEXF0e9evUqP6gSmDBhAo899pjZYZS7goICevbsyc6dO3n++ee5/PLL+eGHH3jqqac4cOAAb775ptkhXhSUAMk5tWjRgvbt2ztf9+7dm6CgIObNm1duCdCJEyfw8fGhbdu25bK/87HZbNx0002kpKQQFxdHixYtnOuuueYahg8fzvfff4+Hh0elxFNVnThxAm9v73LpualXr16V/ZKsTMePH8fX19fsMJx/c+XhqquuKpf9VIRGjRqZHUKF+OKLL1i9ejVffvklN998MwA9e/YkKyuLt99+m4ceeogmTZqYHGXVp0tgUire3t54enoWSQ6ee+45OnbsSK1atQgICKBdu3bMnj2bM5+126BBA/r168eCBQto27Yt3t7ePPfcc851hZfAli1bxpVXXgnAXXfd5bwMd3rX8Lp167jxxhupVasW3t7etG3bls8///y857Bw4UK2bNnCuHHjXJKf0/Xp08fli+q3337j+uuvp0aNGvj6+tK5c2e+++47l20KLxsuXbqUUaNGUadOHWrXrs3NN9/MoUOHihzj008/pVOnTvj7++Pv70+bNm2YPXu2S52ffvqJ66+/noCAAHx9fenSpQs///yzS53CSyfbtm1j8ODBBAYGEhoayt133016erqznsViITs7mw8++MDZnoXd74WxL168mLvvvpvg4GB8fX3Jzc3l77//5q677uKyyy7D19eXunXr0r9/f7Zs2eLc9/ner+IugdntdqZOnUrTpk3x8vIiJCSEYcOGceDAAZd63bt3p0WLFqxdu5Zu3brh6+tLw4YNeemll7Db7cW+f6fLyclh3LhxREdH4+npSd26dXnooYdIS0tz1hk4cCBRUVHF7q9jx460a9fO+dowDKZPn06bNm3w8fEhKCiIW2+9ld27dxcb96+//krnzp3x9fXl7rvvPm+8p2//3XffsW/fPpdL0YXy8vL4v//7P2f7BQcHc9ddd3HkyBGX/Zzrb+7tt9/m6quvJiQkBD8/P1q2bMnUqVPJz88vcRzFXbLZunUrAwYMICgoCG9vb9q0acMHH3zgUmfZsmVYLBbmzZvH+PHjiYiIICAggB49erBjxw6Xuhs3bqRfv36EhITg5eVFREQEffv2LfJZOVNxl8AsFgsPP/wwH330Ec2aNcPX15fWrVuX+NJ+Wloa//znP2nYsKHzc3vDDTfw559/OuuU9L0pq5UrV2KxWOjTp49Leb9+/bDb7Xz11VflcpxLnXqA5JxsNhsFBQUYhsHhw4d55ZVXyM7O5o477nCpt3fvXh544AHq168PwO+//84jjzzCwYMHefbZZ13qbtiwgfj4eJ555hmio6Px8/Mrctx27drx/vvvc9ddd/HMM8/Qt29fAGcvwtKlS+nduzcdO3Zk5syZBAYG8tlnnzFo0CCOHz/uMpboTIsXLwYo8WWg5cuX07NnT1q1asXs2bPx8vJi+vTp9O/fn3nz5jFo0CCX+vfeey99+/bl008/Zf/+/fzrX/9iyJAh/PLLL846zz77LM8//zw333wz//znPwkMDGTr1q3s27fPWefjjz9m2LBhDBgwgA8++AAPDw/eeecdevXqxY8//sj111/vctxbbrmFQYMGcc899zgTPIA5c+YAjksV1113Hddeey0TJkwAcLnkCHD33XfTt29fPvroI7Kzs/Hw8ODQoUPUrl2bl156ieDgYI4ePcoHH3xAx44d2bhxI02aNDnv+1WcUaNG8e677/Lwww/Tr18/9u7dy4QJE1i2bBkbNmygTp06zrpJSUnceeed/POf/2TixIl89dVXjBs3joiICIYNG3bWYxiGwcCBA/n5558ZN24c3bp1448//mDixInExcURFxeHl5cXd999NwMGDOCXX36hR48ezu3//PNP1qxZ43JJ4YEHHmDu3Lk8+uijvPzyyxw9epTJkyfTuXNnNm/eTGhoqLNuYmIiQ4YM4YknnuDFF1/Eza3k/+ecPn06999/P7t27SryhWa32xkwYAArVqzgiSeeoHPnzuzbt4+JEyfSvXt31q1b59LDc7a/uV27dnHHHXc4k8PNmzfzwgsv8Oeffzo/N+eKozg7duygc+fOhISE8Oabb1K7dm0+/vhjRowYweHDh3niiSdc6j/99NN06dKF9957j4yMDJ588kn69+9PfHw8VquV7OxsevbsSXR0NG+//TahoaEkJSWxdOlSMjMzS9yep/vuu+9Yu3YtkydPxt/fn6lTp3LTTTexY8cOGjZseNbtMjMz6dq1K3v37uXJJ5+kY8eOZGVl8euvv5KYmEjTpk1L/d6URV5eHm5ubkX+I+rl5QXAH3/8cUH7rzYMkWK8//77BlBk8fLyMqZPn37ObW02m5Gfn29MnjzZqF27tmG3253roqKiDKvVauzYsaPIdlFRUcbw4cOdr9euXWsAxvvvv1+kbtOmTY22bdsa+fn5LuX9+vUzwsPDDZvNdtb4evfubQBGTk7OOc+j0FVXXWWEhIQYmZmZzrKCggKjRYsWRr169ZznV9hmDz74oMv2U6dONQAjMTHRMAzD2L17t2G1Wo0777zzrMfMzs42atWqZfTv39+l3GazGa1btzY6dOjgLJs4caIBGFOnTnWp++CDDxre3t4u7e/n5+fSxoUKYx82bNh5WsNx7nl5ecZll11mjBkzxll+rverMMZC8fHxxbbV6tWrDcB4+umnnWXXXHONARirV692qdu8eXOjV69e54z1hx9+KLZt5s+fbwDGu+++axiGYeTn5xuhoaHGHXfc4VLviSeeMDw9PY2UlBTDMAwjLi7OAIzXXnvNpd7+/fsNHx8f44knnigS988//3zOGAsVttGRI0ecZX379jWioqKK1J03b54BGF9++aVLeeF7cPrf6Ln+5k5X+Hf74YcfGlar1Th69Oh54zAMwwCMiRMnOl/ffvvthpeXl5GQkOBSr0+fPoavr6+RlpZmGIZhLF261ACMG264waXe559/bgBGXFycYRiGsW7dOgMwFi5ceM74izN8+PAicQNGaGiokZGR4SxLSkoy3NzcjClTppxzf5MnTzYAY8mSJWetU5r35pprrjGuueaaIvGd3p7FmTZtmgEYK1ascCmfMGGCARixsbHn3F4cdAlMzunDDz9k7dq1rF27lu+//57hw4fz0EMP8dZbb7nUK/yfc2BgIFarFQ8PD5599llSU1NJTk52qduqVSsuv/zyMsf0999/8+eff3LnnXcCjgGBhcsNN9xAYmJikS70ssrOzmb16tXceuut+Pv7O8utVitDhw7lwIEDRY514403urxu1aoVgLN3Z8mSJdhsNh566KGzHnfVqlUcPXqU4cOHu5yf3W6nd+/erF27luzs7PMeNycnp0j7n8stt9xSpKygoIAXX3yR5s2b4+npibu7O56envz111/Ex8eXeN+nW7p0KUCRnroOHTrQrFmzIpf5wsLC6NChg0tZq1atXHrMilPY63bmcf7xj3/g5+fnPI67uztDhgxhwYIFzsuGNpuNjz76iAEDBlC7dm0Avv32WywWC0OGDHF5X8LCwmjdujXLli1zOU5QUBDXXXfduRujDL799ltq1qxJ//79XeJo06YNYWFhReI429/cxo0bufHGG6ldu7bz73bYsGHYbDZ27txZpth++eUXrr/+eiIjI13KR4wYwfHjx4mLi3MpP9/fS+PGjQkKCuLJJ59k5syZbN++vUxxne7aa6+lRo0aztehoaGEhISc9/P0/fffc/nll7v0Ep6ptO9NWdx5553UqlWL+++/n9WrV5OWlsa8efOcPZWl6WmsztRKck7NmjWjffv2tG/fnt69e/POO+8QGxvLE0884RxDsWbNGmJjYwGYNWsWK1euZO3atYwfPx5wDLg8XXh4+AXFdPjwYQAef/xxPDw8XJYHH3wQwOVW4jMVXqbbs2fPeY917NgxDMMoNuaIiAgAUlNTXcoLvywLFXZLF7ZD4TiAc10eKjzHW2+9tcg5vvzyyxiGwdGjR0t13JIo7jzHjh3LhAkTGDhwIN988w2rV69m7dq1tG7dulT7Pl1hm52tXc/XpuA4v/MdPzU1FXd3d4KDg13KLRYLYWFhLse5++67ycnJ4bPPPgPgxx9/JDExkbvuustZ5/DhwxiGQWhoaJH35ffffy/yubvQz/rZHD58mLS0NOd4vNOXpKSkEsWRkJBAt27dOHjwIG+88QYrVqxg7dq1vP3220DpPjenS01NLde/l8DAQJYvX06bNm14+umnueKKK4iIiGDixIkuY5VKo6yfpyNHjpx3MH9p35uyqFOnDj/88APgGIQeFBTEI488wuuvvw5A3bp1L/gY1YHGAEmptWrVih9//JGdO3fSoUMHPvvsMzw8PPj222/x9vZ21jvbfDMXeldR4diQcePGOe+AONO57oDo1asX7777LgsXLuSpp54657GCgoJwc3MjMTGxyLrCgc2nj1UpicIv4wMHDhT5X3Khwn3+5z//OetdNqePNSkvxb03hWORXnzxRZfylJQUatasWabjFH4BJSYmFvlCOXToUKnb9FzHKSgo4MiRIy5JkHFyWofCgdsAzZs3p0OHDrz//vs88MADvP/++0RERDiTe3C8LxaLhRUrVji/qE93ZllFzX1UOMC+8EvwTKf3bpwtjoULF5Kdnc2CBQuIiopyll/ovFu1a9cu178XgJYtW/LZZ59hGAZ//PEHc+fOZfLkyfj4+Jz3b7g8BQcHn3fgdWnfm7K68sor2b59O3v37iU7O5vLLruM9evXA3D11VeXyzEudeoBklIr/Aey8AvFYrHg7u6O1Wp11jlx4gQfffTRBR3nbD0YTZo04bLLLmPz5s3O3qkzl3P9IzNgwABatmzJlClT2Lp1a7F1fvzxR44fP46fnx8dO3ZkwYIFLnHY7XY+/vhj6tWrV+rLebGxsVitVmbMmHHWOl26dKFmzZps3779rOfo6elZquNCyf6XeyaLxVLki/27777j4MGDRfYNJes5KLws9PHHH7uUr127lvj4+CIDvMuqcD9nHufLL78kOzu7yHHuuusuVq9ezW+//cY333zD8OHDXT7X/fr1wzAMDh48WOx70rJly3KJu9DZ3q9+/fqRmpqKzWYrNo6S3AJdmBSd/t4ahsGsWbNKHEdxrr/+en755Zcidz5++OGH+Pr6XtBt8xaLhdatW/Pvf/+bmjVrVvqEpX369GHnzp0uNzScqTzem9Jo0KABV1xxBR4eHrz22mtERETwj3/8o1yPcalSD5Cc09atWykoKAAcXdcLFixgyZIl3HTTTURHRwPQt29fXn/9de644w7uv/9+UlNTefXVV4v9H3JpNGrUCB8fHz755BOaNWuGv78/ERERRERE8M4779CnTx969erFiBEjqFu3LkePHiU+Pp4NGzbw3//+96z7tVqtfPXVV8TGxtKpUydGjRrFtddei5+fH/v27eOLL77gm2++4dixYwBMmTKFnj17cu211/L444/j6enJ9OnT2bp1K/PmzSv1//IbNGjA008/zfPPP8+JEyect65v376dlJQU56SM//nPfxg+fDhHjx7l1ltvJSQkhCNHjrB582aOHDlyzgTqbFq2bMmyZcv45ptvCA8Pp0aNGuf9B7lfv37MnTuXpk2b0qpVK9avX88rr7xSpOfmXO/XmZo0acL999/Pf/7zH9zc3OjTp4/zLrDIyEjGjBlT6nMrTs+ePenVqxdPPvkkGRkZdOnSxXkXWNu2bRk6dKhL/cGDBzN27FgGDx5Mbm5ukbFDXbp04f777+euu+5i3bp1XH311fj5+ZGYmMhvv/1Gy5YtGTVqVLnEDo73a8GCBcyYMYOYmBjc3Nxo3749t99+O5988gk33HADjz32GB06dMDDw4MDBw6wdOlSBgwYwE033XTetvH09GTw4ME88cQT5OTkMGPGDOfnviRxFGfixIl8++23XHvttTz77LPUqlWLTz75hO+++46pU6eWenLRb7/9lunTpzNw4EAaNmyIYRgsWLCAtLQ0evbsWap9XajRo0czf/58BgwYwFNPPUWHDh04ceIEy5cvp1+/flx77bXl8t6UxPjx42nZsiXh4eEkJCQwZ84cVq9ezXfffVduczxd8swbfy1VWXF3gQUGBhpt2rQxXn/99SJ3UM2ZM8do0qSJ4eXlZTRs2NCYMmWKMXv2bAMw9uzZ46wXFRVl9O3bt9hjnnkXmGE47qho2rSp4eHhUeTuiM2bNxu33XabERISYnh4eBhhYWHGddddZ8ycObNE55iWlmY8//zzRrt27Qx/f3/Dw8PDqF+/vjFkyBBj5cqVLnVXrFhhXHfddYafn5/h4+NjXHXVVcY3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f/P555/z5ZdfOi9B9e3bl6SkJBYtWsT69etp164d119/PUePHgXg888/Z+LEibzwwgusW7eO8PBwpk+ffs5jjhs3jpdffpkJEyawfft2Pv30U0JDQwFYs2YNAD/99BOJiYksWLCg2H088cQTfPnll3zwwQds2LCBxo0b06tXL2dchcaPH89rr73GunXrcHd35+677y5zW4mIyAU4ngpAupvjKe0hAd5mRmPuJbDXX3+de+65h3vvvReAadOm8eOPPzJjxgymTJlSpH6DBg144403AJgzZ85Z92uz2bjzzjt57rnnWLFiBWlpaRUSv1P+cXgxomKPcTZPHwJPvzJtumbNGj799FOuv/56APLy8vjoo48IDnbMz/DLL7+wZcsWkpOT8fJyZOqvvvoqCxcu5IsvvuD+++9n2rRp3H333c738P/+7//46aefivQCFcrMzOSNN97grbfeYvjw4QA0atSIrl27AjiPXbt2bcLCwordR+Elu7lz59KnTx8AZs2axZIlS5g9ezb/+te/nHVfeOEFrrnmGgCeeuop+vbtS05ODt7e5v7hiYhUOyd7gFKNkwlQdR0EnZeXx/r164mNjXUpj42NZdWqVRe078mTJxMcHMw999xTovq5ublkZGS4LJeqb7/9Fn9/f7y9venUqRNXX301//nPfwCIiopyJiAA69evJysri9q1a+Pv7+9c9uzZw65duwCIj4+nU6dOLsc48/Xp4uPjyc3NdSZdZbFr1y7y8/Pp0qWLs8zDw4MOHToQHx/vUrdVq1bO38PDwwFITk4u87FFRKSMTvYAHbE5/tMeUqOa9gClpKRgs9mclz4KhYaGkpSUVOb9rly5ktmzZxe5i+hcpkyZwnPPPVfmY+Lh6+iJMYOHb6mqX3vttcyYMQMPDw8iIiJcBjr7+bn2JNntdsLDw1m2bFmR/dSsWbMs0eLj41Om7U5nnLzsZ7FYipSfWXb6+RWus9vtFxyDiIiU0nFHD9ARWw0AgqtrD1ChknyJlVRmZiZDhgxh1qxZ1KlTp8TbjRs3jvT0dOeyf//+0h3YYnFchjJjKWVb+fn50bhxY6Kios57l1e7du1ISkrC3d2dxo0buyyF7dusWTN+//13l+3OfH26yy67DB8fH37++edi13t6egKOy5hn07hxYzw9Pfntt9+cZfn5+axbt45mzZqd85xERMQk2Y4e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PT2dgICAMu1DRESk1E6kkfvqFXjZsnjO+wkmPPE0bm5KgEqqNN/fpvUA5eXlsX79emJjY13KY2NjWbVqVbHbxMXFFanfq1cv1q1bR35+PgBff/01nTp14qGHHiI0NJQWLVrw4osvYrPZzhpLbm4uGRkZLouIiEhly105Ha+TvT8tegxV8lOBTEuAUlJSsNlshIaGupSHhoaSlJRU7DZJSUnF1i8oKCAlJQWA3bt388UXX2Cz2Vi0aBHPPPMMr732Gi+88MJZY5kyZQqBgYHOJTIy8gLPTkREpJROpEHc2wB85jOYAW3rmRvPJc70QdBnXts0DOOc1zuLq396ud1uJyQkhHfffZeYmBhuv/12xo8f73KZ7Uzjxo0jPT3duezfv7+spyMiIlImuSvfxsuWxU57XVr1Goa7HnpaoUr9NPjyUqdOHaxWa5HenuTk5CK9PIXCwsKKre/u7k7t2rUBCA8Px8PDA6vV6qzTrFkzkpKSyMvLw9Oz6HNUvLy8nE+4FxERqXQn0jB+d/xHfZ7vHTzTRlciKppp6aWnpycxMTEsWbLEpXzJkiV07ty52G06depUpP7ixYtp3769c8Bzly5d+Pvvv7Hb7c46O3fuJDw8vNjkR0RExGw5K6fjXZDJTntd2vQajlVjfyqcqf1rY8eO5b333mPOnDnEx8czZswYEhISGDlyJOC4NDVs2KkJoEaOHMm+ffsYO3Ys8fHxzJkzh9mzZ/P4448764waNYrU1FQee+wxdu7cyXfffceLL77IQw89VOnnJyIicl4n0uD36QDM97uTfq019qcymHYJDGDQoEGkpqYyefJkEhMTadGiBYsWLSIqKgqAxMRElzmBoqOjWbRoEWPGjOHtt98mIiKCN998k1tuucVZJzIyksWLFzNmzBhatWpF3bp1eeyxx3jyyScr/fxERETO5/Ten9bq/ak0ps4DVFVpHiAREakUOenkvHIF3rZM/s/nX4z713glQBfgopgHSEREpLrL+W063raTY396q/enMikBEhERMUPqLtxWvQHAF353cENLjf2pTEqAREREKpstn4L/3oOn/QRxtua07XOXZn2uZEqAREREKtvyl3FP2ki64cvbQY/Tq0WE2RFVO0qAREREKtO+OIwVrwHwdP69DIntot4fEygBEhERqSw56bDgfiyGnS9sV7MnNJZeVxT/9AOpWEqA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", + "image/png": "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HlJSUnD9+nVBLJPx98DaZyr2OxIfH48ZM2YgOTkZ3bp1w5NPPqmb31bcTn1/HrZ47bXXcPToUTzzzDPw9vbG5s2bMXv2bFy+fNmsJeTw4cP46KOPMHDgQLzyyiu4ceMGAGalHjRoEI4ePYr7778fr732mm5du3fvxg8//IDRo0cDYP834uPjTZ6XI8H+1dXVGDJkCPbv34/u3btj0qRJUKlU+PXXXzFy5EgsXboU//d//2f3vIY443lXVVXpBEX79u0xYcIEKJVKXLp0CV999RVefPFFBAcHA3DezwV34siRI6iurkZiYqJJHGhkZCTi4uJw7NgxVFVV6ax2+/fvh5+fH/r162cy32OPPYadO3fiwIEDiImJaZD34NZwBOFmXLt2jQPAtW3blps3bx43b948bu7cudy0adO4tm3bct7e3twnn3xict2VK1dMjpWWlnJxcXFckyZNuPLycpN7AODmzJljdh0tW7bkWrZsKTg2b948DgC3b98+s9f07duXk8vl3O7duwXHMzIyuICAAC4uLs7Gu2ckJSVxALh33nnH5FxOTg6nUqk4juO4kpISLigoiFMqldzp06d1YzQaDff8889zALgPPvhAcD3/vqdNm8ap1Wrd8W+//ZYDwL366qsOraWmpoZr1aoVFxAQwJ06dUow7rfffuNkMhk3YsSIOq2lf//+nKUfW2I+U0e+Iy+99JLZub777jsOAPfdd9/pjjXE52GJl156iQPARUREcFlZWSbvDwB38OBB3fF9+/bp7r1y5UqT+d5//30OAPfCCy9wGo1Gd/z06dOcUqnkgoODuZKSEt1xa8/L0v8bAFz//v0Fx9555x0OADd//nzBfUtKSrgePXpwXl5egvdnCXOfD39PZzzvWbNmcQC4cePGcbW1tYJzRUVFXGlpqe61vT8XzH3P+c9r3rx5otZnjFKpNPl5Zo1XX33V6s+6L774ggPAffrpp2bPP/300xwA7uzZsxzHcVxZWRkHgOvSpYvZ8b/88gsHgJs1a5boNTZmSJwRbofhL1lz/5544gnu3Llzouf797//zQHg9u/fb3KPZs2acdXV1Wavs1ec/fnnnxwAbtKkSWbnmzlzJgeAO3PmjNX15uTkcBKJhGvbti1XU1Njdezq1as5ANzUqVNNzt24cYOTy+Vc27ZtBccBcH5+foJfHhzHcSqVipPL5dz9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", "text/plain": [ "
" ] @@ -1970,7 +1699,7 @@ }, { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAsoAAAHFCAYAAADrKN8IAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAwo9JREFUeJzsnXeYU+XWxddJn94bbWboA9JBmggIgjSRC4INUGyIioh+XhEF5aqIImIFG2BF9IqIypUigigD0hXpdSjTe097vz+S96TPpCczs3/Pw6OTnJy8aScr66y9t8AYYyAIgiAIgiAIwgJJoBdAEARBEARBEMEICWWCIAiCIAiCsAMJZYIgCIIgCIKwAwllgiAIgiAIgrADCWWCIAiCIAiCsAMJZYIgCIIgCIKwAwllgiAIgiAIgrADCWWCIAiCIAiCsAMJZYIgCIIgCIKwg0tCec2aNRAEweJfQkIChgwZgh9//NEnC0xLS8Pdd98t/n316lU8//zzOHz4sE/uDwAKCgqgVCohCAL2799vd5shQ4bgmmuu8dka7HHhwgUIgoA1a9a4dfuXX34ZGzZs8OqaAMNzwd8PEokEERERaNu2LW699Vb897//hV6vt7mN9esKAIcOHcLgwYMRFRUFQRCwfPlyAMAvv/yC3r17IywsDIIg+OQxNCbuvvtuhIeHe3WfX375pfh6EL7D+nOxY8cOCIKAHTt2uLSf3bt34/nnn0dJSYnNdUOGDMGQIUM8WmdjwNnnwVfHzWDE3febv7D3vRssr4+jdQT7c2rvuziYEAQBzz//vPi3K8/nqVOnMHHiRMTExCA0NBR9+/bFxo0bXV6DW47y6tWrkZmZid27d+ODDz6AVCrFuHHj8MMPP7izuzr57rvv8Nxzz4l/X716FS+88IJPhfJnn30GtVoNAPj44499dj/+xpcHlNatW4vviQ0bNuDpp59GdXU1br31VgwZMgSlpaUW21u/rgAwY8YMZGdn46uvvkJmZiZuu+02MMYwefJkyOVybNy4EZmZmRg8eLBPHgPhGBLKgaFnz57IzMxEz549Xbrd7t278cILL9gVyu+99x7ee+89L62w8RMsQoywT7C8Po7W4e5n2F/Y+y5uDFy4cAH9+/fHyZMnsXLlSnzzzTdISEjALbfcgm+//dalfcncWcA111yD3r17i3/fdNNNiImJwdq1azFu3Dh3dmlDdXU1QkJC0KNHD6/szxVWrVqFxMREpKamYu3atVi2bBlCQkL8vo6GREhICPr162dx2X333YfVq1djxowZeOCBB7Bu3TrxOnuv69GjR3H//fdj1KhR4mVXrlxBUVERJkyYgGHDhnllrRqNBoIgQCZz6+1PEDZUVVUhNDTU6/uNjIy0+Vx5SqdOnby6P8JEdXU1VCoVBEEI9FIID9DpdNBqtVAqlR7vyxefYW8SCI3lD1555RVUVVVh8+bNaN68OQCDVu3SpQsef/xxTJgwARKJc16xVzLKKpUKCoUCcrnc4vIXXngBffv2RWxsLCIjI9GzZ098/PHHYIxZbJeWloaxY8di/fr16NGjB1QqFV544QXxOn5aYMeOHejTpw8A4J577hFP95vb8vv378fNN9+M2NhYqFQq9OjRA19//bXTj2Xv3r04evQopk6divvvvx+lpaV1/vrYtWsX+vXrh5CQEDRv3hzPPfccdDqdxTYrVqxAt27dEB4ejoiICHTs2BHPPPOMxTZHjx7F+PHjERMTA5VKhe7du+OTTz6pd71333030tLSbC5//vnnLQ7WgiCgsrISn3zyifi8mZ92zMnJwYMPPogWLVpAoVAgPT0dL7zwArRabb1rqIt77rkHo0ePxjfffIOLFy+Kl5u/rjzSo9VqsWLFCovXtUWLFgCAf//73xAEweKxnj59GnfccQcSExOhVCqRkZGBd9991+L++Wmazz77DE888QSaN28OpVKJM2fOAAC2bduGYcOGITIyEqGhoRg4cCB++eUXu8/lP//8g9tvvx1RUVFISkrCjBkzbJxyvV6Pt99+G927d0dISAiio6PRr18/m9M969atQ//+/REWFobw8HCMHDkShw4dstjm3LlzuO2229CsWTMolUokJSVh2LBhTp9N+eeffzBs2DCEhYUhISEBjzzyCKqqqiy2YYzhvffeE9cbExODSZMm4dy5c+I2Q4YMwU8//YSLFy9axK4AoE+fPhgzZozFPrt06QJBELBv3z7xsvXr10MQBPz999/iZc68fgBQVlaGJ598Eunp6VAoFGjevDnmzJmDyspKi+0EQcAjjzyCzz77DBkZGQgNDUW3bt2cioXx98nnn3+OuXPnIjk5GSEhIRg8eLDN68KjLX///TdGjBiBiIgI8UecWq3Giy++iI4dO0KpVCIhIQH33HMP8vPzLfah0Wjw1FNPITk5GaGhobjuuuvw559/OlyX9WnGvXv3Yty4cYiLi4NKpUKbNm0wZ84cAIb36//93/8BANLT08XXi+/DXuSgqKgIs2bNQvPmzaFQKNC6dWvMnz8ftbW1bj3H+fn5eOCBB9CyZUvxeRg4cCC2bdtW5+tw5swZ3HPPPWjXrh1CQ0PRvHlzjBs3zuJ9Y/68rF27FvPnz0ezZs0QGRmJ4cOH4+TJkxbbMsbw6quvIjU1FSqVCj179sT//ve/Otdh/ngdHTf5cWvLli2YMWMGEhISEBoaitraWqePy3x99X0G7bFhwwYIgmBzvAIgHkf/+usvAIbvxdtuuw1paWkICQlBWloabr/9dotjsiMcRVTsPUZn3//bt2/HkCFDEBcXh5CQELRq1QoTJ060OT7Vhze+13ik8dVXX8WLL76I9PR0KJVK/Prrr6ipqcETTzyB7t27IyoqCrGxsejfvz++//57p9fh6DO8ceNG9O/fH6GhoYiIiMCNN96IzMxMi21c+e755ptv0LdvX0RFRSE0NBStW7fGjBkz6n0OHcW9nPlsOeLEiRO4/fbbkZSUBKVSiVatWmHatGkWxxNfaQ7OH3/8gW7duokiGQCkUilGjRqFS5cu2T3eOsItS43/2mKMITc3F6+99hoqKytxxx13WGx34cIFPPjgg2jVqhUAYM+ePXj00Udx5coVLFiwwGLbgwcP4vjx43j22WeRnp6OsLAwm/vt2bMnVq9ejXvuuQfPPvus+AXNxdSvv/6Km266CX379sXKlSsRFRWFr776ClOmTEFVVZVTORwetZgxYwZatmyJOXPm4OOPP8Zdd91ls21OTg5uu+02PP3001i0aBF++uknvPjiiyguLsY777wDAPjqq68wa9YsPProo1i6dCkkEgnOnDmDY8eOifs5efIkBgwYgMTERLz11luIi4vD559/jrvvvhu5ubl46qmn6l13fWRmZuKGG27A0KFDxdMskZGR4uO49tprIZFIsGDBArRp0waZmZl48cUXceHCBaxevdqj+7755puxadMm7Nq1C6mpqTbXjxkzBpmZmejfvz8mTZqEJ554AoDhde3WrRv+9a9/4dFHH8Udd9wh/sI/duwYBgwYgFatWuH1119HcnIyNm/ejNmzZ6OgoAALFy60uI958+ahf//+WLlyJSQSCRITE/H5559j2rRpGD9+PD755BPI5XK8//77GDlyJDZv3mzjYE+cOBFTpkzBvffei7///hvz5s0DYDgDwbn77rvx+eef495778WiRYugUChw8OBBXLhwQdzm5ZdfxrPPPiu+j9VqNV577TUMGjQIf/75p+j4jR49GjqdDq+++ipatWqFgoIC7N692+7pdGs0Gg1Gjx6NBx98EE8//TR2796NF198ERcvXrSISD344INYs2YNZs+ejSVLlqCoqAiLFi3CgAEDcOTIESQlJeG9997DAw88gLNnz+K7776zuJ/hw4fjnXfegUajgVwuR25uLo4ePYqQkBBs3bpV/GG7bds2JCUloUuXLi69flVVVRg8eDAuX76MZ555Bl27dsU///yDBQsW4O+//8a2bdsshMdPP/2Effv2YdGiRQgPD8err76KCRMm4OTJk2jdunW9z9szzzyDnj174qOPPkJpaSmef/55DBkyBIcOHbK4vVqtxs033yw+v1qtFnq9HuPHj8euXbvw1FNPYcCAAbh48SIWLlyIIUOGYP/+/eKZqfvvvx+ffvopnnzySdx44404evQo/vWvf6G8vLzeNW7evBnjxo1DRkYGli1bhlatWuHChQvYsmULAMOZnKKiIrz99ttYv349UlJSADh2kmtqajB06FCcPXsWL7zwArp27Ypdu3Zh8eLFOHz4MH766SeL7Z15jqdOnYqDBw/ipZdeQvv27VFSUoKDBw+isLCwzsd29epVxMXF4ZVXXkFCQgKKiorwySefoG/fvjh06BA6dOhg83oNHDgQH330EcrKyvDvf/8b48aNw/HjxyGVSgEYDJsXXngB9957LyZNmoRLly7h/vvvh06ns9mfNXUdNzkzZszAmDFj8Nlnn6GystLGMKoPZz6D9hg7diwSExOxevVqm2PVmjVr0LNnT3Tt2hWA4bu4Q4cOuO222xAbG4vs7GysWLECffr0wbFjxxAfH+/Smu3h7Pv/woULGDNmDAYNGoRVq1YhOjoaV65cwc8//wy1Wu3SmRlvfq+99dZbaN++PZYuXYrIyEi0a9cOtbW1KCoqwpNPPonmzZtDrVZj27Zt+Ne//oXVq1dj2rRp9a7DHl9++SXuvPNOjBgxAmvXrkVtbS1effVVDBkyBL/88guuu+46i+3r++7JzMzElClTMGXKFDz//PNQqVS4ePEitm/f7vRzaY0zny17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/voLjzzyCG699Va0a9cOCoUC27dvx19//WXhCjlCoVDg9ddfR0VFBfr06SN2vRg1apRYUT1w4EA88MADuOeee7B//35cf/31CAsLQ3Z2Nn7//Xd06dIFDz30EADDe2f9+vVYsWIFevXqBYlEIvZS79WrF2JiYrBlyxYLJ2v48OHiaS4eu+A4+/rNmTMH3377La6//no8/vjj6Nq1K/R6PbKysrBlyxY88cQTTn8pO0NeXh4mTJggtoZcuHAhVCqVWGVeF7fddhu++OILjB49Go899hiuvfZayOVyXL58Gb/++ivGjx+PCRMmICMjA3fddReWL18OuVyO4cOH4+jRo2K1fX28++67GDduHPr164fHH38crVq1QlZWFjZv3owvvvgCAMTuIm+++SamT58OuVyODh06WLh6nGnTpuHdd9/F9OnTceHCBXTp0gW///47Xn75ZYwePdrmtauP0tJSDB06FHfccQc6duyIiIgI7Nu3Dz///LPDs32csWPHYs2aNejYsSO6du2KAwcO4LXXXnM7ahITE4Mnn3wSL774Iu677z7ceuutuHTpEp5//nmnoxeOjpt14exx2ZXPoCOio6MxYcIErFmzBiUlJXjyySct8peRkZG4/vrr8dprryE+Ph5paWnYuXMnPv74Y6dc+qlTp+L999/HXXfdhfvvvx+FhYV49dVXbd6rzr7/V65cie3bt2PMmDFo1aoVampqxDNGrr7XAN9+r/G2tbNmzRI7pvznP/9BSkoKTp8+7dQ6rJFIJHj11Vdx5513YuzYsXjwwQdRW1uL1157DSUlJXjllVdcfg4WLFiAy5cvY9iwYWjRogVKSkrw5ptvQi6X+31A17Jly3Ddddehb9++ePrpp9G2bVvk5uZi48aNeP/99xEREeGV16Y+8vLy8Prrr2PgwIGIiIjAiRMn8Oqrr0IikdhtQ1onTpf9MftdL6Kiolj37t3ZsmXLWE1NjcX2q1atYh06dGBKpZK1bt2aLV68mH388cc21dipqalszJgxdu/TXneEtWvXso4dOzK5XG5TEXnkyBE2efJklpiYyORyOUtOTmY33HADW7lypcPHtWHDhno7DPz8888W1cm8+nbHjh2sd+/eTKlUspSUFPbMM89YdN345JNP2NChQ1lSUhJTKBSsWbNmbPLkyeyvv/6y2P/ff//Nxo0bx6KiophCoWDd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Udi8eTPS09Oh0Th/Sz18+DAMBgNee+01qFSmD/c++eQTh6/XWVZWFsrLy3Hx4kVlVvnUqVOoqanBkCFDnD4fIiKyxdILIiInpaen45tvvsH58+dRXV0No9GIp556Cjdu3MC8efNw8OBBnDt3Dl988QUee+yxbpPczMxMGAwG/PnPf8a5c+ewYcMGrF271ub16uvrsWvXLlRXV6OxsdHm+9x7770YPnw4fv7zn+Po0aM4ePAgHnnkEUycONFuuQcRETmPiTIRkZOWLl0KtVqNrKwsxMbGory8HElJSdi3bx/a29tx3333ITs7G88++yz0er0yU2zPyJEjsWrVKrz66qvIzs7GRx99hFdeecUqJi8vD4WFhcjPz0dsbKzNYkDAVEKxbds2REZGYsKECbj33nsxcOBAbNq0yev/fiKi/kYSQghfnwQRERERUV/DGWUiIiIiIjuYKBMRERER2cFEmYiIiIjIDibKRERERER2MFEmIiIiIrKDiTIRERERkR1MlImIiIiI7GCiTERERERkBxNlIiIiIiI7mCgTEREREdnBRJmIiIiIyA4mykREREREdvwflbuvcPivGgUAAAAASUVORK5CYII=", + "image/png": "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", "text/plain": [ "
" ] @@ -1984,7 +1713,7 @@ "\n", "species = \"Barite\"\n", "iterations = 250\n", - "cell_offset = 9\n", + "cell_offset = 1100 #1250\n", "y_design = []\n", "y_results = []\n", "y_differences = []\n", @@ -2000,11 +1729,12 @@ "y_design = pd.DataFrame(y_design)\n", "y_results = pd.DataFrame(y_results)\n", "\n", - "prediction = model_large.predict(y_design.iloc[:, y_design.columns != \"Class\"])\n", + "prediction = model_minmax.predict(y_design.iloc[:, y_design.columns != \"Class\"])\n", "prediction = pd.DataFrame(prediction, columns = y_results.columns)\n", "\n", "# y_results_back, prediction = preprocess.funcInverse(y_results, prediction)\n", "\n", + "y_design_back = pd.DataFrame(preprocess.scaler_y.inverse_transform(y_design), columns = species_columns)\n", "y_results_back = pd.DataFrame(preprocess.scaler_y.inverse_transform(y_results), columns = species_columns)\n", "prediction_back = pd.DataFrame(preprocess.scaler_X.inverse_transform(prediction), columns = species_columns)\n", "\n", @@ -2012,22 +1742,29 @@ "plt.plot(np.arange(0,iterations), y_results_back[species], label = \"Results\")\n", "plt.plot(np.arange(0,iterations), prediction_back[species], label = \"Prediction\")\n", "plt.legend()\n", - "plt.xlabel('Iteration')\n", - "plt.ylabel(species)\n", - "plt.title(species+' Concentration over Iterations in cell ' + str(cell_offset))\n", - "plt.legend()\n", + "plt.xlabel('Iteration', fontsize=14, labelpad=10)\n", + "plt.ylabel(\"Concentration\", fontsize=12)\n", + "plt.title(species + ' concentration profile in cell ' + str(cell_offset), fontsize=14, pad=10)\n", + "plt.xticks(fontsize=12)\n", + "plt.yticks(fontsize=12)\n", + "plt.grid()\n", + "plt.legend(fontsize=12)\n", + "# plt.savefig(\"/Users/hannessigner/Documents/Work/BMBF/GreenHPC2021UP/Treffen/2025-02-20-PERFACCT/Vorbereitung/images/concentration_profile_reactive.pdf\")\n", "plt.show()\n", "\n", "\n", "mass_balance = np.abs((prediction_back[\"Ba\"] + prediction_back[\"Barite\"]) - (y_results_back[\"Ba\"] + y_results_back[\"Barite\"])) \\\n", " + np.abs((prediction_back[\"Sr\"] + prediction_back[\"Celestite\"]) - (y_results_back[\"Sr\"] + y_results_back[\"Celestite\"]))\n", "plt.plot(np.arange(0,iterations), mass_balance, label = \"Results\")\n", - "plt.xlabel('Iteration')\n", - "plt.ylabel(species)\n", - "plt.title(species+' Absolute Differences between predictions and true values Iterations in cell ' + str(cell_offset))\n", + "plt.xlabel('Iteration', fontsize=14, labelpad=10)\n", + "plt.ylabel(\"Mass Balance\", fontsize=14)\n", + "plt.title('Mass Balance in cell ' + str(cell_offset), fontsize=14, pad=10)\n", "plt.axhline(y=1e-5, color='r', linestyle='--', label='Threshold 1e-5')\n", - "plt.legend()\n", - "\n", + "plt.xticks(fontsize=12)\n", + "plt.yticks(fontsize=12)\n", + "plt.grid()\n", + "plt.legend(fontsize=12)\n", + "# plt.savefig(\"/Users/hannessigner/Documents/Work/BMBF/GreenHPC2021UP/Treffen/2025-02-20-PERFACCT/Vorbereitung/images/mass_balance_reactive.pdf\")\n", "\n", "plt.show()" ] diff --git a/src/preprocessing.py b/src/preprocessing.py index 16679ce..413e203 100644 --- a/src/preprocessing.py +++ b/src/preprocessing.py @@ -88,7 +88,7 @@ def model_definition(architecture): return model - +@keras.saving.register_keras_serializable() def custom_loss(preprocess, column_dict, h1, h2, h3, scaler_type="minmax", loss_variant="huber", delta=1.0): # extract the scaling parameters