{ "nbformat": 4, "nbformat_minor": 0, "metadata": { "colab": { "provenance": [], "gpuType": "T4" }, "kernelspec": { "name": "python3", "display_name": "Python 3" }, "language_info": { "name": "python" }, "accelerator": "GPU", "widgets": { "application/vnd.jupyter.widget-state+json": { "ea8bed4c2f59465c960a0f7959d11d5a": { "model_module": "@jupyter-widgets/controls", "model_name": "HBoxModel", "model_module_version": "1.5.0", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HBoxModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HBoxView", "box_style": "", "children": [ "IPY_MODEL_ba9f0a636b12483092c98a04425fabf3", "IPY_MODEL_62270654be6d449e95ae164b45bedc7f", "IPY_MODEL_b76d24c1fa2e4039a7ba04ca48c0a6fe" ], "layout": "IPY_MODEL_97f44ea194ef4907848c95520687b5d5" } }, "ba9f0a636b12483092c98a04425fabf3": { "model_module": "@jupyter-widgets/controls", "model_name": "HTMLModel", "model_module_version": "1.5.0", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HTMLView", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_a1d0729c068349818e258c1adafa0444", "placeholder": "​", "style": "IPY_MODEL_d5e5e8f006b24da282268d6169cb0d2d", "value": "(…)gps_regressor_complete_changed_betas.pth: 100%" } }, "62270654be6d449e95ae164b45bedc7f": { "model_module": "@jupyter-widgets/controls", "model_name": "FloatProgressModel", "model_module_version": "1.5.0", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "FloatProgressModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "ProgressView", "bar_style": "success", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_48807f50f9e94dacb2234a05e0d6b261", "max": 81775818, "min": 0, "orientation": "horizontal", "style": "IPY_MODEL_f6a23b7080bd4281ad660b06a2817e8b", "value": 81775818 } }, "b76d24c1fa2e4039a7ba04ca48c0a6fe": { "model_module": "@jupyter-widgets/controls", "model_name": "HTMLModel", "model_module_version": "1.5.0", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HTMLView", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_b8ddf21d3a104f35b6c978287e4bc550", "placeholder": "​", "style": "IPY_MODEL_00f4efad12aa4342a2b312ddc0c8d91c", "value": " 81.8M/81.8M [00:03<00:00, 26.2MB/s]" } }, "97f44ea194ef4907848c95520687b5d5": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "model_module_version": "1.2.0", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "a1d0729c068349818e258c1adafa0444": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "model_module_version": "1.2.0", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "d5e5e8f006b24da282268d6169cb0d2d": { "model_module": "@jupyter-widgets/controls", "model_name": "DescriptionStyleModel", "model_module_version": "1.5.0", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "DescriptionStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "description_width": "" } }, "48807f50f9e94dacb2234a05e0d6b261": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "model_module_version": "1.2.0", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "f6a23b7080bd4281ad660b06a2817e8b": { "model_module": "@jupyter-widgets/controls", "model_name": "ProgressStyleModel", "model_module_version": "1.5.0", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "ProgressStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "bar_color": null, "description_width": "" } }, "b8ddf21d3a104f35b6c978287e4bc550": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "model_module_version": "1.2.0", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "00f4efad12aa4342a2b312ddc0c8d91c": { "model_module": "@jupyter-widgets/controls", "model_name": "DescriptionStyleModel", "model_module_version": "1.5.0", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "DescriptionStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "description_width": "" } } } } }, "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "uoEz8DyTYUts", "outputId": "9fcffbe6-f9a0-4848-c83f-4463f73631c5" }, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "Collecting datasets\n", " Downloading datasets-3.2.0-py3-none-any.whl.metadata (20 kB)\n", "Requirement already satisfied: filelock in /usr/local/lib/python3.10/dist-packages (from datasets) (3.16.1)\n", "Requirement already satisfied: numpy>=1.17 in /usr/local/lib/python3.10/dist-packages (from datasets) (1.26.4)\n", "Requirement already satisfied: pyarrow>=15.0.0 in /usr/local/lib/python3.10/dist-packages (from datasets) (17.0.0)\n", "Collecting dill<0.3.9,>=0.3.0 (from datasets)\n", " Downloading dill-0.3.8-py3-none-any.whl.metadata (10 kB)\n", "Requirement already satisfied: pandas in /usr/local/lib/python3.10/dist-packages (from datasets) (2.2.2)\n", "Requirement already satisfied: requests>=2.32.2 in /usr/local/lib/python3.10/dist-packages (from datasets) (2.32.3)\n", "Requirement already satisfied: tqdm>=4.66.3 in /usr/local/lib/python3.10/dist-packages (from datasets) (4.66.6)\n", "Collecting xxhash (from datasets)\n", " Downloading xxhash-3.5.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (12 kB)\n", "Collecting multiprocess<0.70.17 (from datasets)\n", " Downloading multiprocess-0.70.16-py310-none-any.whl.metadata (7.2 kB)\n", "Collecting fsspec<=2024.9.0,>=2023.1.0 (from fsspec[http]<=2024.9.0,>=2023.1.0->datasets)\n", " Downloading fsspec-2024.9.0-py3-none-any.whl.metadata (11 kB)\n", "Requirement already satisfied: aiohttp in /usr/local/lib/python3.10/dist-packages (from datasets) (3.11.10)\n", "Requirement already satisfied: huggingface-hub>=0.23.0 in /usr/local/lib/python3.10/dist-packages (from datasets) (0.26.5)\n", "Requirement already satisfied: packaging in /usr/local/lib/python3.10/dist-packages (from datasets) (24.2)\n", "Requirement already satisfied: pyyaml>=5.1 in /usr/local/lib/python3.10/dist-packages (from datasets) (6.0.2)\n", "Requirement already satisfied: aiohappyeyeballs>=2.3.0 in /usr/local/lib/python3.10/dist-packages (from aiohttp->datasets) (2.4.4)\n", "Requirement already satisfied: aiosignal>=1.1.2 in /usr/local/lib/python3.10/dist-packages (from aiohttp->datasets) (1.3.1)\n", "Requirement already satisfied: async-timeout<6.0,>=4.0 in /usr/local/lib/python3.10/dist-packages (from aiohttp->datasets) (4.0.3)\n", "Requirement already satisfied: attrs>=17.3.0 in /usr/local/lib/python3.10/dist-packages (from aiohttp->datasets) (24.2.0)\n", "Requirement already satisfied: frozenlist>=1.1.1 in /usr/local/lib/python3.10/dist-packages (from aiohttp->datasets) (1.5.0)\n", "Requirement already satisfied: multidict<7.0,>=4.5 in /usr/local/lib/python3.10/dist-packages (from aiohttp->datasets) (6.1.0)\n", "Requirement already satisfied: propcache>=0.2.0 in /usr/local/lib/python3.10/dist-packages (from aiohttp->datasets) (0.2.1)\n", "Requirement already satisfied: yarl<2.0,>=1.17.0 in /usr/local/lib/python3.10/dist-packages (from aiohttp->datasets) (1.18.3)\n", "Requirement already satisfied: typing-extensions>=3.7.4.3 in /usr/local/lib/python3.10/dist-packages (from huggingface-hub>=0.23.0->datasets) (4.12.2)\n", "Requirement already satisfied: charset-normalizer<4,>=2 in /usr/local/lib/python3.10/dist-packages (from requests>=2.32.2->datasets) (3.4.0)\n", "Requirement already satisfied: idna<4,>=2.5 in /usr/local/lib/python3.10/dist-packages (from requests>=2.32.2->datasets) (3.10)\n", "Requirement already satisfied: urllib3<3,>=1.21.1 in /usr/local/lib/python3.10/dist-packages (from requests>=2.32.2->datasets) (2.2.3)\n", "Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.10/dist-packages (from requests>=2.32.2->datasets) (2024.8.30)\n", "Requirement already satisfied: python-dateutil>=2.8.2 in /usr/local/lib/python3.10/dist-packages (from pandas->datasets) (2.8.2)\n", "Requirement already satisfied: pytz>=2020.1 in /usr/local/lib/python3.10/dist-packages (from pandas->datasets) (2024.2)\n", "Requirement already satisfied: tzdata>=2022.7 in /usr/local/lib/python3.10/dist-packages (from pandas->datasets) (2024.2)\n", "Requirement already satisfied: six>=1.5 in /usr/local/lib/python3.10/dist-packages (from python-dateutil>=2.8.2->pandas->datasets) (1.17.0)\n", "Downloading datasets-3.2.0-py3-none-any.whl (480 kB)\n", "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m480.6/480.6 kB\u001b[0m \u001b[31m15.8 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", "\u001b[?25hDownloading dill-0.3.8-py3-none-any.whl (116 kB)\n", "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m116.3/116.3 kB\u001b[0m \u001b[31m2.2 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", "\u001b[?25hDownloading fsspec-2024.9.0-py3-none-any.whl (179 kB)\n", "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m179.3/179.3 kB\u001b[0m \u001b[31m9.8 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", "\u001b[?25hDownloading multiprocess-0.70.16-py310-none-any.whl (134 kB)\n", "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m134.8/134.8 kB\u001b[0m \u001b[31m7.1 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", "\u001b[?25hDownloading xxhash-3.5.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (194 kB)\n", "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m194.1/194.1 kB\u001b[0m \u001b[31m6.5 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", "\u001b[?25hInstalling collected packages: xxhash, fsspec, dill, multiprocess, datasets\n", " Attempting uninstall: fsspec\n", " Found existing installation: fsspec 2024.10.0\n", " Uninstalling fsspec-2024.10.0:\n", " Successfully uninstalled fsspec-2024.10.0\n", "\u001b[31mERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.\n", "gcsfs 2024.10.0 requires fsspec==2024.10.0, but you have fsspec 2024.9.0 which is incompatible.\u001b[0m\u001b[31m\n", "\u001b[0mSuccessfully installed datasets-3.2.0 dill-0.3.8 fsspec-2024.9.0 multiprocess-0.70.16 xxhash-3.5.0\n" ] } ], "source": [ "!pip install datasets" ] }, { "cell_type": "code", "source": [ "!pip install huggingface_hub" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "pnoqloVaYcZc", "outputId": "f5d8c8c2-5c6d-4b95-b10a-1d2b95be1d1d" }, "execution_count": 2, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "Requirement already satisfied: huggingface_hub in /usr/local/lib/python3.10/dist-packages (0.26.5)\n", "Requirement already satisfied: filelock in /usr/local/lib/python3.10/dist-packages (from huggingface_hub) (3.16.1)\n", "Requirement already satisfied: fsspec>=2023.5.0 in /usr/local/lib/python3.10/dist-packages (from huggingface_hub) (2024.9.0)\n", "Requirement already satisfied: packaging>=20.9 in /usr/local/lib/python3.10/dist-packages (from huggingface_hub) (24.2)\n", "Requirement already satisfied: pyyaml>=5.1 in /usr/local/lib/python3.10/dist-packages (from huggingface_hub) (6.0.2)\n", "Requirement already satisfied: requests in /usr/local/lib/python3.10/dist-packages (from huggingface_hub) (2.32.3)\n", "Requirement already satisfied: tqdm>=4.42.1 in /usr/local/lib/python3.10/dist-packages (from huggingface_hub) (4.66.6)\n", "Requirement already satisfied: typing-extensions>=3.7.4.3 in /usr/local/lib/python3.10/dist-packages (from huggingface_hub) (4.12.2)\n", "Requirement already satisfied: charset-normalizer<4,>=2 in /usr/local/lib/python3.10/dist-packages (from requests->huggingface_hub) (3.4.0)\n", "Requirement already satisfied: idna<4,>=2.5 in /usr/local/lib/python3.10/dist-packages (from requests->huggingface_hub) (3.10)\n", "Requirement already satisfied: urllib3<3,>=1.21.1 in /usr/local/lib/python3.10/dist-packages (from requests->huggingface_hub) (2.2.3)\n", "Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.10/dist-packages (from requests->huggingface_hub) (2024.8.30)\n" ] } ] }, { "cell_type": "code", "source": [ "!pip install requests" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "AV0maTmHY-ub", "outputId": "e79de750-361d-4272-fcd7-fc83bde58d6d" }, "execution_count": 3, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "Requirement already satisfied: requests in /usr/local/lib/python3.10/dist-packages (2.32.3)\n", "Requirement already satisfied: charset-normalizer<4,>=2 in /usr/local/lib/python3.10/dist-packages (from requests) (3.4.0)\n", "Requirement already satisfied: idna<4,>=2.5 in /usr/local/lib/python3.10/dist-packages (from requests) (3.10)\n", "Requirement already satisfied: urllib3<3,>=1.21.1 in /usr/local/lib/python3.10/dist-packages (from requests) (2.2.3)\n", "Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.10/dist-packages (from requests) (2024.8.30)\n" ] } ] }, { "cell_type": "code", "source": [ "import torch\n", "import torch.nn as nn\n", "import torch.optim as optim\n", "from torchvision.models import efficientnet_v2_s\n", "from torch.optim.lr_scheduler import CosineAnnealingLR\n", "from torchvision import transforms\n", "from torch.utils.data import DataLoader, Dataset\n", "from torchvision.transforms import functional as F\n", "from PIL import Image\n", "import numpy as np\n", "from sklearn.metrics import mean_absolute_error, mean_squared_error\n", "from huggingface_hub import PyTorchModelHubMixin\n", "import os\n", "\n", "\n", "# Model Definition\n", "class CustomGPSModel(nn.Module):\n", " def __init__(self):\n", " super(CustomGPSModel, self).__init__()\n", "\n", " # Load EfficientNetV2-S with pretrained weights\n", " self.efficientnet = efficientnet_v2_s(pretrained=True)\n", "\n", " # Modify the final layer for regression (predicting latitude and longitude)\n", " num_features = self.efficientnet.classifier[1].in_features\n", " self.efficientnet.classifier[1] = nn.Linear(num_features, 2) # Output layer has 2 outputs for latitude & longitude\n", "\n", " # Don't freeze earlier layers\n", " for param in self.efficientnet.features.parameters():\n", " param.requires_grad = True\n", "\n", " def forward(self, x):\n", " return self.efficientnet(x) # Forward pass through EfficientNet" ], "metadata": { "id": "uBlw8T7r-EmY" }, "execution_count": 4, "outputs": [] }, { "cell_type": "code", "source": [ "from huggingface_hub import hf_hub_download\n", "import torch\n", "\n", "path_name = \"efficientnet_gps_regressor_complete_changed_betas.pth\"\n", "repo_name = \"CustomGPSModel_EfficientNetV2_Run2\"\n", "organization_name = \"LAJ-519-Image-Project\"\n", "\n", "# Specify the repository and the filename of the model you want to load\n", "repo_id = f\"{organization_name}/{repo_name}\"\n", "filename = f\"{path_name}\"\n", "\n", "model_path = hf_hub_download(repo_id=repo_id, filename=filename)\n", "\n", "# Load the model using torch\n", "model_test = torch.load(model_path)\n", "model_test.eval()" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 1000, "referenced_widgets": [ "ea8bed4c2f59465c960a0f7959d11d5a", "ba9f0a636b12483092c98a04425fabf3", "62270654be6d449e95ae164b45bedc7f", "b76d24c1fa2e4039a7ba04ca48c0a6fe", "97f44ea194ef4907848c95520687b5d5", "a1d0729c068349818e258c1adafa0444", "d5e5e8f006b24da282268d6169cb0d2d", "48807f50f9e94dacb2234a05e0d6b261", "f6a23b7080bd4281ad660b06a2817e8b", "b8ddf21d3a104f35b6c978287e4bc550", "00f4efad12aa4342a2b312ddc0c8d91c" ] }, "id": "eVrRN-sKZQbq", "outputId": "6ac1b12c-0128-4333-e513-d83cc24abf0f" }, "execution_count": 5, "outputs": [ { "output_type": "stream", "name": "stderr", "text": [ "/usr/local/lib/python3.10/dist-packages/huggingface_hub/utils/_auth.py:94: UserWarning: \n", "The secret `HF_TOKEN` does not exist in your Colab secrets.\n", "To authenticate with the Hugging Face Hub, create a token in your settings tab (https://huggingface.co/settings/tokens), set it as secret in your Google Colab and restart your session.\n", "You will be able to reuse this secret in all of your notebooks.\n", "Please note that authentication is recommended but still optional to access public models or datasets.\n", " warnings.warn(\n" ] }, { "output_type": "display_data", "data": { "text/plain": [ "(…)gps_regressor_complete_changed_betas.pth: 0%| | 0.00/81.8M [00:00:15: FutureWarning: You are using `torch.load` with `weights_only=False` (the current default value), which uses the default pickle module implicitly. It is possible to construct malicious pickle data which will execute arbitrary code during unpickling (See https://github.com/pytorch/pytorch/blob/main/SECURITY.md#untrusted-models for more details). In a future release, the default value for `weights_only` will be flipped to `True`. This limits the functions that could be executed during unpickling. Arbitrary objects will no longer be allowed to be loaded via this mode unless they are explicitly allowlisted by the user via `torch.serialization.add_safe_globals`. We recommend you start setting `weights_only=True` for any use case where you don't have full control of the loaded file. Please open an issue on GitHub for any issues related to this experimental feature.\n", " model_test = torch.load(model_path)\n" ] }, { "output_type": "execute_result", "data": { "text/plain": [ "CustomGPSModel(\n", " (efficientnet): EfficientNet(\n", " (features): Sequential(\n", " (0): Conv2dNormActivation(\n", " (0): Conv2d(3, 24, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)\n", " (1): BatchNorm2d(24, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", " (2): SiLU(inplace=True)\n", " )\n", " (1): Sequential(\n", " (0): FusedMBConv(\n", " (block): Sequential(\n", " (0): Conv2dNormActivation(\n", " (0): Conv2d(24, 24, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)\n", " (1): BatchNorm2d(24, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", " (2): SiLU(inplace=True)\n", " )\n", " )\n", " (stochastic_depth): StochasticDepth(p=0.0, mode=row)\n", " )\n", " (1): FusedMBConv(\n", " (block): Sequential(\n", " (0): Conv2dNormActivation(\n", " (0): Conv2d(24, 24, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)\n", " (1): BatchNorm2d(24, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", " (2): SiLU(inplace=True)\n", " )\n", " )\n", " (stochastic_depth): StochasticDepth(p=0.005, mode=row)\n", " )\n", " )\n", " (2): Sequential(\n", " (0): FusedMBConv(\n", " (block): Sequential(\n", " (0): Conv2dNormActivation(\n", " (0): Conv2d(24, 96, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)\n", " (1): BatchNorm2d(96, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", " (2): SiLU(inplace=True)\n", " )\n", " (1): Conv2dNormActivation(\n", " (0): Conv2d(96, 48, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", " (1): BatchNorm2d(48, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", " )\n", " )\n", " (stochastic_depth): StochasticDepth(p=0.01, mode=row)\n", " )\n", " (1): FusedMBConv(\n", " (block): Sequential(\n", " (0): Conv2dNormActivation(\n", " (0): Conv2d(48, 192, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)\n", " (1): BatchNorm2d(192, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", " (2): SiLU(inplace=True)\n", " )\n", " (1): Conv2dNormActivation(\n", " (0): Conv2d(192, 48, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", " (1): BatchNorm2d(48, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", " )\n", " )\n", " (stochastic_depth): StochasticDepth(p=0.015000000000000003, mode=row)\n", " )\n", " (2): FusedMBConv(\n", " (block): Sequential(\n", " (0): Conv2dNormActivation(\n", " (0): Conv2d(48, 192, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)\n", " (1): BatchNorm2d(192, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", " (2): SiLU(inplace=True)\n", " )\n", " (1): Conv2dNormActivation(\n", " (0): Conv2d(192, 48, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", " (1): BatchNorm2d(48, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", " )\n", " )\n", " (stochastic_depth): StochasticDepth(p=0.02, mode=row)\n", " )\n", " (3): FusedMBConv(\n", " (block): Sequential(\n", " (0): Conv2dNormActivation(\n", " (0): Conv2d(48, 192, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)\n", " (1): BatchNorm2d(192, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", " (2): SiLU(inplace=True)\n", " )\n", " (1): Conv2dNormActivation(\n", " (0): Conv2d(192, 48, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", " (1): BatchNorm2d(48, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", " )\n", " )\n", " (stochastic_depth): StochasticDepth(p=0.025, mode=row)\n", " )\n", " )\n", " (3): Sequential(\n", " (0): FusedMBConv(\n", " (block): Sequential(\n", " (0): Conv2dNormActivation(\n", " (0): Conv2d(48, 192, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)\n", " (1): BatchNorm2d(192, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", " (2): SiLU(inplace=True)\n", " )\n", " (1): Conv2dNormActivation(\n", " (0): Conv2d(192, 64, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", " (1): BatchNorm2d(64, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", " )\n", " )\n", " (stochastic_depth): StochasticDepth(p=0.030000000000000006, mode=row)\n", " )\n", " (1): FusedMBConv(\n", " (block): Sequential(\n", " (0): Conv2dNormActivation(\n", " (0): Conv2d(64, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)\n", " (1): BatchNorm2d(256, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", " (2): SiLU(inplace=True)\n", " )\n", " (1): Conv2dNormActivation(\n", " (0): Conv2d(256, 64, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", " (1): BatchNorm2d(64, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", " )\n", " )\n", " (stochastic_depth): StochasticDepth(p=0.035, mode=row)\n", " )\n", " (2): FusedMBConv(\n", " (block): Sequential(\n", " (0): Conv2dNormActivation(\n", " (0): Conv2d(64, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)\n", " (1): BatchNorm2d(256, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", " (2): SiLU(inplace=True)\n", " )\n", " (1): Conv2dNormActivation(\n", " (0): Conv2d(256, 64, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", " (1): BatchNorm2d(64, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", " )\n", " )\n", " (stochastic_depth): StochasticDepth(p=0.04, mode=row)\n", " )\n", " (3): FusedMBConv(\n", " (block): Sequential(\n", " (0): Conv2dNormActivation(\n", " (0): Conv2d(64, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)\n", " (1): BatchNorm2d(256, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", " (2): SiLU(inplace=True)\n", " )\n", " (1): Conv2dNormActivation(\n", " (0): Conv2d(256, 64, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", " (1): BatchNorm2d(64, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", " )\n", " )\n", " (stochastic_depth): StochasticDepth(p=0.045, mode=row)\n", " )\n", " )\n", " (4): Sequential(\n", " (0): MBConv(\n", " (block): Sequential(\n", " (0): Conv2dNormActivation(\n", " (0): Conv2d(64, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", " (1): BatchNorm2d(256, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", " (2): SiLU(inplace=True)\n", " )\n", " (1): Conv2dNormActivation(\n", " (0): Conv2d(256, 256, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), groups=256, bias=False)\n", " (1): BatchNorm2d(256, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", " (2): SiLU(inplace=True)\n", " )\n", " (2): SqueezeExcitation(\n", " (avgpool): AdaptiveAvgPool2d(output_size=1)\n", " (fc1): Conv2d(256, 16, kernel_size=(1, 1), stride=(1, 1))\n", " (fc2): Conv2d(16, 256, kernel_size=(1, 1), stride=(1, 1))\n", " (activation): SiLU(inplace=True)\n", " (scale_activation): Sigmoid()\n", " )\n", " (3): Conv2dNormActivation(\n", " (0): Conv2d(256, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", " (1): BatchNorm2d(128, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", " )\n", " )\n", " (stochastic_depth): StochasticDepth(p=0.05, mode=row)\n", " )\n", " (1): MBConv(\n", " (block): Sequential(\n", " (0): Conv2dNormActivation(\n", " (0): Conv2d(128, 512, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", " (1): BatchNorm2d(512, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", " (2): SiLU(inplace=True)\n", " )\n", " (1): Conv2dNormActivation(\n", " (0): Conv2d(512, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=512, bias=False)\n", " (1): BatchNorm2d(512, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", " (2): SiLU(inplace=True)\n", " )\n", " (2): SqueezeExcitation(\n", " (avgpool): AdaptiveAvgPool2d(output_size=1)\n", " (fc1): Conv2d(512, 32, kernel_size=(1, 1), stride=(1, 1))\n", " (fc2): Conv2d(32, 512, kernel_size=(1, 1), stride=(1, 1))\n", " (activation): SiLU(inplace=True)\n", " (scale_activation): Sigmoid()\n", " )\n", " (3): Conv2dNormActivation(\n", " (0): Conv2d(512, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", " (1): BatchNorm2d(128, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", " )\n", " )\n", " (stochastic_depth): StochasticDepth(p=0.05500000000000001, mode=row)\n", " )\n", " (2): MBConv(\n", " (block): Sequential(\n", " (0): Conv2dNormActivation(\n", " (0): Conv2d(128, 512, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", " (1): BatchNorm2d(512, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", " (2): SiLU(inplace=True)\n", " )\n", " (1): Conv2dNormActivation(\n", " (0): Conv2d(512, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=512, bias=False)\n", " (1): BatchNorm2d(512, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", " (2): SiLU(inplace=True)\n", " )\n", " (2): SqueezeExcitation(\n", " (avgpool): AdaptiveAvgPool2d(output_size=1)\n", " (fc1): Conv2d(512, 32, kernel_size=(1, 1), stride=(1, 1))\n", " (fc2): Conv2d(32, 512, kernel_size=(1, 1), stride=(1, 1))\n", " (activation): SiLU(inplace=True)\n", " (scale_activation): Sigmoid()\n", " )\n", " (3): Conv2dNormActivation(\n", " (0): Conv2d(512, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", " (1): BatchNorm2d(128, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", " )\n", " )\n", " (stochastic_depth): StochasticDepth(p=0.06000000000000001, mode=row)\n", " )\n", " (3): MBConv(\n", " (block): Sequential(\n", " (0): Conv2dNormActivation(\n", " (0): Conv2d(128, 512, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", " (1): BatchNorm2d(512, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", " (2): SiLU(inplace=True)\n", " )\n", " (1): Conv2dNormActivation(\n", " (0): Conv2d(512, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=512, bias=False)\n", " (1): BatchNorm2d(512, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", " (2): SiLU(inplace=True)\n", " )\n", " (2): SqueezeExcitation(\n", " (avgpool): AdaptiveAvgPool2d(output_size=1)\n", " (fc1): Conv2d(512, 32, kernel_size=(1, 1), stride=(1, 1))\n", " (fc2): Conv2d(32, 512, kernel_size=(1, 1), stride=(1, 1))\n", " (activation): SiLU(inplace=True)\n", " (scale_activation): Sigmoid()\n", " )\n", " (3): Conv2dNormActivation(\n", " (0): Conv2d(512, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", " (1): BatchNorm2d(128, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", " )\n", " )\n", " (stochastic_depth): StochasticDepth(p=0.065, mode=row)\n", " )\n", " (4): MBConv(\n", " (block): Sequential(\n", " (0): Conv2dNormActivation(\n", " (0): Conv2d(128, 512, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", " (1): BatchNorm2d(512, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", " (2): SiLU(inplace=True)\n", " )\n", " (1): Conv2dNormActivation(\n", " (0): Conv2d(512, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=512, bias=False)\n", " (1): BatchNorm2d(512, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", " (2): SiLU(inplace=True)\n", " )\n", " (2): SqueezeExcitation(\n", " (avgpool): AdaptiveAvgPool2d(output_size=1)\n", " (fc1): Conv2d(512, 32, kernel_size=(1, 1), stride=(1, 1))\n", " (fc2): Conv2d(32, 512, kernel_size=(1, 1), stride=(1, 1))\n", " (activation): SiLU(inplace=True)\n", " (scale_activation): Sigmoid()\n", " )\n", " (3): Conv2dNormActivation(\n", " (0): Conv2d(512, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", " (1): BatchNorm2d(128, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", " )\n", " )\n", " (stochastic_depth): StochasticDepth(p=0.07, mode=row)\n", " )\n", " (5): MBConv(\n", " (block): Sequential(\n", " (0): Conv2dNormActivation(\n", " (0): Conv2d(128, 512, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", " (1): BatchNorm2d(512, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", " (2): SiLU(inplace=True)\n", " )\n", " (1): Conv2dNormActivation(\n", " (0): Conv2d(512, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=512, bias=False)\n", " (1): BatchNorm2d(512, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", " (2): SiLU(inplace=True)\n", " )\n", " (2): SqueezeExcitation(\n", " (avgpool): AdaptiveAvgPool2d(output_size=1)\n", " (fc1): Conv2d(512, 32, kernel_size=(1, 1), stride=(1, 1))\n", " (fc2): Conv2d(32, 512, kernel_size=(1, 1), stride=(1, 1))\n", " (activation): SiLU(inplace=True)\n", " (scale_activation): Sigmoid()\n", " )\n", " (3): Conv2dNormActivation(\n", " (0): Conv2d(512, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", " (1): BatchNorm2d(128, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", " )\n", " )\n", " (stochastic_depth): StochasticDepth(p=0.075, mode=row)\n", " )\n", " )\n", " (5): Sequential(\n", " (0): MBConv(\n", " (block): Sequential(\n", " (0): Conv2dNormActivation(\n", " (0): Conv2d(128, 768, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", " (1): BatchNorm2d(768, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", " (2): SiLU(inplace=True)\n", " )\n", " (1): Conv2dNormActivation(\n", " (0): Conv2d(768, 768, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=768, bias=False)\n", " (1): BatchNorm2d(768, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", " (2): SiLU(inplace=True)\n", " )\n", " (2): SqueezeExcitation(\n", " (avgpool): AdaptiveAvgPool2d(output_size=1)\n", " (fc1): Conv2d(768, 32, kernel_size=(1, 1), stride=(1, 1))\n", " (fc2): Conv2d(32, 768, kernel_size=(1, 1), stride=(1, 1))\n", " (activation): SiLU(inplace=True)\n", " (scale_activation): Sigmoid()\n", " )\n", " (3): Conv2dNormActivation(\n", " (0): Conv2d(768, 160, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", " (1): BatchNorm2d(160, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", " )\n", " )\n", " (stochastic_depth): StochasticDepth(p=0.08, mode=row)\n", " )\n", " (1): MBConv(\n", " (block): Sequential(\n", " (0): Conv2dNormActivation(\n", " (0): Conv2d(160, 960, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", " (1): BatchNorm2d(960, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", " (2): SiLU(inplace=True)\n", " )\n", " (1): Conv2dNormActivation(\n", " (0): Conv2d(960, 960, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=960, bias=False)\n", " (1): BatchNorm2d(960, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", " (2): SiLU(inplace=True)\n", " )\n", " (2): SqueezeExcitation(\n", " (avgpool): AdaptiveAvgPool2d(output_size=1)\n", " (fc1): Conv2d(960, 40, kernel_size=(1, 1), stride=(1, 1))\n", " (fc2): Conv2d(40, 960, kernel_size=(1, 1), stride=(1, 1))\n", " (activation): SiLU(inplace=True)\n", " (scale_activation): Sigmoid()\n", " )\n", " (3): Conv2dNormActivation(\n", " (0): Conv2d(960, 160, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", " (1): BatchNorm2d(160, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", " )\n", " )\n", " (stochastic_depth): StochasticDepth(p=0.085, mode=row)\n", " )\n", " (2): MBConv(\n", " (block): Sequential(\n", " (0): Conv2dNormActivation(\n", " (0): Conv2d(160, 960, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", " (1): BatchNorm2d(960, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", " (2): SiLU(inplace=True)\n", " )\n", " (1): Conv2dNormActivation(\n", " (0): Conv2d(960, 960, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=960, bias=False)\n", " (1): BatchNorm2d(960, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", " (2): SiLU(inplace=True)\n", " )\n", " (2): SqueezeExcitation(\n", " (avgpool): AdaptiveAvgPool2d(output_size=1)\n", " (fc1): Conv2d(960, 40, kernel_size=(1, 1), stride=(1, 1))\n", " (fc2): Conv2d(40, 960, kernel_size=(1, 1), stride=(1, 1))\n", " (activation): SiLU(inplace=True)\n", " (scale_activation): Sigmoid()\n", " )\n", " (3): Conv2dNormActivation(\n", " (0): Conv2d(960, 160, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", " (1): BatchNorm2d(160, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", " )\n", " )\n", " (stochastic_depth): StochasticDepth(p=0.09, mode=row)\n", " )\n", " (3): MBConv(\n", " (block): Sequential(\n", " (0): Conv2dNormActivation(\n", " (0): Conv2d(160, 960, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", " (1): BatchNorm2d(960, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", " (2): SiLU(inplace=True)\n", " )\n", " (1): Conv2dNormActivation(\n", " (0): Conv2d(960, 960, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=960, bias=False)\n", " (1): BatchNorm2d(960, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", " (2): SiLU(inplace=True)\n", " )\n", " (2): SqueezeExcitation(\n", " (avgpool): AdaptiveAvgPool2d(output_size=1)\n", " (fc1): Conv2d(960, 40, kernel_size=(1, 1), stride=(1, 1))\n", " (fc2): Conv2d(40, 960, kernel_size=(1, 1), stride=(1, 1))\n", " (activation): SiLU(inplace=True)\n", " (scale_activation): Sigmoid()\n", " )\n", " (3): Conv2dNormActivation(\n", " (0): Conv2d(960, 160, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", " (1): BatchNorm2d(160, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", " )\n", " )\n", " (stochastic_depth): StochasticDepth(p=0.095, mode=row)\n", " )\n", " (4): MBConv(\n", " (block): Sequential(\n", " (0): Conv2dNormActivation(\n", " (0): Conv2d(160, 960, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", " (1): BatchNorm2d(960, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", " (2): SiLU(inplace=True)\n", " )\n", " (1): Conv2dNormActivation(\n", " (0): Conv2d(960, 960, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=960, bias=False)\n", " (1): BatchNorm2d(960, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", " (2): SiLU(inplace=True)\n", " )\n", " (2): SqueezeExcitation(\n", " (avgpool): AdaptiveAvgPool2d(output_size=1)\n", " (fc1): Conv2d(960, 40, kernel_size=(1, 1), stride=(1, 1))\n", " (fc2): Conv2d(40, 960, kernel_size=(1, 1), stride=(1, 1))\n", " (activation): SiLU(inplace=True)\n", " (scale_activation): Sigmoid()\n", " )\n", " (3): Conv2dNormActivation(\n", " (0): Conv2d(960, 160, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", " (1): BatchNorm2d(160, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", " )\n", " )\n", " (stochastic_depth): StochasticDepth(p=0.1, mode=row)\n", " )\n", " (5): MBConv(\n", " (block): Sequential(\n", " (0): Conv2dNormActivation(\n", " (0): Conv2d(160, 960, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", " (1): BatchNorm2d(960, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", " (2): SiLU(inplace=True)\n", " )\n", " (1): Conv2dNormActivation(\n", " (0): Conv2d(960, 960, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=960, bias=False)\n", " (1): BatchNorm2d(960, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", " (2): SiLU(inplace=True)\n", " )\n", " (2): SqueezeExcitation(\n", " (avgpool): AdaptiveAvgPool2d(output_size=1)\n", " (fc1): Conv2d(960, 40, kernel_size=(1, 1), stride=(1, 1))\n", " (fc2): Conv2d(40, 960, kernel_size=(1, 1), stride=(1, 1))\n", " (activation): SiLU(inplace=True)\n", " (scale_activation): Sigmoid()\n", " )\n", " (3): Conv2dNormActivation(\n", " (0): Conv2d(960, 160, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", " (1): BatchNorm2d(160, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", " )\n", " )\n", " (stochastic_depth): StochasticDepth(p=0.10500000000000001, mode=row)\n", " )\n", " (6): MBConv(\n", " (block): Sequential(\n", " (0): Conv2dNormActivation(\n", " (0): Conv2d(160, 960, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", " (1): BatchNorm2d(960, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", " (2): SiLU(inplace=True)\n", " )\n", " (1): Conv2dNormActivation(\n", " (0): Conv2d(960, 960, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=960, bias=False)\n", " (1): BatchNorm2d(960, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", " (2): SiLU(inplace=True)\n", " )\n", " (2): SqueezeExcitation(\n", " (avgpool): AdaptiveAvgPool2d(output_size=1)\n", " (fc1): Conv2d(960, 40, kernel_size=(1, 1), stride=(1, 1))\n", " (fc2): Conv2d(40, 960, kernel_size=(1, 1), stride=(1, 1))\n", " (activation): SiLU(inplace=True)\n", " (scale_activation): Sigmoid()\n", " )\n", " (3): Conv2dNormActivation(\n", " (0): Conv2d(960, 160, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", " (1): BatchNorm2d(160, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", " )\n", " )\n", " (stochastic_depth): StochasticDepth(p=0.11000000000000001, mode=row)\n", " )\n", " (7): MBConv(\n", " (block): Sequential(\n", " (0): Conv2dNormActivation(\n", " (0): Conv2d(160, 960, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", " (1): BatchNorm2d(960, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", " (2): SiLU(inplace=True)\n", " )\n", " (1): Conv2dNormActivation(\n", " (0): Conv2d(960, 960, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=960, bias=False)\n", " (1): BatchNorm2d(960, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", " (2): SiLU(inplace=True)\n", " )\n", " (2): SqueezeExcitation(\n", " (avgpool): AdaptiveAvgPool2d(output_size=1)\n", " (fc1): Conv2d(960, 40, kernel_size=(1, 1), stride=(1, 1))\n", " (fc2): Conv2d(40, 960, kernel_size=(1, 1), stride=(1, 1))\n", " (activation): SiLU(inplace=True)\n", " (scale_activation): Sigmoid()\n", " )\n", " (3): Conv2dNormActivation(\n", " (0): Conv2d(960, 160, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", " (1): BatchNorm2d(160, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", " )\n", " )\n", " (stochastic_depth): StochasticDepth(p=0.11500000000000002, mode=row)\n", " )\n", " (8): MBConv(\n", " (block): Sequential(\n", " (0): Conv2dNormActivation(\n", " (0): Conv2d(160, 960, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", " (1): BatchNorm2d(960, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", " (2): SiLU(inplace=True)\n", " )\n", " (1): Conv2dNormActivation(\n", " (0): Conv2d(960, 960, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=960, bias=False)\n", " (1): BatchNorm2d(960, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", " (2): SiLU(inplace=True)\n", " )\n", " (2): SqueezeExcitation(\n", " (avgpool): AdaptiveAvgPool2d(output_size=1)\n", " (fc1): Conv2d(960, 40, kernel_size=(1, 1), stride=(1, 1))\n", " (fc2): Conv2d(40, 960, kernel_size=(1, 1), stride=(1, 1))\n", " (activation): SiLU(inplace=True)\n", " (scale_activation): Sigmoid()\n", " )\n", " (3): Conv2dNormActivation(\n", " (0): Conv2d(960, 160, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", " (1): BatchNorm2d(160, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", " )\n", " )\n", " (stochastic_depth): StochasticDepth(p=0.12000000000000002, mode=row)\n", " )\n", " )\n", " (6): Sequential(\n", " (0): MBConv(\n", " (block): Sequential(\n", " (0): Conv2dNormActivation(\n", " (0): Conv2d(160, 960, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", " (1): BatchNorm2d(960, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", " (2): SiLU(inplace=True)\n", " )\n", " (1): Conv2dNormActivation(\n", " (0): Conv2d(960, 960, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), groups=960, bias=False)\n", " (1): BatchNorm2d(960, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", " (2): SiLU(inplace=True)\n", " )\n", " (2): SqueezeExcitation(\n", " (avgpool): AdaptiveAvgPool2d(output_size=1)\n", " (fc1): Conv2d(960, 40, kernel_size=(1, 1), stride=(1, 1))\n", " (fc2): Conv2d(40, 960, kernel_size=(1, 1), stride=(1, 1))\n", " (activation): SiLU(inplace=True)\n", " (scale_activation): Sigmoid()\n", " )\n", " (3): Conv2dNormActivation(\n", " (0): Conv2d(960, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", " (1): BatchNorm2d(256, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", " )\n", " )\n", " (stochastic_depth): StochasticDepth(p=0.125, mode=row)\n", " )\n", " (1): MBConv(\n", " (block): Sequential(\n", " (0): Conv2dNormActivation(\n", " (0): Conv2d(256, 1536, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", " (1): BatchNorm2d(1536, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", " (2): SiLU(inplace=True)\n", " )\n", " (1): Conv2dNormActivation(\n", " (0): Conv2d(1536, 1536, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=1536, bias=False)\n", " (1): BatchNorm2d(1536, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", " (2): SiLU(inplace=True)\n", " )\n", " (2): SqueezeExcitation(\n", " (avgpool): AdaptiveAvgPool2d(output_size=1)\n", " (fc1): Conv2d(1536, 64, kernel_size=(1, 1), stride=(1, 1))\n", " (fc2): Conv2d(64, 1536, kernel_size=(1, 1), stride=(1, 1))\n", " (activation): SiLU(inplace=True)\n", " (scale_activation): Sigmoid()\n", " )\n", " (3): Conv2dNormActivation(\n", " (0): Conv2d(1536, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", " (1): BatchNorm2d(256, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", " )\n", " )\n", " (stochastic_depth): StochasticDepth(p=0.13, mode=row)\n", " )\n", " (2): MBConv(\n", " (block): Sequential(\n", " (0): Conv2dNormActivation(\n", " (0): Conv2d(256, 1536, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", " (1): BatchNorm2d(1536, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", " (2): SiLU(inplace=True)\n", " )\n", " (1): Conv2dNormActivation(\n", " (0): Conv2d(1536, 1536, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=1536, bias=False)\n", " (1): BatchNorm2d(1536, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", " (2): SiLU(inplace=True)\n", " )\n", " (2): SqueezeExcitation(\n", " (avgpool): AdaptiveAvgPool2d(output_size=1)\n", " (fc1): Conv2d(1536, 64, kernel_size=(1, 1), stride=(1, 1))\n", " (fc2): Conv2d(64, 1536, kernel_size=(1, 1), stride=(1, 1))\n", " (activation): SiLU(inplace=True)\n", " (scale_activation): Sigmoid()\n", " )\n", " (3): Conv2dNormActivation(\n", " (0): Conv2d(1536, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", " (1): BatchNorm2d(256, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", " )\n", " )\n", " (stochastic_depth): StochasticDepth(p=0.135, mode=row)\n", " )\n", " (3): MBConv(\n", " (block): Sequential(\n", " (0): Conv2dNormActivation(\n", " (0): Conv2d(256, 1536, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", " (1): BatchNorm2d(1536, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", " (2): SiLU(inplace=True)\n", " )\n", " (1): Conv2dNormActivation(\n", " (0): Conv2d(1536, 1536, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=1536, bias=False)\n", " (1): BatchNorm2d(1536, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", " (2): SiLU(inplace=True)\n", " )\n", " (2): SqueezeExcitation(\n", " (avgpool): AdaptiveAvgPool2d(output_size=1)\n", " (fc1): Conv2d(1536, 64, kernel_size=(1, 1), stride=(1, 1))\n", " (fc2): Conv2d(64, 1536, kernel_size=(1, 1), stride=(1, 1))\n", " (activation): SiLU(inplace=True)\n", " (scale_activation): Sigmoid()\n", " )\n", " (3): Conv2dNormActivation(\n", " (0): Conv2d(1536, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", " (1): BatchNorm2d(256, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", " )\n", " )\n", " (stochastic_depth): StochasticDepth(p=0.14, mode=row)\n", " )\n", " (4): MBConv(\n", " (block): Sequential(\n", " (0): Conv2dNormActivation(\n", " (0): Conv2d(256, 1536, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", " (1): BatchNorm2d(1536, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", " (2): SiLU(inplace=True)\n", " )\n", " (1): Conv2dNormActivation(\n", " (0): Conv2d(1536, 1536, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=1536, bias=False)\n", " (1): BatchNorm2d(1536, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", " (2): SiLU(inplace=True)\n", " )\n", " (2): SqueezeExcitation(\n", " (avgpool): AdaptiveAvgPool2d(output_size=1)\n", " (fc1): Conv2d(1536, 64, kernel_size=(1, 1), stride=(1, 1))\n", " (fc2): Conv2d(64, 1536, kernel_size=(1, 1), stride=(1, 1))\n", " (activation): SiLU(inplace=True)\n", " (scale_activation): Sigmoid()\n", " )\n", " (3): Conv2dNormActivation(\n", " (0): Conv2d(1536, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", " (1): BatchNorm2d(256, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", " )\n", " )\n", " (stochastic_depth): StochasticDepth(p=0.14500000000000002, mode=row)\n", " )\n", " (5): MBConv(\n", " (block): Sequential(\n", " (0): Conv2dNormActivation(\n", " (0): Conv2d(256, 1536, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", " (1): BatchNorm2d(1536, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", " (2): SiLU(inplace=True)\n", " )\n", " (1): Conv2dNormActivation(\n", " (0): Conv2d(1536, 1536, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=1536, bias=False)\n", " (1): BatchNorm2d(1536, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", " (2): SiLU(inplace=True)\n", " )\n", " (2): SqueezeExcitation(\n", " (avgpool): AdaptiveAvgPool2d(output_size=1)\n", " (fc1): Conv2d(1536, 64, kernel_size=(1, 1), stride=(1, 1))\n", " (fc2): Conv2d(64, 1536, kernel_size=(1, 1), stride=(1, 1))\n", " (activation): SiLU(inplace=True)\n", " (scale_activation): Sigmoid()\n", " )\n", " (3): Conv2dNormActivation(\n", " (0): Conv2d(1536, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", " (1): BatchNorm2d(256, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", " )\n", " )\n", " (stochastic_depth): StochasticDepth(p=0.15, mode=row)\n", " )\n", " (6): MBConv(\n", " (block): Sequential(\n", " (0): Conv2dNormActivation(\n", " (0): Conv2d(256, 1536, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", " (1): BatchNorm2d(1536, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", " (2): SiLU(inplace=True)\n", " )\n", " (1): Conv2dNormActivation(\n", " (0): Conv2d(1536, 1536, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=1536, bias=False)\n", " (1): BatchNorm2d(1536, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", " (2): SiLU(inplace=True)\n", " )\n", " (2): SqueezeExcitation(\n", " (avgpool): AdaptiveAvgPool2d(output_size=1)\n", " (fc1): Conv2d(1536, 64, kernel_size=(1, 1), stride=(1, 1))\n", " (fc2): Conv2d(64, 1536, kernel_size=(1, 1), stride=(1, 1))\n", " (activation): SiLU(inplace=True)\n", " (scale_activation): Sigmoid()\n", " )\n", " (3): Conv2dNormActivation(\n", " (0): Conv2d(1536, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", " (1): BatchNorm2d(256, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", " )\n", " )\n", " (stochastic_depth): StochasticDepth(p=0.155, mode=row)\n", " )\n", " (7): MBConv(\n", " (block): Sequential(\n", " (0): Conv2dNormActivation(\n", " (0): Conv2d(256, 1536, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", " (1): BatchNorm2d(1536, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", " (2): SiLU(inplace=True)\n", " )\n", " (1): Conv2dNormActivation(\n", " (0): Conv2d(1536, 1536, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=1536, bias=False)\n", " (1): BatchNorm2d(1536, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", " (2): SiLU(inplace=True)\n", " )\n", " (2): SqueezeExcitation(\n", " (avgpool): AdaptiveAvgPool2d(output_size=1)\n", " (fc1): Conv2d(1536, 64, kernel_size=(1, 1), stride=(1, 1))\n", " (fc2): Conv2d(64, 1536, kernel_size=(1, 1), stride=(1, 1))\n", " (activation): SiLU(inplace=True)\n", " (scale_activation): Sigmoid()\n", " )\n", " (3): Conv2dNormActivation(\n", " (0): Conv2d(1536, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", " (1): BatchNorm2d(256, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", " )\n", " )\n", " (stochastic_depth): StochasticDepth(p=0.16, mode=row)\n", " )\n", " (8): MBConv(\n", " (block): Sequential(\n", " (0): Conv2dNormActivation(\n", " (0): Conv2d(256, 1536, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", " (1): BatchNorm2d(1536, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", " (2): SiLU(inplace=True)\n", " )\n", " (1): Conv2dNormActivation(\n", " (0): Conv2d(1536, 1536, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=1536, bias=False)\n", " (1): BatchNorm2d(1536, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", " (2): SiLU(inplace=True)\n", " )\n", " (2): SqueezeExcitation(\n", " (avgpool): AdaptiveAvgPool2d(output_size=1)\n", " (fc1): Conv2d(1536, 64, kernel_size=(1, 1), stride=(1, 1))\n", " (fc2): Conv2d(64, 1536, kernel_size=(1, 1), stride=(1, 1))\n", " (activation): SiLU(inplace=True)\n", " (scale_activation): Sigmoid()\n", " )\n", " (3): Conv2dNormActivation(\n", " (0): Conv2d(1536, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", " (1): BatchNorm2d(256, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", " )\n", " )\n", " (stochastic_depth): StochasticDepth(p=0.165, mode=row)\n", " )\n", " (9): MBConv(\n", " (block): Sequential(\n", " (0): Conv2dNormActivation(\n", " (0): Conv2d(256, 1536, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", " (1): BatchNorm2d(1536, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", " (2): SiLU(inplace=True)\n", " )\n", " (1): Conv2dNormActivation(\n", " (0): Conv2d(1536, 1536, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=1536, bias=False)\n", " (1): BatchNorm2d(1536, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", " (2): SiLU(inplace=True)\n", " )\n", " (2): SqueezeExcitation(\n", " (avgpool): AdaptiveAvgPool2d(output_size=1)\n", " (fc1): Conv2d(1536, 64, kernel_size=(1, 1), stride=(1, 1))\n", " (fc2): Conv2d(64, 1536, kernel_size=(1, 1), stride=(1, 1))\n", " (activation): SiLU(inplace=True)\n", " (scale_activation): Sigmoid()\n", " )\n", " (3): Conv2dNormActivation(\n", " (0): Conv2d(1536, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", " (1): BatchNorm2d(256, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", " )\n", " )\n", " (stochastic_depth): StochasticDepth(p=0.17, mode=row)\n", " )\n", " (10): MBConv(\n", " (block): Sequential(\n", " (0): Conv2dNormActivation(\n", " (0): Conv2d(256, 1536, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", " (1): BatchNorm2d(1536, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", " (2): SiLU(inplace=True)\n", " )\n", " (1): Conv2dNormActivation(\n", " (0): Conv2d(1536, 1536, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=1536, bias=False)\n", " (1): BatchNorm2d(1536, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", " (2): SiLU(inplace=True)\n", " )\n", " (2): SqueezeExcitation(\n", " (avgpool): AdaptiveAvgPool2d(output_size=1)\n", " (fc1): Conv2d(1536, 64, kernel_size=(1, 1), stride=(1, 1))\n", " (fc2): Conv2d(64, 1536, kernel_size=(1, 1), stride=(1, 1))\n", " (activation): SiLU(inplace=True)\n", " (scale_activation): Sigmoid()\n", " )\n", " (3): Conv2dNormActivation(\n", " (0): Conv2d(1536, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", " (1): BatchNorm2d(256, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", " )\n", " )\n", " (stochastic_depth): StochasticDepth(p=0.175, mode=row)\n", " )\n", " (11): MBConv(\n", " (block): Sequential(\n", " (0): Conv2dNormActivation(\n", " (0): Conv2d(256, 1536, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", " (1): BatchNorm2d(1536, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", " (2): SiLU(inplace=True)\n", " )\n", " (1): Conv2dNormActivation(\n", " (0): Conv2d(1536, 1536, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=1536, bias=False)\n", " (1): BatchNorm2d(1536, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", " (2): SiLU(inplace=True)\n", " )\n", " (2): SqueezeExcitation(\n", " (avgpool): AdaptiveAvgPool2d(output_size=1)\n", " (fc1): Conv2d(1536, 64, kernel_size=(1, 1), stride=(1, 1))\n", " (fc2): Conv2d(64, 1536, kernel_size=(1, 1), stride=(1, 1))\n", " (activation): SiLU(inplace=True)\n", " (scale_activation): Sigmoid()\n", " )\n", " (3): Conv2dNormActivation(\n", " (0): Conv2d(1536, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", " (1): BatchNorm2d(256, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", " )\n", " )\n", " (stochastic_depth): StochasticDepth(p=0.18, mode=row)\n", " )\n", " (12): MBConv(\n", " (block): Sequential(\n", " (0): Conv2dNormActivation(\n", " (0): Conv2d(256, 1536, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", " (1): BatchNorm2d(1536, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", " (2): SiLU(inplace=True)\n", " )\n", " (1): Conv2dNormActivation(\n", " (0): Conv2d(1536, 1536, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=1536, bias=False)\n", " (1): BatchNorm2d(1536, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", " (2): SiLU(inplace=True)\n", " )\n", " (2): SqueezeExcitation(\n", " (avgpool): AdaptiveAvgPool2d(output_size=1)\n", " (fc1): Conv2d(1536, 64, kernel_size=(1, 1), stride=(1, 1))\n", " (fc2): Conv2d(64, 1536, kernel_size=(1, 1), stride=(1, 1))\n", " (activation): SiLU(inplace=True)\n", " (scale_activation): Sigmoid()\n", " )\n", " (3): Conv2dNormActivation(\n", " (0): Conv2d(1536, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", " (1): BatchNorm2d(256, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", " )\n", " )\n", " (stochastic_depth): StochasticDepth(p=0.185, mode=row)\n", " )\n", " (13): MBConv(\n", " (block): Sequential(\n", " (0): Conv2dNormActivation(\n", " (0): Conv2d(256, 1536, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", " (1): BatchNorm2d(1536, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", " (2): SiLU(inplace=True)\n", " )\n", " (1): Conv2dNormActivation(\n", " (0): Conv2d(1536, 1536, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=1536, bias=False)\n", " (1): BatchNorm2d(1536, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", " (2): SiLU(inplace=True)\n", " )\n", " (2): SqueezeExcitation(\n", " (avgpool): AdaptiveAvgPool2d(output_size=1)\n", " (fc1): Conv2d(1536, 64, kernel_size=(1, 1), stride=(1, 1))\n", " (fc2): Conv2d(64, 1536, kernel_size=(1, 1), stride=(1, 1))\n", " (activation): SiLU(inplace=True)\n", " (scale_activation): Sigmoid()\n", " )\n", " (3): Conv2dNormActivation(\n", " (0): Conv2d(1536, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", " (1): BatchNorm2d(256, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", " )\n", " )\n", " (stochastic_depth): StochasticDepth(p=0.19, mode=row)\n", " )\n", " (14): MBConv(\n", " (block): Sequential(\n", " (0): Conv2dNormActivation(\n", " (0): Conv2d(256, 1536, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", " (1): BatchNorm2d(1536, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", " (2): SiLU(inplace=True)\n", " )\n", " (1): Conv2dNormActivation(\n", " (0): Conv2d(1536, 1536, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=1536, bias=False)\n", " (1): BatchNorm2d(1536, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", " (2): SiLU(inplace=True)\n", " )\n", " (2): SqueezeExcitation(\n", " (avgpool): AdaptiveAvgPool2d(output_size=1)\n", " (fc1): Conv2d(1536, 64, kernel_size=(1, 1), stride=(1, 1))\n", " (fc2): Conv2d(64, 1536, kernel_size=(1, 1), stride=(1, 1))\n", " (activation): SiLU(inplace=True)\n", " (scale_activation): Sigmoid()\n", " )\n", " (3): Conv2dNormActivation(\n", " (0): Conv2d(1536, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", " (1): BatchNorm2d(256, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", " )\n", " )\n", " (stochastic_depth): StochasticDepth(p=0.195, mode=row)\n", " )\n", " )\n", " (7): Conv2dNormActivation(\n", " (0): Conv2d(256, 1280, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", " (1): BatchNorm2d(1280, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", " (2): SiLU(inplace=True)\n", " )\n", " )\n", " (avgpool): AdaptiveAvgPool2d(output_size=1)\n", " (classifier): Sequential(\n", " (0): Dropout(p=0.2, inplace=True)\n", " (1): Linear(in_features=1280, out_features=2, bias=True)\n", " )\n", " )\n", ")" ] }, "metadata": {}, "execution_count": 5 } ] }, { "cell_type": "code", "source": [], "metadata": { "id": "TGNyzqg-O6R9" }, "execution_count": null, "outputs": [] } ] }