diff --git "a/EDA.ipynb" "b/EDA.ipynb" --- "a/EDA.ipynb" +++ "b/EDA.ipynb" @@ -16,9 +16,14 @@ " - [🚧 Image exploration](#toc3_3_) \n", "- [Data preprocessing](#toc4_) \n", "- [πŸ¦„πŸ¦„ CHECKPOINT πŸ¦„πŸ¦„](#toc5_) \n", - "- [Model Training](#toc6_) \n", - "- [🚧 fin Code JL](#toc7_) \n", - " - [Random Baseline](#toc7_1_) \n", + "- [🚧 OVERSAMPLING](#toc6_) \n", + "- [Model Training](#toc7_) \n", + " - [Load configuration](#toc7_1_) \n", + "- [🚧 MODEL CHOICE](#toc8_) \n", + " - [Prepare data](#toc8_1_) \n", + " - [Prepare model](#toc8_2_) \n", + " - [Training](#toc8_3_) \n", + " - [Random Baseline](#toc8_4_) \n", "\n", " 1\u001b[0m \u001b[43mstop\u001b[49m\n", + "Cell \u001b[0;32mIn[16], line 1\u001b[0m\n\u001b[0;32m----> 1\u001b[0m \u001b[43mstop\u001b[49m\n", "\u001b[0;31mNameError\u001b[0m: name 'stop' is not defined" ] } @@ -2239,21 +2883,21 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "# [Model Training](#toc0_)" + "# [Model Training](#toc0_)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "## Load configuration" + "## [Load configuration](#toc0_)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "# 🚧 MODEL CHOICE\n", + "# [🚧 MODEL CHOICE](#toc0_)\n", "\n", "- https://paperswithcode.com/sota/image-classification-on-imagenet\n", "- https://keras.io/api/applications/efficientnet_v2/#efficientnetv2m-function" @@ -2272,7 +2916,7 @@ }, { "cell_type": "code", - "execution_count": 29, + "execution_count": 183, "metadata": {}, "outputs": [], "source": [ @@ -2301,7 +2945,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "## Prepare data" + "## [Prepare data](#toc0_)" ] }, { @@ -2313,7 +2957,7 @@ }, { "cell_type": "code", - "execution_count": 30, + "execution_count": 184, "metadata": {}, "outputs": [ { @@ -2376,32 +3020,22 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "## Prepare model" + "## [Prepare model](#toc0_)" ] }, { "cell_type": "code", - "execution_count": 31, + "execution_count": 187, "metadata": {}, "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/Users/julmat/Documents/hugging_face/frugal_cviz/.venv/lib/python3.12/site-packages/keras/src/layers/layer.py:393: UserWarning:\n", - "\n", - "`build()` was called on layer 'conditional_augmentation_3', however the layer does not have a `build()` method implemented and it looks like it has unbuilt state. This will cause the layer to be marked as built, despite not being actually built, which may cause failures down the line. Make sure to implement a proper `build()` method.\n", - "\n" - ] - }, { "data": { "text/html": [ - "
Model: \"functional_3\"\n",
+       "
Model: \"functional_6\"\n",
        "
\n" ], "text/plain": [ - "\u001b[1mModel: \"functional_3\"\u001b[0m\n" + "\u001b[1mModel: \"functional_6\"\u001b[0m\n" ] }, "metadata": {}, @@ -2413,16 +3047,13 @@ "
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓\n",
        "┃ Layer (type)                    ┃ Output Shape           ┃       Param # ┃\n",
        "┑━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩\n",
-       "β”‚ input_layer_7 (InputLayer)      β”‚ (None, 224, 224, 3)    β”‚             0 β”‚\n",
-       "β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€\n",
-       "β”‚ conditional_augmentation_3      β”‚ (None, 224, 224, 3)    β”‚             0 β”‚\n",
-       "β”‚ (ConditionalAugmentation)       β”‚                        β”‚               β”‚\n",
+       "β”‚ input_layer_13 (InputLayer)     β”‚ (None, 224, 224, 3)    β”‚             0 β”‚\n",
        "β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€\n",
        "β”‚ efficientnetb0 (Functional)     β”‚ (None, 7, 7, 1280)     β”‚     4,049,571 β”‚\n",
        "β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€\n",
