From 1d1b2cb3bff178b5762186d8b06c008f0b43e77e Mon Sep 17 00:00:00 2001 From: Hannes Signer Date: Mon, 13 Jan 2025 17:26:26 +0100 Subject: [PATCH] update readme --- .gitattributes | 1 + POET_Training.ipynb | 179 +++++++++++++++++--------------------------- README.md | 94 +---------------------- 3 files changed, 73 insertions(+), 201 deletions(-) create mode 100644 .gitattributes diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..1bccc1f --- /dev/null +++ b/.gitattributes @@ -0,0 +1 @@ +*.h5 filter=lfs diff=lfs merge=lfs -text diff --git a/POET_Training.ipynb b/POET_Training.ipynb index 53029e1..6d6dd9d 100644 --- a/POET_Training.ipynb +++ b/POET_Training.ipynb @@ -27,7 +27,7 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 2, "metadata": {}, "outputs": [ { @@ -59,7 +59,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 3, "metadata": {}, "outputs": [], "source": [ @@ -92,7 +92,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 4, "metadata": {}, "outputs": [ { @@ -200,7 +200,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 5, "metadata": {}, "outputs": [], "source": [ @@ -224,7 +224,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 6, "metadata": {}, "outputs": [], "source": [ @@ -270,7 +270,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 7, "metadata": {}, "outputs": [], "source": [ @@ -294,7 +294,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 8, "metadata": {}, "outputs": [], "source": [ @@ -331,7 +331,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 9, "metadata": {}, "outputs": [], "source": [ @@ -350,33 +350,6 @@ " return data" ] }, - { - "cell_type": "code", - "execution_count": 38, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[4.71860988e+00 4.03439461e+00 1.64809168e+01 1.72424113e-11\n", - " 2.88259393e-10 9.23957137e-02 1.79673102e-01 1.80262638e-13\n", - " 6.20582152e-04 5.63876556e-02 6.99379443e-01 6.93551204e-01]\n" - ] - } - ], - "source": [ - "from sklearn.preprocessing import FunctionTransformer, MinMaxScaler\n", - "\n", - "transformer = FunctionTransformer(log_scale, kw_args = {\"func_dict\" : func_dict_in})\n", - "\n", - "scaler=MinMaxScaler()\n", - "\n", - "scaler.fit(pd.concat([df_design_log, df_results_log]))\n", - "\n", - "print(scaler.data_max_)\n" - ] - }, { "cell_type": "markdown", "metadata": {}, @@ -386,7 +359,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 10, "metadata": {}, "outputs": [], "source": [ @@ -403,21 +376,7 @@ }, { "cell_type": "code", - "execution_count": 44, - "metadata": {}, - "outputs": [], - "source": [ - "# sample the data into training and validation data\n", - "train_data = pp_design.sample(frac = sample_fraction)\n", - "val_data = pp_design.drop(train_data.index)\n", - "\n", - "train_results = pp_results.loc[train_data.index]\n", - "val_results = pp_results.drop(train_data.index)" - ] - }, - { - "cell_type": "code", - "execution_count": 10, + "execution_count": 11, "metadata": {}, "outputs": [], "source": [ @@ -434,7 +393,7 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 12, "metadata": {}, "outputs": [ { @@ -442,106 +401,106 @@ "output_type": "stream", "text": [ "Epoch 1/50\n", - "\u001b[1m3520/3520\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m3s\u001b[0m 828us/step - loss: 0.0013 - val_loss: 1.1404e-06\n", + "\u001b[1m3520/3520\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m3s\u001b[0m 831us/step - loss: 0.0016 - val_loss: 8.9642e-07\n", "Epoch 2/50\n", - "\u001b[1m3520/3520\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m3s\u001b[0m 793us/step - loss: 1.4840e-06 - val_loss: 1.4576e-06\n", + "\u001b[1m3520/3520\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m3s\u001b[0m 777us/step - loss: 1.2063e-06 - val_loss: 9.3257e-07\n", "Epoch 3/50\n", - "\u001b[1m3520/3520\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m3s\u001b[0m 824us/step - loss: 1.4434e-06 - val_loss: 1.1059e-06\n", + "\u001b[1m3520/3520\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m3s\u001b[0m 808us/step - loss: 1.3414e-06 - val_loss: 7.4446e-07\n", "Epoch 4/50\n", - "\u001b[1m3520/3520\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m3s\u001b[0m 813us/step - loss: 1.2418e-06 - val_loss: 1.4799e-06\n", + "\u001b[1m3520/3520\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m4s\u001b[0m 994us/step - loss: 9.5866e-07 - val_loss: 6.6027e-07\n", "Epoch 5/50\n", - "\u001b[1m3520/3520\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m3s\u001b[0m 894us/step - loss: 1.0540e-06 - val_loss: 9.0661e-07\n", + "\u001b[1m3520/3520\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m3s\u001b[0m 957us/step - loss: 1.0071e-06 - val_loss: 6.1673e-07\n", "Epoch 6/50\n", - "\u001b[1m3520/3520\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m3s\u001b[0m 850us/step - loss: 9.8962e-07 - val_loss: 9.6343e-07\n", + "\u001b[1m3520/3520\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m3s\u001b[0m 938us/step - loss: 8.1617e-07 - val_loss: 6.3258e-07\n", "Epoch 7/50\n", - "\u001b[1m3520/3520\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m3s\u001b[0m 896us/step - loss: 7.1421e-07 - val_loss: 1.0128e-06\n", + "\u001b[1m3520/3520\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m3s\u001b[0m 945us/step - loss: 7.0918e-07 - val_loss: 6.3168e-07\n", "Epoch 8/50\n", - "\u001b[1m3520/3520\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m3s\u001b[0m 784us/step - loss: 9.4590e-07 - val_loss: 8.5226e-07\n", + "\u001b[1m3520/3520\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m3s\u001b[0m 817us/step - loss: 7.2066e-07 - val_loss: 5.9542e-07\n", "Epoch 9/50\n", - "\u001b[1m3520/3520\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m3s\u001b[0m 810us/step - loss: 8.5829e-07 - val_loss: 7.9730e-07\n", + "\u001b[1m3520/3520\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m3s\u001b[0m 830us/step - loss: 5.9725e-07 - val_loss: 5.8001e-07\n", "Epoch 10/50\n", - "\u001b[1m3520/3520\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m3s\u001b[0m 851us/step - loss: 7.3620e-07 - val_loss: 8.1594e-07\n", + "\u001b[1m3520/3520\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m3s\u001b[0m 920us/step - loss: 7.0796e-07 - val_loss: 6.1479e-07\n", "Epoch 11/50\n", - "\u001b[1m3520/3520\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m3s\u001b[0m 930us/step - loss: 8.2763e-07 - val_loss: 7.9174e-07\n", + "\u001b[1m3520/3520\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m4s\u001b[0m 1ms/step - loss: 6.1275e-07 - val_loss: 5.6376e-07\n", "Epoch 12/50\n", - "\u001b[1m3520/3520\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m3s\u001b[0m 841us/step - loss: 7.5164e-07 - val_loss: 7.9159e-07\n", + "\u001b[1m3520/3520\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m3s\u001b[0m 869us/step - loss: 5.5536e-07 - val_loss: 5.7461e-07\n", "Epoch 13/50\n", - "\u001b[1m3520/3520\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m3s\u001b[0m 906us/step - loss: 7.2227e-07 - val_loss: 7.9551e-07\n", + "\u001b[1m3520/3520\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m3s\u001b[0m 809us/step - loss: 6.4857e-07 - val_loss: 5.9354e-07\n", "Epoch 14/50\n", - "\u001b[1m3520/3520\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m3s\u001b[0m 832us/step - loss: 8.5750e-07 - val_loss: 7.9073e-07\n", + "\u001b[1m3520/3520\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m3s\u001b[0m 819us/step - loss: 6.9492e-07 - val_loss: 6.1578e-07\n", "Epoch 15/50\n", - "\u001b[1m3520/3520\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m3s\u001b[0m 817us/step - loss: 7.6794e-07 - val_loss: 8.2430e-07\n", + "\u001b[1m3520/3520\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m3s\u001b[0m 847us/step - loss: 6.0041e-07 - val_loss: 6.6684e-07\n", "Epoch 16/50\n", - "\u001b[1m3520/3520\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m3s\u001b[0m 811us/step - loss: 7.8525e-07 - val_loss: 7.6804e-07\n", + "\u001b[1m3520/3520\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m3s\u001b[0m 908us/step - loss: 6.9271e-07 - val_loss: 5.5564e-07\n", "Epoch 17/50\n", - "\u001b[1m3520/3520\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m3s\u001b[0m 818us/step - loss: 6.5793e-07 - val_loss: 7.7165e-07\n", + "\u001b[1m3520/3520\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m3s\u001b[0m 854us/step - loss: 7.0737e-07 - val_loss: 5.6945e-07\n", "Epoch 18/50\n", - "\u001b[1m3520/3520\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m3s\u001b[0m 849us/step - loss: 7.6873e-07 - val_loss: 7.8483e-07\n", + "\u001b[1m3520/3520\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m3s\u001b[0m 835us/step - loss: 7.5155e-07 - val_loss: 5.5309e-07\n", "Epoch 19/50\n", - "\u001b[1m3520/3520\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m3s\u001b[0m 833us/step - loss: 7.3115e-07 - val_loss: 7.6651e-07\n", + "\u001b[1m3520/3520\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m3s\u001b[0m 852us/step - loss: 7.4322e-07 - val_loss: 5.5036e-07\n", "Epoch 20/50\n", - "\u001b[1m3520/3520\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m3s\u001b[0m 789us/step - loss: 7.6460e-07 - val_loss: 7.6667e-07\n", + "\u001b[1m3520/3520\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m3s\u001b[0m 834us/step - loss: 5.8944e-07 - val_loss: 5.6052e-07\n", "Epoch 21/50\n", - "\u001b[1m3520/3520\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m3s\u001b[0m 777us/step - loss: 5.5257e-07 - val_loss: 7.8632e-07\n", + "\u001b[1m3520/3520\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m3s\u001b[0m 814us/step - loss: 6.7448e-07 - val_loss: 5.4524e-07\n", "Epoch 22/50\n", - "\u001b[1m3520/3520\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m3s\u001b[0m 808us/step - loss: 6.8125e-07 - val_loss: 7.6522e-07\n", + "\u001b[1m3520/3520\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m3s\u001b[0m 811us/step - loss: 5.7292e-07 - val_loss: 5.9770e-07\n", "Epoch 23/50\n", - "\u001b[1m3520/3520\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m3s\u001b[0m 813us/step - loss: 6.2676e-07 - val_loss: 7.6267e-07\n", + "\u001b[1m3520/3520\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m3s\u001b[0m 834us/step - loss: 5.7507e-07 - val_loss: 5.4916e-07\n", "Epoch 24/50\n", - "\u001b[1m3520/3520\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m3s\u001b[0m 800us/step - loss: 5.7057e-07 - val_loss: 7.6537e-07\n", + "\u001b[1m3520/3520\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m3s\u001b[0m 799us/step - loss: 6.3452e-07 - val_loss: 5.4885e-07\n", "Epoch 25/50\n", - "\u001b[1m3520/3520\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m4s\u001b[0m 1000us/step - loss: 5.3213e-07 - val_loss: 7.6502e-07\n", + "\u001b[1m3520/3520\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m3s\u001b[0m 808us/step - loss: 5.9518e-07 - val_loss: 5.4678e-07\n", "Epoch 26/50\n", - "\u001b[1m3520/3520\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m3s\u001b[0m 799us/step - loss: 7.3359e-07 - val_loss: 7.6122e-07\n", + "\u001b[1m3520/3520\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m3s\u001b[0m 822us/step - loss: 6.6424e-07 - val_loss: 5.4674e-07\n", "Epoch 27/50\n", - "\u001b[1m3520/3520\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m3s\u001b[0m 801us/step - loss: 5.5530e-07 - val_loss: 7.6046e-07\n", + "\u001b[1m3520/3520\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m3s\u001b[0m 830us/step - loss: 5.9008e-07 - val_loss: 5.4434e-07\n", "Epoch 28/50\n", - "\u001b[1m3520/3520\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m3s\u001b[0m 775us/step - loss: 5.6699e-07 - val_loss: 7.6158e-07\n", + "\u001b[1m3520/3520\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m3s\u001b[0m 801us/step - loss: 5.4859e-07 - val_loss: 5.4596e-07\n", "Epoch 29/50\n", - "\u001b[1m3520/3520\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m3s\u001b[0m 798us/step - loss: 6.3822e-07 - val_loss: 7.6058e-07\n", + "\u001b[1m3520/3520\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m3s\u001b[0m 805us/step - loss: 4.9844e-07 - val_loss: 5.4456e-07\n", "Epoch 30/50\n", - "\u001b[1m3520/3520\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m3s\u001b[0m 779us/step - loss: 6.0064e-07 - val_loss: 7.5951e-07\n", + "\u001b[1m3520/3520\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m3s\u001b[0m 815us/step - loss: 6.4763e-07 - val_loss: 5.4440e-07\n", "Epoch 31/50\n", - "\u001b[1m3520/3520\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m3s\u001b[0m 773us/step - loss: 6.1063e-07 - val_loss: 7.5915e-07\n", + "\u001b[1m3520/3520\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m3s\u001b[0m 838us/step - loss: 7.3888e-07 - val_loss: 5.4584e-07\n", "Epoch 32/50\n", - "\u001b[1m3520/3520\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m3s\u001b[0m 796us/step - loss: 5.6002e-07 - val_loss: 7.6251e-07\n", + "\u001b[1m3520/3520\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m3s\u001b[0m 862us/step - loss: 5.2331e-07 - val_loss: 5.4407e-07\n", "Epoch 33/50\n", - "\u001b[1m3520/3520\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m3s\u001b[0m 835us/step - loss: 6.3413e-07 - val_loss: 7.5966e-07\n", + "\u001b[1m3520/3520\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m3s\u001b[0m 856us/step - loss: 6.9340e-07 - val_loss: 5.4382e-07\n", "Epoch 34/50\n", - "\u001b[1m3520/3520\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m3s\u001b[0m 790us/step - loss: 6.0062e-07 - val_loss: 7.5858e-07\n", + "\u001b[1m3520/3520\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m3s\u001b[0m 857us/step - loss: 5.5593e-07 - val_loss: 5.4424e-07\n", "Epoch 35/50\n", - "\u001b[1m3520/3520\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m3s\u001b[0m 828us/step - loss: 6.5727e-07 - val_loss: 7.5895e-07\n", + "\u001b[1m3520/3520\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m3s\u001b[0m 900us/step - loss: 6.2465e-07 - val_loss: 5.4352e-07\n", "Epoch 36/50\n", - "\u001b[1m3520/3520\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m3s\u001b[0m 822us/step - loss: 7.6945e-07 - val_loss: 7.5849e-07\n", + "\u001b[1m3520/3520\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m3s\u001b[0m 866us/step - loss: 6.0392e-07 - val_loss: 5.4369e-07\n", "Epoch 37/50\n", - "\u001b[1m3520/3520\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m3s\u001b[0m 779us/step - loss: 5.9666e-07 - val_loss: 7.5850e-07\n", + "\u001b[1m3520/3520\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m3s\u001b[0m 834us/step - loss: 6.3388e-07 - val_loss: 5.4619e-07\n", "Epoch 38/50\n", - "\u001b[1m3520/3520\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m3s\u001b[0m 774us/step - loss: 6.7566e-07 - val_loss: 7.5847e-07\n", + "\u001b[1m3520/3520\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m3s\u001b[0m 813us/step - loss: 5.6506e-07 - val_loss: 5.4372e-07\n", "Epoch 39/50\n", - "\u001b[1m3520/3520\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m3s\u001b[0m 805us/step - loss: 6.6410e-07 - val_loss: 7.5872e-07\n", + "\u001b[1m3520/3520\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m3s\u001b[0m 813us/step - loss: 6.9649e-07 - val_loss: 5.4339e-07\n", "Epoch 40/50\n", - "\u001b[1m3520/3520\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m3s\u001b[0m 818us/step - loss: 6.7137e-07 - val_loss: 7.5844e-07\n", + "\u001b[1m3520/3520\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m3s\u001b[0m 812us/step - loss: 5.0897e-07 - val_loss: 5.4338e-07\n", "Epoch 41/50\n", - "\u001b[1m3520/3520\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m3s\u001b[0m 790us/step - loss: 7.0753e-07 - val_loss: 7.6004e-07\n", + "\u001b[1m3520/3520\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m3s\u001b[0m 804us/step - loss: 6.1986e-07 - val_loss: 5.4396e-07\n", "Epoch 42/50\n", - "\u001b[1m3520/3520\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m3s\u001b[0m 798us/step - loss: 5.9159e-07 - val_loss: 7.5833e-07\n", + "\u001b[1m3520/3520\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m3s\u001b[0m 825us/step - loss: 5.5556e-07 - val_loss: 5.4339e-07\n", "Epoch 43/50\n", - "\u001b[1m3520/3520\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m3s\u001b[0m 793us/step - loss: 7.1825e-07 - val_loss: 7.5846e-07\n", + "\u001b[1m3520/3520\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m3s\u001b[0m 817us/step - loss: 5.9327e-07 - val_loss: 5.4372e-07\n", "Epoch 44/50\n", - "\u001b[1m3520/3520\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m3s\u001b[0m 764us/step - loss: 6.8167e-07 - val_loss: 7.5837e-07\n", + "\u001b[1m3520/3520\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m3s\u001b[0m 821us/step - loss: 6.8013e-07 - val_loss: 5.4331e-07\n", "Epoch 45/50\n", - "\u001b[1m3520/3520\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m3s\u001b[0m 817us/step - loss: 7.1077e-07 - val_loss: 7.5818e-07\n", + "\u001b[1m3520/3520\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m3s\u001b[0m 810us/step - loss: 5.3385e-07 - val_loss: 5.4331e-07\n", "Epoch 46/50\n", - "\u001b[1m3520/3520\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m3s\u001b[0m 817us/step - loss: 7.1459e-07 - val_loss: 7.5828e-07\n", + "\u001b[1m3520/3520\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m3s\u001b[0m 817us/step - loss: 5.8341e-07 - val_loss: 5.4332e-07\n", "Epoch 47/50\n", - "\u001b[1m3520/3520\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m3s\u001b[0m 818us/step - loss: 6.2480e-07 - val_loss: 7.5828e-07\n", + "\u001b[1m3520/3520\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m3s\u001b[0m 815us/step - loss: 5.8649e-07 - val_loss: 5.4331e-07\n", "Epoch 48/50\n", - "\u001b[1m3520/3520\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m3s\u001b[0m 798us/step - loss: 7.2107e-07 - val_loss: 7.5825e-07\n", + "\u001b[1m3520/3520\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m3s\u001b[0m 805us/step - loss: 5.4243e-07 - val_loss: 5.4334e-07\n", "Epoch 49/50\n", - "\u001b[1m3520/3520\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m3s\u001b[0m 812us/step - loss: 6.5633e-07 - val_loss: 7.5826e-07\n", + "\u001b[1m3520/3520\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m3s\u001b[0m 814us/step - loss: 6.0889e-07 - val_loss: 5.4330e-07\n", "Epoch 50/50\n", - "\u001b[1m3520/3520\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m3s\u001b[0m 770us/step - loss: 7.2437e-07 - val_loss: 7.5821e-07\n", - "Training took 145.50856709480286 seconds\n" + "\u001b[1m3520/3520\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m3s\u001b[0m 804us/step - loss: 5.9065e-07 - val_loss: 5.4327e-07\n", + "Training took 150.442538022995 seconds\n" ] } ], @@ -563,12 +522,12 @@ }, { "cell_type": "code", - "execution_count": 20, + "execution_count": 13, "metadata": {}, "outputs": [ { "data": { - "image/png": "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", + "image/png": "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1rp16/weezweVVRU6IUXXtDs2bNDNjCElm9Gy0PQAgDAKkEHrZEjRza7Nnr0aF122WVas2aN7rzzzpAMDKHFh0oDAGC9kO3R6tu3rzZu3Biq7hBibjbDAwBguZAErePHj+tXv/qVunXrForuYAJXdLQkghYAAFYKeumwc+fOfpvhDcPQ4cOH1aFDB7344oshHRxCh6VDAACsF3TQeuqpp/yCVlRUlC644AL17duXzzpsx7xBq7HJUGOToeio1t85CgAAQiPooHXHHXeYMAyYzRu0pFPLh+e5om0cDQAAkSHgoPX+++8H1O6KK65o82BgHu85WhJBCwAAqwQctL797W/L4XDIMAxJ8i0feh97r3FgafvkjP5iqbC+sVGS077BAAAQIQIOWpWVlb4/G4ahjIwMFRUVqXv37qYMDKHlcDjkiolSw8km3nkIAIBFAg5apwcqh8Ohbt26EbTOIe5oghYAAFbiQ6UjCEc8AABgLYJWBHFxOjwAAJb6SkHry+dpof3jY3gAALBWwHu0evfu7Resjh8/rhtvvFEul8uvXXl5eehGh5BiRgsAAGsFHLRuvvlmv8cjR44M9VhgMm/QqmePFgAAlgg4aBUWFpo5DljAe2gpM1oAAFiDzfARhKVDAACsFVDQGjZsmDZv3nzWdocPH9a8efO0cOHCrzwwhJ4r5tTH7hC0AACwRkBLh//93/+tMWPGKC4uTjfddJOysrKUkpKi2NhYff755/rwww+1adMmFRUV6YYbbtDPf/5zs8eNNvAtHbJHCwAASwQUtO68807l5ubqD3/4g9asWaPnnntOhw4dknTqiIf09HQNHTpUW7du1aWXXmrmePEVcLwDAADWCngzvMvl0vjx4zV+/HhJUm1trY4fP66uXbvK6eQDis8F7NECAMBaAQet08XHxys+Pj6UY4HJWDoEAMBavOswgvjO0WJGCwAASxC0IghLhwAAWIugFUEIWgAAWIugFUG+2KPVaPNIAACIDEEHrU8++USffvqp7/GWLVs0efJkLV26NKQDQ+gxowUAgLWCDlrjx4/Xm2++KUmqrq7WkCFDtGXLFj3yyCOaM2dOyAeI0OEcLQAArBV00Prggw901VVXSZL+93//VxkZGdq8ebN+97vfafny5aEeH0LIN6PF8Q4AAFgi6KDl8XjkdrslSRs3btRNN90kSerVq5eqqqpC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0KxZs5SSkqLzzjtPgwcP1s6dO+0ZbBiYO3euvvOd7yguLk4XXnihbr75Zu3atcuvDTUPncWLF+uKK67wHdqYnZ2tV1991fc8tTbP3Llz5XA4NHnyZN816h1as2bNksPh8PtKSkryPW9WvQlaYWjNmjWaPHmyZsyYoYqKCg0YMEDDhw/X3r177R7aOe/o0aO68sortWDBghaf/9nPfqYnn3xSCxYs0LvvvqukpCQNGTLE95mWCE5paanuvfdevf322yopKdHJkyeVk5Ojo0eP+tpQ89Dp1q2bnnjiCb333nt67733dO2112rkyJG+XzbU2hzvvvuuli5dqiuuuMLvOvUOvcsuu0xVVVW+rx07dvieM63eBsLOVVddZeTn5/td69WrlzFt2jSbRhSeJBnr1q3zPW5qajKSkpKMJ554wnftxIkTRnx8vLFkyRIbRhh+Dhw4YEgySktLDcOg5lbo3Lmz8etf/5pam+Tw4cNGz549jZKSEmPQoEHGpEmTDMPg77YZCgsLjSuvvLLF58ysNzNaYaahoUFbt25VTk6O3/WcnBxt3rzZplFFhsrKSlVXV/vV3u12a9CgQdQ+RGprayVJXbp0kUTNzdTY2KjVq1fr6NGjys7OptYmuffee3X99dfru9/9rt916m2O3bt3KyUlRWlpaRo3bpz+8Y9/SDK33nyodJipqalRY2OjEhMT/a4nJiaqurraplFFBm99W6r9nj177BhSWDEMQwUFBbrmmmuUkZEhiZqbYceOHcrOztaJEyf0ta99TevWrVN6errvlw21Dp3Vq1ervLxc7777brPn+Lsden379tWKFSv0zW9+U//617/005/+VP369dPOnTtNrTdBK0w5HA6/x4ZhNLsGc1B7c9x33316//33tWnTpmbPUfPQufTSS7Vt2zYdOnRIa9eu1YQJE1RaWup7nlqHxieffKJJkyapuLhYsbGxrbaj3qEzfPhw358vv/xyZWdnq0ePHnrhhRd09dVXSzKn3iwdhpmEhARFR0c3m706cOBAs6SO0PK+e4Xah97999+vDRs26M0331S3bt1816l56LlcLn3jG99QVlaW5s6dqyuvvFJPP/00tQ6xrVu36sCBA8rMzFRMTIxiYmJUWlqqZ555RjExMb6aUm/zdOzYUZdffrl2795t6t9vglaYcblcyszMVElJid/1kpIS9evXz6ZRRYa0tDQlJSX51b6hoUGlpaXUvo0Mw9B9992nl156SX/+85+Vlpbm9zw1N59hGKqvr6fWIXbddddpx44d2rZtm+8rKytLt912m7Zt26ZLLrmEepusvr5eH330kZKTk839+/2VttKjXVq9erXhdDqNZcuWGR9++KExefJko2PHjsY///lPu4d2zjt8+LBRUVFhVFRUGJKMJ5980qioqDD27NljGIZhPPHEE0Z8fLzx0ksvGTt27DC+973vGcnJyUZdXZ3NIz833XPPPUZ8fLzxl7/8xaiqqvJ9HTt2zNeGmofO9OnTjb/+9a9GZWWl8f777xuPPPKIERUVZRQXFxuGQa3N9uV3HRoG9Q61qVOnGn/5y1+Mf/zjH8bbb79t3HDDDUZcXJzvd6NZ9SZohamFCxca3bt3N1wul9GnTx/f2+Hx1bz55puGpGZfEyZMMAzj1FuECwsLjaSkJMPtdhsDBw40duzYYe+gz2Et1VqS8fzzz/vaUPPQ+eEPf+j7340LLrjAuO6663whyzCotdlOD1rUO7TGjh1rJCcnG06n00hJSTFuvfVWY+fOnb7nzaq3wzAM46vNiQEAAKAl7NECAAAwCUELAADAJAQtAAAAkxC0AAAATELQAgAAMAlBCwAAwCQELQAAAJMQtAAAAExC0AKAdsbhcGj9+vV2DwNACBC0AOBL7rjjDjkcjmZfw4YNs3toAM5BMXYPAADam2HDhun555/3u+Z2u20aDYBzGTNaAHAat9utpKQkv6/OnTtLOrWst3jxYg0fPlznnXee0tLS9Pvf/97v9Tt27NC1116r8847T127dtWPfvQjHTlyxK/Nb37zG1122WVyu91KTk7Wfffd5/d8TU2NbrnlFnXo0EE9e/bUhg0bzP2mAZiCoAUAQZo5c6ZGjRql7du36/bbb9f3vvc9ffTRR5KkY8eOadiwYercubPeffdd/f73v9fGjRv9gtTixYt177336kc/+pF27NihDRs26Bvf+IbfPWbPnq0xY8bo/fff14gRI3Tbbbfp4MGDln6fAELAAAD4TJgwwYiOjjY6duzo9zVnzhzDMAxDkpGfn+/3mr59+xr33HOPYRiGsXTpUqNz587GkSNHfM//6U9/MqKioozq6mrDMAwjJSXFmDFjRqtjkGQ8+uijvsdHjhwxHA6H8eqrr4bs+wRgDfZoAcBp/uu//kuLFy/2u9alSxffn7Ozs/2ey87O1rZt2yRJH330ka688kp17NjR93z//v3V1NSkXbt2yeFwaP/+/bruuuvOOIYrrrjC9+eOHTsqLi5OBw4caOu3BMAmBC0AOE3Hjh2bLeWdjcPhkCQZhuH7c0ttzjvvvID6czqdzV7b1NQU1JgA2I89WgAQpLfffrvZ4169ekmS0tPTtW3bNh09etT3/N/+9jdFRUXpm9/8puLi4nTxxRfrjTfesHTMAOzBjBYAnKa+vl7V1dV+12JiYpSQkCBJ+v3vf6+srCxdc801WrlypbZs2aJly5ZJkm677TYVFhZqwoQJmjVrlv7973/r/vvvV25urhITEyVJs2bNUn5+vi688EINHz5chw8f1t/+9jfdf//91n6jAExH0AKA07z22mtKTk72u3bppZfq//7v/ySdekfg6tWrNXHiRCUlJWnlypVKT0+XJHXo0EGvv/66Jk2apO985zvq0KGDRo0apSeffNLX14QJE3TixAk99dRTevDBB5WQkKDRo0db9w0CsIzDMAzD7kEAwLnC4XBo3bp1uvnmm+0eCoBzAHu0AAAATELQAgAAMAl7tAAgCOy2ABAMZrQAAABMQtACAAAwCUELAADAJAQtAAAAkxC0AAAATELQAgAAMAlBCwAAwCQELQAAAJP8f5x4ryrrUJxEAAAAAElFTkSuQmCC", "text/plain": [ "
" ] @@ -593,23 +552,23 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 14, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "\u001b[1m15641/15641\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m4s\u001b[0m 226us/step - loss: 6.0244e-07\n" + "\u001b[1m15641/15641\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m4s\u001b[0m 232us/step - loss: 1.0855e-06\n" ] }, { "data": { "text/plain": [ - "7.261308496708807e-07" + "1.0228196742900764e-06" ] }, - "execution_count": 12, + "execution_count": 14, "metadata": {}, "output_type": "execute_result" } @@ -638,7 +597,7 @@ ], "metadata": { "kernelspec": { - "display_name": "Python 3 (ipykernel)", + "display_name": "ai", "language": "python", "name": "python3" }, diff --git a/README.md b/README.md index 77f40a4..a7cb5f4 100644 --- a/README.md +++ b/README.md @@ -1,93 +1,5 @@ -# Model training +# Training of AI Surrogate Models +- run `git lfs pull` to get the data from the large file storage +- create conda environment with `conda env create -f environment.yml` - -## Getting started - -To make it easy for you to get started with GitLab, here's a list of recommended next steps. - -Already a pro? Just edit this README.md and make it your own. Want to make it easy? [Use the template at the bottom](#editing-this-readme)! - -## Add your files - -- [ ] [Create](https://docs.gitlab.com/ee/user/project/repository/web_editor.html#create-a-file) or [upload](https://docs.gitlab.com/ee/user/project/repository/web_editor.html#upload-a-file) files -- [ ] [Add files using the command line](https://docs.gitlab.com/ee/gitlab-basics/add-file.html#add-a-file-using-the-command-line) or push an existing Git repository with the following command: - -``` -cd existing_repo -git remote add origin https://git.gfz-potsdam.de/naaice/model-training.git -git branch -M main -git push -uf origin main -``` - -## Integrate with your tools - -- [ ] [Set up project integrations](https://git.gfz-potsdam.de/naaice/model-training/-/settings/integrations) - -## Collaborate with your team - -- [ ] [Invite team members and collaborators](https://docs.gitlab.com/ee/user/project/members/) -- [ ] [Create a new merge request](https://docs.gitlab.com/ee/user/project/merge_requests/creating_merge_requests.html) -- [ ] [Automatically close issues from merge requests](https://docs.gitlab.com/ee/user/project/issues/managing_issues.html#closing-issues-automatically) -- [ ] [Enable merge request approvals](https://docs.gitlab.com/ee/user/project/merge_requests/approvals/) -- [ ] [Set auto-merge](https://docs.gitlab.com/ee/user/project/merge_requests/merge_when_pipeline_succeeds.html) - -## Test and Deploy - -Use the built-in continuous integration in GitLab. - -- [ ] [Get started with GitLab CI/CD](https://docs.gitlab.com/ee/ci/quick_start/index.html) -- [ ] [Analyze your code for known vulnerabilities with Static Application Security Testing (SAST)](https://docs.gitlab.com/ee/user/application_security/sast/) -- [ ] [Deploy to Kubernetes, Amazon EC2, or Amazon ECS using Auto Deploy](https://docs.gitlab.com/ee/topics/autodevops/requirements.html) -- [ ] [Use pull-based deployments for improved Kubernetes management](https://docs.gitlab.com/ee/user/clusters/agent/) -- [ ] [Set up protected environments](https://docs.gitlab.com/ee/ci/environments/protected_environments.html) - -*** - -# Editing this README - -When you're ready to make this README your own, just edit this file and use the handy template below (or feel free to structure it however you want - this is just a starting point!). Thanks to [makeareadme.com](https://www.makeareadme.com/) for this template. - -## Suggestions for a good README - -Every project is different, so consider which of these sections apply to yours. The sections used in the template are suggestions for most open source projects. Also keep in mind that while a README can be too long and detailed, too long is better than too short. If you think your README is too long, consider utilizing another form of documentation rather than cutting out information. - -## Name -Choose a self-explaining name for your project. - -## Description -Let people know what your project can do specifically. Provide context and add a link to any reference visitors might be unfamiliar with. A list of Features or a Background subsection can also be added here. If there are alternatives to your project, this is a good place to list differentiating factors. - -## Badges -On some READMEs, you may see small images that convey metadata, such as whether or not all the tests are passing for the project. You can use Shields to add some to your README. Many services also have instructions for adding a badge. - -## Visuals -Depending on what you are making, it can be a good idea to include screenshots or even a video (you'll frequently see GIFs rather than actual videos). Tools like ttygif can help, but check out Asciinema for a more sophisticated method. - -## Installation -Within a particular ecosystem, there may be a common way of installing things, such as using Yarn, NuGet, or Homebrew. However, consider the possibility that whoever is reading your README is a novice and would like more guidance. Listing specific steps helps remove ambiguity and gets people to using your project as quickly as possible. If it only runs in a specific context like a particular programming language version or operating system or has dependencies that have to be installed manually, also add a Requirements subsection. - -## Usage -Use examples liberally, and show the expected output if you can. It's helpful to have inline the smallest example of usage that you can demonstrate, while providing links to more sophisticated examples if they are too long to reasonably include in the README. - -## Support -Tell people where they can go to for help. It can be any combination of an issue tracker, a chat room, an email address, etc. - -## Roadmap -If you have ideas for releases in the future, it is a good idea to list them in the README. - -## Contributing -State if you are open to contributions and what your requirements are for accepting them. - -For people who want to make changes to your project, it's helpful to have some documentation on how to get started. Perhaps there is a script that they should run or some environment variables that they need to set. Make these steps explicit. These instructions could also be useful to your future self. - -You can also document commands to lint the code or run tests. These steps help to ensure high code quality and reduce the likelihood that the changes inadvertently break something. Having instructions for running tests is especially helpful if it requires external setup, such as starting a Selenium server for testing in a browser. - -## Authors and acknowledgment -Show your appreciation to those who have contributed to the project. - -## License -For open source projects, say how it is licensed. - -## Project status -If you have run out of energy or time for your project, put a note at the top of the README saying that development has slowed down or stopped completely. Someone may choose to fork your project or volunteer to step in as a maintainer or owner, allowing your project to keep going. You can also make an explicit request for maintainers.