diff --git a/.github/.backend_git_ref b/.github/.backend_git_ref index a2296491..8b8539d5 100644 --- a/.github/.backend_git_ref +++ b/.github/.backend_git_ref @@ -1 +1 @@ -7aadfa383e6eee63442e366890dfb1160114caed +9fcd0e8d520b3e7679d29c969263345ea190ec46 diff --git a/examples/interactive_ml/app/Simple Random Forest Two-Class Classifier on Sentinel-2 Images.ipynb b/examples/interactive_ml/app/Simple Random Forest Two-Class Classifier on Sentinel-2 Images.ipynb index 4973ffb6..4b06cde6 100644 --- a/examples/interactive_ml/app/Simple Random Forest Two-Class Classifier on Sentinel-2 Images.ipynb +++ b/examples/interactive_ml/app/Simple Random Forest Two-Class Classifier on Sentinel-2 Images.ipynb @@ -13,7 +13,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -34,7 +34,15 @@ "import ipyvuetify as vue\n", "import numpy as np\n", "import xarray as xr\n", - "from geoengine_openapi_client.models import MlModelMetadata, RasterDataType\n", + "from geoengine_openapi_client.models import (\n", + " MlModelInputNoDataHandling,\n", + " MlModelInputNoDataHandlingVariant,\n", + " MlModelMetadata,\n", + " MlModelOutputNoDataHandling,\n", + " MlModelOutputNoDataHandlingVariant,\n", + " MlTensorShape3D,\n", + " RasterDataType,\n", + ")\n", "from matplotlib import pyplot as plt\n", "from matplotlib.patches import Circle\n", "from onnx.checker import check_model\n", @@ -335,11 +343,18 @@ " onnx_model=onnx_clf,\n", " model_config=ge.ml.MlModelConfig(\n", " name=model_name,\n", + " file_name=\"model.onnx\",\n", " metadata=MlModelMetadata(\n", - " file_name=\"model.onnx\",\n", - " input_type=RasterDataType.F32,\n", - " num_input_bands=4,\n", - " output_type=RasterDataType.U8,\n", + " inputType=RasterDataType.F32,\n", + " outputType=RasterDataType.U8,\n", + " inputShape=MlTensorShape3D(x=1, y=1, bands=4),\n", + " outputShape=MlTensorShape3D(x=1, y=1, bands=1),\n", + " inputNoDataHandling=MlModelInputNoDataHandling(\n", + " variant=MlModelInputNoDataHandlingVariant.SKIPIFNODATA\n", + " ),\n", + " outputNoDataHandling=MlModelOutputNoDataHandling(\n", + " variant=MlModelOutputNoDataHandlingVariant.NANISNODATA\n", + " ),\n", " ),\n", " display_name=\"Decision Tree\",\n", " description=\"A simple decision tree model\",\n", @@ -813,7 +828,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.10.12" + "version": "3.12.3" } }, "nbformat": 4, diff --git a/examples/ml_pipeline.ipynb b/examples/ml_pipeline.ipynb index 048f5bb9..f5743b71 100644 --- a/examples/ml_pipeline.ipynb +++ b/examples/ml_pipeline.ipynb @@ -14,7 +14,14 @@ "outputs": [], "source": [ "import numpy as np\n", - "from geoengine_openapi_client.models import MlModelMetadata, RasterDataType\n", + "from geoengine_openapi_client.models import (\n", + " MlModelInputNoDataHandling,\n", + " MlModelInputNoDataHandlingVariant,\n", + " MlModelMetadata,\n", + " MlModelOutputNoDataHandling,\n", + " MlModelOutputNoDataHandlingVariant,\n", + " RasterDataType,\n", + ")\n", "from geoengine_openapi_client.models import MlTensorShape3D as TensorShape3D\n", "from skl2onnx import to_onnx\n", "from sklearn.tree import DecisionTreeClassifier\n", @@ -79,20 +86,33 @@ "cell_type": "code", "execution_count": 4, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "8e47ed4f-3216-4434-868f-174bd6fc9941:decision_tree" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "model_name = f\"{ge.get_session().user_id}:decision_tree\"\n", "\n", "metadata = MlModelMetadata(\n", - " file_name=\"model.onnx\",\n", - " input_type=RasterDataType.F32,\n", - " output_type=RasterDataType.I64,\n", - " input_shape=TensorShape3D(y=1, x=1, bands=2),\n", - " output_shape=TensorShape3D(y=1, x=1, bands=1),\n", + " inputType=RasterDataType.F32,\n", + " outputType=RasterDataType.I64,\n", + " inputShape=TensorShape3D(y=1, x=1, bands=2),\n", + " outputShape=TensorShape3D(y=1, x=1, bands=1),\n", + " inputNoDataHandling=MlModelInputNoDataHandling(variant=MlModelInputNoDataHandlingVariant.SKIPIFNODATA),\n", + " outputNoDataHandling=MlModelOutputNoDataHandling(variant=MlModelOutputNoDataHandlingVariant.NANISNODATA),\n", ")\n", "\n", "model_config = MlModelConfig(\n", " name=model_name,\n", + " file_name=\"model.onnx\",\n", " metadata=metadata,\n", " display_name=\"Decision Tree\",\n", " description=\"A simple decision tree model\",\n", @@ -117,7 +137,7 @@ "outputs": [ { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAioAAAHHCAYAAACRAnNyAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuNSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/xnp5ZAAAACXBIWXMAAA9hAAAPYQGoP6dpAACE4UlEQVR4nO2deXgURfrHv5NAEiAkXCEJEu7LAAFBjWFVUG4RUVE8UA75IbJ4IHiQ3VVQ5PCG9eBwMaCiKCrquiqCHKIcAhKNgCBIJAIhukjCmUCmfn/gzM50+u45enq+n+fpJ5nu6qrqq+rb7/tWtUsIIUAIIYQQYkNiwl0BQgghhBAlKFQIIYQQYlsoVAghhBBiWyhUCCGEEGJbKFQIIYQQYlsoVAghhBBiWyhUCCGEEGJbKFQIIYQQYlsoVAghhBBiWyhUwkizZs0wYsSIcFeDRDk9evRAhw4dwl0NP0aMGIFmzZqFuxqOw8p5DVd7dfjwYdxwww2oX78+XC4XZs2aFfI6kPBCoRJk1q9fjylTpuDo0aPhrkpI2bx5M+6++260b98etWrVQpMmTTBkyBDs3r1bNv3OnTvRr18/JCYmol69erj99tvx22+/VUk3bdo0XHPNNUhNTYXL5cKUKVN01ad3795wuVy4++67dR+D2+3GU089hebNmyMhIQFZWVl46623VPc5c+YMMjMz4XK58Mwzz+guq7y8HA8//DAaNWqEGjVqIDs7GytWrKiS7vPPP8eoUaPQoUMHxMbGsjMPMAcOHMCQIUNQp04dJCUlYdCgQfj555/DXS1DHDx4EFOmTEF+fn64qxIQ7r//fixfvhy5ubl4/fXX0a9fv5CVvX79elx66aWoWbMm0tLScO+99+L48eMhK5/8iSBB5emnnxYAxL59+6psO336tKioqAh9pULA4MGDRVpamrjnnnvEK6+8IqZOnSpSU1NFrVq1REFBgV/aoqIi0aBBA9GyZUsxe/ZsMW3aNFG3bl3RqVMnUV5e7pcWgEhLSxN9+/YVAMTkyZM16/Lee++JWrVqCQBi3Lhxuo9h0qRJAoAYPXq0mD9/vhgwYIAAIN566y3FfZ599llvWU8//bTusm6++WZRrVo18cADD4h58+aJnJwcUa1aNbFu3Tq/dMOHDxcJCQmiW7duonHjxqJp06a6y1Cie/fuon379pbzCSTDhw8PyLEZ4dixY6J169aiYcOG4sknnxTPPfecyMjIEI0bNxa///57SOtihc2bNwsAIi8vr8q2iooKcfr0aVP5Nm3aVAwfPtxa5UyQmpoqhg4dGvJyt23bJhISEsQFF1wg5syZI/7+97+L+Ph40a9fv5DXJdqhUAkyakLFyXz99ddVRMbu3btFfHx8lUZn7NixokaNGuKXX37xrluxYoUAIObNm+eX1nMef/vtN11C5dSpU6JZs2bi8ccfNyRUfv31V1G9enW/9G63W1x22WWicePG4uzZs1X2OXz4sEhOTvaWpVeobNq0qUr6U6dOiZYtW4qcnBy/tAcOHPCK2wEDBlCoBJAnn3xSABDffPONd93OnTtFbGysyM3NDWldrKAmVKwQCKFSWVkpTp06ZWgfl8tl6AUjUPTv31+kp6eL0tJS77pXXnlFABDLly8PeX2iGbp+gsiUKVPw4IMPAgCaN28Ol8sFl8uFwsJCAFV9vgsXLoTL5cJXX32Fe++9FykpKahTpw7GjBmDiooKHD16FMOGDUPdunVRt25dPPTQQxCSj1+73W7MmjUL7du3R0JCAlJTUzFmzBj88ccfoTpsAEC3bt0QFxfnt65169Zo3749du7c6bf+vffew9VXX40mTZp41/Xq1Qtt2rTBO++845fWqKvjqaeegtvtxgMPPGBovw8//BBnzpzBX//6V+86l8uFsWPH4tdff8WGDRuq7DNp0iS0bdsWt912m6Gy3n33XcTGxuLOO+/0rktISMCoUaOwYcMGFBUVedc3atQI1atXN5S/XrZu3Ypu3bqhRo0aaN68OebOneu3vaKiAo8++ii6du2K5ORk1KpVC5dddhlWr17tl66wsNDr+po/fz5atmyJ+Ph4XHTRRdi8eXOVcj/44AN06NABCQkJ6NChA5YtWxaU49Pi3XffxUUXXYSLLrrIu65du3bo2bNnlftQL8XFxRg5ciQaN26M+Ph4pKenY9CgQd42ADh3T1999dX4/PPP0blzZyQkJCAzMxPvv/++X15HjhzBAw88gI4dOyIxMRFJSUno378/vvvuO2+aNWvWeOs/cuRIb5uzcOFCAPIxKs888wy6deuG+vXro0aNGujatSveffddU8crxeNuXbx4Mdq3b4/4+Hh89tlnAM652e644w6kpqYiPj4e7du3x6uvvurd19MeCiHw0ksveY8lFJSVlWHFihW47bbbkJSU5F0/bNgwJCYmmr4fiDmqhbsCTub666/H7t278dZbb+H5559HgwYNAAApKSmq+91zzz1IS0vDY489ho0bN2L+/PmoU6cO1q9fjyZNmmD69On45JNP8PTTT6NDhw4YNmyYd98xY8Zg4cKFGDlyJO69917s27cPL774IrZt24avv/5atZMrLy/HsWPHdB2b51iMIITA4cOH0b59e++6AwcOoKSkBBdeeGGV9BdffDE++eQTw+V42L9/P2bOnIlXX30VNWrUMLTvtm3bUKtWLZx//vlV6uTZfumll3rXf/PNN1i0aBG++uorw43ptm3b0KZNG78G0bes/Px8ZGRkGMrTKH/88QeuuuoqDBkyBLfccgveeecdjB07FnFxcbjjjjsAnGu8//Wvf+GWW27B6NGjcezYMSxYsAB9+/bFN998g86dO/vl+eabb+LYsWMYM2YMXC4XnnrqKVx//fX4+eefvffh559/jsGDByMzMxMzZszAf//7X2/Hrofjx4/j9OnTmumqV6+O5ORkxe1utxvff/+991h9ufjii/H555/j2LFjqF27tq56eRg8eDC2b9+Oe+65B82aNUNJSQlWrFiB/fv3+wmGn376CTfddBPuuusuDB8+HHl5ebjxxhvx2WefoXfv3gCAn3/+GR988AFuvPFGNG/eHIcPH8a8efPQvXt37NixA40aNcL555+Pxx9/HI8++ijuvPNOXHbZZQDOvTgoMXv2bFxzzTUYOnQoKioqsGTJEtx44434+OOPMWDAAEPHK8eqVavwzjvv4O6770aDBg3QrFkzHD58GJdccolXyKSkpODTTz/FqFGjUFZWhvHjx+Pyyy/H66+/jttvvx29e/f2a+eU+OOPP1BZWamZrmbNmqhZs6bi9oKCApw9e7ZKuxQXF4fOnTtj27Zt2gdOAkeYLTqOR831IzWl5uXlCQCib9++wu12e9fn5OQIl8sl7rrrLu+6s2fPisaNG4vu3bt7161bt04AEIsXL/Yr57PPPpNdL8VTvp7FDK+//roAIBYsWOBd5zFTv/baa1XSP/jggwKArE9dj+vnhhtuEN26dfP+hgHXz4ABA0SLFi2qrD9x4oQAICZNmuRd53a7xcUXXyxuueUWIcQ59xQMuH7at28vrrzyyirrt2/fLgCIuXPnKtYxUK4fAOLZZ5/1risvLxedO3cW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THx56KGHRPv27f3W3XTTTaJv374BrKE6SvX/5JNPRExMjCguLvaumzNnjkhKSvJeFzvU35emTZuK559/XnG7nvsqnFx88cVi3Lhx3t+VlZWiUaNGYsaMGWGslTyTJ08WnTp1kt129OhRUb16dbF06VLvup07dwoAYsOGDSGqoTrSZ9Ptdou0tDTx9NNPe9cdPXpUxMfHi7feeksIIcSOHTsEALF582Zvmk8//VS4XC5x4MCBkNVdCPm2Zfjw4WLQoEGK+9ip/kIIUVJSIgCItWvXCiH03Td62iWiDF0/FigtLUW9evW8vzds2IDLL7/c7xPWffv2xa5du/DHH3940/Tq1csvn759+2LDhg2hqbROxo0bhwYNGuDiiy/Gq6++6veJcjsfw4YNG9CxY0ekpqZ61/Xt2xdlZWXYvn27N43d6j9z5kzUr18fF1xwAZ5++mk/k7Ce+ypcVFRUYOvWrX7nMyYmBr169bLF/SDHTz/9hEaNGqFFixYYOnQo9u/fDwDYunUrzpw543cs7dq1Q5MmTWx7LPv27UNxcbFfnZOTk5Gdne2t84YNG1CnTh1ceOGF3jS9evVCTEwMNm3aFPI6y7FmzRo0bNgQbdu2xdixY/Hf//7Xu81u9S8tLQUAb9uv577R0y4RZTgzrUn27NmDF154Ac8884x3XXFxMZo3b+6XznNjFhcXo27duiguLva7WT1piouLg19pnTz++OO48sorUbNmTXz++ef461//iuPHj+Pee+8FAMVjKCsrw6lTp1CjRo1wVBuAct0829TShKv+9957L7p06YJ69eph/fr1yM3NxaFDh/Dcc89566t1X4WL33//HZWVlbLn88cffwxTrZTJzs7GwoUL0bZtWxw6dAiPPfYYLrvsMvzwww8oLi5GXFxcldgnuz2fvnjqpdamFBcXV5myvFq1aqhXr54tjqtfv364/vrr0bx5c+zduxd/+9vf0L9/f2zYsAGxsbG2qr/b7cb48ePxl7/8BR06dAAAXfeNnnaJKBP1QmXSpEl48sknVdPs3LnTL+DuwIED6NevH2688UaMHj062FXUxMwxqPHII494/7/gggtw4sQJPP30016hEmgCXX87YOSYJkyY4F2XlZWFuLg4jBkzBjNmzIiaqbhDRf/+/b3/Z2VlITs7G02bNsU777wTVoEdzdx8883e/zt27IisrCy0bNkSa9asQc+ePcNYs6qMGzcOP/zwA7766qtwVyWqiHqhMnHiRIwYMUI1TYsWLbz/Hzx4EFdccQW6deuG+fPn+6VLS0urEunt+Z2WlqaaxrPdDEaPwSjZ2dmYOnUqysvLER8fr3gMSUlJphr7QNY/LS2tyogTvdfAbP3lsHJM2dnZOHv2LAoLC9G2bVtd91W4aNCgAWJjYwN+T4eKOnXqoE2bNtizZw969+6NiooKHD161O/t2M7H4qnX4cOHkZ6e7l1/+PBhdO7c2ZumpKTEb7+zZ8/iyJEjtjyuFi1aoEGDBtizZw969uxpm/rffffd+Pjjj/Hll1+icePG3vVpaWma942edomoEO4gmUji119/Fa1btxY333yzOHv2bJXtnqDHiooK77rc3NwqwbRXX3213345OTm2CqaV8sQTT4i6det6fz/00EOiQ4cOfmluueUWWwXT+o44mTdvnkhKShKnT58WQtij/mq88cYbIiYmxjvyQc99FU4uvvhicffdd3t/V1ZWivPOO8+WwbRSjh07JurWrStmz57tDYp89913vdt//PHHiAimfeaZZ7zrSktLZYNpt2zZ4k2zfPly2wTTSikqKhIul0t8+OGHQojw19/tdotx48aJRo0aid27d1fZrue+0dMuEWUoVHTy66+/ilatWomePXuKX3/91W8onYejR4+K1NRUcfvtt4sffvhBLFmyRNSsWbPK8ORq1aqJZ555RuzcuVNMnjw5pMOTf/nlF7Ft2zbx2GOPicTERLFt2zaxbds2cezYMSGEEB999JF45ZVXREFBgfjpp5/Eyy+/LGrWrCkeffRRbx6e4b0PPvig2Llzp3jppZdCNrxXq/6eYYB9+vQR+fn54rPPPhMpKSmyw5PDUX8p69evF88//7zIz88Xe/fuFW+88YZISUkRw4YN86bRc1+FkyVLloj4+HixcOFCsWPHDnHnnXeKOnXq+I1wsAsTJ04Ua9asEfv27RNff/216NWrl2jQoIEoKSkRQpwbZtqkSROxatUqsWXLFpGTkyNycnLCWudjx45573MA4rnnnhPbtm0Tv/zyixDi3PDkOnXqiA8//FB8//33YtCgQbLDky+44AKxadMm8dVXX4nWrVuHbHivWv2PHTsmHnjgAbFhwwaxb98+sXLlStGlSxfRunVrvw48nPUfO3asSE5OFmvWrPFr90+ePOlNo3Xf6GmXiDIUKjrJy8sTAGQXX7777jtx6aWXivj4eHHeeeeJmTNnVsnrnXfeEW3atBFxcXGiffv24j//+U+oDkMMHz5c9hhWr14thDg37K9z584iMTFR1KpVS3Tq1EnMnTtXVFZW+uWzevVq0blzZxEXFydatGgh8vLybFF/IYQoLCwU/fv3FzVq1BANGjQQEydOFGfOnLFF/aVs3bpVZGdni+TkZJGQkCDOP/98MX369CpvWXruq3DywgsviCZNmoi4uDhx8cUXi40bN4a7SrLcdNNNIj09XcTFxYnzzjtP3HTTTWLPnj3e7adOnRJ//etfRd26dUXNmjXFdddd5/cyEg5Wr14te88PHz5cCHHujf+RRx4RqampIj4+XvTs2VPs2rXLL4///ve/4pZbbhGJiYkiKSlJjBw50ivuw1n/kydPij59+oiUlBRRvXp10bRpUzF69OgqIjec9Vdq933bDD33jZ52icjjEsJn3CkhhBBCiI3gPCqEEEIIsS0UKoQQQgixLRQqhBBCCLEtFCqEEEIIsS0UKoQQQgixLRQqhBBCCLEtFCqEEEIIsS0UKoQQQgixLRQqhBBCCLEtFCqEEEIIsS0UKoQQ0/z2229IS0vD9OnTvevWr1+PuLg4fPHFF2GsGSHEKfBbP4QQS3zyySe49tprsX79erRt2xadO3fGoEGD8Nxzz4W7aoQQB0ChQgixzLhx47By5UpceOGFKCgowObNmxEfHx/uahFCHACFCiHEMqdOnUKHDh1QVFSErVu3omPHjuGuEiHEITBGhRBimb179+LgwYNwu90oLCwMd3UIIQ6CFhVCiCUqKipw8cUXo3Pnzmjbti1mzZqFgoICNGzYMNxVI4Q4AAoVQoglHnzwQbz77rv47rvvkJiYiO7duyM5ORkff/xxuKtGCHEAdP0QQkyzZs0azJo1C6+//jqSkpIQExOD119/HevWrcOcOXPCXT1CiAOgRYUQQgghtoUWFUIIIYTYFgoVQgghhNgWChVCCCGE2BYKFUIIIYTYFgoVQgghhNgWChVCCCGE2BYKFUIIIYTYFgoVQgghhNgWChVCCCGE2BYKFUIIIYTYFgoVQgghhNgWChVCCCGE2Jb/B4Yz8pQphxrgAAAAAElFTkSuQmCC", + "image/png": "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8dhjj6Fr166YM2eObNply5bh5ptvxvHjx1Gzpj5bCS0qBnG73Thw4ADq1asX0unxCSGERB5CCBw9ehTp6emIiQneQNtTp06hsrLScj5C8ikH4OwHNtW+uTZx4kQMGjQIffr08U5AqURZWRkSExN1ixRPpSKGtWvXiiuvvFKkpaUJAGL58uV+291ut3jwwQdFamqqiI+PF7179xa7du3yS/O///1P3HTTTaJevXoiKSlJ3HrrreLo0aO661BcXKw6kRkXLly4cOEiXYqLiwPRDcpy8uRJkdqkRkDqmZCQUG2ddJJGX958803RqVMncfLkSSHE2Qkk7777btm0v/32m2jWrJn429/+Zuj4Isqicvz4cXTp0gW33nqr95sYvjzxxBP45z//iSVLlqBly5Z48MEH0b9/f/zwww/e722MGDECBw8exIoVK3D69GmMGTMGt912m+4vhXq++VBcXOz3ATlCCCFESnl5OTIyMkx/1FIPlZWVKCmtwi9bWyCxnnmrTflRN5p3L6rWvylZU4qLi3H33XdjxYoVft+0ks27vByDBg1CZmam6gch5YjYGBWXy+X9Ai4ACCGQnp6OKVOmeD8gVlZWhpSUFCxevBg33HCD90u4mzdv9n507NNPP8UVV1yBX3/9VVekenl5OZKSkrzmK0IIIUSJUPQZnjL+t6ulZaHSqN1e3XV9//33cc0113i/fQac/SCty+VCTEwMKioqUKNGDRw9ehT9+/dHnTp18NFHH2mKGimOmZl27969KCkp8YtGT0pKQnZ2NjZs2AAA2LBhA+rXr+8VKcDZ6PWYmBhs2rRJNt+KigqUl5f7LYQQQojdqBJuy4sRevfujcLCQhQUFHiX888/HyNGjEBBQQFq1KiB8vJy9OvXD7Gxsfjwww8NixTAQcG0npkSU1JS/NanpKR4t5WUlKBJkyZ+22vWrImGDRsqzrQ4a9YsPPzww0GoMSGEEBI43BBww7yTxOi+9erVQ6dOnfzW1a1bF40aNUKnTp28IuXEiRN47bXX/F72k5OT/SwxajhGqASL3NxcTJ482fvb428khBBCiDLffPON11vRpk0bv2179+5FixYtdOXjGKGSmpoKADh06JDf9M6HDh1C165dvWlKS0v99jtz5gwOHz7s3V+K1rAsQgghxA644YYx5031/a2yZs0a7/+9evVCIMJgHROj0rJl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", "text/plain": [ "
" ] diff --git a/geoengine/ml.py b/geoengine/ml.py index 18b99608..cea8d9f8 100644 --- a/geoengine/ml.py +++ b/geoengine/ml.py @@ -9,7 +9,6 @@ from pathlib import Path import geoengine_openapi_client -import geoengine_openapi_client.models from geoengine_openapi_client.models import MlModel, MlModelMetadata, MlTensorShape3D, RasterDataType from onnx import ModelProto, TensorProto, TypeProto from onnx.helper import tensor_dtype_to_string @@ -24,6 +23,7 @@ class MlModelConfig: """Configuration for an ml model""" name: str + file_name: str metadata: MlModelMetadata display_name: str = "My Ml Model" description: str = "My Ml Model Description" @@ -47,7 +47,7 @@ def register_ml_model( with geoengine_openapi_client.ApiClient(session.configuration) as api_client: with tempfile.TemporaryDirectory() as temp_dir: - file_name = Path(temp_dir) / model_config.metadata.file_name + file_name = Path(temp_dir) / model_config.file_name with open(file_name, "wb") as file: file.write(onnx_model.SerializeToString()) @@ -61,6 +61,7 @@ def register_ml_model( model = MlModel( name=model_config.name, + file_name=model_config.file_name, upload=str(upload_id), metadata=model_config.metadata, display_name=model_config.display_name, diff --git a/pyproject.toml b/pyproject.toml index 6e271f9b..6c86b5f7 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -16,7 +16,7 @@ readme = { file = "README.md", content-type = "text/markdown" } license-files = ["LICENSE"] requires-python = ">=3.10" dependencies = [ - "geoengine-openapi-client == 0.0.25", + "geoengine-openapi-client == 0.0.26", "geopandas >=1.0,<2.0", "matplotlib >=3.5,<3.11", "numpy >=1.21,<2.4", diff --git a/tests/test_ml.py b/tests/test_ml.py index 4463ae94..ad8e6597 100644 --- a/tests/test_ml.py +++ b/tests/test_ml.py @@ -3,7 +3,15 @@ import unittest import numpy as np -from geoengine_openapi_client.models import MlModelMetadata, MlTensorShape3D, RasterDataType +from geoengine_openapi_client.models import ( + MlModelInputNoDataHandling, + MlModelInputNoDataHandlingVariant, + MlModelMetadata, + MlModelOutputNoDataHandling, + MlModelOutputNoDataHandlingVariant, + MlTensorShape3D, + RasterDataType, +) from onnx import TensorShapeProto as TSP from skl2onnx import to_onnx from sklearn.ensemble import RandomForestClassifier @@ -84,12 +92,18 @@ def test_uploading_onnx_model(self): onnx_model=onnx_clf, model_config=ge.ml.MlModelConfig( name=model_name, + file_name="model.onnx", metadata=MlModelMetadata( - file_name="model.onnx", - input_type=RasterDataType.F32, - output_type=RasterDataType.I64, - input_shape=MlTensorShape3D(y=1, x=1, bands=2), - output_shape=MlTensorShape3D(y=1, x=1, bands=1), + inputType=RasterDataType.F32, + outputType=RasterDataType.I64, + inputShape=MlTensorShape3D(y=1, x=1, bands=2), + outputShape=MlTensorShape3D(y=1, x=1, bands=1), + inputNoDataHandling=MlModelInputNoDataHandling( + variant=MlModelInputNoDataHandlingVariant.SKIPIFNODATA + ), + outputNoDataHandling=MlModelOutputNoDataHandling( + variant=MlModelOutputNoDataHandlingVariant.NANISNODATA + ), ), display_name="Decision Tree", description="A simple decision tree model", @@ -120,12 +134,18 @@ def test_uploading_onnx_model(self): onnx_model=onnx_clf, model_config=ge.ml.MlModelConfig( name=model_name, + file_name="model.onnx", metadata=MlModelMetadata( - file_name="model.onnx", - input_type=RasterDataType.F32, - output_type=RasterDataType.I64, - input_shape=MlTensorShape3D(y=1, x=1, bands=4), - output_shape=MlTensorShape3D(y=1, x=1, bands=1), + inputType=RasterDataType.F32, + outputType=RasterDataType.I64, + inputShape=MlTensorShape3D(y=1, x=1, bands=4), + outputShape=MlTensorShape3D(y=1, x=1, bands=1), + inputNoDataHandling=MlModelInputNoDataHandling( + variant=MlModelInputNoDataHandlingVariant.SKIPIFNODATA + ), + outputNoDataHandling=MlModelOutputNoDataHandling( + variant=MlModelOutputNoDataHandlingVariant.NANISNODATA + ), ), display_name="Decision Tree", description="A simple decision tree model", @@ -140,12 +160,18 @@ def test_uploading_onnx_model(self): onnx_model=onnx_clf, model_config=ge.ml.MlModelConfig( name=model_name, + file_name="model.onnx", metadata=MlModelMetadata( - file_name="model.onnx", - input_type=RasterDataType.F64, - output_type=RasterDataType.I64, - input_shape=MlTensorShape3D(y=1, x=1, bands=2), - output_shape=MlTensorShape3D(y=1, x=1, bands=1), + inputType=RasterDataType.F64, + outputType=RasterDataType.I64, + inputShape=MlTensorShape3D(y=1, x=1, bands=2), + outputShape=MlTensorShape3D(y=1, x=1, bands=1), + inputNoDataHandling=MlModelInputNoDataHandling( + variant=MlModelInputNoDataHandlingVariant.SKIPIFNODATA + ), + outputNoDataHandling=MlModelOutputNoDataHandling( + variant=MlModelOutputNoDataHandlingVariant.NANISNODATA + ), ), display_name="Decision Tree", description="A simple decision tree model", @@ -161,12 +187,18 @@ def test_uploading_onnx_model(self): onnx_model=onnx_clf, model_config=ge.ml.MlModelConfig( name="foo", + file_name="model.onnx", metadata=MlModelMetadata( - file_name="model.onnx", - input_type=RasterDataType.F32, - output_type=RasterDataType.I32, - input_shape=MlTensorShape3D(y=1, x=1, bands=2), - output_shape=MlTensorShape3D(y=1, x=1, bands=1), + inputType=RasterDataType.F32, + outputType=RasterDataType.I32, + inputShape=MlTensorShape3D(y=1, x=1, bands=2), + outputShape=MlTensorShape3D(y=1, x=1, bands=1), + inputNoDataHandling=MlModelInputNoDataHandling( + variant=MlModelInputNoDataHandlingVariant.SKIPIFNODATA + ), + outputNoDataHandling=MlModelOutputNoDataHandling( + variant=MlModelOutputNoDataHandlingVariant.NANISNODATA + ), ), display_name="Decision Tree", description="A simple decision tree model",