-       "β”‚ flatten_3 (Flatten)             β”‚ (None, 62720)          β”‚             0 β”‚\n",
+       "β”‚ flatten_6 (Flatten)             β”‚ (None, 62720)          β”‚             0 β”‚\n",
        "β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€\n",
-       "β”‚ dense_3 (Dense)                 β”‚ (None, 1)              β”‚        62,721 β”‚\n",
+       "β”‚ dense_6 (Dense)                 β”‚ (None, 1)              β”‚        62,721 β”‚\n",
        "β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜\n",
        "
\n" ], @@ -2430,16 +3061,13 @@ "┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓\n", "┃\u001b[1m \u001b[0m\u001b[1mLayer (type) \u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1mOutput Shape \u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1m Param #\u001b[0m\u001b[1m \u001b[0m┃\n", "┑━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩\n", - "β”‚ input_layer_7 (\u001b[38;5;33mInputLayer\u001b[0m) β”‚ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m224\u001b[0m, \u001b[38;5;34m224\u001b[0m, \u001b[38;5;34m3\u001b[0m) β”‚ \u001b[38;5;34m0\u001b[0m β”‚\n", - "β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€\n", - "β”‚ conditional_augmentation_3 β”‚ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m224\u001b[0m, \u001b[38;5;34m224\u001b[0m, \u001b[38;5;34m3\u001b[0m) β”‚ \u001b[38;5;34m0\u001b[0m β”‚\n", - "β”‚ (\u001b[38;5;33mConditionalAugmentation\u001b[0m) β”‚ β”‚ β”‚\n", + "β”‚ input_layer_13 (\u001b[38;5;33mInputLayer\u001b[0m) β”‚ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m224\u001b[0m, \u001b[38;5;34m224\u001b[0m, \u001b[38;5;34m3\u001b[0m) β”‚ \u001b[38;5;34m0\u001b[0m β”‚\n", "β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€\n", "β”‚ efficientnetb0 (\u001b[38;5;33mFunctional\u001b[0m) β”‚ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m7\u001b[0m, \u001b[38;5;34m7\u001b[0m, \u001b[38;5;34m1280\u001b[0m) β”‚ \u001b[38;5;34m4,049,571\u001b[0m β”‚\n", "β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€\n", - "β”‚ flatten_3 (\u001b[38;5;33mFlatten\u001b[0m) β”‚ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m62720\u001b[0m) β”‚ \u001b[38;5;34m0\u001b[0m β”‚\n", + "β”‚ flatten_6 (\u001b[38;5;33mFlatten\u001b[0m) β”‚ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m62720\u001b[0m) β”‚ \u001b[38;5;34m0\u001b[0m β”‚\n", "β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€\n", - "β”‚ dense_3 (\u001b[38;5;33mDense\u001b[0m) β”‚ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m1\u001b[0m) β”‚ \u001b[38;5;34m62,721\u001b[0m β”‚\n", + "β”‚ dense_6 (\u001b[38;5;33mDense\u001b[0m) β”‚ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m1\u001b[0m) β”‚ \u001b[38;5;34m62,721\u001b[0m β”‚\n", "β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜\n" ] }, @@ -2496,8 +3124,9 @@ "# Create explicit input layer\n", "inputs = tf.keras.Input(shape=(input_size[0], input_size[1], 3))\n", "# add data augmentation\n", - "augmented = ConditionalAugmentation(rate=0.4)(inputs)\n", - "x = model(augmented)\n", + "# augmented = ConditionalAugmentation(rate=0.4)(inputs)\n", + "# x = model(augmented)\n", + "x = model(inputs)\n", "\n", "# Flatten output\n", "x = Flatten()(x)\n", @@ -2516,7 +3145,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "## Training" + "## [Training](#toc0_)" ] }, { @@ -2674,7 +3303,7 @@ }, { "cell_type": "code", - "execution_count": 33, + "execution_count": null, "metadata": {}, "outputs": [ { @@ -2737,7 +3366,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "## [Random Baseline](#toc0_)" + "## [Random Baseline](#toc0_)" ] }, {