{"metadata":{"kernelspec":{"language":"python","display_name":"Python 3","name":"python3"},"language_info":{"name":"python","version":"3.11.13","mimetype":"text/x-python","codemirror_mode":{"name":"ipython","version":3},"pygments_lexer":"ipython3","nbconvert_exporter":"python","file_extension":".py"},"kaggle":{"accelerator":"none","dataSources":[{"sourceId":114094,"databundleVersionId":13610510,"sourceType":"competition"}],"dockerImageVersionId":31193,"isInternetEnabled":true,"language":"python","sourceType":"notebook","isGpuEnabled":false}},"nbformat_minor":4,"nbformat":4,"cells":[{"cell_type":"code","source":"pip install effdet --quiet","metadata":{"_uuid":"8f2839f25d086af736a60e9eeb907d3b93b6e0e5","_cell_guid":"b1076dfc-b9ad-4769-8c92-a6c4dae69d19","trusted":true,"execution":{"iopub.status.busy":"2025-11-18T05:34:32.860668Z","iopub.execute_input":"2025-11-18T05:34:32.860937Z","iopub.status.idle":"2025-11-18T05:36:12.114661Z","shell.execute_reply.started":"2025-11-18T05:34:32.860916Z","shell.execute_reply":"2025-11-18T05:36:12.113322Z"}},"outputs":[{"name":"stdout","text":"\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m112.5/112.5 kB\u001b[0m \u001b[31m6.6 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m363.4/363.4 MB\u001b[0m \u001b[31m4.3 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m:00:01\u001b[0m00:01\u001b[0m\n\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m13.8/13.8 MB\u001b[0m \u001b[31m83.3 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m:00:01\u001b[0m0:01\u001b[0m\n\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m24.6/24.6 MB\u001b[0m \u001b[31m56.6 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m:00:01\u001b[0m00:01\u001b[0m\n\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m883.7/883.7 kB\u001b[0m \u001b[31m34.2 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m664.8/664.8 MB\u001b[0m \u001b[31m2.4 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m:00:01\u001b[0m00:01\u001b[0m\n\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m211.5/211.5 MB\u001b[0m \u001b[31m5.6 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m:00:01\u001b[0m00:01\u001b[0m\n\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m56.3/56.3 MB\u001b[0m \u001b[31m30.1 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m:00:01\u001b[0m00:01\u001b[0m\n\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m127.9/127.9 MB\u001b[0m \u001b[31m12.4 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m00:01\u001b[0m00:01\u001b[0m\n\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m207.5/207.5 MB\u001b[0m \u001b[31m7.2 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m:00:01\u001b[0m00:01\u001b[0m\n\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m21.1/21.1 MB\u001b[0m \u001b[31m5.6 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m0:00:01\u001b[0m00:01\u001b[0m\n\u001b[?25h\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.\nlibcugraph-cu12 25.6.0 requires libraft-cu12==25.6.*, but you have libraft-cu12 25.2.0 which is incompatible.\npylibcugraph-cu12 25.6.0 requires pylibraft-cu12==25.6.*, but you have pylibraft-cu12 25.2.0 which is incompatible.\npylibcugraph-cu12 25.6.0 requires rmm-cu12==25.6.*, but you have rmm-cu12 25.2.0 which is incompatible.\u001b[0m\u001b[31m\n\u001b[0mNote: you may need to restart the kernel to use updated packages.\n","output_type":"stream"}],"execution_count":1},{"cell_type":"code","source":"from effdet.efficientdet import HeadNet\nfrom tqdm import tqdm\n\nimport os\nimport cv2\nimport torch\nimport numpy as np\nimport matplotlib.pyplot as plt\nimport albumentations as A\nfrom albumentations.pytorch import ToTensorV2\nfrom torch.utils.data import Dataset, DataLoader\nfrom effdet import EfficientDet, get_efficientdet_config, DetBenchTrain\nfrom effdet.efficientdet import HeadNet\nfrom torch.optim import AdamW","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2025-11-12T09:08:08.560101Z","iopub.execute_input":"2025-11-12T09:08:08.560316Z","iopub.status.idle":"2025-11-12T09:08:20.331717Z","shell.execute_reply.started":"2025-11-12T09:08:08.560292Z","shell.execute_reply":"2025-11-12T09:08:20.331155Z"}},"outputs":[{"name":"stderr","text":"/usr/local/lib/python3.11/dist-packages/pydantic/_internal/_generate_schema.py:2249: UnsupportedFieldAttributeWarning: The 'repr' attribute with value False was provided to the `Field()` function, which has no effect in the context it was used. 'repr' is field-specific metadata, and can only be attached to a model field using `Annotated` metadata or by assignment. This may have happened because an `Annotated` type alias using the `type` statement was used, or if the `Field()` function was attached to a single member of a union type.\n  warnings.warn(\n/usr/local/lib/python3.11/dist-packages/pydantic/_internal/_generate_schema.py:2249: UnsupportedFieldAttributeWarning: The 'frozen' attribute with value True was provided to the `Field()` function, which has no effect in the context it was used. 'frozen' is field-specific metadata, and can only be attached to a model field using `Annotated` metadata or by assignment. This may have happened because an `Annotated` type alias using the `type` statement was used, or if the `Field()` function was attached to a single member of a union type.\n  warnings.warn(\n","output_type":"stream"}],"execution_count":2},{"cell_type":"code","source":"root = '/kaggle/input/grocery-items-multi-class-object-detection/train/train/'\nlabels = list(sorted(os.listdir(os.path.join(root,'labels'))))\nempty = []\nfor idx,i in enumerate(labels):\n    label_path = os.path.join(root,'labels',labels[idx])\n    if not open (label_path).readlines():\n        empty.append(labels[idx])\n\n \nprint(empty)\nempty2=[]\nfor i in empty:\n    \n    empty2.append(i[:10]+\"png\")\nprint(empty2)","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2025-11-12T09:12:43.67956Z","iopub.execute_input":"2025-11-12T09:12:43.680553Z","iopub.status.idle":"2025-11-12T09:12:45.047922Z","shell.execute_reply.started":"2025-11-12T09:12:43.68053Z","shell.execute_reply":"2025-11-12T09:12:45.047117Z"}},"outputs":[{"name":"stdout","text":"['000000002.txt', '000000003.txt', '000000037.txt', '000000041.txt', '000000072.txt', '000000088.txt', '000000093.txt', '000000109.txt', '000000145.txt', '000000150.txt', '000000151.txt', '000000158.txt', '000000162.txt', '000000184.txt', '000000189.txt', '000000206.txt']\n['000000002.png', '000000003.png', '000000037.png', '000000041.png', '000000072.png', '000000088.png', '000000093.png', '000000109.png', '000000145.png', '000000150.png', '000000151.png', '000000158.png', '000000162.png', '000000184.png', '000000189.png', '000000206.png']\n","output_type":"stream"}],"execution_count":3},{"cell_type":"code","source":"class GroceryDataset(Dataset):\n    def __init__(self, root, transform=None):\n        self.root = root\n        self.transform = transform\n        self.imgsPath = sorted(os.listdir(os.path.join(root, \"images\")))\n        self.labelsPath = sorted(os.listdir(os.path.join(root, \"labels\")))\n\n        # b=['000000002.png', '000000003.png', '000000037.png', '000000041.png', '000000072.png', '000000088.png', '000000093.png', '000000109.png', '000000145.png', '000000150.png', '000000151.png', '000000158.png', '000000162.png', '000000184.png', '000000189.png', '000000206.png']\n        # a=['000000002.txt', '000000003.txt', '000000037.txt', '000000041.txt', '000000072.txt', '000000088.txt', '000000093.txt', '000000109.txt', '000000145.txt', '000000150.txt', '000000151.txt', '000000158.txt', '000000162.txt', '000000184.txt', '000000189.txt', '000000206.txt']\n\n        self.labelsPath=['000000000.txt', '000000001.txt', '000000004.txt', '000000005.txt', '000000006.txt', '000000007.txt', '000000008.txt', '000000009.txt', '000000010.txt', '000000011.txt', '000000012.txt', '000000013.txt', '000000014.txt', '000000015.txt', '000000016.txt', '000000017.txt', '000000018.txt', '000000019.txt', '000000020.txt', '000000021.txt', '000000022.txt', '000000023.txt', '000000024.txt', '000000025.txt', '000000026.txt', '000000027.txt', '000000028.txt', '000000029.txt', '000000030.txt', '000000031.txt', '000000032.txt', '000000033.txt', '000000034.txt', '000000035.txt', '000000036.txt', '000000038.txt', '000000039.txt', '000000040.txt', '000000042.txt', '000000043.txt', '000000044.txt', '000000045.txt', '000000046.txt', '000000047.txt', '000000048.txt', '000000049.txt', '000000050.txt', '000000051.txt', '000000052.txt', '000000053.txt', '000000054.txt', '000000055.txt', '000000056.txt', '000000057.txt', '000000058.txt', '000000059.txt', '000000060.txt', '000000061.txt', '000000062.txt', '000000063.txt', '000000064.txt', '000000065.txt', '000000066.txt', '000000067.txt', '000000068.txt', '000000069.txt', '000000070.txt', '000000071.txt', '000000073.txt', '000000074.txt', '000000075.txt', '000000076.txt', '000000077.txt', '000000078.txt', '000000079.txt', '000000080.txt', '000000081.txt', '000000082.txt', '000000083.txt', '000000084.txt', '000000085.txt', '000000086.txt', '000000087.txt', '000000089.txt', '000000090.txt', '000000091.txt', '000000092.txt', '000000094.txt', '000000095.txt', '000000096.txt', '000000097.txt', '000000098.txt', '000000099.txt', '000000100.txt', '000000101.txt', '000000102.txt', '000000103.txt', '000000104.txt', '000000105.txt', '000000106.txt', '000000107.txt', '000000108.txt', '000000110.txt', '000000111.txt', '000000112.txt', '000000113.txt', '000000114.txt', '000000115.txt', '000000116.txt', '000000117.txt', '000000118.txt', '000000119.txt', '000000120.txt', '000000121.txt', '000000122.txt', '000000123.txt', '000000124.txt', '000000125.txt', '000000126.txt', '000000127.txt', '000000128.txt', '000000129.txt', '000000130.txt', '000000131.txt', '000000132.txt', '000000133.txt', '000000134.txt', '000000135.txt', '000000136.txt', '000000137.txt', '000000138.txt', '000000139.txt', '000000140.txt', '000000141.txt', '000000142.txt', '000000143.txt', '000000144.txt', '000000146.txt', '000000147.txt', '000000148.txt', '000000149.txt', '000000152.txt', '000000153.txt', '000000154.txt', '000000155.txt', '000000156.txt', '000000157.txt', '000000159.txt', '000000160.txt', '000000161.txt', '000000163.txt', '000000164.txt', '000000165.txt', '000000166.txt', '000000167.txt', '000000168.txt', '000000169.txt', '000000170.txt', '000000171.txt', '000000172.txt', '000000173.txt', '000000174.txt', '000000175.txt', '000000176.txt', '000000177.txt', '000000178.txt', '000000179.txt', '000000180.txt', '000000181.txt', '000000182.txt', '000000183.txt', '000000185.txt', '000000186.txt', '000000187.txt', '000000188.txt', '000000190.txt', '000000191.txt', '000000192.txt', '000000193.txt', '000000194.txt', '000000195.txt', '000000196.txt', '000000197.txt', '000000198.txt', '000000199.txt', '000000200.txt', '000000201.txt', '000000202.txt', '000000203.txt', '000000204.txt', '000000205.txt', '000000207.txt', '000000208.txt', '000000209.txt', '000000210.txt', '000000211.txt', '000000212.txt', '000000213.txt', '000000214.txt', '000000215.txt', '000000216.txt', '000000217.txt', '000000218.txt', '000000219.txt', '000000220.txt', '000000221.txt', '000000222.txt', '000000223.txt', '000000224.txt', '000000225.txt']\n\n        self.imgsPath=['000000000.png', '000000001.png', '000000004.png', '000000005.png', '000000006.png', '000000007.png', '000000008.png', '000000009.png', '000000010.png', '000000011.png', '000000012.png', '000000013.png', '000000014.png', '000000015.png', '000000016.png', '000000017.png', '000000018.png', '000000019.png', '000000020.png', '000000021.png', '000000022.png', '000000023.png', '000000024.png', '000000025.png', '000000026.png', '000000027.png', '000000028.png', '000000029.png', '000000030.png', '000000031.png', '000000032.png', '000000033.png', '000000034.png', '000000035.png', '000000036.png', '000000038.png', '000000039.png', '000000040.png', '000000042.png', '000000043.png', '000000044.png', '000000045.png', '000000046.png', '000000047.png', '000000048.png', '000000049.png', '000000050.png', '000000051.png', '000000052.png', '000000053.png', '000000054.png', '000000055.png', '000000056.png', '000000057.png', '000000058.png', '000000059.png', '000000060.png', '000000061.png', '000000062.png', '000000063.png', '000000064.png', '000000065.png', '000000066.png', '000000067.png', '000000068.png', '000000069.png', '000000070.png', '000000071.png', '000000073.png', '000000074.png', '000000075.png', '000000076.png', '000000077.png', '000000078.png', '000000079.png', '000000080.png', '000000081.png', '000000082.png', '000000083.png', '000000084.png', '000000085.png', '000000086.png', '000000087.png', '000000089.png', '000000090.png', '000000091.png', '000000092.png', '000000094.png', '000000095.png', '000000096.png', '000000097.png', '000000098.png', '000000099.png', '000000100.png', '000000101.png', '000000102.png', '000000103.png', '000000104.png', '000000105.png', '000000106.png', '000000107.png', '000000108.png', '000000110.png', '000000111.png', '000000112.png', '000000113.png', '000000114.png', '000000115.png', '000000116.png', '000000117.png', '000000118.png', '000000119.png', '000000120.png', '000000121.png', '000000122.png', '000000123.png', '000000124.png', '000000125.png', '000000126.png', '000000127.png', '000000128.png', '000000129.png', '000000130.png', '000000131.png', '000000132.png', '000000133.png', '000000134.png', '000000135.png', '000000136.png', '000000137.png', '000000138.png', '000000139.png', '000000140.png', '000000141.png', '000000142.png', '000000143.png', '000000144.png', '000000146.png', '000000147.png', '000000148.png', '000000149.png', '000000152.png', '000000153.png', '000000154.png', '000000155.png', '000000156.png', '000000157.png', '000000159.png', '000000160.png', '000000161.png', '000000163.png', '000000164.png', '000000165.png', '000000166.png', '000000167.png', '000000168.png', '000000169.png', '000000170.png', '000000171.png', '000000172.png', '000000173.png', '000000174.png', '000000175.png', '000000176.png', '000000177.png', '000000178.png', '000000179.png', '000000180.png', '000000181.png', '000000182.png', '000000183.png', '000000185.png', '000000186.png', '000000187.png', '000000188.png', '000000190.png', '000000191.png', '000000192.png', '000000193.png', '000000194.png', '000000195.png', '000000196.png', '000000197.png', '000000198.png', '000000199.png', '000000200.png', '000000201.png', '000000202.png', '000000203.png', '000000204.png', '000000205.png', '000000207.png', '000000208.png', '000000209.png', '000000210.png', '000000211.png', '000000212.png', '000000213.png', '000000214.png', '000000215.png', '000000216.png', '000000217.png', '000000218.png', '000000219.png', '000000220.png', '000000221.png', '000000222.png', '000000223.png', '000000224.png', '000000225.png']\n    def __len__(self):\n        return len(self.imgsPath)\n\n    def boxConvert(self, coors, img_w, img_h):\n        cx, cy, w, h = coors\n        cx, cy, w, h = cx * img_w, cy * img_h, w * img_w, h * img_h\n        x1 = cx - w / 2\n        y1 = cy - h / 2\n        x2 = cx + w / 2\n        y2 = cy + h / 2\n        return [x1, y1, x2, y2]\n\n    def splitter(self, coor, imgw, imgh):\n        coor = list(map(float, coor))\n        coors, targets, fcoor = [], [], []\n        c = 0\n        for i in coor:\n            if (c == 0) or (c % 5 == 0):\n                targets.append(int(i))\n            else:\n                coors.append(i)\n            c += 1\n            if c % 5 == 0:\n                fcoor.append(self.boxConvert(coors, imgw, imgh))\n                coors = []\n        return targets, fcoor\n\n    def __getitem__(self, idx):\n        imgPath = os.path.join(self.root, \"images\", self.imgsPath[idx])\n        labelPath = os.path.join(self.root, \"labels\", self.labelsPath[idx])\n\n        img = cv2.imread(imgPath)\n        if img is None:\n            raise FileNotFoundError(imgPath)\n        img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)\n        imgh, imgw = img.shape[:2]\n\n        lal = open(labelPath).read().split()\n        labels, coors = self.splitter(lal, imgw, imgh)\n\n        # Albumentations transform\n        tt = self.transform(image=img, bboxes=coors, labels=labels)\n        aaa=[]\n        for cors in tt[\"bboxes\"]:\n            cors[: 4] = cors [1],cors[0],cors[3],cors[2]\n            aaa.append(cors[: 4])\n        target = {\n            \"bbox\": torch.tensor(aaa, dtype=torch.float32),\n            \"cls\": torch.tensor(tt[\"labels\"], dtype=torch.int64)\n        }\n\n        return tt[\"image\"], target\n","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2025-11-12T09:21:09.33841Z","iopub.execute_input":"2025-11-12T09:21:09.339121Z","iopub.status.idle":"2025-11-12T09:21:09.357398Z","shell.execute_reply.started":"2025-11-12T09:21:09.339099Z","shell.execute_reply":"2025-11-12T09:21:09.356482Z"}},"outputs":[],"execution_count":59},{"cell_type":"code","source":"class GroceryDatasetVal(Dataset):\n    def __init__(self, root, transform=None):\n        self.root = root\n        self.transform = transform\n        self.imgsPath = sorted(os.listdir(os.path.join(root, \"images\")))\n        self.labelsPath = sorted(os.listdir(os.path.join(root, \"labels\")))\n\n        # b=['000000002.png', '000000003.png', '000000037.png', '000000041.png', '000000072.png', '000000088.png', '000000093.png', '000000109.png', '000000145.png', '000000150.png', '000000151.png', '000000158.png', '000000162.png', '000000184.png', '000000189.png', '000000206.png']\n        # a=['000000002.txt', '000000003.txt', '000000037.txt', '000000041.txt', '000000072.txt', '000000088.txt', '000000093.txt', '000000109.txt', '000000145.txt', '000000150.txt', '000000151.txt', '000000158.txt', '000000162.txt', '000000184.txt', '000000189.txt', '000000206.txt']\n\n        # self.labelsPath=['000000000.txt', '000000001.txt', '000000004.txt', '000000005.txt', '000000006.txt', '000000007.txt', '000000008.txt', '000000009.txt', '000000010.txt', '000000011.txt', '000000012.txt', '000000013.txt', '000000014.txt', '000000015.txt', '000000016.txt', '000000017.txt', '000000018.txt', '000000019.txt', '000000020.txt', '000000021.txt', '000000022.txt', '000000023.txt', '000000024.txt', '000000025.txt', '000000026.txt', '000000027.txt', '000000028.txt', '000000029.txt', '000000030.txt', '000000031.txt', '000000032.txt', '000000033.txt', '000000034.txt', '000000035.txt', '000000036.txt', '000000038.txt', '000000039.txt', '000000040.txt', '000000042.txt', '000000043.txt', '000000044.txt', '000000045.txt', '000000046.txt', '000000047.txt', '000000048.txt', '000000049.txt', '000000050.txt', '000000051.txt', '000000052.txt', '000000053.txt', '000000054.txt', '000000055.txt', '000000056.txt', '000000057.txt', '000000058.txt', '000000059.txt', '000000060.txt', '000000061.txt', '000000062.txt', '000000063.txt', '000000064.txt', '000000065.txt', '000000066.txt', '000000067.txt', '000000068.txt', '000000069.txt', '000000070.txt', '000000071.txt', '000000073.txt', '000000074.txt', '000000075.txt', '000000076.txt', '000000077.txt', '000000078.txt', '000000079.txt', '000000080.txt', '000000081.txt', '000000082.txt', '000000083.txt', '000000084.txt', '000000085.txt', '000000086.txt', '000000087.txt', '000000089.txt', '000000090.txt', '000000091.txt', '000000092.txt', '000000094.txt', '000000095.txt', '000000096.txt', '000000097.txt', '000000098.txt', '000000099.txt', '000000100.txt', '000000101.txt', '000000102.txt', '000000103.txt', '000000104.txt', '000000105.txt', '000000106.txt', '000000107.txt', '000000108.txt', '000000110.txt', '000000111.txt', '000000112.txt', '000000113.txt', '000000114.txt', '000000115.txt', '000000116.txt', '000000117.txt', '000000118.txt', '000000119.txt', '000000120.txt', '000000121.txt', '000000122.txt', '000000123.txt', '000000124.txt', '000000125.txt', '000000126.txt', '000000127.txt', '000000128.txt', '000000129.txt', '000000130.txt', '000000131.txt', '000000132.txt', '000000133.txt', '000000134.txt', '000000135.txt', '000000136.txt', '000000137.txt', '000000138.txt', '000000139.txt', '000000140.txt', '000000141.txt', '000000142.txt', '000000143.txt', '000000144.txt', '000000146.txt', '000000147.txt', '000000148.txt', '000000149.txt', '000000152.txt', '000000153.txt', '000000154.txt', '000000155.txt', '000000156.txt', '000000157.txt', '000000159.txt', '000000160.txt', '000000161.txt', '000000163.txt', '000000164.txt', '000000165.txt', '000000166.txt', '000000167.txt', '000000168.txt', '000000169.txt', '000000170.txt', '000000171.txt', '000000172.txt', '000000173.txt', '000000174.txt', '000000175.txt', '000000176.txt', '000000177.txt', '000000178.txt', '000000179.txt', '000000180.txt', '000000181.txt', '000000182.txt', '000000183.txt', '000000185.txt', '000000186.txt', '000000187.txt', '000000188.txt', '000000190.txt', '000000191.txt', '000000192.txt', '000000193.txt', '000000194.txt', '000000195.txt', '000000196.txt', '000000197.txt', '000000198.txt', '000000199.txt', '000000200.txt', '000000201.txt', '000000202.txt', '000000203.txt', '000000204.txt', '000000205.txt', '000000207.txt', '000000208.txt', '000000209.txt', '000000210.txt', '000000211.txt', '000000212.txt', '000000213.txt', '000000214.txt', '000000215.txt', '000000216.txt', '000000217.txt', '000000218.txt', '000000219.txt', '000000220.txt', '000000221.txt', '000000222.txt', '000000223.txt', '000000224.txt', '000000225.txt']\n\n        # self.imgsPath=['000000000.png', '000000001.png', '000000004.png', '000000005.png', '000000006.png', '000000007.png', '000000008.png', '000000009.png', '000000010.png', '000000011.png', '000000012.png', '000000013.png', '000000014.png', '000000015.png', '000000016.png', '000000017.png', '000000018.png', '000000019.png', '000000020.png', '000000021.png', '000000022.png', '000000023.png', '000000024.png', '000000025.png', '000000026.png', '000000027.png', '000000028.png', '000000029.png', '000000030.png', '000000031.png', '000000032.png', '000000033.png', '000000034.png', '000000035.png', '000000036.png', '000000038.png', '000000039.png', '000000040.png', '000000042.png', '000000043.png', '000000044.png', '000000045.png', '000000046.png', '000000047.png', '000000048.png', '000000049.png', '000000050.png', '000000051.png', '000000052.png', '000000053.png', '000000054.png', '000000055.png', '000000056.png', '000000057.png', '000000058.png', '000000059.png', '000000060.png', '000000061.png', '000000062.png', '000000063.png', '000000064.png', '000000065.png', '000000066.png', '000000067.png', '000000068.png', '000000069.png', '000000070.png', '000000071.png', '000000073.png', '000000074.png', '000000075.png', '000000076.png', '000000077.png', '000000078.png', '000000079.png', '000000080.png', '000000081.png', '000000082.png', '000000083.png', '000000084.png', '000000085.png', '000000086.png', '000000087.png', '000000089.png', '000000090.png', '000000091.png', '000000092.png', '000000094.png', '000000095.png', '000000096.png', '000000097.png', '000000098.png', '000000099.png', '000000100.png', '000000101.png', '000000102.png', '000000103.png', '000000104.png', '000000105.png', '000000106.png', '000000107.png', '000000108.png', '000000110.png', '000000111.png', '000000112.png', '000000113.png', '000000114.png', '000000115.png', '000000116.png', '000000117.png', '000000118.png', '000000119.png', '000000120.png', '000000121.png', '000000122.png', '000000123.png', '000000124.png', '000000125.png', '000000126.png', '000000127.png', '000000128.png', '000000129.png', '000000130.png', '000000131.png', '000000132.png', '000000133.png', '000000134.png', '000000135.png', '000000136.png', '000000137.png', '000000138.png', '000000139.png', '000000140.png', '000000141.png', '000000142.png', '000000143.png', '000000144.png', '000000146.png', '000000147.png', '000000148.png', '000000149.png', '000000152.png', '000000153.png', '000000154.png', '000000155.png', '000000156.png', '000000157.png', '000000159.png', '000000160.png', '000000161.png', '000000163.png', '000000164.png', '000000165.png', '000000166.png', '000000167.png', '000000168.png', '000000169.png', '000000170.png', '000000171.png', '000000172.png', '000000173.png', '000000174.png', '000000175.png', '000000176.png', '000000177.png', '000000178.png', '000000179.png', '000000180.png', '000000181.png', '000000182.png', '000000183.png', '000000185.png', '000000186.png', '000000187.png', '000000188.png', '000000190.png', '000000191.png', '000000192.png', '000000193.png', '000000194.png', '000000195.png', '000000196.png', '000000197.png', '000000198.png', '000000199.png', '000000200.png', '000000201.png', '000000202.png', '000000203.png', '000000204.png', '000000205.png', '000000207.png', '000000208.png', '000000209.png', '000000210.png', '000000211.png', '000000212.png', '000000213.png', '000000214.png', '000000215.png', '000000216.png', '000000217.png', '000000218.png', '000000219.png', '000000220.png', '000000221.png', '000000222.png', '000000223.png', '000000224.png', '000000225.png']\n    def __len__(self):\n        return len(self.imgsPath)\n\n    def boxConvert(self, coors, img_w, img_h):\n        cx, cy, w, h = coors\n        cx, cy, w, h = cx * img_w, cy * img_h, w * img_w, h * img_h\n        x1 = cx - w / 2\n        y1 = cy - h / 2\n        x2 = cx + w / 2\n        y2 = cy + h / 2\n        return [x1, y1, x2, y2]\n\n    def splitter(self, coor, imgw, imgh):\n        coor = list(map(float, coor))\n        coors, targets, fcoor = [], [], []\n        c = 0\n        for i in coor:\n            if (c == 0) or (c % 5 == 0):\n                targets.append(int(i))\n            else:\n                coors.append(i)\n            c += 1\n            if c % 5 == 0:\n                fcoor.append(self.boxConvert(coors, imgw, imgh))\n                coors = []\n        return targets, fcoor\n\n    def __getitem__(self, idx):\n        imgPath = os.path.join(self.root, \"images\", self.imgsPath[idx])\n        labelPath = os.path.join(self.root, \"labels\", self.labelsPath[idx])\n\n        img = cv2.imread(imgPath)\n        if img is None:\n            raise FileNotFoundError(imgPath)\n        img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)\n        imgh, imgw = img.shape[:2]\n\n        lal = open(labelPath).read().split()\n        labels, coors = self.splitter(lal, imgw, imgh)\n\n        # Albumentations transform\n        tt = self.transform(image=img, bboxes=coors, labels=labels)\n        aaa=[]\n        for cors in tt[\"bboxes\"]:\n            cors[: 4] = cors [1],cors[0],cors[3],cors[2]\n            aaa.append(cors[: 4])\n        target = {\n            \"bbox\": torch.tensor(aaa, dtype=torch.float32),\n            \"cls\": torch.tensor(tt[\"labels\"], dtype=torch.int64)\n        }\n\n        return tt[\"image\"], target\n","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2025-11-12T09:24:01.85971Z","iopub.execute_input":"2025-11-12T09:24:01.860429Z","iopub.status.idle":"2025-11-12T09:24:01.872135Z","shell.execute_reply.started":"2025-11-12T09:24:01.860408Z","shell.execute_reply":"2025-11-12T09:24:01.871378Z"}},"outputs":[],"execution_count":75},{"cell_type":"code","source":"config = get_efficientdet_config('efficientdetv2_dt')\nconfig.num_classes = 3\nconfig.image_size = (768, 768)\nconfig.jit_loss = True\n\nnet = EfficientDet(config, pretrained_backbone=True)\n\nnet.class_net = HeadNet(config, num_outputs=config.num_classes,)\nmodel = DetBenchTrain(net, config)\noptimizer = AdamW(model.named_parameters(), lr=0.001)\n#scheduler =CosineAnnealingWarmRestarts(T_0=5,T_mult=2,optimizer=optimizer)","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2025-11-12T09:24:04.36857Z","iopub.execute_input":"2025-11-12T09:24:04.369121Z","iopub.status.idle":"2025-11-12T09:24:04.803298Z","shell.execute_reply.started":"2025-11-12T09:24:04.369096Z","shell.execute_reply":"2025-11-12T09:24:04.802645Z"}},"outputs":[{"name":"stderr","text":"WARNING:timm.models._builder:Unexpected keys (bn2.bias, bn2.num_batches_tracked, bn2.running_mean, bn2.running_var, bn2.weight, classifier.bias, classifier.weight, conv_head.weight) found while loading pretrained weights. This may be expected if model is being adapted.\n","output_type":"stream"}],"execution_count":76},{"cell_type":"code","source":"transform=A.Compose([A.Resize(768,768),A.ToTensorV2()],bbox_params=A.BboxParams(format=\"pascal_voc\"))","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2025-11-12T09:24:04.805287Z","iopub.execute_input":"2025-11-12T09:24:04.805576Z","iopub.status.idle":"2025-11-12T09:24:04.810505Z","shell.execute_reply.started":"2025-11-12T09:24:04.805557Z","shell.execute_reply":"2025-11-12T09:24:04.80976Z"}},"outputs":[],"execution_count":77},{"cell_type":"code","source":"datasetTrain=GroceryDataset(\"/kaggle/input/grocery-items-multi-class-object-detection/train/train\",transform=transform)","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2025-11-12T09:24:04.811257Z","iopub.execute_input":"2025-11-12T09:24:04.811448Z","iopub.status.idle":"2025-11-12T09:24:04.828871Z","shell.execute_reply.started":"2025-11-12T09:24:04.811434Z","shell.execute_reply":"2025-11-12T09:24:04.828276Z"}},"outputs":[],"execution_count":78},{"cell_type":"code","source":"datasetTrain[4]","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2025-11-12T09:24:04.882294Z","iopub.execute_input":"2025-11-12T09:24:04.882874Z","iopub.status.idle":"2025-11-12T09:24:04.975001Z","shell.execute_reply.started":"2025-11-12T09:24:04.882851Z","shell.execute_reply":"2025-11-12T09:24:04.974392Z"}},"outputs":[{"execution_count":79,"output_type":"execute_result","data":{"text/plain":"(tensor([[[58, 65, 66,  ..., 11, 14, 15],\n          [59, 58, 59,  ..., 11, 15, 16],\n          [60, 50, 55,  ..., 13, 15, 16],\n          ...,\n          [63, 63, 69,  ..., 40, 39, 37],\n          [63, 68, 68,  ..., 38, 37, 38],\n          [74, 79, 74,  ..., 48, 44, 43]],\n \n         [[50, 57, 57,  ..., 12, 14, 15],\n          [51, 51, 52,  ..., 12, 16, 16],\n          [52, 43, 47,  ..., 13, 15, 16],\n          ...,\n          [25, 26, 30,  ...,  8,  7,  5],\n          [25, 28, 30,  ...,  7,  6,  6],\n          [31, 34, 33,  ..., 11,  9,  8]],\n \n         [[44, 49, 50,  ...,  1,  2,  3],\n          [44, 44, 44,  ...,  2,  3,  3],\n          [46, 37, 41,  ...,  3,  3,  3],\n          ...,\n          [15, 15, 18,  ...,  3,  3,  2],\n          [16, 17, 18,  ...,  2,  2,  2],\n          [19, 20, 19,  ...,  3,  3,  3]]], dtype=torch.uint8),\n {'bbox': tensor([[146.4889, 344.8000, 287.2889, 421.2000]]),\n  'cls': tensor([2])})"},"metadata":{}}],"execution_count":79},{"cell_type":"code","source":"def collate_fn(batch):\n    #print(*batch)\n    return zip(*batch)","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2025-11-12T09:24:04.989863Z","iopub.execute_input":"2025-11-12T09:24:04.990306Z","iopub.status.idle":"2025-11-12T09:24:04.993777Z","shell.execute_reply.started":"2025-11-12T09:24:04.990288Z","shell.execute_reply":"2025-11-12T09:24:04.992992Z"}},"outputs":[],"execution_count":80},{"cell_type":"code","source":"\ndevice = torch.device(\"cuda\" if torch.cuda.is_available() else \"cpu\")\nmodel.to(device)","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2025-11-12T09:24:05.144749Z","iopub.execute_input":"2025-11-12T09:24:05.144981Z","iopub.status.idle":"2025-11-12T09:24:05.211071Z","shell.execute_reply.started":"2025-11-12T09:24:05.144939Z","shell.execute_reply":"2025-11-12T09:24:05.210521Z"},"collapsed":true,"jupyter":{"outputs_hidden":true}},"outputs":[{"execution_count":81,"output_type":"execute_result","data":{"text/plain":"DetBenchTrain(\n  (model): EfficientDet(\n    (backbone): EfficientNetFeatures(\n      (conv_stem): Conv2d(3, 24, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)\n      (bn1): BatchNormAct2d(\n        24, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True\n        (drop): Identity()\n        (act): SiLU(inplace=True)\n      )\n      (blocks): Sequential(\n        (0): Sequential(\n          (0): ConvBnAct(\n            (conv): Conv2d(24, 24, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)\n            (bn1): BatchNormAct2d(\n              24, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True\n              (drop): Identity()\n              (act): SiLU(inplace=True)\n            )\n            (aa): Identity()\n            (drop_path): Identity()\n          )\n          (1): ConvBnAct(\n            (conv): Conv2d(24, 24, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)\n            (bn1): BatchNormAct2d(\n              24, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True\n              (drop): Identity()\n              (act): SiLU(inplace=True)\n            )\n            (aa): Identity()\n            (drop_path): DropPath(drop_prob=0.005)\n          )\n        )\n        (1): Sequential(\n          (0): EdgeResidual(\n            (conv_exp): Conv2d(24, 96, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)\n            (bn1): BatchNormAct2d(\n              96, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True\n              (drop): Identity()\n              (act): SiLU(inplace=True)\n            )\n            (aa): Identity()\n            (se): Identity()\n            (conv_pwl): Conv2d(96, 40, kernel_size=(1, 1), stride=(1, 1), bias=False)\n            (bn2): BatchNormAct2d(\n              40, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True\n              (drop): Identity()\n              (act): Identity()\n            )\n            (drop_path): DropPath(drop_prob=0.010)\n          )\n          (1): EdgeResidual(\n            (conv_exp): Conv2d(40, 160, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)\n            (bn1): BatchNormAct2d(\n              160, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True\n              (drop): Identity()\n              (act): SiLU(inplace=True)\n            )\n            (aa): Identity()\n            (se): Identity()\n            (conv_pwl): Conv2d(160, 40, kernel_size=(1, 1), stride=(1, 1), bias=False)\n            (bn2): BatchNormAct2d(\n              40, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True\n              (drop): Identity()\n              (act): Identity()\n            )\n            (drop_path): DropPath(drop_prob=0.015)\n          )\n          (2): EdgeResidual(\n            (conv_exp): Conv2d(40, 160, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)\n            (bn1): BatchNormAct2d(\n              160, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True\n              (drop): Identity()\n              (act): SiLU(inplace=True)\n            )\n            (aa): Identity()\n            (se): Identity()\n            (conv_pwl): Conv2d(160, 40, kernel_size=(1, 1), stride=(1, 1), bias=False)\n            (bn2): BatchNormAct2d(\n              40, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True\n              (drop): Identity()\n              (act): Identity()\n            )\n            (drop_path): DropPath(drop_prob=0.021)\n          )\n          (3): EdgeResidual(\n            (conv_exp): Conv2d(40, 160, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)\n            (bn1): BatchNormAct2d(\n              160, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True\n              (drop): Identity()\n              (act): SiLU(inplace=True)\n            )\n            (aa): Identity()\n            (se): Identity()\n            (conv_pwl): Conv2d(160, 40, kernel_size=(1, 1), stride=(1, 1), bias=False)\n            (bn2): BatchNormAct2d(\n              40, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True\n              (drop): Identity()\n              (act): Identity()\n            )\n            (drop_path): DropPath(drop_prob=0.026)\n          )\n        )\n        (2): Sequential(\n          (0): EdgeResidual(\n            (conv_exp): Conv2d(40, 160, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)\n            (bn1): BatchNormAct2d(\n              160, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True\n              (drop): Identity()\n              (act): SiLU(inplace=True)\n            )\n            (aa): Identity()\n            (se): Identity()\n            (conv_pwl): Conv2d(160, 48, kernel_size=(1, 1), stride=(1, 1), bias=False)\n            (bn2): BatchNormAct2d(\n              48, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True\n              (drop): Identity()\n              (act): Identity()\n            )\n            (drop_path): DropPath(drop_prob=0.031)\n          )\n          (1): EdgeResidual(\n            (conv_exp): Conv2d(48, 192, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)\n            (bn1): BatchNormAct2d(\n              192, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True\n              (drop): Identity()\n              (act): SiLU(inplace=True)\n            )\n            (aa): Identity()\n            (se): Identity()\n            (conv_pwl): Conv2d(192, 48, kernel_size=(1, 1), stride=(1, 1), bias=False)\n            (bn2): BatchNormAct2d(\n              48, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True\n              (drop): Identity()\n              (act): Identity()\n            )\n            (drop_path): DropPath(drop_prob=0.036)\n          )\n          (2): EdgeResidual(\n            (conv_exp): Conv2d(48, 192, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)\n            (bn1): BatchNormAct2d(\n              192, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True\n              (drop): Identity()\n              (act): SiLU(inplace=True)\n            )\n            (aa): Identity()\n            (se): Identity()\n            (conv_pwl): Conv2d(192, 48, kernel_size=(1, 1), stride=(1, 1), bias=False)\n            (bn2): BatchNormAct2d(\n              48, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True\n              (drop): Identity()\n              (act): Identity()\n            )\n            (drop_path): DropPath(drop_prob=0.041)\n          )\n          (3): EdgeResidual(\n            (conv_exp): Conv2d(48, 192, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)\n            (bn1): BatchNormAct2d(\n              192, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True\n              (drop): Identity()\n              (act): SiLU(inplace=True)\n            )\n            (aa): Identity()\n            (se): Identity()\n            (conv_pwl): Conv2d(192, 48, kernel_size=(1, 1), stride=(1, 1), bias=False)\n            (bn2): BatchNormAct2d(\n              48, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True\n              (drop): Identity()\n              (act): Identity()\n            )\n            (drop_path): DropPath(drop_prob=0.046)\n          )\n        )\n        (3): Sequential(\n          (0): InvertedResidual(\n            (conv_pw): Conv2d(48, 192, kernel_size=(1, 1), stride=(1, 1), bias=False)\n            (bn1): BatchNormAct2d(\n              192, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True\n              (drop): Identity()\n              (act): SiLU(inplace=True)\n            )\n            (conv_dw): Conv2d(192, 192, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), groups=192, bias=False)\n            (bn2): BatchNormAct2d(\n              192, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True\n              (drop): Identity()\n              (act): SiLU(inplace=True)\n            )\n            (aa): Identity()\n            (se): SqueezeExcite(\n              (conv_reduce): Conv2d(192, 12, kernel_size=(1, 1), stride=(1, 1))\n              (act1): SiLU(inplace=True)\n              (conv_expand): Conv2d(12, 192, kernel_size=(1, 1), stride=(1, 1))\n              (gate): Sigmoid()\n            )\n            (conv_pwl): Conv2d(192, 104, kernel_size=(1, 1), stride=(1, 1), bias=False)\n            (bn3): BatchNormAct2d(\n              104, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True\n              (drop): Identity()\n              (act): Identity()\n            )\n            (drop_path): DropPath(drop_prob=0.051)\n          )\n          (1): InvertedResidual(\n            (conv_pw): Conv2d(104, 416, kernel_size=(1, 1), stride=(1, 1), bias=False)\n            (bn1): BatchNormAct2d(\n              416, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True\n              (drop): Identity()\n              (act): SiLU(inplace=True)\n            )\n            (conv_dw): Conv2d(416, 416, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=416, bias=False)\n            (bn2): BatchNormAct2d(\n              416, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True\n              (drop): Identity()\n              (act): SiLU(inplace=True)\n            )\n            (aa): Identity()\n            (se): SqueezeExcite(\n              (conv_reduce): Conv2d(416, 26, kernel_size=(1, 1), stride=(1, 1))\n              (act1): SiLU(inplace=True)\n              (conv_expand): Conv2d(26, 416, kernel_size=(1, 1), stride=(1, 1))\n              (gate): Sigmoid()\n            )\n            (conv_pwl): Conv2d(416, 104, kernel_size=(1, 1), stride=(1, 1), bias=False)\n            (bn3): BatchNormAct2d(\n              104, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True\n              (drop): Identity()\n              (act): Identity()\n            )\n            (drop_path): DropPath(drop_prob=0.056)\n          )\n          (2): InvertedResidual(\n            (conv_pw): Conv2d(104, 416, kernel_size=(1, 1), stride=(1, 1), bias=False)\n            (bn1): BatchNormAct2d(\n              416, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True\n              (drop): Identity()\n              (act): SiLU(inplace=True)\n            )\n            (conv_dw): Conv2d(416, 416, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=416, bias=False)\n            (bn2): BatchNormAct2d(\n              416, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True\n              (drop): Identity()\n              (act): SiLU(inplace=True)\n            )\n            (aa): Identity()\n            (se): SqueezeExcite(\n              (conv_reduce): Conv2d(416, 26, kernel_size=(1, 1), stride=(1, 1))\n              (act1): SiLU(inplace=True)\n              (conv_expand): Conv2d(26, 416, kernel_size=(1, 1), stride=(1, 1))\n              (gate): Sigmoid()\n            )\n            (conv_pwl): Conv2d(416, 104, kernel_size=(1, 1), stride=(1, 1), bias=False)\n            (bn3): BatchNormAct2d(\n              104, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True\n              (drop): Identity()\n              (act): Identity()\n            )\n            (drop_path): DropPath(drop_prob=0.062)\n          )\n          (3): InvertedResidual(\n            (conv_pw): Conv2d(104, 416, kernel_size=(1, 1), stride=(1, 1), bias=False)\n            (bn1): BatchNormAct2d(\n              416, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True\n              (drop): Identity()\n              (act): SiLU(inplace=True)\n            )\n            (conv_dw): Conv2d(416, 416, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=416, bias=False)\n            (bn2): BatchNormAct2d(\n              416, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True\n              (drop): Identity()\n              (act): SiLU(inplace=True)\n            )\n            (aa): Identity()\n            (se): SqueezeExcite(\n              (conv_reduce): Conv2d(416, 26, kernel_size=(1, 1), stride=(1, 1))\n              (act1): SiLU(inplace=True)\n              (conv_expand): Conv2d(26, 416, kernel_size=(1, 1), stride=(1, 1))\n              (gate): Sigmoid()\n            )\n            (conv_pwl): Conv2d(416, 104, kernel_size=(1, 1), stride=(1, 1), bias=False)\n            (bn3): BatchNormAct2d(\n              104, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True\n              (drop): Identity()\n              (act): Identity()\n            )\n            (drop_path): DropPath(drop_prob=0.067)\n          )\n          (4): InvertedResidual(\n            (conv_pw): Conv2d(104, 416, kernel_size=(1, 1), stride=(1, 1), bias=False)\n            (bn1): BatchNormAct2d(\n              416, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True\n              (drop): Identity()\n              (act): SiLU(inplace=True)\n            )\n            (conv_dw): Conv2d(416, 416, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=416, bias=False)\n            (bn2): BatchNormAct2d(\n              416, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True\n              (drop): Identity()\n              (act): SiLU(inplace=True)\n            )\n            (aa): Identity()\n            (se): SqueezeExcite(\n              (conv_reduce): Conv2d(416, 26, kernel_size=(1, 1), stride=(1, 1))\n              (act1): SiLU(inplace=True)\n              (conv_expand): Conv2d(26, 416, kernel_size=(1, 1), stride=(1, 1))\n              (gate): Sigmoid()\n            )\n            (conv_pwl): Conv2d(416, 104, kernel_size=(1, 1), stride=(1, 1), bias=False)\n            (bn3): BatchNormAct2d(\n              104, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True\n              (drop): Identity()\n              (act): Identity()\n            )\n            (drop_path): DropPath(drop_prob=0.072)\n          )\n          (5): InvertedResidual(\n            (conv_pw): Conv2d(104, 416, kernel_size=(1, 1), stride=(1, 1), bias=False)\n            (bn1): BatchNormAct2d(\n              416, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True\n              (drop): Identity()\n              (act): SiLU(inplace=True)\n            )\n            (conv_dw): Conv2d(416, 416, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=416, bias=False)\n            (bn2): BatchNormAct2d(\n              416, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True\n              (drop): Identity()\n              (act): SiLU(inplace=True)\n            )\n            (aa): Identity()\n            (se): SqueezeExcite(\n              (conv_reduce): Conv2d(416, 26, kernel_size=(1, 1), stride=(1, 1))\n              (act1): SiLU(inplace=True)\n              (conv_expand): Conv2d(26, 416, kernel_size=(1, 1), stride=(1, 1))\n              (gate): Sigmoid()\n            )\n            (conv_pwl): Conv2d(416, 104, kernel_size=(1, 1), stride=(1, 1), bias=False)\n            (bn3): BatchNormAct2d(\n              104, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True\n              (drop): Identity()\n              (act): Identity()\n            )\n            (drop_path): DropPath(drop_prob=0.077)\n          )\n        )\n        (4): Sequential(\n          (0): InvertedResidual(\n            (conv_pw): Conv2d(104, 624, kernel_size=(1, 1), stride=(1, 1), bias=False)\n            (bn1): BatchNormAct2d(\n              624, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True\n              (drop): Identity()\n              (act): SiLU(inplace=True)\n            )\n            (conv_dw): Conv2d(624, 624, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=624, bias=False)\n            (bn2): BatchNormAct2d(\n              624, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True\n              (drop): Identity()\n              (act): SiLU(inplace=True)\n            )\n            (aa): Identity()\n            (se): SqueezeExcite(\n              (conv_reduce): Conv2d(624, 26, kernel_size=(1, 1), stride=(1, 1))\n              (act1): SiLU(inplace=True)\n              (conv_expand): Conv2d(26, 624, kernel_size=(1, 1), stride=(1, 1))\n              (gate): Sigmoid()\n            )\n            (conv_pwl): Conv2d(624, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)\n            (bn3): BatchNormAct2d(\n              128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True\n              (drop): Identity()\n              (act): Identity()\n            )\n            (drop_path): DropPath(drop_prob=0.082)\n          )\n          (1): InvertedResidual(\n            (conv_pw): Conv2d(128, 768, kernel_size=(1, 1), stride=(1, 1), bias=False)\n            (bn1): BatchNormAct2d(\n              768, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True\n              (drop): Identity()\n              (act): SiLU(inplace=True)\n            )\n            (conv_dw): Conv2d(768, 768, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=768, bias=False)\n            (bn2): BatchNormAct2d(\n              768, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True\n              (drop): Identity()\n              (act): SiLU(inplace=True)\n            )\n            (aa): Identity()\n            (se): SqueezeExcite(\n              (conv_reduce): Conv2d(768, 32, kernel_size=(1, 1), stride=(1, 1))\n              (act1): SiLU(inplace=True)\n              (conv_expand): Conv2d(32, 768, kernel_size=(1, 1), stride=(1, 1))\n              (gate): Sigmoid()\n            )\n            (conv_pwl): Conv2d(768, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)\n            (bn3): BatchNormAct2d(\n              128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True\n              (drop): Identity()\n              (act): Identity()\n            )\n            (drop_path): DropPath(drop_prob=0.087)\n          )\n          (2): InvertedResidual(\n            (conv_pw): Conv2d(128, 768, kernel_size=(1, 1), stride=(1, 1), bias=False)\n            (bn1): BatchNormAct2d(\n              768, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True\n              (drop): Identity()\n              (act): SiLU(inplace=True)\n            )\n            (conv_dw): Conv2d(768, 768, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=768, bias=False)\n            (bn2): BatchNormAct2d(\n              768, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True\n              (drop): Identity()\n              (act): SiLU(inplace=True)\n            )\n            (aa): Identity()\n            (se): SqueezeExcite(\n              (conv_reduce): Conv2d(768, 32, kernel_size=(1, 1), stride=(1, 1))\n              (act1): SiLU(inplace=True)\n              (conv_expand): Conv2d(32, 768, kernel_size=(1, 1), stride=(1, 1))\n              (gate): Sigmoid()\n            )\n            (conv_pwl): Conv2d(768, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)\n            (bn3): BatchNormAct2d(\n              128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True\n              (drop): Identity()\n              (act): Identity()\n            )\n            (drop_path): DropPath(drop_prob=0.092)\n          )\n          (3): InvertedResidual(\n            (conv_pw): Conv2d(128, 768, kernel_size=(1, 1), stride=(1, 1), bias=False)\n            (bn1): BatchNormAct2d(\n              768, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True\n              (drop): Identity()\n              (act): SiLU(inplace=True)\n            )\n            (conv_dw): Conv2d(768, 768, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=768, bias=False)\n            (bn2): BatchNormAct2d(\n              768, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True\n              (drop): Identity()\n              (act): SiLU(inplace=True)\n            )\n            (aa): Identity()\n            (se): SqueezeExcite(\n              (conv_reduce): Conv2d(768, 32, kernel_size=(1, 1), stride=(1, 1))\n              (act1): SiLU(inplace=True)\n              (conv_expand): Conv2d(32, 768, kernel_size=(1, 1), stride=(1, 1))\n              (gate): Sigmoid()\n            )\n            (conv_pwl): Conv2d(768, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)\n            (bn3): BatchNormAct2d(\n              128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True\n              (drop): Identity()\n              (act): Identity()\n            )\n            (drop_path): DropPath(drop_prob=0.097)\n          )\n          (4): InvertedResidual(\n            (conv_pw): Conv2d(128, 768, kernel_size=(1, 1), stride=(1, 1), bias=False)\n            (bn1): BatchNormAct2d(\n              768, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True\n              (drop): Identity()\n              (act): SiLU(inplace=True)\n            )\n            (conv_dw): Conv2d(768, 768, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=768, bias=False)\n            (bn2): BatchNormAct2d(\n              768, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True\n              (drop): Identity()\n              (act): SiLU(inplace=True)\n            )\n            (aa): Identity()\n            (se): SqueezeExcite(\n              (conv_reduce): Conv2d(768, 32, kernel_size=(1, 1), stride=(1, 1))\n              (act1): SiLU(inplace=True)\n              (conv_expand): Conv2d(32, 768, kernel_size=(1, 1), stride=(1, 1))\n              (gate): Sigmoid()\n            )\n            (conv_pwl): Conv2d(768, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)\n            (bn3): BatchNormAct2d(\n              128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True\n              (drop): Identity()\n              (act): Identity()\n            )\n            (drop_path): DropPath(drop_prob=0.103)\n          )\n          (5): InvertedResidual(\n            (conv_pw): Conv2d(128, 768, kernel_size=(1, 1), stride=(1, 1), bias=False)\n            (bn1): BatchNormAct2d(\n              768, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True\n              (drop): Identity()\n              (act): SiLU(inplace=True)\n            )\n            (conv_dw): Conv2d(768, 768, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=768, bias=False)\n            (bn2): BatchNormAct2d(\n              768, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True\n              (drop): Identity()\n              (act): SiLU(inplace=True)\n            )\n            (aa): Identity()\n            (se): SqueezeExcite(\n              (conv_reduce): Conv2d(768, 32, kernel_size=(1, 1), stride=(1, 1))\n              (act1): SiLU(inplace=True)\n              (conv_expand): Conv2d(32, 768, kernel_size=(1, 1), stride=(1, 1))\n              (gate): Sigmoid()\n            )\n            (conv_pwl): Conv2d(768, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)\n            (bn3): BatchNormAct2d(\n              128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True\n              (drop): Identity()\n              (act): Identity()\n            )\n            (drop_path): DropPath(drop_prob=0.108)\n          )\n          (6): InvertedResidual(\n            (conv_pw): Conv2d(128, 768, kernel_size=(1, 1), stride=(1, 1), bias=False)\n            (bn1): BatchNormAct2d(\n              768, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True\n              (drop): Identity()\n              (act): SiLU(inplace=True)\n            )\n            (conv_dw): Conv2d(768, 768, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=768, bias=False)\n            (bn2): BatchNormAct2d(\n              768, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True\n              (drop): Identity()\n              (act): SiLU(inplace=True)\n            )\n            (aa): Identity()\n            (se): SqueezeExcite(\n              (conv_reduce): Conv2d(768, 32, kernel_size=(1, 1), stride=(1, 1))\n              (act1): SiLU(inplace=True)\n              (conv_expand): Conv2d(32, 768, kernel_size=(1, 1), stride=(1, 1))\n              (gate): Sigmoid()\n            )\n            (conv_pwl): Conv2d(768, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)\n            (bn3): BatchNormAct2d(\n              128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True\n              (drop): Identity()\n              (act): Identity()\n            )\n            (drop_path): DropPath(drop_prob=0.113)\n          )\n          (7): InvertedResidual(\n            (conv_pw): Conv2d(128, 768, kernel_size=(1, 1), stride=(1, 1), bias=False)\n            (bn1): BatchNormAct2d(\n              768, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True\n              (drop): Identity()\n              (act): SiLU(inplace=True)\n            )\n            (conv_dw): Conv2d(768, 768, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=768, bias=False)\n            (bn2): BatchNormAct2d(\n              768, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True\n              (drop): Identity()\n              (act): SiLU(inplace=True)\n            )\n            (aa): Identity()\n            (se): SqueezeExcite(\n              (conv_reduce): Conv2d(768, 32, kernel_size=(1, 1), stride=(1, 1))\n              (act1): SiLU(inplace=True)\n              (conv_expand): Conv2d(32, 768, kernel_size=(1, 1), stride=(1, 1))\n              (gate): Sigmoid()\n            )\n            (conv_pwl): Conv2d(768, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)\n            (bn3): BatchNormAct2d(\n              128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True\n              (drop): Identity()\n              (act): Identity()\n            )\n            (drop_path): DropPath(drop_prob=0.118)\n          )\n          (8): InvertedResidual(\n            (conv_pw): Conv2d(128, 768, kernel_size=(1, 1), stride=(1, 1), bias=False)\n            (bn1): BatchNormAct2d(\n              768, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True\n              (drop): Identity()\n              (act): SiLU(inplace=True)\n            )\n            (conv_dw): Conv2d(768, 768, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=768, bias=False)\n            (bn2): BatchNormAct2d(\n              768, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True\n              (drop): Identity()\n              (act): SiLU(inplace=True)\n            )\n            (aa): Identity()\n            (se): SqueezeExcite(\n              (conv_reduce): Conv2d(768, 32, kernel_size=(1, 1), stride=(1, 1))\n              (act1): SiLU(inplace=True)\n              (conv_expand): Conv2d(32, 768, kernel_size=(1, 1), stride=(1, 1))\n              (gate): Sigmoid()\n            )\n            (conv_pwl): Conv2d(768, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)\n            (bn3): BatchNormAct2d(\n              128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True\n              (drop): Identity()\n              (act): Identity()\n            )\n            (drop_path): DropPath(drop_prob=0.123)\n          )\n        )\n        (5): Sequential(\n          (0): InvertedResidual(\n            (conv_pw): Conv2d(128, 768, kernel_size=(1, 1), stride=(1, 1), bias=False)\n            (bn1): BatchNormAct2d(\n              768, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True\n              (drop): Identity()\n              (act): SiLU(inplace=True)\n            )\n            (conv_dw): Conv2d(768, 768, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), groups=768, bias=False)\n            (bn2): BatchNormAct2d(\n              768, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True\n              (drop): Identity()\n              (act): SiLU(inplace=True)\n            )\n            (aa): Identity()\n            (se): SqueezeExcite(\n              (conv_reduce): Conv2d(768, 32, kernel_size=(1, 1), stride=(1, 1))\n              (act1): SiLU(inplace=True)\n              (conv_expand): Conv2d(32, 768, kernel_size=(1, 1), stride=(1, 1))\n              (gate): Sigmoid()\n            )\n            (conv_pwl): Conv2d(768, 208, kernel_size=(1, 1), stride=(1, 1), bias=False)\n            (bn3): BatchNormAct2d(\n              208, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True\n              (drop): Identity()\n              (act): Identity()\n            )\n            (drop_path): DropPath(drop_prob=0.128)\n          )\n          (1): InvertedResidual(\n            (conv_pw): Conv2d(208, 1248, kernel_size=(1, 1), stride=(1, 1), bias=False)\n            (bn1): BatchNormAct2d(\n              1248, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True\n              (drop): Identity()\n              (act): SiLU(inplace=True)\n            )\n            (conv_dw): Conv2d(1248, 1248, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=1248, bias=False)\n            (bn2): BatchNormAct2d(\n              1248, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True\n              (drop): Identity()\n              (act): SiLU(inplace=True)\n            )\n            (aa): Identity()\n            (se): SqueezeExcite(\n              (conv_reduce): Conv2d(1248, 52, kernel_size=(1, 1), stride=(1, 1))\n              (act1): SiLU(inplace=True)\n              (conv_expand): Conv2d(52, 1248, kernel_size=(1, 1), stride=(1, 1))\n              (gate): Sigmoid()\n            )\n            (conv_pwl): Conv2d(1248, 208, kernel_size=(1, 1), stride=(1, 1), bias=False)\n            (bn3): BatchNormAct2d(\n              208, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True\n              (drop): Identity()\n              (act): Identity()\n            )\n            (drop_path): DropPath(drop_prob=0.133)\n          )\n          (2): InvertedResidual(\n            (conv_pw): Conv2d(208, 1248, kernel_size=(1, 1), stride=(1, 1), bias=False)\n            (bn1): BatchNormAct2d(\n              1248, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True\n              (drop): Identity()\n              (act): SiLU(inplace=True)\n            )\n            (conv_dw): Conv2d(1248, 1248, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=1248, bias=False)\n            (bn2): BatchNormAct2d(\n              1248, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True\n              (drop): Identity()\n              (act): SiLU(inplace=True)\n            )\n            (aa): Identity()\n            (se): SqueezeExcite(\n              (conv_reduce): Conv2d(1248, 52, kernel_size=(1, 1), stride=(1, 1))\n              (act1): SiLU(inplace=True)\n              (conv_expand): Conv2d(52, 1248, kernel_size=(1, 1), stride=(1, 1))\n              (gate): Sigmoid()\n            )\n            (conv_pwl): Conv2d(1248, 208, kernel_size=(1, 1), stride=(1, 1), bias=False)\n            (bn3): BatchNormAct2d(\n              208, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True\n              (drop): Identity()\n              (act): Identity()\n            )\n            (drop_path): DropPath(drop_prob=0.138)\n          )\n          (3): InvertedResidual(\n            (conv_pw): Conv2d(208, 1248, kernel_size=(1, 1), stride=(1, 1), bias=False)\n            (bn1): BatchNormAct2d(\n              1248, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True\n              (drop): Identity()\n              (act): SiLU(inplace=True)\n            )\n            (conv_dw): Conv2d(1248, 1248, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=1248, bias=False)\n            (bn2): BatchNormAct2d(\n              1248, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True\n              (drop): Identity()\n              (act): SiLU(inplace=True)\n            )\n            (aa): Identity()\n            (se): SqueezeExcite(\n              (conv_reduce): Conv2d(1248, 52, kernel_size=(1, 1), stride=(1, 1))\n              (act1): SiLU(inplace=True)\n              (conv_expand): Conv2d(52, 1248, kernel_size=(1, 1), stride=(1, 1))\n              (gate): Sigmoid()\n            )\n            (conv_pwl): Conv2d(1248, 208, kernel_size=(1, 1), stride=(1, 1), bias=False)\n            (bn3): BatchNormAct2d(\n              208, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True\n              (drop): Identity()\n              (act): Identity()\n            )\n            (drop_path): DropPath(drop_prob=0.144)\n          )\n          (4): InvertedResidual(\n            (conv_pw): Conv2d(208, 1248, kernel_size=(1, 1), stride=(1, 1), bias=False)\n            (bn1): BatchNormAct2d(\n              1248, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True\n              (drop): Identity()\n              (act): SiLU(inplace=True)\n            )\n            (conv_dw): Conv2d(1248, 1248, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=1248, bias=False)\n            (bn2): BatchNormAct2d(\n              1248, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True\n              (drop): Identity()\n              (act): SiLU(inplace=True)\n            )\n            (aa): Identity()\n            (se): SqueezeExcite(\n              (conv_reduce): Conv2d(1248, 52, kernel_size=(1, 1), stride=(1, 1))\n              (act1): SiLU(inplace=True)\n              (conv_expand): Conv2d(52, 1248, kernel_size=(1, 1), stride=(1, 1))\n              (gate): Sigmoid()\n            )\n            (conv_pwl): Conv2d(1248, 208, kernel_size=(1, 1), stride=(1, 1), bias=False)\n            (bn3): BatchNormAct2d(\n              208, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True\n              (drop): Identity()\n              (act): Identity()\n            )\n            (drop_path): DropPath(drop_prob=0.149)\n          )\n          (5): InvertedResidual(\n            (conv_pw): Conv2d(208, 1248, kernel_size=(1, 1), stride=(1, 1), bias=False)\n            (bn1): BatchNormAct2d(\n              1248, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True\n              (drop): Identity()\n              (act): SiLU(inplace=True)\n            )\n            (conv_dw): Conv2d(1248, 1248, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=1248, bias=False)\n            (bn2): BatchNormAct2d(\n              1248, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True\n              (drop): Identity()\n              (act): SiLU(inplace=True)\n            )\n            (aa): Identity()\n            (se): SqueezeExcite(\n              (conv_reduce): Conv2d(1248, 52, kernel_size=(1, 1), stride=(1, 1))\n              (act1): SiLU(inplace=True)\n              (conv_expand): Conv2d(52, 1248, kernel_size=(1, 1), stride=(1, 1))\n              (gate): Sigmoid()\n            )\n            (conv_pwl): Conv2d(1248, 208, kernel_size=(1, 1), stride=(1, 1), bias=False)\n            (bn3): BatchNormAct2d(\n              208, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True\n              (drop): Identity()\n              (act): Identity()\n            )\n            (drop_path): DropPath(drop_prob=0.154)\n          )\n          (6): InvertedResidual(\n            (conv_pw): Conv2d(208, 1248, kernel_size=(1, 1), stride=(1, 1), bias=False)\n            (bn1): BatchNormAct2d(\n              1248, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True\n              (drop): Identity()\n              (act): SiLU(inplace=True)\n            )\n            (conv_dw): Conv2d(1248, 1248, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=1248, bias=False)\n            (bn2): BatchNormAct2d(\n              1248, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True\n              (drop): Identity()\n              (act): SiLU(inplace=True)\n            )\n            (aa): Identity()\n            (se): SqueezeExcite(\n              (conv_reduce): Conv2d(1248, 52, kernel_size=(1, 1), stride=(1, 1))\n              (act1): SiLU(inplace=True)\n              (conv_expand): Conv2d(52, 1248, kernel_size=(1, 1), stride=(1, 1))\n              (gate): Sigmoid()\n            )\n            (conv_pwl): Conv2d(1248, 208, kernel_size=(1, 1), stride=(1, 1), bias=False)\n            (bn3): BatchNormAct2d(\n              208, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True\n              (drop): Identity()\n              (act): Identity()\n            )\n            (drop_path): DropPath(drop_prob=0.159)\n          )\n          (7): InvertedResidual(\n            (conv_pw): Conv2d(208, 1248, kernel_size=(1, 1), stride=(1, 1), bias=False)\n            (bn1): BatchNormAct2d(\n              1248, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True\n              (drop): Identity()\n              (act): SiLU(inplace=True)\n            )\n            (conv_dw): Conv2d(1248, 1248, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=1248, bias=False)\n            (bn2): BatchNormAct2d(\n              1248, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True\n              (drop): Identity()\n              (act): SiLU(inplace=True)\n            )\n            (aa): Identity()\n            (se): SqueezeExcite(\n              (conv_reduce): Conv2d(1248, 52, kernel_size=(1, 1), stride=(1, 1))\n              (act1): SiLU(inplace=True)\n              (conv_expand): Conv2d(52, 1248, kernel_size=(1, 1), stride=(1, 1))\n              (gate): Sigmoid()\n            )\n            (conv_pwl): Conv2d(1248, 208, kernel_size=(1, 1), stride=(1, 1), bias=False)\n            (bn3): BatchNormAct2d(\n              208, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True\n              (drop): Identity()\n              (act): Identity()\n            )\n            (drop_path): DropPath(drop_prob=0.164)\n          )\n          (8): InvertedResidual(\n            (conv_pw): Conv2d(208, 1248, kernel_size=(1, 1), stride=(1, 1), bias=False)\n            (bn1): BatchNormAct2d(\n              1248, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True\n              (drop): Identity()\n              (act): SiLU(inplace=True)\n            )\n            (conv_dw): Conv2d(1248, 1248, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=1248, bias=False)\n            (bn2): BatchNormAct2d(\n              1248, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True\n              (drop): Identity()\n              (act): SiLU(inplace=True)\n            )\n            (aa): Identity()\n            (se): SqueezeExcite(\n              (conv_reduce): Conv2d(1248, 52, kernel_size=(1, 1), stride=(1, 1))\n              (act1): SiLU(inplace=True)\n              (conv_expand): Conv2d(52, 1248, kernel_size=(1, 1), stride=(1, 1))\n              (gate): Sigmoid()\n            )\n            (conv_pwl): Conv2d(1248, 208, kernel_size=(1, 1), stride=(1, 1), bias=False)\n            (bn3): BatchNormAct2d(\n              208, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True\n              (drop): Identity()\n              (act): Identity()\n            )\n            (drop_path): DropPath(drop_prob=0.169)\n          )\n          (9): InvertedResidual(\n            (conv_pw): Conv2d(208, 1248, kernel_size=(1, 1), stride=(1, 1), bias=False)\n            (bn1): BatchNormAct2d(\n              1248, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True\n              (drop): Identity()\n              (act): SiLU(inplace=True)\n            )\n            (conv_dw): Conv2d(1248, 1248, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=1248, bias=False)\n            (bn2): BatchNormAct2d(\n              1248, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True\n              (drop): Identity()\n              (act): SiLU(inplace=True)\n            )\n            (aa): Identity()\n            (se): SqueezeExcite(\n              (conv_reduce): Conv2d(1248, 52, kernel_size=(1, 1), stride=(1, 1))\n              (act1): SiLU(inplace=True)\n              (conv_expand): Conv2d(52, 1248, kernel_size=(1, 1), stride=(1, 1))\n              (gate): Sigmoid()\n            )\n            (conv_pwl): Conv2d(1248, 208, kernel_size=(1, 1), stride=(1, 1), bias=False)\n            (bn3): BatchNormAct2d(\n              208, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True\n              (drop): Identity()\n              (act): Identity()\n            )\n            (drop_path): DropPath(drop_prob=0.174)\n          )\n          (10): InvertedResidual(\n            (conv_pw): Conv2d(208, 1248, kernel_size=(1, 1), stride=(1, 1), bias=False)\n            (bn1): BatchNormAct2d(\n              1248, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True\n              (drop): Identity()\n              (act): SiLU(inplace=True)\n            )\n            (conv_dw): Conv2d(1248, 1248, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=1248, bias=False)\n            (bn2): BatchNormAct2d(\n              1248, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True\n              (drop): Identity()\n              (act): SiLU(inplace=True)\n            )\n            (aa): Identity()\n            (se): SqueezeExcite(\n              (conv_reduce): Conv2d(1248, 52, kernel_size=(1, 1), stride=(1, 1))\n              (act1): SiLU(inplace=True)\n              (conv_expand): Conv2d(52, 1248, kernel_size=(1, 1), stride=(1, 1))\n              (gate): Sigmoid()\n            )\n            (conv_pwl): Conv2d(1248, 208, kernel_size=(1, 1), stride=(1, 1), bias=False)\n            (bn3): BatchNormAct2d(\n              208, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True\n              (drop): Identity()\n              (act): Identity()\n            )\n            (drop_path): DropPath(drop_prob=0.179)\n          )\n          (11): InvertedResidual(\n            (conv_pw): Conv2d(208, 1248, kernel_size=(1, 1), stride=(1, 1), bias=False)\n            (bn1): BatchNormAct2d(\n              1248, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True\n              (drop): Identity()\n              (act): SiLU(inplace=True)\n            )\n            (conv_dw): Conv2d(1248, 1248, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=1248, bias=False)\n            (bn2): BatchNormAct2d(\n              1248, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True\n              (drop): Identity()\n              (act): SiLU(inplace=True)\n            )\n            (aa): Identity()\n            (se): SqueezeExcite(\n              (conv_reduce): Conv2d(1248, 52, kernel_size=(1, 1), stride=(1, 1))\n              (act1): SiLU(inplace=True)\n              (conv_expand): Conv2d(52, 1248, kernel_size=(1, 1), stride=(1, 1))\n              (gate): Sigmoid()\n            )\n            (conv_pwl): Conv2d(1248, 208, kernel_size=(1, 1), stride=(1, 1), bias=False)\n            (bn3): BatchNormAct2d(\n              208, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True\n              (drop): Identity()\n              (act): Identity()\n            )\n            (drop_path): DropPath(drop_prob=0.185)\n          )\n          (12): InvertedResidual(\n            (conv_pw): Conv2d(208, 1248, kernel_size=(1, 1), stride=(1, 1), bias=False)\n            (bn1): BatchNormAct2d(\n              1248, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True\n              (drop): Identity()\n              (act): SiLU(inplace=True)\n            )\n            (conv_dw): Conv2d(1248, 1248, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=1248, bias=False)\n            (bn2): BatchNormAct2d(\n              1248, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True\n              (drop): Identity()\n              (act): SiLU(inplace=True)\n            )\n            (aa): Identity()\n            (se): SqueezeExcite(\n              (conv_reduce): Conv2d(1248, 52, kernel_size=(1, 1), stride=(1, 1))\n              (act1): SiLU(inplace=True)\n              (conv_expand): Conv2d(52, 1248, kernel_size=(1, 1), stride=(1, 1))\n              (gate): Sigmoid()\n            )\n            (conv_pwl): Conv2d(1248, 208, kernel_size=(1, 1), stride=(1, 1), bias=False)\n            (bn3): BatchNormAct2d(\n              208, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True\n              (drop): Identity()\n              (act): Identity()\n            )\n            (drop_path): DropPath(drop_prob=0.190)\n          )\n          (13): InvertedResidual(\n            (conv_pw): Conv2d(208, 1248, kernel_size=(1, 1), stride=(1, 1), bias=False)\n            (bn1): BatchNormAct2d(\n              1248, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True\n              (drop): Identity()\n              (act): SiLU(inplace=True)\n            )\n            (conv_dw): Conv2d(1248, 1248, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=1248, bias=False)\n            (bn2): BatchNormAct2d(\n              1248, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True\n              (drop): Identity()\n              (act): SiLU(inplace=True)\n            )\n            (aa): Identity()\n            (se): SqueezeExcite(\n              (conv_reduce): Conv2d(1248, 52, kernel_size=(1, 1), stride=(1, 1))\n              (act1): SiLU(inplace=True)\n              (conv_expand): Conv2d(52, 1248, kernel_size=(1, 1), stride=(1, 1))\n              (gate): Sigmoid()\n            )\n            (conv_pwl): Conv2d(1248, 208, kernel_size=(1, 1), stride=(1, 1), bias=False)\n            (bn3): BatchNormAct2d(\n              208, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True\n              (drop): Identity()\n              (act): Identity()\n            )\n            (drop_path): DropPath(drop_prob=0.195)\n          )\n        )\n      )\n    )\n    (fpn): BiFpn(\n      (resample): ModuleDict(\n        (3): ResampleFeatureMap(\n          (conv): ConvBnAct2d(\n            (conv): Conv2d(208, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)\n            (bn): BatchNorm2d(128, eps=0.001, momentum=0.01, affine=True, track_running_stats=True)\n          )\n          (downsample): Interpolate2d()\n        )\n        (4): ResampleFeatureMap(\n          (downsample): Interpolate2d()\n        )\n      )\n      (cell): SequentialList(\n        (0): BiFpnLayer(\n          (fnode): ModuleList(\n            (0): Fnode(\n              (combine): FpnCombine(\n                (resample): ModuleDict(\n                  (3): ResampleFeatureMap()\n                  (4): ResampleFeatureMap(\n                    (upsample): Interpolate2d()\n                  )\n                )\n              )\n              (after_combine): Sequential(\n                (act): SiLU(inplace=True)\n                (conv): SeparableConv2d(\n                  (conv_dw): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=128, bias=False)\n                  (conv_pw): Conv2d(128, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)\n                  (bn): BatchNorm2d(128, eps=0.001, momentum=0.01, affine=True, track_running_stats=True)\n                )\n              )\n            )\n            (1): Fnode(\n              (combine): FpnCombine(\n                (resample): ModuleDict(\n                  (2): ResampleFeatureMap(\n                    (conv): ConvBnAct2d(\n                      (conv): Conv2d(208, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)\n                      (bn): BatchNorm2d(128, eps=0.001, momentum=0.01, affine=True, track_running_stats=True)\n                    )\n                  )\n                  (5): ResampleFeatureMap(\n                    (upsample): Interpolate2d()\n                  )\n                )\n              )\n              (after_combine): Sequential(\n                (act): SiLU(inplace=True)\n                (conv): SeparableConv2d(\n                  (conv_dw): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=128, bias=False)\n                  (conv_pw): Conv2d(128, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)\n                  (bn): BatchNorm2d(128, eps=0.001, momentum=0.01, affine=True, track_running_stats=True)\n                )\n              )\n            )\n            (2): Fnode(\n              (combine): FpnCombine(\n                (resample): ModuleDict(\n                  (1): ResampleFeatureMap()\n                  (6): ResampleFeatureMap(\n                    (upsample): Interpolate2d()\n                  )\n                )\n              )\n              (after_combine): Sequential(\n                (act): SiLU(inplace=True)\n                (conv): SeparableConv2d(\n                  (conv_dw): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=128, bias=False)\n                  (conv_pw): Conv2d(128, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)\n                  (bn): BatchNorm2d(128, eps=0.001, momentum=0.01, affine=True, track_running_stats=True)\n                )\n              )\n            )\n            (3): Fnode(\n              (combine): FpnCombine(\n                (resample): ModuleDict(\n                  (0): ResampleFeatureMap(\n                    (conv): ConvBnAct2d(\n                      (conv): Conv2d(48, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)\n                      (bn): BatchNorm2d(128, eps=0.001, momentum=0.01, affine=True, track_running_stats=True)\n                    )\n                  )\n                  (7): ResampleFeatureMap(\n                    (upsample): Interpolate2d()\n                  )\n                )\n              )\n              (after_combine): Sequential(\n                (act): SiLU(inplace=True)\n                (conv): SeparableConv2d(\n                  (conv_dw): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=128, bias=False)\n                  (conv_pw): Conv2d(128, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)\n                  (bn): BatchNorm2d(128, eps=0.001, momentum=0.01, affine=True, track_running_stats=True)\n                )\n              )\n            )\n            (4): Fnode(\n              (combine): FpnCombine(\n                (resample): ModuleDict(\n                  (1): ResampleFeatureMap()\n                  (7): ResampleFeatureMap()\n                  (8): ResampleFeatureMap(\n                    (downsample): Interpolate2d()\n                  )\n                )\n              )\n              (after_combine): Sequential(\n                (act): SiLU(inplace=True)\n                (conv): SeparableConv2d(\n                  (conv_dw): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=128, bias=False)\n                  (conv_pw): Conv2d(128, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)\n                  (bn): BatchNorm2d(128, eps=0.001, momentum=0.01, affine=True, track_running_stats=True)\n                )\n              )\n            )\n            (5): Fnode(\n              (combine): FpnCombine(\n                (resample): ModuleDict(\n                  (2): ResampleFeatureMap(\n                    (conv): ConvBnAct2d(\n                      (conv): Conv2d(208, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)\n                      (bn): BatchNorm2d(128, eps=0.001, momentum=0.01, affine=True, track_running_stats=True)\n                    )\n                  )\n                  (6): ResampleFeatureMap()\n                  (9): ResampleFeatureMap(\n                    (downsample): Interpolate2d()\n                  )\n                )\n              )\n              (after_combine): Sequential(\n                (act): SiLU(inplace=True)\n                (conv): SeparableConv2d(\n                  (conv_dw): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=128, bias=False)\n                  (conv_pw): Conv2d(128, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)\n                  (bn): BatchNorm2d(128, eps=0.001, momentum=0.01, affine=True, track_running_stats=True)\n                )\n              )\n            )\n            (6): Fnode(\n              (combine): FpnCombine(\n                (resample): ModuleDict(\n                  (3): ResampleFeatureMap()\n                  (5): ResampleFeatureMap()\n                  (10): ResampleFeatureMap(\n                    (downsample): Interpolate2d()\n                  )\n                )\n              )\n              (after_combine): Sequential(\n                (act): SiLU(inplace=True)\n                (conv): SeparableConv2d(\n                  (conv_dw): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=128, bias=False)\n                  (conv_pw): Conv2d(128, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)\n                  (bn): BatchNorm2d(128, eps=0.001, momentum=0.01, affine=True, track_running_stats=True)\n                )\n              )\n            )\n            (7): Fnode(\n              (combine): FpnCombine(\n                (resample): ModuleDict(\n                  (4): ResampleFeatureMap()\n                  (11): ResampleFeatureMap(\n                    (downsample): Interpolate2d()\n                  )\n                )\n              )\n              (after_combine): Sequential(\n                (act): SiLU(inplace=True)\n                (conv): SeparableConv2d(\n                  (conv_dw): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=128, bias=False)\n                  (conv_pw): Conv2d(128, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)\n                  (bn): BatchNorm2d(128, eps=0.001, momentum=0.01, affine=True, track_running_stats=True)\n                )\n              )\n            )\n          )\n        )\n        (1): BiFpnLayer(\n          (fnode): ModuleList(\n            (0): Fnode(\n              (combine): FpnCombine(\n                (resample): ModuleDict(\n                  (3): ResampleFeatureMap()\n                  (4): ResampleFeatureMap(\n                    (upsample): Interpolate2d()\n                  )\n                )\n              )\n              (after_combine): Sequential(\n                (act): SiLU(inplace=True)\n                (conv): SeparableConv2d(\n                  (conv_dw): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=128, bias=False)\n                  (conv_pw): Conv2d(128, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)\n                  (bn): BatchNorm2d(128, eps=0.001, momentum=0.01, affine=True, track_running_stats=True)\n                )\n              )\n            )\n            (1): Fnode(\n              (combine): FpnCombine(\n                (resample): ModuleDict(\n                  (2): ResampleFeatureMap()\n                  (5): ResampleFeatureMap(\n                    (upsample): Interpolate2d()\n                  )\n                )\n              )\n              (after_combine): Sequential(\n                (act): SiLU(inplace=True)\n                (conv): SeparableConv2d(\n                  (conv_dw): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=128, bias=False)\n                  (conv_pw): Conv2d(128, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)\n                  (bn): BatchNorm2d(128, eps=0.001, momentum=0.01, affine=True, track_running_stats=True)\n                )\n              )\n            )\n            (2): Fnode(\n              (combine): FpnCombine(\n                (resample): ModuleDict(\n                  (1): ResampleFeatureMap()\n                  (6): ResampleFeatureMap(\n                    (upsample): Interpolate2d()\n                  )\n                )\n              )\n              (after_combine): Sequential(\n                (act): SiLU(inplace=True)\n                (conv): SeparableConv2d(\n                  (conv_dw): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=128, bias=False)\n                  (conv_pw): Conv2d(128, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)\n                  (bn): BatchNorm2d(128, eps=0.001, momentum=0.01, affine=True, track_running_stats=True)\n                )\n              )\n            )\n            (3): Fnode(\n              (combine): FpnCombine(\n                (resample): ModuleDict(\n                  (0): ResampleFeatureMap()\n                  (7): ResampleFeatureMap(\n                    (upsample): Interpolate2d()\n                  )\n                )\n              )\n              (after_combine): Sequential(\n                (act): SiLU(inplace=True)\n                (conv): SeparableConv2d(\n                  (conv_dw): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=128, bias=False)\n                  (conv_pw): Conv2d(128, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)\n                  (bn): BatchNorm2d(128, eps=0.001, momentum=0.01, affine=True, track_running_stats=True)\n                )\n              )\n            )\n            (4): Fnode(\n              (combine): FpnCombine(\n                (resample): ModuleDict(\n                  (1): ResampleFeatureMap()\n                  (7): ResampleFeatureMap()\n                  (8): ResampleFeatureMap(\n                    (downsample): Interpolate2d()\n                  )\n                )\n              )\n              (after_combine): Sequential(\n                (act): SiLU(inplace=True)\n                (conv): SeparableConv2d(\n                  (conv_dw): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=128, bias=False)\n                  (conv_pw): Conv2d(128, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)\n                  (bn): BatchNorm2d(128, eps=0.001, momentum=0.01, affine=True, track_running_stats=True)\n                )\n              )\n            )\n            (5): Fnode(\n              (combine): FpnCombine(\n                (resample): ModuleDict(\n                  (2): ResampleFeatureMap()\n                  (6): ResampleFeatureMap()\n                  (9): ResampleFeatureMap(\n                    (downsample): Interpolate2d()\n                  )\n                )\n              )\n              (after_combine): Sequential(\n                (act): SiLU(inplace=True)\n                (conv): SeparableConv2d(\n                  (conv_dw): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=128, bias=False)\n                  (conv_pw): Conv2d(128, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)\n                  (bn): BatchNorm2d(128, eps=0.001, momentum=0.01, affine=True, track_running_stats=True)\n                )\n              )\n            )\n            (6): Fnode(\n              (combine): FpnCombine(\n                (resample): ModuleDict(\n                  (3): ResampleFeatureMap()\n                  (5): ResampleFeatureMap()\n                  (10): ResampleFeatureMap(\n                    (downsample): Interpolate2d()\n                  )\n                )\n              )\n              (after_combine): Sequential(\n                (act): SiLU(inplace=True)\n                (conv): SeparableConv2d(\n                  (conv_dw): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=128, bias=False)\n                  (conv_pw): Conv2d(128, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)\n                  (bn): BatchNorm2d(128, eps=0.001, momentum=0.01, affine=True, track_running_stats=True)\n                )\n              )\n            )\n            (7): Fnode(\n              (combine): FpnCombine(\n                (resample): ModuleDict(\n                  (4): ResampleFeatureMap()\n                  (11): ResampleFeatureMap(\n                    (downsample): Interpolate2d()\n                  )\n                )\n              )\n              (after_combine): Sequential(\n                (act): SiLU(inplace=True)\n                (conv): SeparableConv2d(\n                  (conv_dw): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=128, bias=False)\n                  (conv_pw): Conv2d(128, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)\n                  (bn): BatchNorm2d(128, eps=0.001, momentum=0.01, affine=True, track_running_stats=True)\n                )\n              )\n            )\n          )\n        )\n        (2): BiFpnLayer(\n          (fnode): ModuleList(\n            (0): Fnode(\n              (combine): FpnCombine(\n                (resample): ModuleDict(\n                  (3): ResampleFeatureMap()\n                  (4): ResampleFeatureMap(\n                    (upsample): Interpolate2d()\n                  )\n                )\n              )\n              (after_combine): Sequential(\n                (act): SiLU(inplace=True)\n                (conv): SeparableConv2d(\n                  (conv_dw): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=128, bias=False)\n                  (conv_pw): Conv2d(128, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)\n                  (bn): BatchNorm2d(128, eps=0.001, momentum=0.01, affine=True, track_running_stats=True)\n                )\n              )\n            )\n            (1): Fnode(\n              (combine): FpnCombine(\n                (resample): ModuleDict(\n                  (2): ResampleFeatureMap()\n                  (5): ResampleFeatureMap(\n                    (upsample): Interpolate2d()\n                  )\n                )\n              )\n              (after_combine): Sequential(\n                (act): SiLU(inplace=True)\n                (conv): SeparableConv2d(\n                  (conv_dw): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=128, bias=False)\n                  (conv_pw): Conv2d(128, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)\n                  (bn): BatchNorm2d(128, eps=0.001, momentum=0.01, affine=True, track_running_stats=True)\n                )\n              )\n            )\n            (2): Fnode(\n              (combine): FpnCombine(\n                (resample): ModuleDict(\n                  (1): ResampleFeatureMap()\n                  (6): ResampleFeatureMap(\n                    (upsample): Interpolate2d()\n                  )\n                )\n              )\n              (after_combine): Sequential(\n                (act): SiLU(inplace=True)\n                (conv): SeparableConv2d(\n                  (conv_dw): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=128, bias=False)\n                  (conv_pw): Conv2d(128, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)\n                  (bn): BatchNorm2d(128, eps=0.001, momentum=0.01, affine=True, track_running_stats=True)\n                )\n              )\n            )\n            (3): Fnode(\n              (combine): FpnCombine(\n                (resample): ModuleDict(\n                  (0): ResampleFeatureMap()\n                  (7): ResampleFeatureMap(\n                    (upsample): Interpolate2d()\n                  )\n                )\n              )\n              (after_combine): Sequential(\n                (act): SiLU(inplace=True)\n                (conv): SeparableConv2d(\n                  (conv_dw): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=128, bias=False)\n                  (conv_pw): Conv2d(128, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)\n                  (bn): BatchNorm2d(128, eps=0.001, momentum=0.01, affine=True, track_running_stats=True)\n                )\n              )\n            )\n            (4): Fnode(\n              (combine): FpnCombine(\n                (resample): ModuleDict(\n                  (1): ResampleFeatureMap()\n                  (7): ResampleFeatureMap()\n                  (8): ResampleFeatureMap(\n                    (downsample): Interpolate2d()\n                  )\n                )\n              )\n              (after_combine): Sequential(\n                (act): SiLU(inplace=True)\n                (conv): SeparableConv2d(\n                  (conv_dw): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=128, bias=False)\n                  (conv_pw): Conv2d(128, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)\n                  (bn): BatchNorm2d(128, eps=0.001, momentum=0.01, affine=True, track_running_stats=True)\n                )\n              )\n            )\n            (5): Fnode(\n              (combine): FpnCombine(\n                (resample): ModuleDict(\n                  (2): ResampleFeatureMap()\n                  (6): ResampleFeatureMap()\n                  (9): ResampleFeatureMap(\n                    (downsample): Interpolate2d()\n                  )\n                )\n              )\n              (after_combine): Sequential(\n                (act): SiLU(inplace=True)\n                (conv): SeparableConv2d(\n                  (conv_dw): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=128, bias=False)\n                  (conv_pw): Conv2d(128, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)\n                  (bn): BatchNorm2d(128, eps=0.001, momentum=0.01, affine=True, track_running_stats=True)\n                )\n              )\n            )\n            (6): Fnode(\n              (combine): FpnCombine(\n                (resample): ModuleDict(\n                  (3): ResampleFeatureMap()\n                  (5): ResampleFeatureMap()\n                  (10): ResampleFeatureMap(\n                    (downsample): Interpolate2d()\n                  )\n                )\n              )\n              (after_combine): Sequential(\n                (act): SiLU(inplace=True)\n                (conv): SeparableConv2d(\n                  (conv_dw): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=128, bias=False)\n                  (conv_pw): Conv2d(128, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)\n                  (bn): BatchNorm2d(128, eps=0.001, momentum=0.01, affine=True, track_running_stats=True)\n                )\n              )\n            )\n            (7): Fnode(\n              (combine): FpnCombine(\n                (resample): ModuleDict(\n                  (4): ResampleFeatureMap()\n                  (11): ResampleFeatureMap(\n                    (downsample): Interpolate2d()\n                  )\n                )\n              )\n              (after_combine): Sequential(\n                (act): SiLU(inplace=True)\n                (conv): SeparableConv2d(\n                  (conv_dw): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=128, bias=False)\n                  (conv_pw): Conv2d(128, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)\n                  (bn): BatchNorm2d(128, eps=0.001, momentum=0.01, affine=True, track_running_stats=True)\n                )\n              )\n            )\n          )\n        )\n        (3): BiFpnLayer(\n          (fnode): ModuleList(\n            (0): Fnode(\n              (combine): FpnCombine(\n                (resample): ModuleDict(\n                  (3): ResampleFeatureMap()\n                  (4): ResampleFeatureMap(\n                    (upsample): Interpolate2d()\n                  )\n                )\n              )\n              (after_combine): Sequential(\n                (act): SiLU(inplace=True)\n                (conv): SeparableConv2d(\n                  (conv_dw): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=128, bias=False)\n                  (conv_pw): Conv2d(128, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)\n                  (bn): BatchNorm2d(128, eps=0.001, momentum=0.01, affine=True, track_running_stats=True)\n                )\n              )\n            )\n            (1): Fnode(\n              (combine): FpnCombine(\n                (resample): ModuleDict(\n                  (2): ResampleFeatureMap()\n                  (5): ResampleFeatureMap(\n                    (upsample): Interpolate2d()\n                  )\n                )\n              )\n              (after_combine): Sequential(\n                (act): SiLU(inplace=True)\n                (conv): SeparableConv2d(\n                  (conv_dw): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=128, bias=False)\n                  (conv_pw): Conv2d(128, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)\n                  (bn): BatchNorm2d(128, eps=0.001, momentum=0.01, affine=True, track_running_stats=True)\n                )\n              )\n            )\n            (2): Fnode(\n              (combine): FpnCombine(\n                (resample): ModuleDict(\n                  (1): ResampleFeatureMap()\n                  (6): ResampleFeatureMap(\n                    (upsample): Interpolate2d()\n                  )\n                )\n              )\n              (after_combine): Sequential(\n                (act): SiLU(inplace=True)\n                (conv): SeparableConv2d(\n                  (conv_dw): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=128, bias=False)\n                  (conv_pw): Conv2d(128, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)\n                  (bn): BatchNorm2d(128, eps=0.001, momentum=0.01, affine=True, track_running_stats=True)\n                )\n              )\n            )\n            (3): Fnode(\n              (combine): FpnCombine(\n                (resample): ModuleDict(\n                  (0): ResampleFeatureMap()\n                  (7): ResampleFeatureMap(\n                    (upsample): Interpolate2d()\n                  )\n                )\n              )\n              (after_combine): Sequential(\n                (act): SiLU(inplace=True)\n                (conv): SeparableConv2d(\n                  (conv_dw): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=128, bias=False)\n                  (conv_pw): Conv2d(128, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)\n                  (bn): BatchNorm2d(128, eps=0.001, momentum=0.01, affine=True, track_running_stats=True)\n                )\n              )\n            )\n            (4): Fnode(\n              (combine): FpnCombine(\n                (resample): ModuleDict(\n                  (1): ResampleFeatureMap()\n                  (7): ResampleFeatureMap()\n                  (8): ResampleFeatureMap(\n                    (downsample): Interpolate2d()\n                  )\n                )\n              )\n              (after_combine): Sequential(\n                (act): SiLU(inplace=True)\n                (conv): SeparableConv2d(\n                  (conv_dw): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=128, bias=False)\n                  (conv_pw): Conv2d(128, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)\n                  (bn): BatchNorm2d(128, eps=0.001, momentum=0.01, affine=True, track_running_stats=True)\n                )\n              )\n            )\n            (5): Fnode(\n              (combine): FpnCombine(\n                (resample): ModuleDict(\n                  (2): ResampleFeatureMap()\n                  (6): ResampleFeatureMap()\n                  (9): ResampleFeatureMap(\n                    (downsample): Interpolate2d()\n                  )\n                )\n              )\n              (after_combine): Sequential(\n                (act): SiLU(inplace=True)\n                (conv): SeparableConv2d(\n                  (conv_dw): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=128, bias=False)\n                  (conv_pw): Conv2d(128, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)\n                  (bn): BatchNorm2d(128, eps=0.001, momentum=0.01, affine=True, track_running_stats=True)\n                )\n              )\n            )\n            (6): Fnode(\n              (combine): FpnCombine(\n                (resample): ModuleDict(\n                  (3): ResampleFeatureMap()\n                  (5): ResampleFeatureMap()\n                  (10): ResampleFeatureMap(\n                    (downsample): Interpolate2d()\n                  )\n                )\n              )\n              (after_combine): Sequential(\n                (act): SiLU(inplace=True)\n                (conv): SeparableConv2d(\n                  (conv_dw): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=128, bias=False)\n                  (conv_pw): Conv2d(128, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)\n                  (bn): BatchNorm2d(128, eps=0.001, momentum=0.01, affine=True, track_running_stats=True)\n                )\n              )\n            )\n            (7): Fnode(\n              (combine): FpnCombine(\n                (resample): ModuleDict(\n                  (4): ResampleFeatureMap()\n                  (11): ResampleFeatureMap(\n                    (downsample): Interpolate2d()\n                  )\n                )\n              )\n              (after_combine): Sequential(\n                (act): SiLU(inplace=True)\n                (conv): SeparableConv2d(\n                  (conv_dw): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=128, bias=False)\n                  (conv_pw): Conv2d(128, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)\n                  (bn): BatchNorm2d(128, eps=0.001, momentum=0.01, affine=True, track_running_stats=True)\n                )\n              )\n            )\n          )\n        )\n        (4): BiFpnLayer(\n          (fnode): ModuleList(\n            (0): Fnode(\n              (combine): FpnCombine(\n                (resample): ModuleDict(\n                  (3): ResampleFeatureMap()\n                  (4): ResampleFeatureMap(\n                    (upsample): Interpolate2d()\n                  )\n                )\n              )\n              (after_combine): Sequential(\n                (act): SiLU(inplace=True)\n                (conv): SeparableConv2d(\n                  (conv_dw): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=128, bias=False)\n                  (conv_pw): Conv2d(128, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)\n                  (bn): BatchNorm2d(128, eps=0.001, momentum=0.01, affine=True, track_running_stats=True)\n                )\n              )\n            )\n            (1): Fnode(\n              (combine): FpnCombine(\n                (resample): ModuleDict(\n                  (2): ResampleFeatureMap()\n                  (5): ResampleFeatureMap(\n                    (upsample): Interpolate2d()\n                  )\n                )\n              )\n              (after_combine): Sequential(\n                (act): SiLU(inplace=True)\n                (conv): SeparableConv2d(\n                  (conv_dw): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=128, bias=False)\n                  (conv_pw): Conv2d(128, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)\n                  (bn): BatchNorm2d(128, eps=0.001, momentum=0.01, affine=True, track_running_stats=True)\n                )\n              )\n            )\n            (2): Fnode(\n              (combine): FpnCombine(\n                (resample): ModuleDict(\n                  (1): ResampleFeatureMap()\n                  (6): ResampleFeatureMap(\n                    (upsample): Interpolate2d()\n                  )\n                )\n              )\n              (after_combine): Sequential(\n                (act): SiLU(inplace=True)\n                (conv): SeparableConv2d(\n                  (conv_dw): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=128, bias=False)\n                  (conv_pw): Conv2d(128, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)\n                  (bn): BatchNorm2d(128, eps=0.001, momentum=0.01, affine=True, track_running_stats=True)\n                )\n              )\n            )\n            (3): Fnode(\n              (combine): FpnCombine(\n                (resample): ModuleDict(\n                  (0): ResampleFeatureMap()\n                  (7): ResampleFeatureMap(\n                    (upsample): Interpolate2d()\n                  )\n                )\n              )\n              (after_combine): Sequential(\n                (act): SiLU(inplace=True)\n                (conv): SeparableConv2d(\n                  (conv_dw): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=128, bias=False)\n                  (conv_pw): Conv2d(128, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)\n                  (bn): BatchNorm2d(128, eps=0.001, momentum=0.01, affine=True, track_running_stats=True)\n                )\n              )\n            )\n            (4): Fnode(\n              (combine): FpnCombine(\n                (resample): ModuleDict(\n                  (1): ResampleFeatureMap()\n                  (7): ResampleFeatureMap()\n                  (8): ResampleFeatureMap(\n                    (downsample): Interpolate2d()\n                  )\n                )\n              )\n              (after_combine): Sequential(\n                (act): SiLU(inplace=True)\n                (conv): SeparableConv2d(\n                  (conv_dw): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=128, bias=False)\n                  (conv_pw): Conv2d(128, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)\n                  (bn): BatchNorm2d(128, eps=0.001, momentum=0.01, affine=True, track_running_stats=True)\n                )\n              )\n            )\n            (5): Fnode(\n              (combine): FpnCombine(\n                (resample): ModuleDict(\n                  (2): ResampleFeatureMap()\n                  (6): ResampleFeatureMap()\n                  (9): ResampleFeatureMap(\n                    (downsample): Interpolate2d()\n                  )\n                )\n              )\n              (after_combine): Sequential(\n                (act): SiLU(inplace=True)\n                (conv): SeparableConv2d(\n                  (conv_dw): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=128, bias=False)\n                  (conv_pw): Conv2d(128, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)\n                  (bn): BatchNorm2d(128, eps=0.001, momentum=0.01, affine=True, track_running_stats=True)\n                )\n              )\n            )\n            (6): Fnode(\n              (combine): FpnCombine(\n                (resample): ModuleDict(\n                  (3): ResampleFeatureMap()\n                  (5): ResampleFeatureMap()\n                  (10): ResampleFeatureMap(\n                    (downsample): Interpolate2d()\n                  )\n                )\n              )\n              (after_combine): Sequential(\n                (act): SiLU(inplace=True)\n                (conv): SeparableConv2d(\n                  (conv_dw): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=128, bias=False)\n                  (conv_pw): Conv2d(128, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)\n                  (bn): BatchNorm2d(128, eps=0.001, momentum=0.01, affine=True, track_running_stats=True)\n                )\n              )\n            )\n            (7): Fnode(\n              (combine): FpnCombine(\n                (resample): ModuleDict(\n                  (4): ResampleFeatureMap()\n                  (11): ResampleFeatureMap(\n                    (downsample): Interpolate2d()\n                  )\n                )\n              )\n              (after_combine): Sequential(\n                (act): SiLU(inplace=True)\n                (conv): SeparableConv2d(\n                  (conv_dw): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=128, bias=False)\n                  (conv_pw): Conv2d(128, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)\n                  (bn): BatchNorm2d(128, eps=0.001, momentum=0.01, affine=True, track_running_stats=True)\n                )\n              )\n            )\n          )\n        )\n      )\n    )\n    (class_net): HeadNet(\n      (conv_rep): ModuleList(\n        (0-2): 3 x SeparableConv2d(\n          (conv_dw): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=128, bias=False)\n          (conv_pw): Conv2d(128, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)\n        )\n      )\n      (bn_rep): ModuleList(\n        (0-4): 5 x ModuleList(\n          (0-2): 3 x BatchNorm2d(128, eps=0.001, momentum=0.01, affine=True, track_running_stats=True)\n        )\n      )\n      (act): SiLU(inplace=True)\n      (predict): SeparableConv2d(\n        (conv_dw): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=128, bias=False)\n        (conv_pw): Conv2d(128, 27, kernel_size=(1, 1), stride=(1, 1))\n      )\n    )\n    (box_net): HeadNet(\n      (conv_rep): ModuleList(\n        (0-2): 3 x SeparableConv2d(\n          (conv_dw): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=128, bias=False)\n          (conv_pw): Conv2d(128, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)\n        )\n      )\n      (bn_rep): ModuleList(\n        (0-4): 5 x ModuleList(\n          (0-2): 3 x BatchNorm2d(128, eps=0.001, momentum=0.01, affine=True, track_running_stats=True)\n        )\n      )\n      (act): SiLU(inplace=True)\n      (predict): SeparableConv2d(\n        (conv_dw): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=128, bias=False)\n        (conv_pw): Conv2d(128, 36, kernel_size=(1, 1), stride=(1, 1))\n      )\n    )\n  )\n  (anchors): Anchors()\n  (loss_fn): DetectionLoss()\n)"},"metadata":{}}],"execution_count":81},{"cell_type":"code","source":"datasetVal=GroceryDatasetVal(\"/kaggle/input/grocery-items-multi-class-object-detection/val/val\",transform=transform)","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2025-11-12T09:24:12.718259Z","iopub.execute_input":"2025-11-12T09:24:12.71896Z","iopub.status.idle":"2025-11-12T09:24:12.722747Z","shell.execute_reply.started":"2025-11-12T09:24:12.71892Z","shell.execute_reply":"2025-11-12T09:24:12.722157Z"}},"outputs":[],"execution_count":84},{"cell_type":"code","source":"batchs=4","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2025-11-12T09:24:12.847329Z","iopub.execute_input":"2025-11-12T09:24:12.848039Z","iopub.status.idle":"2025-11-12T09:24:12.851227Z","shell.execute_reply.started":"2025-11-12T09:24:12.848018Z","shell.execute_reply":"2025-11-12T09:24:12.85043Z"}},"outputs":[],"execution_count":85},{"cell_type":"code","source":"dataLoaderTrain=DataLoader(dataset=datasetTrain,batch_size=batchs,shuffle=False,collate_fn=collate_fn)\ndataLoaderVal=DataLoader(dataset=datasetVal,batch_size=batchs,shuffle=False,collate_fn=collate_fn)","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2025-11-12T09:24:13.040566Z","iopub.execute_input":"2025-11-12T09:24:13.04112Z","iopub.status.idle":"2025-11-12T09:24:13.045192Z","shell.execute_reply.started":"2025-11-12T09:24:13.041099Z","shell.execute_reply":"2025-11-12T09:24:13.044493Z"}},"outputs":[],"execution_count":86},{"cell_type":"code","source":"def to_dev_val(tar):\n    v= {\"bbox\" : [],\n           'cls': [],\n            'img_scale':None,\n            'img_size':None}\n    for i in tar:\n        \n        v[\"bbox\"].append((torch.tensor(i['bbox']).float().to(device)))\n        v['cls'].append(torch.tensor(i['cls']).float().to(device))\n        #v[\"img_scale\"].append(torch.tensor([1.0],device=device))\n       # v[\"img_size\"].append(torch.tensor([[768.0, 768.0]],device=device))\n    #v[\"img_scale\"]=torch.tensor(v[\"img_scale\"])\n    #v[\"img_size\"]=torch.tensor(v[\"img_size\"])\n    return v\ndef to_dev_train(tar):\n    v= {\"bbox\" : [],\n           'cls': []\n        }\n    for i in tar:\n        \n        v[\"bbox\"].append((torch.tensor(i['bbox']).float().to(device)))\n        v['cls'].append(torch.tensor(i['cls']).float().to(device))\n        \n    \n    return v\n            ","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2025-11-12T09:24:13.780493Z","iopub.execute_input":"2025-11-12T09:24:13.780736Z","iopub.status.idle":"2025-11-12T09:24:13.786262Z","shell.execute_reply.started":"2025-11-12T09:24:13.780719Z","shell.execute_reply":"2025-11-12T09:24:13.785531Z"}},"outputs":[],"execution_count":87},{"cell_type":"code","source":"epochs=20\n\nfor j in range(epochs):\n    model.train()\n    runLoss=0.0\n    c=0\n    for img,tar in tqdm(dataLoaderTrain):\n        # print(img)\n        # print(target)\n        \n        img=torch.stack(img).float().to(device)\n        t=to_dev_train(tar)\n        #print(t)\n        # target=tuple(target)\n        # print(type(img))\n        try:\n            optimizer.zero_grad()\n            outputs=model(img,t)\n            loss=outputs[\"loss\"]\n            runLoss+=loss\n            loss.backward()\n            optimizer.step()\n            torch.cuda.empty_cache()\n        except Exception as e:\n            print(e)\n            c=c+1\n            pass\n        \n    print(\"train Loss: \",runLoss/(len(dataLoaderTrain)))\n    model.eval()\n    with torch.no_grad():\n        testloss,boxloss,clsloss=0.0,0.0,0.0\n        for img,tar in tqdm(dataLoaderVal):\n            img=torch.stack(img).float().to(device)\n            t=to_dev_val(tar)\n            #print(t)\n            # target=tuple(target)\n            # print(type(img))\n            outputs=model(img,t)\n            testloss+=outputs[\"loss\"]\n            boxloss+=outputs[\"box_loss\"]\n            clsloss+=outputs[\"class_loss\"]\n            detections=outputs[\"detections\"]\n    \n            torch.cuda.empty_cache()\n            l=len(dataLoaderVal)\n        print(\"testLoss: \",testloss/l,\" boxLoss: \",boxloss/l,\" classLoss: \",clsloss/l)\n        print(\"detections :\",detections[:3])\n            \n        \n        ","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2025-11-12T09:24:14.002323Z","iopub.execute_input":"2025-11-12T09:24:14.002906Z","iopub.status.idle":"2025-11-12T09:48:05.340894Z","shell.execute_reply.started":"2025-11-12T09:24:14.002884Z","shell.execute_reply":"2025-11-12T09:48:05.340015Z"},"collapsed":true,"jupyter":{"outputs_hidden":true}},"outputs":[{"name":"stderr","text":"  0%|          | 0/53 [00:00<?, ?it/s]/tmp/ipykernel_48/2009731132.py:21: UserWarning: To copy construct from a tensor, it is recommended to use sourceTensor.clone().detach() or sourceTensor.clone().detach().requires_grad_(True), rather than torch.tensor(sourceTensor).\n  v[\"bbox\"].append((torch.tensor(i['bbox']).float().to(device)))\n/tmp/ipykernel_48/2009731132.py:22: UserWarning: To copy construct from a tensor, it is recommended to use sourceTensor.clone().detach() or sourceTensor.clone().detach().requires_grad_(True), rather than torch.tensor(sourceTensor).\n  v['cls'].append(torch.tensor(i['cls']).float().to(device))\n100%|██████████| 53/53 [00:57<00:00,  1.09s/it]\n","output_type":"stream"},{"name":"stdout","text":"train Loss:  tensor(738.4127, device='cuda:0', grad_fn=<DivBackward0>)\n","output_type":"stream"},{"name":"stderr","text":"  0%|          | 0/14 [00:00<?, ?it/s]/tmp/ipykernel_48/2009731132.py:8: UserWarning: To copy construct from a tensor, it is recommended to use sourceTensor.clone().detach() or sourceTensor.clone().detach().requires_grad_(True), rather than torch.tensor(sourceTensor).\n  v[\"bbox\"].append((torch.tensor(i['bbox']).float().to(device)))\n/tmp/ipykernel_48/2009731132.py:9: UserWarning: To copy construct from a tensor, it is recommended to use sourceTensor.clone().detach() or sourceTensor.clone().detach().requires_grad_(True), rather than torch.tensor(sourceTensor).\n  v['cls'].append(torch.tensor(i['cls']).float().to(device))\n100%|██████████| 14/14 [00:16<00:00,  1.21s/it]\n","output_type":"stream"},{"name":"stdout","text":"testLoss:  tensor(871.1656, device='cuda:0')  boxLoss:  tensor(0.0125, device='cuda:0')  classLoss:  tensor(870.5396, device='cuda:0')\ndetections : tensor([[[ 3.5410e+02, -3.5353e+02,  1.1502e+03,  4.4969e+02,  4.9038e-01,\n           1.0000e+00],\n         [ 7.4252e+02, -2.1650e+01,  7.9166e+02,  2.8083e+01,  4.8962e-01,\n           1.0000e+00],\n         [ 7.1750e+02, -4.4764e+01,  8.1607e+02,  5.5283e+01,  4.8931e-01,\n           1.0000e+00],\n         ...,\n         [ 2.6730e+02, -2.1350e+01,  3.1532e+02,  2.9284e+01,  4.7774e-01,\n           1.0000e+00],\n         [ 7.4367e+02,  4.5363e+02,  7.9427e+02,  5.0574e+02,  4.7773e-01,\n           1.0000e+00],\n         [ 7.0684e+02,  6.5886e+02,  7.9890e+02,  8.3814e+02,  4.7773e-01,\n           2.0000e+00]],\n\n        [[ 3.5385e+02, -3.5345e+02,  1.1503e+03,  4.4962e+02,  4.9038e-01,\n           1.0000e+00],\n         [ 7.4254e+02, -2.1641e+01,  7.9167e+02,  2.8097e+01,  4.8956e-01,\n           1.0000e+00],\n         [ 7.1754e+02, -4.4763e+01,  8.1608e+02,  5.5292e+01,  4.8928e-01,\n           1.0000e+00],\n         ...,\n         [ 7.1539e+02, -2.1459e+01,  7.6342e+02,  2.9286e+01,  4.7762e-01,\n           1.0000e+00],\n         [ 3.7941e+02, -2.1413e+01,  4.2739e+02,  2.9256e+01,  4.7761e-01,\n           1.0000e+00],\n         [ 4.2744e+02, -2.1464e+01,  4.7541e+02,  2.9308e+01,  4.7760e-01,\n           1.0000e+00]]], device='cuda:0')\n","output_type":"stream"},{"name":"stderr","text":"100%|██████████| 53/53 [00:58<00:00,  1.09s/it]\n","output_type":"stream"},{"name":"stdout","text":"train Loss:  tensor(39.1968, device='cuda:0', grad_fn=<DivBackward0>)\n","output_type":"stream"},{"name":"stderr","text":"100%|██████████| 14/14 [00:14<00:00,  1.02s/it]\n","output_type":"stream"},{"name":"stdout","text":"testLoss:  tensor(344.6857, device='cuda:0')  boxLoss:  tensor(0.0123, device='cuda:0')  classLoss:  tensor(344.0713, device='cuda:0')\ndetections : tensor([[[-2.2694e+02,  5.1611e+02,  3.8369e+02,  8.8950e+02,  4.3789e-01,\n           1.0000e+00],\n         [-1.1606e+02,  6.3848e+02,  1.8514e+02,  8.1942e+02,  4.3552e-01,\n           1.0000e+00],\n         [-2.8609e+01,  7.3600e+02,  4.6959e+01,  7.8216e+02,  4.3519e-01,\n           1.0000e+00],\n         ...,\n         [ 6.9887e+02,  6.4756e+02,  8.0941e+02,  8.8390e+02,  4.0748e-01,\n           1.0000e+00],\n         [-3.1078e+02,  2.9715e+02,  4.8841e+02,  1.2137e+03,  4.0714e-01,\n           3.0000e+00],\n         [ 6.3832e+02,  5.1715e+02,  8.5936e+02,  9.9378e+02,  4.0705e-01,\n           1.0000e+00]],\n\n        [[-2.2731e+02,  5.1573e+02,  3.8185e+02,  8.8943e+02,  4.3799e-01,\n           1.0000e+00],\n         [-1.1631e+02,  6.3808e+02,  1.8397e+02,  8.1897e+02,  4.3555e-01,\n           1.0000e+00],\n         [-2.8550e+01,  7.3600e+02,  4.6953e+01,  7.8216e+02,  4.3514e-01,\n           1.0000e+00],\n         ...,\n         [ 7.0463e+02, -1.8000e+01,  8.1178e+02,  3.1870e+01,  4.0744e-01,\n           2.0000e+00],\n         [-3.0936e+02,  2.9847e+02,  4.8866e+02,  1.2159e+03,  4.0726e-01,\n           3.0000e+00],\n         [ 6.3813e+02,  5.1728e+02,  8.5913e+02,  9.9376e+02,  4.0711e-01,\n           1.0000e+00]]], device='cuda:0')\n","output_type":"stream"},{"name":"stderr","text":"100%|██████████| 53/53 [00:57<00:00,  1.09s/it]\n","output_type":"stream"},{"name":"stdout","text":"train Loss:  tensor(8.0512, device='cuda:0', grad_fn=<DivBackward0>)\n","output_type":"stream"},{"name":"stderr","text":"100%|██████████| 14/14 [00:14<00:00,  1.02s/it]\n","output_type":"stream"},{"name":"stdout","text":"testLoss:  tensor(125.5693, device='cuda:0')  boxLoss:  tensor(0.0123, device='cuda:0')  classLoss:  tensor(124.9567, device='cuda:0')\ndetections : tensor([[[-2.0997e+02,  5.2532e+02,  3.2010e+02,  8.9629e+02,  3.9128e-01,\n           1.0000e+00],\n         [-1.1075e+02,  6.3466e+02,  1.6604e+02,  8.1554e+02,  3.8716e-01,\n           1.0000e+00],\n         [-2.7927e+01,  7.3571e+02,  3.9906e+01,  7.8196e+02,  3.8523e-01,\n           1.0000e+00],\n         ...,\n         [ 7.1823e+02, -9.4458e+01,  8.0381e+02,  9.5643e+01,  3.5141e-01,\n           2.0000e+00],\n         [-1.6820e+01, -3.2394e+01,  3.4175e+01,  7.2253e+01,  3.5113e-01,\n           2.0000e+00],\n         [-1.0244e+02, -2.3593e+01,  8.9661e+01,  7.2987e+01,  3.5062e-01,\n           2.0000e+00]],\n\n        [[-2.1106e+02,  5.2189e+02,  3.1592e+02,  8.9656e+02,  3.9197e-01,\n           1.0000e+00],\n         [-1.1205e+02,  6.3344e+02,  1.6244e+02,  8.1424e+02,  3.8725e-01,\n           1.0000e+00],\n         [-2.7553e+01,  7.3569e+02,  4.0078e+01,  7.8202e+02,  3.8542e-01,\n           1.0000e+00],\n         ...,\n         [ 7.1824e+02, -9.4428e+01,  8.0385e+02,  9.5796e+01,  3.5137e-01,\n           2.0000e+00],\n         [-1.6706e+01, -3.2158e+01,  3.4273e+01,  7.2475e+01,  3.5092e-01,\n           2.0000e+00],\n         [ 6.4056e+02,  5.2284e+02,  8.6088e+02,  1.0020e+03,  3.5068e-01,\n           1.0000e+00]]], device='cuda:0')\n","output_type":"stream"},{"name":"stderr","text":"100%|██████████| 53/53 [00:58<00:00,  1.10s/it]\n","output_type":"stream"},{"name":"stdout","text":"train Loss:  tensor(4.3608, device='cuda:0', grad_fn=<DivBackward0>)\n","output_type":"stream"},{"name":"stderr","text":"100%|██████████| 14/14 [00:14<00:00,  1.00s/it]\n","output_type":"stream"},{"name":"stdout","text":"testLoss:  tensor(39.6580, device='cuda:0')  boxLoss:  tensor(0.0122, device='cuda:0')  classLoss:  tensor(39.0468, device='cuda:0')\ndetections : tensor([[[-2.2026e+02,  5.5117e+02,  2.7857e+02,  8.9389e+02,  3.3588e-01,\n           1.0000e+00],\n         [-1.1251e+02,  6.2954e+02,  1.6041e+02,  8.0982e+02,  3.3133e-01,\n           1.0000e+00],\n         [-2.8238e+01,  7.3512e+02,  3.6769e+01,  7.8072e+02,  3.3028e-01,\n           1.0000e+00],\n         ...,\n         [-4.7925e+01, -8.0397e+00,  3.9955e+01,  3.9259e+01,  2.9547e-01,\n           2.0000e+00],\n         [-3.2766e+02,  3.5828e+02,  6.0938e+02,  8.5047e+02,  2.9499e-01,\n           3.0000e+00],\n         [ 7.1731e+02, -9.8493e+01,  8.0508e+02,  9.1676e+01,  2.9436e-01,\n           2.0000e+00]],\n\n        [[-2.2174e+02,  5.3698e+02,  2.6825e+02,  8.9397e+02,  3.3882e-01,\n           1.0000e+00],\n         [-4.8605e+01,  6.9901e+02,  9.7081e+01,  7.9315e+02,  3.3130e-01,\n           1.0000e+00],\n         [-1.1514e+02,  6.2732e+02,  1.5278e+02,  8.0801e+02,  3.3116e-01,\n           1.0000e+00],\n         ...,\n         [ 7.3008e+02, -1.0174e+01,  7.9854e+02,  1.7357e+01,  2.9632e-01,\n           2.0000e+00],\n         [-3.8778e+01,  7.1917e+02,  6.2707e+01,  7.8382e+02,  2.9601e-01,\n           1.0000e+00],\n         [-2.0942e+01,  7.4711e+02,  1.4797e+01,  7.8002e+02,  2.9538e-01,\n           1.0000e+00]]], device='cuda:0')\n","output_type":"stream"},{"name":"stderr","text":"100%|██████████| 53/53 [00:57<00:00,  1.09s/it]\n","output_type":"stream"},{"name":"stdout","text":"train Loss:  tensor(2.9865, device='cuda:0', grad_fn=<DivBackward0>)\n","output_type":"stream"},{"name":"stderr","text":"100%|██████████| 14/14 [00:13<00:00,  1.03it/s]\n","output_type":"stream"},{"name":"stdout","text":"testLoss:  tensor(14.2237, device='cuda:0')  boxLoss:  tensor(0.0122, device='cuda:0')  classLoss:  tensor(13.6144, device='cuda:0')\ndetections : tensor([[[ 7.3930e+02,  7.5092e+02,  7.7808e+02,  7.7489e+02,  2.7717e-01,\n           1.0000e+00],\n         [ 7.0759e+02,  7.3899e+02,  7.9277e+02,  7.8726e+02,  2.7598e-01,\n           1.0000e+00],\n         [-4.9461e+01,  6.9713e+02,  9.7226e+01,  7.9168e+02,  2.7160e-01,\n           1.0000e+00],\n         ...,\n         [-5.0548e+01, -8.4518e+01,  9.0014e+01,  1.0168e+02,  2.3945e-01,\n           2.0000e+00],\n         [-2.9618e+01, -1.8645e+01,  3.3178e+01,  1.7082e+01,  2.3886e-01,\n           1.0000e+00],\n         [-1.5558e+01,  7.5055e+02,  1.3599e+01,  7.8532e+02,  2.3872e-01,\n           1.0000e+00]],\n\n        [[ 7.0940e+02,  7.3813e+02,  7.9228e+02,  7.8754e+02,  2.7969e-01,\n           1.0000e+00],\n         [ 7.3763e+02,  7.5090e+02,  7.7712e+02,  7.7424e+02,  2.7736e-01,\n           1.0000e+00],\n         [-2.4358e+02,  5.5800e+02,  2.1445e+02,  9.0652e+02,  2.7685e-01,\n           1.0000e+00],\n         ...,\n         [-2.1518e+02, -4.1386e+01,  1.8040e+02,  1.3598e+02,  2.4028e-01,\n           1.0000e+00],\n         [-5.5084e+01, -8.6724e+01,  8.7545e+01,  1.0315e+02,  2.3968e-01,\n           3.0000e+00],\n         [ 7.2939e+02,  6.8096e+02,  8.2423e+02,  8.0251e+02,  2.3953e-01,\n           3.0000e+00]]], device='cuda:0')\n","output_type":"stream"},{"name":"stderr","text":"100%|██████████| 53/53 [00:57<00:00,  1.09s/it]\n","output_type":"stream"},{"name":"stdout","text":"train Loss:  tensor(2.2912, device='cuda:0', grad_fn=<DivBackward0>)\n","output_type":"stream"},{"name":"stderr","text":"100%|██████████| 14/14 [00:14<00:00,  1.03s/it]\n","output_type":"stream"},{"name":"stdout","text":"testLoss:  tensor(6.2867, device='cuda:0')  boxLoss:  tensor(0.0121, device='cuda:0')  classLoss:  tensor(5.6819, device='cuda:0')\ndetections : tensor([[[ 7.3899e+02,  7.4944e+02,  7.7792e+02,  7.7388e+02,  2.2856e-01,\n           1.0000e+00],\n         [ 7.5064e+02,  7.4248e+02,  7.7610e+02,  7.9677e+02,  2.2500e-01,\n           1.0000e+00],\n         [-1.1227e+01, -2.3847e+01,  2.2273e+01,  3.7672e+01,  2.2359e-01,\n           1.0000e+00],\n         ...,\n         [-5.3298e+00,  7.3468e+02,  1.4368e+01,  7.8345e+02,  1.8596e-01,\n           3.0000e+00],\n         [-1.2975e+02,  5.8802e+02,  1.4808e+02,  8.9724e+02,  1.8578e-01,\n           3.0000e+00],\n         [ 7.2503e+02, -4.7809e+01,  8.1926e+02,  3.8077e+01,  1.8567e-01,\n           2.0000e+00]],\n\n        [[ 7.0704e+02,  7.3769e+02,  7.9009e+02,  7.8636e+02,  2.2928e-01,\n           1.0000e+00],\n         [ 7.3642e+02,  7.4944e+02,  7.7653e+02,  7.7265e+02,  2.2905e-01,\n           1.0000e+00],\n         [ 7.4997e+02,  7.4297e+02,  7.7609e+02,  7.9941e+02,  2.2459e-01,\n           1.0000e+00],\n         ...,\n         [-5.0484e+00,  7.3529e+02,  1.4589e+01,  7.8457e+02,  1.8894e-01,\n           3.0000e+00],\n         [-2.7324e+01,  7.4812e+02,  1.0897e+01,  7.7568e+02,  1.8889e-01,\n           1.0000e+00],\n         [-4.4565e+01,  6.2674e+02,  4.6012e+01,  8.0944e+02,  1.8876e-01,\n           1.0000e+00]]], device='cuda:0')\n","output_type":"stream"},{"name":"stderr","text":"100%|██████████| 53/53 [00:57<00:00,  1.09s/it]\n","output_type":"stream"},{"name":"stdout","text":"train Loss:  tensor(1.8554, device='cuda:0', grad_fn=<DivBackward0>)\n","output_type":"stream"},{"name":"stderr","text":"100%|██████████| 14/14 [00:13<00:00,  1.02it/s]\n","output_type":"stream"},{"name":"stdout","text":"testLoss:  tensor(3.5483, device='cuda:0')  boxLoss:  tensor(0.0120, device='cuda:0')  classLoss:  tensor(2.9491, device='cuda:0')\ndetections : tensor([[[ 7.3825e+02,  7.4851e+02,  7.7827e+02,  7.7200e+02,  1.8415e-01,\n           1.0000e+00],\n         [ 7.4891e+02,  7.4477e+02,  7.7574e+02,  7.9855e+02,  1.8415e-01,\n           1.0000e+00],\n         [-1.2079e+01, -2.7516e+01,  2.2247e+01,  3.5780e+01,  1.8023e-01,\n           1.0000e+00],\n         ...,\n         [-1.6793e+01,  7.0058e+02,  2.7773e+01,  7.9429e+02,  1.4214e-01,\n           3.0000e+00],\n         [-1.0324e+01, -8.6431e+00,  1.9712e+01,  2.7424e+01,  1.4149e-01,\n           2.0000e+00],\n         [ 6.4619e+02,  5.7912e+02,  8.2848e+02,  9.3298e+02,  1.4145e-01,\n           2.0000e+00]],\n\n        [[ 7.3466e+02,  7.4838e+02,  7.7647e+02,  7.7021e+02,  1.8541e-01,\n           1.0000e+00],\n         [ 7.0523e+02,  7.3771e+02,  7.8730e+02,  7.8472e+02,  1.8418e-01,\n           1.0000e+00],\n         [ 7.4787e+02,  7.4591e+02,  7.7556e+02,  8.0256e+02,  1.8399e-01,\n           1.0000e+00],\n         ...,\n         [-8.5264e+00,  7.5534e+02,  2.3942e+01,  7.7386e+02,  1.4625e-01,\n           3.0000e+00],\n         [-8.0572e+01, -1.1501e+02,  8.2228e+01,  1.0493e+02,  1.4568e-01,\n           3.0000e+00],\n         [ 6.3464e+02, -4.2902e+01,  8.5636e+02,  6.8128e+01,  1.4567e-01,\n           2.0000e+00]]], device='cuda:0')\n","output_type":"stream"},{"name":"stderr","text":"100%|██████████| 53/53 [00:57<00:00,  1.09s/it]\n","output_type":"stream"},{"name":"stdout","text":"train Loss:  tensor(1.5459, device='cuda:0', grad_fn=<DivBackward0>)\n","output_type":"stream"},{"name":"stderr","text":"100%|██████████| 14/14 [00:14<00:00,  1.03s/it]\n","output_type":"stream"},{"name":"stdout","text":"testLoss:  tensor(2.4381, device='cuda:0')  boxLoss:  tensor(0.0117, device='cuda:0')  classLoss:  tensor(1.8521, device='cuda:0')\ndetections : tensor([[[ 7.5702e+02, -2.1818e+01,  7.7259e+02,  2.1198e+01,  1.4908e-01,\n           2.0000e+00],\n         [ 7.4954e+02,  7.4526e+02,  7.7633e+02,  7.9746e+02,  1.4764e-01,\n           1.0000e+00],\n         [ 7.3732e+02,  7.4764e+02,  7.7888e+02,  7.7161e+02,  1.4521e-01,\n           1.0000e+00],\n         ...,\n         [ 7.1043e+02,  7.1180e+02,  8.5478e+02,  7.9074e+02,  1.0867e-01,\n           1.0000e+00],\n         [ 6.9809e+02, -1.0318e+02,  7.9968e+02,  6.9962e+01,  1.0866e-01,\n           3.0000e+00],\n         [-1.6890e+01, -6.2799e+00,  2.6228e+01,  2.2232e+01,  1.0859e-01,\n           2.0000e+00]],\n\n        [[ 7.5674e+02, -2.1974e+01,  7.7240e+02,  2.1085e+01,  1.4790e-01,\n           2.0000e+00],\n         [ 7.4861e+02,  7.4657e+02,  7.7610e+02,  8.0192e+02,  1.4752e-01,\n           1.0000e+00],\n         [ 7.3338e+02,  7.4791e+02,  7.7706e+02,  7.6985e+02,  1.4682e-01,\n           1.0000e+00],\n         ...,\n         [-1.7681e+01, -6.1028e+00,  2.6721e+01,  2.3013e+01,  1.1175e-01,\n           3.0000e+00],\n         [-4.1388e+01, -7.9245e+01,  9.7812e+01,  1.6905e+02,  1.1162e-01,\n           2.0000e+00],\n         [-1.1924e+00, -2.0063e+01,  1.9091e+01,  4.8155e+01,  1.1158e-01,\n           2.0000e+00]]], device='cuda:0')\n","output_type":"stream"},{"name":"stderr","text":"100%|██████████| 53/53 [00:58<00:00,  1.09s/it]\n","output_type":"stream"},{"name":"stdout","text":"train Loss:  tensor(1.3188, device='cuda:0', grad_fn=<DivBackward0>)\n","output_type":"stream"},{"name":"stderr","text":"100%|██████████| 14/14 [00:14<00:00,  1.02s/it]\n","output_type":"stream"},{"name":"stdout","text":"testLoss:  tensor(1.9725, device='cuda:0')  boxLoss:  tensor(0.0118, device='cuda:0')  classLoss:  tensor(1.3818, device='cuda:0')\ndetections : tensor([[[ 7.5764e+02, -2.1102e+01,  7.7239e+02,  2.2170e+01,  1.2445e-01,\n           2.0000e+00],\n         [ 7.4960e+02,  7.4460e+02,  7.7774e+02,  7.9638e+02,  1.2085e-01,\n           1.0000e+00],\n         [ 7.1905e+02, -7.3015e+00,  8.0191e+02,  1.7457e+01,  1.1753e-01,\n           1.0000e+00],\n         ...,\n         [-1.7418e+01,  7.4456e+02,  3.3536e+01,  7.8214e+02,  8.5191e-02,\n           1.0000e+00],\n         [-1.5066e+02,  5.5182e+02,  2.3841e+02,  7.8642e+02,  8.5158e-02,\n           1.0000e+00],\n         [-2.2743e+01,  6.8983e+02,  3.5751e+01,  8.3768e+02,  8.5052e-02,\n           2.0000e+00]],\n\n        [[ 7.5731e+02, -2.0937e+01,  7.7218e+02,  2.1913e+01,  1.2323e-01,\n           2.0000e+00],\n         [ 7.4854e+02,  7.4642e+02,  7.7773e+02,  8.0186e+02,  1.2041e-01,\n           1.0000e+00],\n         [ 7.3442e+02,  7.4604e+02,  7.7857e+02,  7.6867e+02,  1.1876e-01,\n           1.0000e+00],\n         ...,\n         [-6.7228e+01,  5.9886e+02,  6.3003e+01,  8.8144e+02,  8.9084e-02,\n           2.0000e+00],\n         [-3.0254e+01,  6.9082e+02,  1.0785e+02,  7.8427e+02,  8.8769e-02,\n           1.0000e+00],\n         [-3.8711e+01, -8.6213e+01,  1.0048e+02,  1.6590e+02,  8.8619e-02,\n           2.0000e+00]]], device='cuda:0')\n","output_type":"stream"},{"name":"stderr","text":"100%|██████████| 53/53 [00:57<00:00,  1.09s/it]\n","output_type":"stream"},{"name":"stdout","text":"train Loss:  tensor(1.1485, device='cuda:0', grad_fn=<DivBackward0>)\n","output_type":"stream"},{"name":"stderr","text":"100%|██████████| 14/14 [00:14<00:00,  1.02s/it]\n","output_type":"stream"},{"name":"stdout","text":"testLoss:  tensor(1.7373, device='cuda:0')  boxLoss:  tensor(0.0117, device='cuda:0')  classLoss:  tensor(1.1542, device='cuda:0')\ndetections : tensor([[[ 7.5661e+02, -1.9367e+01,  7.7093e+02,  2.3182e+01,  1.0620e-01,\n           2.0000e+00],\n         [ 5.2532e+02,  6.4757e+02,  8.3882e+02,  8.2932e+02,  1.0485e-01,\n           1.0000e+00],\n         [ 7.4924e+02,  7.4536e+02,  7.7748e+02,  7.9502e+02,  1.0028e-01,\n           1.0000e+00],\n         ...,\n         [-2.9535e+01,  6.8844e+02,  1.0889e+02,  7.8401e+02,  7.2900e-02,\n           2.0000e+00],\n         [ 7.4125e+02,  7.3050e+02,  8.0423e+02,  7.7486e+02,  7.2882e-02,\n           1.0000e+00],\n         [-1.6030e+01,  7.0388e+02,  2.9114e+01,  8.0023e+02,  7.2620e-02,\n           2.0000e+00]],\n\n        [[ 7.5648e+02, -1.9102e+01,  7.7075e+02,  2.2673e+01,  1.0509e-01,\n           2.0000e+00],\n         [-1.1372e+01, -3.3022e+01,  2.3626e+01,  3.5038e+01,  9.9911e-02,\n           1.0000e+00],\n         [ 7.4849e+02,  7.4618e+02,  7.7725e+02,  7.9943e+02,  9.9671e-02,\n           1.0000e+00],\n         ...,\n         [-4.9595e+01, -2.0648e+01,  3.2498e+01,  1.9699e+01,  7.5055e-02,\n           3.0000e+00],\n         [ 6.3523e+02, -4.3696e+01,  8.5486e+02,  6.6038e+01,  7.5053e-02,\n           2.0000e+00],\n         [-2.0026e+01,  7.4687e+02,  2.6541e+01,  7.8209e+02,  7.5047e-02,\n           3.0000e+00]]], device='cuda:0')\n","output_type":"stream"},{"name":"stderr","text":"100%|██████████| 53/53 [00:57<00:00,  1.09s/it]\n","output_type":"stream"},{"name":"stdout","text":"train Loss:  tensor(1.0072, device='cuda:0', grad_fn=<DivBackward0>)\n","output_type":"stream"},{"name":"stderr","text":"100%|██████████| 14/14 [00:13<00:00,  1.02it/s]\n","output_type":"stream"},{"name":"stdout","text":"testLoss:  tensor(1.6018, device='cuda:0')  boxLoss:  tensor(0.0115, device='cuda:0')  classLoss:  tensor(1.0260, device='cuda:0')\ndetections : tensor([[[ 5.2749e+02,  6.4392e+02,  8.3530e+02,  8.2691e+02,  9.8517e-02,\n           1.0000e+00],\n         [ 7.5759e+02, -2.0144e+01,  7.7258e+02,  2.2265e+01,  9.2926e-02,\n           2.0000e+00],\n         [ 5.8777e+02,  5.1771e+02,  8.5005e+02,  8.3139e+02,  9.2798e-02,\n           2.0000e+00],\n         ...,\n         [-8.7952e+01,  6.6606e+02,  1.4579e+02,  7.8469e+02,  6.3157e-02,\n           3.0000e+00],\n         [ 7.4135e+02, -8.8560e+00,  7.8624e+02,  2.6932e+01,  6.3116e-02,\n           2.0000e+00],\n         [ 6.3703e+02, -4.4520e+01,  8.5377e+02,  6.7970e+01,  6.2886e-02,\n           2.0000e+00]],\n\n        [[ 7.5732e+02, -2.0074e+01,  7.7246e+02,  2.1862e+01,  9.1844e-02,\n           2.0000e+00],\n         [ 7.4776e+02,  7.4663e+02,  7.7664e+02,  8.0010e+02,  8.7852e-02,\n           1.0000e+00],\n         [ 6.5921e+02,  6.9598e+02,  8.2451e+02,  8.0181e+02,  8.7728e-02,\n           1.0000e+00],\n         ...,\n         [ 6.6230e+02,  5.3534e+02,  8.8028e+02,  9.7656e+02,  6.5792e-02,\n           1.0000e+00],\n         [-8.9375e+01,  4.3927e+02,  8.2334e+01,  9.4913e+02,  6.5464e-02,\n           1.0000e+00],\n         [-1.6478e+01,  7.3126e+02,  1.2312e+01,  8.1380e+02,  6.5305e-02,\n           2.0000e+00]]], device='cuda:0')\n","output_type":"stream"},{"name":"stderr","text":"100%|██████████| 53/53 [00:57<00:00,  1.09s/it]\n","output_type":"stream"},{"name":"stdout","text":"train Loss:  tensor(0.9026, device='cuda:0', grad_fn=<DivBackward0>)\n","output_type":"stream"},{"name":"stderr","text":"100%|██████████| 14/14 [00:14<00:00,  1.00s/it]\n","output_type":"stream"},{"name":"stdout","text":"testLoss:  tensor(1.5094, device='cuda:0')  boxLoss:  tensor(0.0116, device='cuda:0')  classLoss:  tensor(0.9319, device='cuda:0')\ndetections : tensor([[[ 5.3174e+02,  6.4060e+02,  8.3770e+02,  8.1629e+02,  9.2416e-02,\n           1.0000e+00],\n         [ 4.8548e+02,  5.7194e+02,  8.9175e+02,  8.4134e+02,  8.8985e-02,\n           3.0000e+00],\n         [ 6.4742e+02,  5.7248e+02,  8.1797e+02,  9.3572e+02,  8.4609e-02,\n           2.0000e+00],\n         ...,\n         [ 6.4959e+02,  6.6093e+02,  9.2158e+02,  8.1841e+02,  5.5518e-02,\n           2.0000e+00],\n         [ 6.9842e+02, -1.2332e+02,  8.3722e+02,  1.1183e+02,  5.5258e-02,\n           3.0000e+00],\n         [ 7.1637e+02,  7.1877e+02,  7.7191e+02,  7.8366e+02,  5.5229e-02,\n           2.0000e+00]],\n\n        [[ 4.3394e+02,  2.9361e+02,  5.0187e+02,  4.2908e+02,  1.0981e-01,\n           2.0000e+00],\n         [ 4.0265e+02,  3.7338e+02,  4.7316e+02,  5.2891e+02,  9.0950e-02,\n           2.0000e+00],\n         [ 7.5738e+02, -1.8253e+01,  7.7202e+02,  2.2890e+01,  8.2315e-02,\n           2.0000e+00],\n         ...,\n         [-1.6497e+01, -6.9287e+00,  2.9701e+01,  1.8678e+01,  5.9200e-02,\n           1.0000e+00],\n         [-2.0476e+01,  6.5989e+02,  1.5204e+02,  8.1752e+02,  5.9184e-02,\n           2.0000e+00],\n         [ 2.7955e-01, -1.8560e+01,  1.6665e+01,  5.2427e+01,  5.9177e-02,\n           1.0000e+00]]], device='cuda:0')\n","output_type":"stream"},{"name":"stderr","text":"100%|██████████| 53/53 [00:57<00:00,  1.09s/it]\n","output_type":"stream"},{"name":"stdout","text":"train Loss:  tensor(0.8238, device='cuda:0', grad_fn=<DivBackward0>)\n","output_type":"stream"},{"name":"stderr","text":"100%|██████████| 14/14 [00:14<00:00,  1.00s/it]\n","output_type":"stream"},{"name":"stdout","text":"testLoss:  tensor(1.4514, device='cuda:0')  boxLoss:  tensor(0.0114, device='cuda:0')  classLoss:  tensor(0.8814, device='cuda:0')\ndetections : tensor([[[ 2.8066e+02,  3.3797e+02,  3.5577e+02,  5.0726e+02,  8.2748e-02,\n           2.0000e+00],\n         [ 5.3005e+02,  6.4520e+02,  8.3058e+02,  8.2077e+02,  7.8069e-02,\n           1.0000e+00],\n         [ 4.8630e+02,  5.6901e+02,  8.9210e+02,  8.3826e+02,  7.7436e-02,\n           3.0000e+00],\n         ...,\n         [-5.9104e+00, -4.4311e+00,  1.9873e+01,  2.2887e+01,  5.1140e-02,\n           1.0000e+00],\n         [-6.2525e+01, -1.0913e+02,  1.2385e+02,  1.0177e+02,  5.1126e-02,\n           1.0000e+00],\n         [ 6.3385e+02, -4.4897e+01,  8.5006e+02,  6.7796e+01,  5.0990e-02,\n           2.0000e+00]],\n\n        [[ 4.0084e+02,  3.7279e+02,  4.7296e+02,  5.2507e+02,  1.2907e-01,\n           2.0000e+00],\n         [ 4.3071e+02,  2.8421e+02,  5.0385e+02,  4.3147e+02,  1.0410e-01,\n           2.0000e+00],\n         [ 1.6657e+02,  4.9002e+02,  2.3628e+02,  6.4305e+02,  9.2309e-02,\n           2.0000e+00],\n         ...,\n         [ 7.4839e+02, -5.7360e+00,  7.7506e+02,  2.0880e+01,  5.5814e-02,\n           2.0000e+00],\n         [ 7.0128e+02, -1.1925e+02,  8.3573e+02,  1.0639e+02,  5.5792e-02,\n           2.0000e+00],\n         [-1.8678e+01,  7.5566e+02,  1.9019e+00,  7.8620e+02,  5.5750e-02,\n           2.0000e+00]]], device='cuda:0')\n","output_type":"stream"},{"name":"stderr","text":"100%|██████████| 53/53 [00:56<00:00,  1.07s/it]\n","output_type":"stream"},{"name":"stdout","text":"train Loss:  tensor(0.7601, device='cuda:0', grad_fn=<DivBackward0>)\n","output_type":"stream"},{"name":"stderr","text":"100%|██████████| 14/14 [00:13<00:00,  1.05it/s]\n","output_type":"stream"},{"name":"stdout","text":"testLoss:  tensor(1.4100, device='cuda:0')  boxLoss:  tensor(0.0113, device='cuda:0')  classLoss:  tensor(0.8428, device='cuda:0')\ndetections : tensor([[[ 2.8192e+02,  3.4931e+02,  3.5202e+02,  4.9981e+02,  9.7641e-02,\n           2.0000e+00],\n         [ 5.3201e+02,  6.4368e+02,  8.3314e+02,  8.1428e+02,  7.7345e-02,\n           1.0000e+00],\n         [ 4.8552e+02,  5.6603e+02,  8.9385e+02,  8.3045e+02,  7.5031e-02,\n           3.0000e+00],\n         ...,\n         [-1.7027e+01, -8.3987e+00,  2.8004e+01,  1.6902e+01,  4.8233e-02,\n           1.0000e+00],\n         [ 7.4175e+02,  7.3449e+02,  8.0473e+02,  7.7779e+02,  4.8034e-02,\n           3.0000e+00],\n         [-3.6050e+01,  6.9340e+02,  1.0417e+02,  7.8153e+02,  4.7807e-02,\n           2.0000e+00]],\n\n        [[ 4.3390e+02,  2.9826e+02,  5.0031e+02,  4.2870e+02,  1.5331e-01,\n           2.0000e+00],\n         [ 4.0412e+02,  3.8940e+02,  4.7115e+02,  5.2164e+02,  1.3661e-01,\n           2.0000e+00],\n         [ 4.3390e+02,  2.9826e+02,  5.0031e+02,  4.2870e+02,  8.9528e-02,\n           1.0000e+00],\n         ...,\n         [ 3.3474e+02,  1.7640e+00,  9.2790e+02,  6.5783e+02,  5.4158e-02,\n           2.0000e+00],\n         [ 6.5707e+02,  5.5516e+02,  8.2357e+02,  9.0487e+02,  5.4027e-02,\n           2.0000e+00],\n         [ 6.2347e+02, -4.0893e+01,  8.4511e+02,  6.7596e+01,  5.3777e-02,\n           2.0000e+00]]], device='cuda:0')\n","output_type":"stream"},{"name":"stderr","text":"100%|██████████| 53/53 [00:56<00:00,  1.07s/it]\n","output_type":"stream"},{"name":"stdout","text":"train Loss:  tensor(0.7018, device='cuda:0', grad_fn=<DivBackward0>)\n","output_type":"stream"},{"name":"stderr","text":"100%|██████████| 14/14 [00:13<00:00,  1.04it/s]\n","output_type":"stream"},{"name":"stdout","text":"testLoss:  tensor(1.3828, device='cuda:0')  boxLoss:  tensor(0.0115, device='cuda:0')  classLoss:  tensor(0.8085, device='cuda:0')\ndetections : tensor([[[ 2.8587e+02,  3.4875e+02,  3.5270e+02,  5.0356e+02,  1.2976e-01,\n           2.0000e+00],\n         [ 2.6582e+02,  2.8135e+02,  3.3499e+02,  4.4062e+02,  8.3548e-02,\n           2.0000e+00],\n         [ 5.4886e+02,  6.3904e+02,  8.4167e+02,  8.1343e+02,  7.9702e-02,\n           1.0000e+00],\n         ...,\n         [ 7.0781e+02,  7.3648e+02,  7.8381e+02,  7.7769e+02,  4.6367e-02,\n           2.0000e+00],\n         [-2.3284e+01, -8.6368e+00,  5.3579e+01,  4.1426e+01,  4.6192e-02,\n           1.0000e+00],\n         [ 4.7820e+02,  5.3980e+02,  5.2977e+02,  6.9676e+02,  4.5822e-02,\n           2.0000e+00]],\n\n        [[ 4.4050e+02,  2.9963e+02,  4.9726e+02,  4.3308e+02,  2.1455e-01,\n           2.0000e+00],\n         [ 4.0812e+02,  3.8533e+02,  4.7068e+02,  5.2977e+02,  1.6391e-01,\n           2.0000e+00],\n         [ 5.1471e+02,  4.6185e+02,  5.6622e+02,  6.0553e+02,  1.4829e-01,\n           2.0000e+00],\n         ...,\n         [ 7.2825e+02, -7.9556e+00,  8.0956e+02,  5.2439e+01,  5.2890e-02,\n           3.0000e+00],\n         [ 7.0109e+02, -1.4908e+01,  8.0334e+02,  3.5618e+01,  5.2788e-02,\n           2.0000e+00],\n         [-2.7299e+01,  7.4529e+02,  4.4849e+01,  7.9287e+02,  5.2631e-02,\n           3.0000e+00]]], device='cuda:0')\n","output_type":"stream"},{"name":"stderr","text":"100%|██████████| 53/53 [00:56<00:00,  1.07s/it]\n","output_type":"stream"},{"name":"stdout","text":"train Loss:  tensor(0.6527, device='cuda:0', grad_fn=<DivBackward0>)\n","output_type":"stream"},{"name":"stderr","text":"100%|██████████| 14/14 [00:13<00:00,  1.05it/s]\n","output_type":"stream"},{"name":"stdout","text":"testLoss:  tensor(1.3623, device='cuda:0')  boxLoss:  tensor(0.0110, device='cuda:0')  classLoss:  tensor(0.8111, device='cuda:0')\ndetections : tensor([[[ 5.2999e+02,  6.4045e+02,  8.3283e+02,  8.1610e+02,  7.5207e-02,\n           1.0000e+00],\n         [ 4.9633e+02,  5.5727e+02,  8.9427e+02,  8.1832e+02,  7.4448e-02,\n           3.0000e+00],\n         [ 6.4924e+02,  5.5752e+02,  8.1499e+02,  9.3652e+02,  7.0877e-02,\n           2.0000e+00],\n         ...,\n         [-1.0498e+02,  6.6489e+02,  1.2296e+02,  7.8827e+02,  4.2205e-02,\n           1.0000e+00],\n         [ 7.3309e+02,  7.4653e+02,  7.9819e+02,  7.8039e+02,  4.2129e-02,\n           1.0000e+00],\n         [-1.4673e+01, -7.7926e+00,  2.8139e+01,  1.7362e+01,  4.1986e-02,\n           1.0000e+00]],\n\n        [[ 4.3630e+02,  2.9629e+02,  5.0256e+02,  4.3090e+02,  1.7935e-01,\n           2.0000e+00],\n         [ 4.0725e+02,  3.7439e+02,  4.7559e+02,  5.2902e+02,  1.5916e-01,\n           2.0000e+00],\n         [ 5.1333e+02,  4.5631e+02,  5.6941e+02,  6.0787e+02,  1.0803e-01,\n           2.0000e+00],\n         ...,\n         [ 7.3699e+02,  7.4429e+02,  7.8059e+02,  7.6768e+02,  4.8831e-02,\n           2.0000e+00],\n         [ 7.3370e+02, -4.7044e+01,  8.2106e+02,  4.0798e+01,  4.8784e-02,\n           2.0000e+00],\n         [ 7.2861e+02,  6.9134e+02,  8.1202e+02,  8.1116e+02,  4.8700e-02,\n           2.0000e+00]]], device='cuda:0')\n","output_type":"stream"},{"name":"stderr","text":"100%|██████████| 53/53 [00:56<00:00,  1.07s/it]\n","output_type":"stream"},{"name":"stdout","text":"train Loss:  tensor(0.6116, device='cuda:0', grad_fn=<DivBackward0>)\n","output_type":"stream"},{"name":"stderr","text":"100%|██████████| 14/14 [00:13<00:00,  1.05it/s]\n","output_type":"stream"},{"name":"stdout","text":"testLoss:  tensor(1.3789, device='cuda:0')  boxLoss:  tensor(0.0117, device='cuda:0')  classLoss:  tensor(0.7947, device='cuda:0')\ndetections : tensor([[[ 4.6235e+02,  5.5407e+02,  5.1765e+02,  7.1821e+02,  8.3998e-02,\n           2.0000e+00],\n         [ 5.2956e+02,  6.4733e+02,  8.3389e+02,  8.1146e+02,  6.9701e-02,\n           1.0000e+00],\n         [ 4.9783e+02,  5.6090e+02,  8.9907e+02,  8.2062e+02,  6.9518e-02,\n           3.0000e+00],\n         ...,\n         [-6.4230e+01, -1.1389e+02,  1.2540e+02,  9.4361e+01,  4.0509e-02,\n           3.0000e+00],\n         [ 7.0489e+02, -8.9920e+01,  7.9040e+02,  7.1683e+01,  4.0443e-02,\n           2.0000e+00],\n         [-1.0080e+02,  5.5889e+02,  6.7846e+01,  8.7536e+02,  4.0418e-02,\n           3.0000e+00]],\n\n        [[ 4.3756e+02,  2.8974e+02,  5.0611e+02,  4.4167e+02,  1.4250e-01,\n           2.0000e+00],\n         [ 5.1372e+02,  4.5050e+02,  5.7139e+02,  6.1346e+02,  1.3945e-01,\n           2.0000e+00],\n         [ 4.0514e+02,  3.7880e+02,  4.7695e+02,  5.3944e+02,  1.3355e-01,\n           2.0000e+00],\n         ...,\n         [ 4.1980e+02,  2.5311e+02,  5.3080e+02,  4.9996e+02,  4.7205e-02,\n           2.0000e+00],\n         [ 2.9812e+02,  4.2465e+02,  3.6354e+02,  5.8377e+02,  4.7191e-02,\n           1.0000e+00],\n         [-1.7584e+01, -4.9363e+01,  3.7313e+01,  6.4862e+01,  4.7081e-02,\n           2.0000e+00]]], device='cuda:0')\n","output_type":"stream"},{"name":"stderr","text":"100%|██████████| 53/53 [00:56<00:00,  1.07s/it]\n","output_type":"stream"},{"name":"stdout","text":"train Loss:  tensor(0.5827, device='cuda:0', grad_fn=<DivBackward0>)\n","output_type":"stream"},{"name":"stderr","text":"100%|██████████| 14/14 [00:13<00:00,  1.05it/s]\n","output_type":"stream"},{"name":"stdout","text":"testLoss:  tensor(1.3025, device='cuda:0')  boxLoss:  tensor(0.0107, device='cuda:0')  classLoss:  tensor(0.7694, device='cuda:0')\ndetections : tensor([[[ 2.7889e+02,  3.4385e+02,  3.5896e+02,  4.9780e+02,  6.3886e-02,\n           2.0000e+00],\n         [ 5.1299e+02,  5.6378e+02,  9.0793e+02,  8.3027e+02,  6.3015e-02,\n           3.0000e+00],\n         [ 5.3907e+02,  6.4424e+02,  8.3952e+02,  8.1656e+02,  6.2573e-02,\n           1.0000e+00],\n         ...,\n         [-1.9719e+02,  8.9690e+02,  8.4138e+01,  1.0199e+03,  3.8170e-02,\n           3.0000e+00],\n         [ 4.9669e+02,  8.4997e+01,  8.2995e+02,  6.1777e+02,  3.8112e-02,\n           2.0000e+00],\n         [ 4.8831e+02,  4.4372e+02,  7.9741e+02,  7.8488e+02,  3.7971e-02,\n           1.0000e+00]],\n\n        [[ 4.3079e+02,  2.8902e+02,  5.0686e+02,  4.2015e+02,  1.5483e-01,\n           2.0000e+00],\n         [ 4.0195e+02,  3.8490e+02,  4.7923e+02,  5.2030e+02,  1.2269e-01,\n           2.0000e+00],\n         [ 4.3079e+02,  2.8902e+02,  5.0686e+02,  4.2015e+02,  1.1473e-01,\n           1.0000e+00],\n         ...,\n         [-7.8974e+01, -1.1459e+02,  8.5585e+01,  1.0177e+02,  4.3187e-02,\n           3.0000e+00],\n         [ 4.3677e+02,  3.1985e+02,  5.2665e+02,  3.8088e+02,  4.2946e-02,\n           3.0000e+00],\n         [-3.0527e+02, -3.5100e+02,  4.3597e+02,  4.9703e+02,  4.2845e-02,\n           3.0000e+00]]], device='cuda:0')\n","output_type":"stream"},{"name":"stderr","text":"100%|██████████| 53/53 [00:56<00:00,  1.07s/it]\n","output_type":"stream"},{"name":"stdout","text":"train Loss:  tensor(0.5501, device='cuda:0', grad_fn=<DivBackward0>)\n","output_type":"stream"},{"name":"stderr","text":"100%|██████████| 14/14 [00:13<00:00,  1.04it/s]\n","output_type":"stream"},{"name":"stdout","text":"testLoss:  tensor(1.2713, device='cuda:0')  boxLoss:  tensor(0.0105, device='cuda:0')  classLoss:  tensor(0.7453, device='cuda:0')\ndetections : tensor([[[ 4.6082e+02,  5.5604e+02,  5.1722e+02,  7.1159e+02,  6.9349e-02,\n           2.0000e+00],\n         [ 5.2811e+02,  6.4267e+02,  8.2952e+02,  8.1322e+02,  6.0220e-02,\n           1.0000e+00],\n         [ 5.1392e+02,  5.6498e+02,  9.0077e+02,  8.3060e+02,  5.9751e-02,\n           3.0000e+00],\n         ...,\n         [-2.7335e+01,  7.4095e+02,  2.8471e+01,  8.0315e+02,  3.7851e-02,\n           2.0000e+00],\n         [-2.7541e+01,  6.9427e+02,  9.9450e+01,  7.7774e+02,  3.7849e-02,\n           3.0000e+00],\n         [ 1.3118e+02,  4.3773e+02,  2.2852e+02,  5.9955e+02,  3.7816e-02,\n           1.0000e+00]],\n\n        [[ 4.2685e+02,  2.9558e+02,  5.0803e+02,  4.2859e+02,  1.2329e-01,\n           2.0000e+00],\n         [ 5.0622e+02,  4.8268e+02,  5.6999e+02,  6.1657e+02,  1.0854e-01,\n           2.0000e+00],\n         [ 3.9915e+02,  3.8404e+02,  4.7883e+02,  5.3016e+02,  9.8885e-02,\n           2.0000e+00],\n         ...,\n         [ 6.1195e+02,  5.2678e+02,  8.6316e+02,  8.4966e+02,  4.3367e-02,\n           2.0000e+00],\n         [ 4.0993e+02, -1.8359e+01,  5.7208e+02,  1.9216e+02,  4.3172e-02,\n           1.0000e+00],\n         [ 4.0279e+02, -1.8203e+02,  8.1029e+02,  3.2669e+02,  4.3104e-02,\n           1.0000e+00]]], device='cuda:0')\n","output_type":"stream"},{"name":"stderr","text":"100%|██████████| 53/53 [00:56<00:00,  1.07s/it]\n","output_type":"stream"},{"name":"stdout","text":"train Loss:  tensor(0.5109, device='cuda:0', grad_fn=<DivBackward0>)\n","output_type":"stream"},{"name":"stderr","text":"100%|██████████| 14/14 [00:13<00:00,  1.02it/s]","output_type":"stream"},{"name":"stdout","text":"testLoss:  tensor(1.2827, device='cuda:0')  boxLoss:  tensor(0.0108, device='cuda:0')  classLoss:  tensor(0.7418, device='cuda:0')\ndetections : tensor([[[ 4.5711e+02,  5.4424e+02,  5.2303e+02,  7.1755e+02,  7.6833e-02,\n           2.0000e+00],\n         [ 5.0892e+02,  5.5809e+02,  8.9895e+02,  8.2269e+02,  6.4231e-02,\n           3.0000e+00],\n         [ 5.2902e+02,  6.4858e+02,  8.3366e+02,  8.1628e+02,  6.3516e-02,\n           1.0000e+00],\n         ...,\n         [ 6.7220e+02, -4.5270e+01,  8.0298e+02,  8.4053e+01,  3.5815e-02,\n           3.0000e+00],\n         [ 7.4257e+01,  4.6799e+02,  2.4618e+02,  5.8249e+02,  3.5787e-02,\n           2.0000e+00],\n         [ 2.2078e+01, -3.2050e+01,  2.1996e+02,  2.1271e+02,  3.5764e-02,\n           1.0000e+00]],\n\n        [[ 4.2835e+02,  2.9357e+02,  5.1082e+02,  4.4076e+02,  1.8135e-01,\n           2.0000e+00],\n         [ 3.9576e+02,  3.7575e+02,  4.8322e+02,  5.3386e+02,  1.6400e-01,\n           2.0000e+00],\n         [ 4.2835e+02,  2.9357e+02,  5.1082e+02,  4.4076e+02,  1.3514e-01,\n           1.0000e+00],\n         ...,\n         [ 3.8128e+02,  3.0445e+02,  5.5646e+02,  4.1225e+02,  4.3493e-02,\n           1.0000e+00],\n         [ 7.5071e+02, -3.5029e+01,  7.8676e+02,  2.7445e+01,  4.3305e-02,\n           2.0000e+00],\n         [ 7.4439e+02, -1.8828e+01,  7.9833e+02,  1.3725e+01,  4.3156e-02,\n           3.0000e+00]]], device='cuda:0')\n","output_type":"stream"},{"name":"stderr","text":"\n","output_type":"stream"}],"execution_count":88},{"cell_type":"code","source":"torch.save(model.state_dict(),\"model_1.pth\")","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2025-11-12T09:52:07.518988Z","iopub.execute_input":"2025-11-12T09:52:07.519252Z","iopub.status.idle":"2025-11-12T09:52:07.694519Z","shell.execute_reply.started":"2025-11-12T09:52:07.519233Z","shell.execute_reply":"2025-11-12T09:52:07.693897Z"}},"outputs":[],"execution_count":93},{"cell_type":"code","source":"def clip_box(box):\n    boxx=box\n    for i in box:\n        for j in i:\n            if j>768.0:\n                boxx[i][j]=768.0\n            elif j<0:\n                boxx[i][j]=0.0\n    return boxx","metadata":{"trusted":true},"outputs":[],"execution_count":null},{"cell_type":"code","source":"for img ,tar in dataLoaderTrain:\n    immg=torch.stack(img).float().to(device)\n    model.eval()\n    t=to_dev_val(tar)\n    a=model(immg,t)\n    det=a[\"detections\"]\n    print(det)\n    imm=img[i].numpy().transpose(1,2,0)\n    for i in range(len(img)):\n        for j in tar[i][\"bbox\"]:\n            cv2.rectangle(imm,tuple(map(int,j[:2])),tuple(map(int,j[2:])),(255,0,0),5)\n        plt.imshow(imm)\n        plt.show()\n        break","metadata":{"trusted":true},"outputs":[],"execution_count":null},{"cell_type":"code","source":"all_labels = []\nfor _, target in dataset:\n    all_labels.extend(target['cls'].numpy())\nall_labels = np.array(all_labels)\n \nunique, counts = np.unique(all_labels, return_counts=True)\nlabel_counts = dict(zip(unique, counts))\nclass_dist = {'cheerios':label_counts[0], 'soup':label_counts[1], 'candles':label_counts[2]}\nprint(class_dist)","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2025-11-12T09:48:06.078763Z","iopub.status.idle":"2025-11-12T09:48:06.079001Z","shell.execute_reply.started":"2025-11-12T09:48:06.078877Z","shell.execute_reply":"2025-11-12T09:48:06.078888Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"","metadata":{"trusted":true},"outputs":[],"execution_count":null},{"cell_type":"code","source":"","metadata":{"trusted":true},"outputs":[],"execution_count":null},{"cell_type":"code","source":"","metadata":{"trusted":true},"outputs":[],"execution_count":null},{"cell_type":"code","source":"","metadata":{"trusted":true},"outputs":[],"execution_count":null},{"cell_type":"code","source":"","metadata":{"trusted":true},"outputs":[],"execution_count":null},{"cell_type":"code","source":"","metadata":{"trusted":true},"outputs":[],"execution_count":null}]}