From 7d5ff30b6e9180dbeb1781bf51f7f2b2df9eac83 Mon Sep 17 00:00:00 2001
From: fresleven <khotayush@gmail.com>
Date: Wed, 12 Apr 2023 10:10:21 -0500
Subject: [PATCH] changes to simdata

---
 crop/SimData.ipynb | 2025 +++++++++++++++++---------------------------
 1 file changed, 775 insertions(+), 1250 deletions(-)

diff --git a/crop/SimData.ipynb b/crop/SimData.ipynb
index 6988fab..6a7e91d 100644
--- a/crop/SimData.ipynb
+++ b/crop/SimData.ipynb
@@ -2,7 +2,7 @@
  "cells": [
   {
    "cell_type": "code",
-   "execution_count": 1,
+   "execution_count": 200,
    "metadata": {},
    "outputs": [],
    "source": [
@@ -19,7 +19,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 2,
+   "execution_count": 201,
    "metadata": {},
    "outputs": [],
    "source": [
@@ -80,11 +80,16 @@
     "            # get random beetle image\n",
     "            beetle_id = np.random.randint(0, set_size)\n",
     "            beetle_img = beetle_set[beetle_id]\n",
-    "            \n",
     "            # get random beetle rotation\n",
     "            angle = np.random.randint(0, 360)\n",
     "            beetle_img = beetle_img.rotate(angle, resample=Image.BICUBIC, expand=1)\n",
     "            \n",
+    "            #randomly resize beetle to be smaller as they are much bigger on image\n",
+    "            \n",
+    "            beetle_width, beetle_height = beetle_img.size\n",
+    "            beetle_max = np.max([beetle_width, beetle_height])\n",
+    "            factor = np.random.uniform((height/(5*9))/beetle_max, (height/(4*9))/beetle_max)\n",
+    "            beetle_img = beetle_img.resize((int(factor * beetle_width), int(factor * beetle_height)), resample=Image.BICUBIC)\n",
     "            beetle_width, beetle_height = beetle_img.size\n",
     "            \n",
     "            # get random x,y coords to paste beetle\n",
@@ -121,7 +126,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 3,
+   "execution_count": 202,
    "metadata": {},
    "outputs": [],
    "source": [
@@ -139,7 +144,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 4,
+   "execution_count": 203,
    "metadata": {},
    "outputs": [],
    "source": [
@@ -154,6 +159,7 @@
     "        backgrounds.append(bg)\n",
     "        continue\n",
     "    bg = Image.open(file)\n",
+    "    \n",
     "    backgrounds.append(bg);\n",
     "\n",
     "beetles = []\n",
@@ -168,7 +174,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 5,
+   "execution_count": 204,
    "metadata": {},
    "outputs": [
     {
@@ -189,7 +195,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 6,
+   "execution_count": 188,
    "metadata": {},
    "outputs": [],
    "source": [
@@ -201,7 +207,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 7,
+   "execution_count": 189,
    "metadata": {},
    "outputs": [],
    "source": [
@@ -226,7 +232,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 8,
+   "execution_count": 190,
    "metadata": {},
    "outputs": [
     {
@@ -242,1247 +248,7 @@
       "6\n",
       "7\n",
       "8\n",
-      "9\n",
-      "10\n",
-      "11\n",
-      "12\n",
-      "13\n",
-      "14\n",
-      "15\n",
-      "16\n",
-      "17\n",
-      "18\n",
-      "19\n",
-      "20\n",
-      "21\n",
-      "22\n",
-      "23\n",
-      "24\n",
-      "25\n",
-      "26\n",
-      "27\n",
-      "28\n",
-      "29\n",
-      "30\n",
-      "31\n",
-      "32\n",
-      "33\n",
-      "34\n",
-      "35\n",
-      "36\n",
-      "37\n",
-      "38\n",
-      "39\n",
-      "40\n",
-      "41\n",
-      "42\n",
-      "43\n",
-      "44\n",
-      "45\n",
-      "46\n",
-      "47\n",
-      "48\n",
-      "49\n",
-      "50\n",
-      "51\n",
-      "52\n",
-      "53\n",
-      "54\n",
-      "55\n",
-      "56\n",
-      "57\n",
-      "58\n",
-      "59\n",
-      "60\n",
-      "61\n",
-      "62\n",
-      "63\n",
-      "64\n",
-      "65\n",
-      "66\n",
-      "67\n",
-      "68\n",
-      "69\n",
-      "70\n",
-      "71\n",
-      "72\n",
-      "73\n",
-      "74\n",
-      "75\n",
-      "76\n",
-      "77\n",
-      "78\n",
-      "79\n",
-      "80\n",
-      "81\n",
-      "82\n",
-      "83\n",
-      "84\n",
-      "85\n",
-      "86\n",
-      "87\n",
-      "88\n",
-      "89\n",
-      "90\n",
-      "91\n",
-      "92\n",
-      "93\n",
-      "94\n",
-      "95\n",
-      "96\n",
-      "97\n",
-      "98\n",
-      "99\n",
-      "100\n",
-      "101\n",
-      "102\n",
-      "103\n",
-      "104\n",
-      "105\n",
-      "106\n",
-      "107\n",
-      "108\n",
-      "109\n",
-      "110\n",
-      "111\n",
-      "112\n",
-      "113\n",
-      "114\n",
-      "115\n",
-      "116\n",
-      "117\n",
-      "118\n",
-      "119\n",
-      "120\n",
-      "121\n",
-      "122\n",
-      "123\n",
-      "124\n",
-      "125\n",
-      "126\n",
-      "127\n",
-      "128\n",
-      "129\n",
-      "130\n",
-      "131\n",
-      "132\n",
-      "133\n",
-      "134\n",
-      "135\n",
-      "136\n",
-      "137\n",
-      "138\n",
-      "139\n",
-      "140\n",
-      "141\n",
-      "142\n",
-      "143\n",
-      "144\n",
-      "145\n",
-      "146\n",
-      "147\n",
-      "148\n",
-      "149\n",
-      "150\n",
-      "151\n",
-      "152\n",
-      "153\n",
-      "154\n",
-      "155\n",
-      "156\n",
-      "157\n",
-      "158\n",
-      "159\n",
-      "160\n",
-      "161\n",
-      "162\n",
-      "163\n",
-      "164\n",
-      "165\n",
-      "166\n",
-      "167\n",
-      "168\n",
-      "169\n",
-      "170\n",
-      "171\n",
-      "172\n",
-      "173\n",
-      "174\n",
-      "175\n",
-      "176\n",
-      "177\n",
-      "178\n",
-      "179\n",
-      "180\n",
-      "181\n",
-      "182\n",
-      "183\n",
-      "184\n",
-      "185\n",
-      "186\n",
-      "187\n",
-      "188\n",
-      "189\n",
-      "190\n",
-      "191\n",
-      "192\n",
-      "193\n",
-      "194\n",
-      "195\n",
-      "196\n",
-      "197\n",
-      "198\n",
-      "199\n",
-      "200\n",
-      "201\n",
-      "202\n",
-      "203\n",
-      "204\n",
-      "205\n",
-      "206\n",
-      "207\n",
-      "208\n",
-      "209\n",
-      "210\n",
-      "211\n",
-      "212\n",
-      "213\n",
-      "214\n",
-      "215\n",
-      "216\n",
-      "217\n",
-      "218\n",
-      "219\n",
-      "220\n",
-      "221\n",
-      "222\n",
-      "223\n",
-      "224\n",
-      "225\n",
-      "226\n",
-      "227\n",
-      "228\n",
-      "229\n",
-      "230\n",
-      "231\n",
-      "232\n",
-      "233\n",
-      "234\n",
-      "235\n",
-      "236\n",
-      "237\n",
-      "238\n",
-      "239\n",
-      "240\n",
-      "241\n",
-      "242\n",
-      "243\n",
-      "244\n",
-      "245\n",
-      "246\n",
-      "247\n",
-      "248\n",
-      "249\n",
-      "250\n",
-      "251\n",
-      "252\n",
-      "253\n",
-      "254\n",
-      "255\n",
-      "256\n",
-      "257\n",
-      "258\n",
-      "259\n",
-      "260\n",
-      "261\n",
-      "262\n",
-      "263\n",
-      "264\n",
-      "265\n",
-      "266\n",
-      "267\n",
-      "268\n",
-      "269\n",
-      "270\n",
-      "271\n",
-      "272\n",
-      "273\n",
-      "274\n",
-      "275\n",
-      "276\n",
-      "277\n",
-      "278\n",
-      "279\n",
-      "280\n",
-      "281\n",
-      "282\n",
-      "283\n",
-      "284\n",
-      "285\n",
-      "286\n",
-      "287\n",
-      "288\n",
-      "289\n",
-      "290\n",
-      "291\n",
-      "292\n",
-      "293\n",
-      "294\n",
-      "295\n",
-      "296\n",
-      "297\n",
-      "298\n",
-      "299\n",
-      "300\n",
-      "301\n",
-      "302\n",
-      "303\n",
-      "304\n",
-      "305\n",
-      "306\n",
-      "307\n",
-      "308\n",
-      "309\n",
-      "310\n",
-      "311\n",
-      "312\n",
-      "313\n",
-      "314\n",
-      "315\n",
-      "316\n",
-      "317\n",
-      "318\n",
-      "319\n",
-      "320\n",
-      "321\n",
-      "322\n",
-      "323\n",
-      "324\n",
-      "325\n",
-      "326\n",
-      "327\n",
-      "328\n",
-      "329\n",
-      "330\n",
-      "331\n",
-      "332\n",
-      "333\n",
-      "334\n",
-      "335\n",
-      "336\n",
-      "337\n",
-      "338\n",
-      "339\n",
-      "340\n",
-      "341\n",
-      "342\n",
-      "343\n",
-      "344\n",
-      "345\n",
-      "346\n",
-      "347\n",
-      "348\n",
-      "349\n",
-      "350\n",
-      "351\n",
-      "352\n",
-      "353\n",
-      "354\n",
-      "355\n",
-      "356\n",
-      "357\n",
-      "358\n",
-      "359\n",
-      "360\n",
-      "361\n",
-      "362\n",
-      "363\n",
-      "364\n",
-      "365\n",
-      "366\n",
-      "367\n",
-      "368\n",
-      "369\n",
-      "370\n",
-      "371\n",
-      "372\n",
-      "373\n",
-      "374\n",
-      "375\n",
-      "376\n",
-      "377\n",
-      "378\n",
-      "379\n",
-      "380\n",
-      "381\n",
-      "382\n",
-      "383\n",
-      "384\n",
-      "385\n",
-      "386\n",
-      "387\n",
-      "388\n",
-      "389\n",
-      "390\n",
-      "391\n",
-      "392\n",
-      "393\n",
-      "394\n",
-      "395\n",
-      "396\n",
-      "397\n",
-      "398\n",
-      "399\n",
-      "400\n",
-      "401\n",
-      "402\n",
-      "403\n",
-      "404\n",
-      "405\n",
-      "406\n",
-      "407\n",
-      "408\n",
-      "409\n",
-      "410\n",
-      "411\n",
-      "412\n",
-      "413\n",
-      "414\n",
-      "415\n",
-      "416\n",
-      "417\n",
-      "418\n",
-      "419\n",
-      "420\n",
-      "421\n",
-      "422\n",
-      "423\n",
-      "424\n",
-      "425\n",
-      "426\n",
-      "427\n",
-      "428\n",
-      "429\n",
-      "430\n",
-      "431\n",
-      "432\n",
-      "433\n",
-      "434\n",
-      "435\n",
-      "436\n",
-      "437\n",
-      "438\n",
-      "439\n",
-      "440\n",
-      "441\n",
-      "442\n",
-      "443\n",
-      "444\n",
-      "445\n",
-      "446\n",
-      "447\n",
-      "448\n",
-      "449\n",
-      "450\n",
-      "451\n",
-      "452\n",
-      "453\n",
-      "454\n",
-      "455\n",
-      "456\n",
-      "457\n",
-      "458\n",
-      "459\n",
-      "460\n",
-      "461\n",
-      "462\n",
-      "463\n",
-      "464\n",
-      "465\n",
-      "466\n",
-      "467\n",
-      "468\n",
-      "469\n",
-      "470\n",
-      "471\n",
-      "472\n",
-      "473\n",
-      "474\n",
-      "475\n",
-      "476\n",
-      "477\n",
-      "478\n",
-      "479\n",
-      "480\n",
-      "481\n",
-      "482\n",
-      "483\n",
-      "484\n",
-      "485\n",
-      "486\n",
-      "487\n",
-      "488\n",
-      "489\n",
-      "490\n",
-      "491\n",
-      "492\n",
-      "493\n",
-      "494\n",
-      "495\n",
-      "496\n",
-      "497\n",
-      "498\n",
-      "499\n",
-      "500\n",
-      "501\n",
-      "502\n",
-      "503\n",
-      "504\n",
-      "505\n",
-      "506\n",
-      "507\n",
-      "508\n",
-      "509\n",
-      "510\n",
-      "511\n",
-      "512\n",
-      "513\n",
-      "514\n",
-      "515\n",
-      "516\n",
-      "517\n",
-      "518\n",
-      "519\n",
-      "520\n",
-      "521\n",
-      "522\n",
-      "523\n",
-      "524\n",
-      "525\n",
-      "526\n",
-      "527\n",
-      "528\n",
-      "529\n",
-      "530\n",
-      "531\n",
-      "532\n",
-      "533\n",
-      "534\n",
-      "535\n",
-      "536\n",
-      "537\n",
-      "538\n",
-      "539\n",
-      "540\n",
-      "541\n",
-      "542\n",
-      "543\n",
-      "544\n",
-      "545\n",
-      "546\n",
-      "547\n",
-      "548\n",
-      "549\n",
-      "550\n",
-      "551\n",
-      "552\n",
-      "553\n",
-      "554\n",
-      "555\n",
-      "556\n",
-      "557\n",
-      "558\n",
-      "559\n",
-      "560\n",
-      "561\n",
-      "562\n",
-      "563\n",
-      "564\n",
-      "565\n",
-      "566\n",
-      "567\n",
-      "568\n",
-      "569\n",
-      "570\n",
-      "571\n",
-      "572\n",
-      "573\n",
-      "574\n",
-      "575\n",
-      "576\n",
-      "577\n",
-      "578\n",
-      "579\n",
-      "580\n",
-      "581\n",
-      "582\n",
-      "583\n",
-      "584\n",
-      "585\n",
-      "586\n",
-      "587\n",
-      "588\n",
-      "589\n",
-      "590\n",
-      "591\n",
-      "592\n",
-      "593\n",
-      "594\n",
-      "595\n",
-      "596\n",
-      "597\n",
-      "598\n",
-      "599\n",
-      "600\n",
-      "601\n",
-      "602\n",
-      "603\n",
-      "604\n",
-      "605\n",
-      "606\n",
-      "607\n",
-      "608\n",
-      "609\n",
-      "610\n",
-      "611\n",
-      "612\n",
-      "613\n",
-      "614\n",
-      "615\n",
-      "616\n",
-      "617\n",
-      "618\n",
-      "619\n",
-      "620\n",
-      "621\n",
-      "622\n",
-      "623\n",
-      "624\n",
-      "625\n",
-      "626\n",
-      "627\n",
-      "628\n",
-      "629\n",
-      "630\n",
-      "631\n",
-      "632\n",
-      "633\n",
-      "634\n",
-      "635\n",
-      "636\n",
-      "637\n",
-      "638\n",
-      "639\n",
-      "640\n",
-      "641\n",
-      "642\n",
-      "643\n",
-      "644\n",
-      "645\n",
-      "646\n",
-      "647\n",
-      "648\n",
-      "649\n",
-      "650\n",
-      "651\n",
-      "652\n",
-      "653\n",
-      "654\n",
-      "655\n",
-      "656\n",
-      "657\n",
-      "658\n",
-      "659\n",
-      "660\n",
-      "661\n",
-      "662\n",
-      "663\n",
-      "664\n",
-      "665\n",
-      "666\n",
-      "667\n",
-      "668\n",
-      "669\n",
-      "670\n",
-      "671\n",
-      "672\n",
-      "673\n",
-      "674\n",
-      "675\n",
-      "676\n",
-      "677\n",
-      "678\n",
-      "679\n",
-      "680\n",
-      "681\n",
-      "682\n",
-      "683\n",
-      "684\n",
-      "685\n",
-      "686\n",
-      "687\n",
-      "688\n",
-      "689\n",
-      "690\n",
-      "691\n",
-      "692\n",
-      "693\n",
-      "694\n",
-      "695\n",
-      "696\n",
-      "697\n",
-      "698\n",
-      "699\n",
-      "700\n",
-      "701\n",
-      "702\n",
-      "703\n",
-      "704\n",
-      "705\n",
-      "706\n",
-      "707\n",
-      "708\n",
-      "709\n",
-      "710\n",
-      "711\n",
-      "712\n",
-      "713\n",
-      "714\n",
-      "715\n",
-      "716\n",
-      "717\n",
-      "718\n",
-      "719\n",
-      "720\n",
-      "721\n",
-      "722\n",
-      "723\n",
-      "724\n",
-      "725\n",
-      "726\n",
-      "727\n",
-      "728\n",
-      "729\n",
-      "730\n",
-      "731\n",
-      "732\n",
-      "733\n",
-      "734\n",
-      "735\n",
-      "736\n",
-      "737\n",
-      "738\n",
-      "739\n",
-      "740\n",
-      "741\n",
-      "742\n",
-      "743\n",
-      "744\n",
-      "745\n",
-      "746\n",
-      "747\n",
-      "748\n",
-      "749\n",
-      "750\n",
-      "751\n",
-      "752\n",
-      "753\n",
-      "754\n",
-      "755\n",
-      "756\n",
-      "757\n",
-      "758\n",
-      "759\n",
-      "760\n",
-      "761\n",
-      "762\n",
-      "763\n",
-      "764\n",
-      "765\n",
-      "766\n",
-      "767\n",
-      "768\n",
-      "769\n",
-      "770\n",
-      "771\n",
-      "772\n",
-      "773\n",
-      "774\n",
-      "775\n",
-      "776\n",
-      "777\n",
-      "778\n",
-      "779\n",
-      "780\n",
-      "781\n",
-      "782\n",
-      "783\n",
-      "784\n",
-      "785\n",
-      "786\n",
-      "787\n",
-      "788\n",
-      "789\n",
-      "790\n",
-      "791\n",
-      "792\n",
-      "793\n",
-      "794\n",
-      "795\n",
-      "796\n",
-      "797\n",
-      "798\n",
-      "799\n",
-      "800\n",
-      "801\n",
-      "802\n",
-      "803\n",
-      "804\n",
-      "805\n",
-      "806\n",
-      "807\n",
-      "808\n",
-      "809\n",
-      "810\n",
-      "811\n",
-      "812\n",
-      "813\n",
-      "814\n",
-      "815\n",
-      "816\n",
-      "817\n",
-      "818\n",
-      "819\n",
-      "820\n",
-      "821\n",
-      "822\n",
-      "823\n",
-      "824\n",
-      "825\n",
-      "826\n",
-      "827\n",
-      "828\n",
-      "829\n",
-      "830\n",
-      "831\n",
-      "832\n",
-      "833\n",
-      "834\n",
-      "835\n",
-      "836\n",
-      "837\n",
-      "838\n",
-      "839\n",
-      "840\n",
-      "841\n",
-      "842\n",
-      "843\n",
-      "844\n",
-      "845\n",
-      "846\n",
-      "847\n",
-      "848\n",
-      "849\n",
-      "850\n",
-      "851\n",
-      "852\n",
-      "853\n",
-      "854\n",
-      "855\n",
-      "856\n",
-      "857\n",
-      "858\n",
-      "859\n",
-      "860\n",
-      "861\n",
-      "862\n",
-      "863\n",
-      "864\n",
-      "865\n",
-      "866\n",
-      "867\n",
-      "868\n",
-      "869\n",
-      "870\n",
-      "871\n",
-      "872\n",
-      "873\n",
-      "874\n",
-      "875\n",
-      "876\n",
-      "877\n",
-      "878\n",
-      "879\n",
-      "880\n",
-      "881\n",
-      "882\n",
-      "883\n",
-      "884\n",
-      "885\n",
-      "886\n",
-      "887\n",
-      "888\n",
-      "889\n",
-      "890\n",
-      "891\n",
-      "892\n",
-      "893\n",
-      "894\n",
-      "895\n",
-      "896\n",
-      "897\n",
-      "898\n",
-      "899\n",
-      "900\n",
-      "901\n",
-      "902\n",
-      "903\n",
-      "904\n",
-      "905\n",
-      "906\n",
-      "907\n",
-      "908\n",
-      "909\n",
-      "910\n",
-      "911\n",
-      "912\n",
-      "913\n",
-      "914\n",
-      "915\n",
-      "916\n",
-      "917\n",
-      "918\n",
-      "919\n",
-      "920\n",
-      "921\n",
-      "922\n",
-      "923\n",
-      "924\n",
-      "925\n",
-      "926\n",
-      "927\n",
-      "928\n",
-      "929\n",
-      "930\n",
-      "931\n",
-      "932\n",
-      "933\n",
-      "934\n",
-      "935\n",
-      "936\n",
-      "937\n",
-      "938\n",
-      "939\n",
-      "940\n",
-      "941\n",
-      "942\n",
-      "943\n",
-      "944\n",
-      "945\n",
-      "946\n",
-      "947\n",
-      "948\n",
-      "949\n",
-      "950\n",
-      "951\n",
-      "952\n",
-      "953\n",
-      "954\n",
-      "955\n",
-      "956\n",
-      "957\n",
-      "958\n",
-      "959\n",
-      "960\n",
-      "961\n",
-      "962\n",
-      "963\n",
-      "964\n",
-      "965\n",
-      "966\n",
-      "967\n",
-      "968\n",
-      "969\n",
-      "970\n",
-      "971\n",
-      "972\n",
-      "973\n",
-      "974\n",
-      "975\n",
-      "976\n",
-      "977\n",
-      "978\n",
-      "979\n",
-      "980\n",
-      "981\n",
-      "982\n",
-      "983\n",
-      "984\n",
-      "985\n",
-      "986\n",
-      "987\n",
-      "988\n",
-      "989\n",
-      "990\n",
-      "991\n",
-      "992\n",
-      "993\n",
-      "994\n",
-      "995\n",
-      "996\n",
-      "997\n",
-      "998\n",
-      "999\n",
-      "1000\n",
-      "1001\n",
-      "1002\n",
-      "1003\n",
-      "1004\n",
-      "1005\n",
-      "1006\n",
-      "1007\n",
-      "1008\n",
-      "1009\n",
-      "1010\n",
-      "1011\n",
-      "1012\n",
-      "1013\n",
-      "1014\n",
-      "1015\n",
-      "1016\n",
-      "1017\n",
-      "1018\n",
-      "1019\n",
-      "1020\n",
-      "1021\n",
-      "1022\n",
-      "1023\n",
-      "1024\n",
-      "1025\n",
-      "1026\n",
-      "1027\n",
-      "1028\n",
-      "1029\n",
-      "1030\n",
-      "1031\n",
-      "1032\n",
-      "1033\n",
-      "1034\n",
-      "1035\n",
-      "1036\n",
-      "1037\n",
-      "1038\n",
-      "1039\n",
-      "1040\n",
-      "1041\n",
-      "1042\n",
-      "1043\n",
-      "1044\n",
-      "1045\n",
-      "1046\n",
-      "1047\n",
-      "1048\n",
-      "1049\n",
-      "1050\n",
-      "1051\n",
-      "1052\n",
-      "1053\n",
-      "1054\n",
-      "1055\n",
-      "1056\n",
-      "1057\n",
-      "1058\n",
-      "1059\n",
-      "1060\n",
-      "1061\n",
-      "1062\n",
-      "1063\n",
-      "1064\n",
-      "1065\n",
-      "1066\n",
-      "1067\n",
-      "1068\n",
-      "1069\n",
-      "1070\n",
-      "1071\n",
-      "1072\n",
-      "1073\n",
-      "1074\n",
-      "1075\n",
-      "1076\n",
-      "1077\n",
-      "1078\n",
-      "1079\n",
-      "1080\n",
-      "1081\n",
-      "1082\n",
-      "1083\n",
-      "1084\n",
-      "1085\n",
-      "1086\n",
-      "1087\n",
-      "1088\n",
-      "1089\n",
-      "1090\n",
-      "1091\n",
-      "1092\n",
-      "1093\n",
-      "1094\n",
-      "1095\n",
-      "1096\n",
-      "1097\n",
-      "1098\n",
-      "1099\n",
-      "1100\n",
-      "1101\n",
-      "1102\n",
-      "1103\n",
-      "1104\n",
-      "1105\n",
-      "1106\n",
-      "1107\n",
-      "1108\n",
-      "1109\n",
-      "1110\n",
-      "1111\n",
-      "1112\n",
-      "1113\n",
-      "1114\n",
-      "1115\n",
-      "1116\n",
-      "1117\n",
-      "1118\n",
-      "1119\n",
-      "1120\n",
-      "1121\n",
-      "1122\n",
-      "1123\n",
-      "1124\n",
-      "1125\n",
-      "1126\n",
-      "1127\n",
-      "1128\n",
-      "1129\n",
-      "1130\n",
-      "1131\n",
-      "1132\n",
-      "1133\n",
-      "1134\n",
-      "1135\n",
-      "1136\n",
-      "1137\n",
-      "1138\n",
-      "1139\n",
-      "1140\n",
-      "1141\n",
-      "1142\n",
-      "1143\n",
-      "1144\n",
-      "1145\n",
-      "1146\n",
-      "1147\n",
-      "1148\n",
-      "1149\n",
-      "1150\n",
-      "1151\n",
-      "1152\n",
-      "1153\n",
-      "1154\n",
-      "1155\n",
-      "1156\n",
-      "1157\n",
-      "1158\n",
-      "1159\n",
-      "1160\n",
-      "1161\n",
-      "1162\n",
-      "1163\n",
-      "1164\n",
-      "1165\n",
-      "1166\n",
-      "1167\n",
-      "1168\n",
-      "1169\n",
-      "1170\n",
-      "1171\n",
-      "1172\n",
-      "1173\n",
-      "1174\n",
-      "1175\n",
-      "1176\n",
-      "1177\n",
-      "1178\n",
-      "1179\n",
-      "1180\n",
-      "1181\n",
-      "1182\n",
-      "1183\n",
-      "1184\n",
-      "1185\n",
-      "1186\n",
-      "1187\n",
-      "1188\n",
-      "1189\n",
-      "1190\n",
-      "1191\n",
-      "1192\n",
-      "1193\n",
-      "1194\n",
-      "1195\n",
-      "1196\n",
-      "1197\n",
-      "1198\n",
-      "1199\n",
-      "1200\n",
-      "1201\n",
-      "1202\n",
-      "1203\n",
-      "1204\n",
-      "1205\n",
-      "1206\n",
-      "1207\n",
-      "1208\n",
-      "1209\n",
-      "1210\n",
-      "1211\n",
-      "1212\n",
-      "1213\n",
-      "1214\n",
-      "1215\n",
-      "1216\n",
-      "1217\n",
-      "1218\n",
-      "1219\n",
-      "1220\n",
-      "1221\n",
-      "1222\n",
-      "1223\n",
-      "1224\n",
-      "1225\n",
-      "1226\n",
-      "1227\n",
-      "1228\n",
-      "1229\n",
-      "1230\n",
-      "1231\n",
-      "1232\n",
-      "1233\n",
-      "1234\n",
-      "1235\n",
-      "1236\n",
-      "1237\n",
-      "1238\n",
-      "1239\n",
-      "1240\n",
-      "1241\n",
-      "1242\n",
-      "1243\n",
-      "1244\n",
-      "1245\n",
-      "1246\n",
-      "1247\n",
-      "1248\n",
-      "1249\n"
+      "9\n"
      ]
     }
    ],
@@ -1649,6 +415,765 @@
     "len(backgrounds)"
    ]
   },
+  {
+   "cell_type": "code",
+   "execution_count": 196,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stderr",
+     "output_type": "stream",
+     "text": [
+      "Using cache found in /home/akhot2/.cache/torch/hub/ultralytics_yolov5_master\n",
+      "YOLOv5 🚀 2023-3-31 Python-3.9.12 torch-1.11.0 CUDA:0 (A100-SXM4-40GB, 40537MiB)\n",
+      "\n",
+      "Fusing layers... \n",
+      "Model summary: 212 layers, 20852934 parameters, 0 gradients, 47.9 GFLOPs\n",
+      "Adding AutoShape... \n"
+     ]
+    },
+    {
+     "data": {
+      "text/plain": [
+       "AutoShape(\n",
+       "  (model): DetectMultiBackend(\n",
+       "    (model): DetectionModel(\n",
+       "      (model): Sequential(\n",
+       "        (0): Conv(\n",
+       "          (conv): Conv2d(3, 48, kernel_size=(6, 6), stride=(2, 2), padding=(2, 2))\n",
+       "          (act): SiLU(inplace=True)\n",
+       "        )\n",
+       "        (1): Conv(\n",
+       "          (conv): Conv2d(48, 96, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1))\n",
+       "          (act): SiLU(inplace=True)\n",
+       "        )\n",
+       "        (2): C3(\n",
+       "          (cv1): Conv(\n",
+       "            (conv): Conv2d(96, 48, kernel_size=(1, 1), stride=(1, 1))\n",
+       "            (act): SiLU(inplace=True)\n",
+       "          )\n",
+       "          (cv2): Conv(\n",
+       "            (conv): Conv2d(96, 48, kernel_size=(1, 1), stride=(1, 1))\n",
+       "            (act): SiLU(inplace=True)\n",
+       "          )\n",
+       "          (cv3): Conv(\n",
+       "            (conv): Conv2d(96, 96, kernel_size=(1, 1), stride=(1, 1))\n",
+       "            (act): SiLU(inplace=True)\n",
+       "          )\n",
+       "          (m): Sequential(\n",
+       "            (0): Bottleneck(\n",
+       "              (cv1): Conv(\n",
+       "                (conv): Conv2d(48, 48, kernel_size=(1, 1), stride=(1, 1))\n",
+       "                (act): SiLU(inplace=True)\n",
+       "              )\n",
+       "              (cv2): Conv(\n",
+       "                (conv): Conv2d(48, 48, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))\n",
+       "                (act): SiLU(inplace=True)\n",
+       "              )\n",
+       "            )\n",
+       "            (1): Bottleneck(\n",
+       "              (cv1): Conv(\n",
+       "                (conv): Conv2d(48, 48, kernel_size=(1, 1), stride=(1, 1))\n",
+       "                (act): SiLU(inplace=True)\n",
+       "              )\n",
+       "              (cv2): Conv(\n",
+       "                (conv): Conv2d(48, 48, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))\n",
+       "                (act): SiLU(inplace=True)\n",
+       "              )\n",
+       "            )\n",
+       "          )\n",
+       "        )\n",
+       "        (3): Conv(\n",
+       "          (conv): Conv2d(96, 192, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1))\n",
+       "          (act): SiLU(inplace=True)\n",
+       "        )\n",
+       "        (4): C3(\n",
+       "          (cv1): Conv(\n",
+       "            (conv): Conv2d(192, 96, kernel_size=(1, 1), stride=(1, 1))\n",
+       "            (act): SiLU(inplace=True)\n",
+       "          )\n",
+       "          (cv2): Conv(\n",
+       "            (conv): Conv2d(192, 96, kernel_size=(1, 1), stride=(1, 1))\n",
+       "            (act): SiLU(inplace=True)\n",
+       "          )\n",
+       "          (cv3): Conv(\n",
+       "            (conv): Conv2d(192, 192, kernel_size=(1, 1), stride=(1, 1))\n",
+       "            (act): SiLU(inplace=True)\n",
+       "          )\n",
+       "          (m): Sequential(\n",
+       "            (0): Bottleneck(\n",
+       "              (cv1): Conv(\n",
+       "                (conv): Conv2d(96, 96, kernel_size=(1, 1), stride=(1, 1))\n",
+       "                (act): SiLU(inplace=True)\n",
+       "              )\n",
+       "              (cv2): Conv(\n",
+       "                (conv): Conv2d(96, 96, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))\n",
+       "                (act): SiLU(inplace=True)\n",
+       "              )\n",
+       "            )\n",
+       "            (1): Bottleneck(\n",
+       "              (cv1): Conv(\n",
+       "                (conv): Conv2d(96, 96, kernel_size=(1, 1), stride=(1, 1))\n",
+       "                (act): SiLU(inplace=True)\n",
+       "              )\n",
+       "              (cv2): Conv(\n",
+       "                (conv): Conv2d(96, 96, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))\n",
+       "                (act): SiLU(inplace=True)\n",
+       "              )\n",
+       "            )\n",
+       "            (2): Bottleneck(\n",
+       "              (cv1): Conv(\n",
+       "                (conv): Conv2d(96, 96, kernel_size=(1, 1), stride=(1, 1))\n",
+       "                (act): SiLU(inplace=True)\n",
+       "              )\n",
+       "              (cv2): Conv(\n",
+       "                (conv): Conv2d(96, 96, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))\n",
+       "                (act): SiLU(inplace=True)\n",
+       "              )\n",
+       "            )\n",
+       "            (3): Bottleneck(\n",
+       "              (cv1): Conv(\n",
+       "                (conv): Conv2d(96, 96, kernel_size=(1, 1), stride=(1, 1))\n",
+       "                (act): SiLU(inplace=True)\n",
+       "              )\n",
+       "              (cv2): Conv(\n",
+       "                (conv): Conv2d(96, 96, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))\n",
+       "                (act): SiLU(inplace=True)\n",
+       "              )\n",
+       "            )\n",
+       "          )\n",
+       "        )\n",
+       "        (5): Conv(\n",
+       "          (conv): Conv2d(192, 384, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1))\n",
+       "          (act): SiLU(inplace=True)\n",
+       "        )\n",
+       "        (6): C3(\n",
+       "          (cv1): Conv(\n",
+       "            (conv): Conv2d(384, 192, kernel_size=(1, 1), stride=(1, 1))\n",
+       "            (act): SiLU(inplace=True)\n",
+       "          )\n",
+       "          (cv2): Conv(\n",
+       "            (conv): Conv2d(384, 192, kernel_size=(1, 1), stride=(1, 1))\n",
+       "            (act): SiLU(inplace=True)\n",
+       "          )\n",
+       "          (cv3): Conv(\n",
+       "            (conv): Conv2d(384, 384, kernel_size=(1, 1), stride=(1, 1))\n",
+       "            (act): SiLU(inplace=True)\n",
+       "          )\n",
+       "          (m): Sequential(\n",
+       "            (0): Bottleneck(\n",
+       "              (cv1): Conv(\n",
+       "                (conv): Conv2d(192, 192, kernel_size=(1, 1), stride=(1, 1))\n",
+       "                (act): SiLU(inplace=True)\n",
+       "              )\n",
+       "              (cv2): Conv(\n",
+       "                (conv): Conv2d(192, 192, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))\n",
+       "                (act): SiLU(inplace=True)\n",
+       "              )\n",
+       "            )\n",
+       "            (1): Bottleneck(\n",
+       "              (cv1): Conv(\n",
+       "                (conv): Conv2d(192, 192, kernel_size=(1, 1), stride=(1, 1))\n",
+       "                (act): SiLU(inplace=True)\n",
+       "              )\n",
+       "              (cv2): Conv(\n",
+       "                (conv): Conv2d(192, 192, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))\n",
+       "                (act): SiLU(inplace=True)\n",
+       "              )\n",
+       "            )\n",
+       "            (2): Bottleneck(\n",
+       "              (cv1): Conv(\n",
+       "                (conv): Conv2d(192, 192, kernel_size=(1, 1), stride=(1, 1))\n",
+       "                (act): SiLU(inplace=True)\n",
+       "              )\n",
+       "              (cv2): Conv(\n",
+       "                (conv): Conv2d(192, 192, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))\n",
+       "                (act): SiLU(inplace=True)\n",
+       "              )\n",
+       "            )\n",
+       "            (3): Bottleneck(\n",
+       "              (cv1): Conv(\n",
+       "                (conv): Conv2d(192, 192, kernel_size=(1, 1), stride=(1, 1))\n",
+       "                (act): SiLU(inplace=True)\n",
+       "              )\n",
+       "              (cv2): Conv(\n",
+       "                (conv): Conv2d(192, 192, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))\n",
+       "                (act): SiLU(inplace=True)\n",
+       "              )\n",
+       "            )\n",
+       "            (4): Bottleneck(\n",
+       "              (cv1): Conv(\n",
+       "                (conv): Conv2d(192, 192, kernel_size=(1, 1), stride=(1, 1))\n",
+       "                (act): SiLU(inplace=True)\n",
+       "              )\n",
+       "              (cv2): Conv(\n",
+       "                (conv): Conv2d(192, 192, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))\n",
+       "                (act): SiLU(inplace=True)\n",
+       "              )\n",
+       "            )\n",
+       "            (5): Bottleneck(\n",
+       "              (cv1): Conv(\n",
+       "                (conv): Conv2d(192, 192, kernel_size=(1, 1), stride=(1, 1))\n",
+       "                (act): SiLU(inplace=True)\n",
+       "              )\n",
+       "              (cv2): Conv(\n",
+       "                (conv): Conv2d(192, 192, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))\n",
+       "                (act): SiLU(inplace=True)\n",
+       "              )\n",
+       "            )\n",
+       "          )\n",
+       "        )\n",
+       "        (7): Conv(\n",
+       "          (conv): Conv2d(384, 768, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1))\n",
+       "          (act): SiLU(inplace=True)\n",
+       "        )\n",
+       "        (8): C3(\n",
+       "          (cv1): Conv(\n",
+       "            (conv): Conv2d(768, 384, kernel_size=(1, 1), stride=(1, 1))\n",
+       "            (act): SiLU(inplace=True)\n",
+       "          )\n",
+       "          (cv2): Conv(\n",
+       "            (conv): Conv2d(768, 384, kernel_size=(1, 1), stride=(1, 1))\n",
+       "            (act): SiLU(inplace=True)\n",
+       "          )\n",
+       "          (cv3): Conv(\n",
+       "            (conv): Conv2d(768, 768, kernel_size=(1, 1), stride=(1, 1))\n",
+       "            (act): SiLU(inplace=True)\n",
+       "          )\n",
+       "          (m): Sequential(\n",
+       "            (0): Bottleneck(\n",
+       "              (cv1): Conv(\n",
+       "                (conv): Conv2d(384, 384, kernel_size=(1, 1), stride=(1, 1))\n",
+       "                (act): SiLU(inplace=True)\n",
+       "              )\n",
+       "              (cv2): Conv(\n",
+       "                (conv): Conv2d(384, 384, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))\n",
+       "                (act): SiLU(inplace=True)\n",
+       "              )\n",
+       "            )\n",
+       "            (1): Bottleneck(\n",
+       "              (cv1): Conv(\n",
+       "                (conv): Conv2d(384, 384, kernel_size=(1, 1), stride=(1, 1))\n",
+       "                (act): SiLU(inplace=True)\n",
+       "              )\n",
+       "              (cv2): Conv(\n",
+       "                (conv): Conv2d(384, 384, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))\n",
+       "                (act): SiLU(inplace=True)\n",
+       "              )\n",
+       "            )\n",
+       "          )\n",
+       "        )\n",
+       "        (9): SPPF(\n",
+       "          (cv1): Conv(\n",
+       "            (conv): Conv2d(768, 384, kernel_size=(1, 1), stride=(1, 1))\n",
+       "            (act): SiLU(inplace=True)\n",
+       "          )\n",
+       "          (cv2): Conv(\n",
+       "            (conv): Conv2d(1536, 768, kernel_size=(1, 1), stride=(1, 1))\n",
+       "            (act): SiLU(inplace=True)\n",
+       "          )\n",
+       "          (m): MaxPool2d(kernel_size=5, stride=1, padding=2, dilation=1, ceil_mode=False)\n",
+       "        )\n",
+       "        (10): Conv(\n",
+       "          (conv): Conv2d(768, 384, kernel_size=(1, 1), stride=(1, 1))\n",
+       "          (act): SiLU(inplace=True)\n",
+       "        )\n",
+       "        (11): Upsample(scale_factor=2.0, mode=nearest)\n",
+       "        (12): Concat()\n",
+       "        (13): C3(\n",
+       "          (cv1): Conv(\n",
+       "            (conv): Conv2d(768, 192, kernel_size=(1, 1), stride=(1, 1))\n",
+       "            (act): SiLU(inplace=True)\n",
+       "          )\n",
+       "          (cv2): Conv(\n",
+       "            (conv): Conv2d(768, 192, kernel_size=(1, 1), stride=(1, 1))\n",
+       "            (act): SiLU(inplace=True)\n",
+       "          )\n",
+       "          (cv3): Conv(\n",
+       "            (conv): Conv2d(384, 384, kernel_size=(1, 1), stride=(1, 1))\n",
+       "            (act): SiLU(inplace=True)\n",
+       "          )\n",
+       "          (m): Sequential(\n",
+       "            (0): Bottleneck(\n",
+       "              (cv1): Conv(\n",
+       "                (conv): Conv2d(192, 192, kernel_size=(1, 1), stride=(1, 1))\n",
+       "                (act): SiLU(inplace=True)\n",
+       "              )\n",
+       "              (cv2): Conv(\n",
+       "                (conv): Conv2d(192, 192, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))\n",
+       "                (act): SiLU(inplace=True)\n",
+       "              )\n",
+       "            )\n",
+       "            (1): Bottleneck(\n",
+       "              (cv1): Conv(\n",
+       "                (conv): Conv2d(192, 192, kernel_size=(1, 1), stride=(1, 1))\n",
+       "                (act): SiLU(inplace=True)\n",
+       "              )\n",
+       "              (cv2): Conv(\n",
+       "                (conv): Conv2d(192, 192, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))\n",
+       "                (act): SiLU(inplace=True)\n",
+       "              )\n",
+       "            )\n",
+       "          )\n",
+       "        )\n",
+       "        (14): Conv(\n",
+       "          (conv): Conv2d(384, 192, kernel_size=(1, 1), stride=(1, 1))\n",
+       "          (act): SiLU(inplace=True)\n",
+       "        )\n",
+       "        (15): Upsample(scale_factor=2.0, mode=nearest)\n",
+       "        (16): Concat()\n",
+       "        (17): C3(\n",
+       "          (cv1): Conv(\n",
+       "            (conv): Conv2d(384, 96, kernel_size=(1, 1), stride=(1, 1))\n",
+       "            (act): SiLU(inplace=True)\n",
+       "          )\n",
+       "          (cv2): Conv(\n",
+       "            (conv): Conv2d(384, 96, kernel_size=(1, 1), stride=(1, 1))\n",
+       "            (act): SiLU(inplace=True)\n",
+       "          )\n",
+       "          (cv3): Conv(\n",
+       "            (conv): Conv2d(192, 192, kernel_size=(1, 1), stride=(1, 1))\n",
+       "            (act): SiLU(inplace=True)\n",
+       "          )\n",
+       "          (m): Sequential(\n",
+       "            (0): Bottleneck(\n",
+       "              (cv1): Conv(\n",
+       "                (conv): Conv2d(96, 96, kernel_size=(1, 1), stride=(1, 1))\n",
+       "                (act): SiLU(inplace=True)\n",
+       "              )\n",
+       "              (cv2): Conv(\n",
+       "                (conv): Conv2d(96, 96, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))\n",
+       "                (act): SiLU(inplace=True)\n",
+       "              )\n",
+       "            )\n",
+       "            (1): Bottleneck(\n",
+       "              (cv1): Conv(\n",
+       "                (conv): Conv2d(96, 96, kernel_size=(1, 1), stride=(1, 1))\n",
+       "                (act): SiLU(inplace=True)\n",
+       "              )\n",
+       "              (cv2): Conv(\n",
+       "                (conv): Conv2d(96, 96, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))\n",
+       "                (act): SiLU(inplace=True)\n",
+       "              )\n",
+       "            )\n",
+       "          )\n",
+       "        )\n",
+       "        (18): Conv(\n",
+       "          (conv): Conv2d(192, 192, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1))\n",
+       "          (act): SiLU(inplace=True)\n",
+       "        )\n",
+       "        (19): Concat()\n",
+       "        (20): C3(\n",
+       "          (cv1): Conv(\n",
+       "            (conv): Conv2d(384, 192, kernel_size=(1, 1), stride=(1, 1))\n",
+       "            (act): SiLU(inplace=True)\n",
+       "          )\n",
+       "          (cv2): Conv(\n",
+       "            (conv): Conv2d(384, 192, kernel_size=(1, 1), stride=(1, 1))\n",
+       "            (act): SiLU(inplace=True)\n",
+       "          )\n",
+       "          (cv3): Conv(\n",
+       "            (conv): Conv2d(384, 384, kernel_size=(1, 1), stride=(1, 1))\n",
+       "            (act): SiLU(inplace=True)\n",
+       "          )\n",
+       "          (m): Sequential(\n",
+       "            (0): Bottleneck(\n",
+       "              (cv1): Conv(\n",
+       "                (conv): Conv2d(192, 192, kernel_size=(1, 1), stride=(1, 1))\n",
+       "                (act): SiLU(inplace=True)\n",
+       "              )\n",
+       "              (cv2): Conv(\n",
+       "                (conv): Conv2d(192, 192, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))\n",
+       "                (act): SiLU(inplace=True)\n",
+       "              )\n",
+       "            )\n",
+       "            (1): Bottleneck(\n",
+       "              (cv1): Conv(\n",
+       "                (conv): Conv2d(192, 192, kernel_size=(1, 1), stride=(1, 1))\n",
+       "                (act): SiLU(inplace=True)\n",
+       "              )\n",
+       "              (cv2): Conv(\n",
+       "                (conv): Conv2d(192, 192, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))\n",
+       "                (act): SiLU(inplace=True)\n",
+       "              )\n",
+       "            )\n",
+       "          )\n",
+       "        )\n",
+       "        (21): Conv(\n",
+       "          (conv): Conv2d(384, 384, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1))\n",
+       "          (act): SiLU(inplace=True)\n",
+       "        )\n",
+       "        (22): Concat()\n",
+       "        (23): C3(\n",
+       "          (cv1): Conv(\n",
+       "            (conv): Conv2d(768, 384, kernel_size=(1, 1), stride=(1, 1))\n",
+       "            (act): SiLU(inplace=True)\n",
+       "          )\n",
+       "          (cv2): Conv(\n",
+       "            (conv): Conv2d(768, 384, kernel_size=(1, 1), stride=(1, 1))\n",
+       "            (act): SiLU(inplace=True)\n",
+       "          )\n",
+       "          (cv3): Conv(\n",
+       "            (conv): Conv2d(768, 768, kernel_size=(1, 1), stride=(1, 1))\n",
+       "            (act): SiLU(inplace=True)\n",
+       "          )\n",
+       "          (m): Sequential(\n",
+       "            (0): Bottleneck(\n",
+       "              (cv1): Conv(\n",
+       "                (conv): Conv2d(384, 384, kernel_size=(1, 1), stride=(1, 1))\n",
+       "                (act): SiLU(inplace=True)\n",
+       "              )\n",
+       "              (cv2): Conv(\n",
+       "                (conv): Conv2d(384, 384, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))\n",
+       "                (act): SiLU(inplace=True)\n",
+       "              )\n",
+       "            )\n",
+       "            (1): Bottleneck(\n",
+       "              (cv1): Conv(\n",
+       "                (conv): Conv2d(384, 384, kernel_size=(1, 1), stride=(1, 1))\n",
+       "                (act): SiLU(inplace=True)\n",
+       "              )\n",
+       "              (cv2): Conv(\n",
+       "                (conv): Conv2d(384, 384, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))\n",
+       "                (act): SiLU(inplace=True)\n",
+       "              )\n",
+       "            )\n",
+       "          )\n",
+       "        )\n",
+       "        (24): Detect(\n",
+       "          (m): ModuleList(\n",
+       "            (0): Conv2d(192, 18, kernel_size=(1, 1), stride=(1, 1))\n",
+       "            (1): Conv2d(384, 18, kernel_size=(1, 1), stride=(1, 1))\n",
+       "            (2): Conv2d(768, 18, kernel_size=(1, 1), stride=(1, 1))\n",
+       "          )\n",
+       "        )\n",
+       "      )\n",
+       "    )\n",
+       "  )\n",
+       ")"
+      ]
+     },
+     "execution_count": 196,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "import torch\n",
+    "model = torch.hub.load('ultralytics/yolov5', 'custom', '/raid/projects/akhot2/group-01-phys371-sp2023/yolov5_model/runs/train/20beetle_40-non_20dirt_bkg_overlap/weights/best.pt')\n",
+    "model.eval()"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 199,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "YOLOv5 <class 'models.common.Detections'> instance\n",
+       "image 1/1: 2746x1610 3 beetless\n",
+       "Speed: 125.2ms pre-process, 13.4ms inference, 1.1ms NMS per image at shape (1, 3, 640, 384)"
+      ]
+     },
+     "execution_count": 199,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "model('/raid/projects/akhot2/group-01-phys371-sp2023/crop/data/train/images/sim1.png')"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 153,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "/raid/projects/akhot2/group-01-phys371-sp2023/crop/cropped_imgs/real18.jpg\n",
+      "(1744, 2778)\n",
+      "/raid/projects/akhot2/group-01-phys371-sp2023/crop/cropped_imgs/real16.jpg\n",
+      "(1894, 3155)\n",
+      "/raid/projects/akhot2/group-01-phys371-sp2023/crop/cropped_imgs/real7.jpg\n",
+      "(1837, 2978)\n",
+      "/raid/projects/akhot2/group-01-phys371-sp2023/crop/cropped_imgs/real8.jpg\n",
+      "(1680, 2791)\n",
+      "/raid/projects/akhot2/group-01-phys371-sp2023/crop/cropped_imgs/real10.jpg\n",
+      "(1880, 3101)\n",
+      "/raid/projects/akhot2/group-01-phys371-sp2023/crop/cropped_imgs/real13.jpg\n",
+      "(1572, 2582)\n",
+      "/raid/projects/akhot2/group-01-phys371-sp2023/crop/cropped_imgs/real15.jpg\n",
+      "(1486, 2422)\n",
+      "/raid/projects/akhot2/group-01-phys371-sp2023/crop/cropped_imgs/real6.jpg\n",
+      "(1635, 2699)\n",
+      "/raid/projects/akhot2/group-01-phys371-sp2023/crop/cropped_imgs/F28_3AUGUST2022_cropped.jpg\n",
+      "(1850, 2765)\n",
+      "/raid/projects/akhot2/group-01-phys371-sp2023/crop/cropped_imgs/bg.png\n",
+      "(2114, 3236)\n",
+      "/raid/projects/akhot2/group-01-phys371-sp2023/crop/cropped_imgs/real17.jpg\n",
+      "(1769, 3095)\n",
+      "/raid/projects/akhot2/group-01-phys371-sp2023/crop/cropped_imgs/real1.jpg\n",
+      "(1751, 2631)\n",
+      "/raid/projects/akhot2/group-01-phys371-sp2023/crop/cropped_imgs/real20.jpg\n",
+      "(1521, 2306)\n",
+      "/raid/projects/akhot2/group-01-phys371-sp2023/crop/cropped_imgs/real4.jpg\n",
+      "(1640, 2289)\n",
+      "/raid/projects/akhot2/group-01-phys371-sp2023/crop/cropped_imgs/real3.jpg\n",
+      "(1610, 2746)\n",
+      "/raid/projects/akhot2/group-01-phys371-sp2023/crop/cropped_imgs/real19.jpg\n",
+      "(1662, 2767)\n",
+      "/raid/projects/akhot2/group-01-phys371-sp2023/crop/cropped_imgs/real9.jpg\n",
+      "(1627, 2155)\n",
+      "/raid/projects/akhot2/group-01-phys371-sp2023/crop/cropped_imgs/real14.jpg\n",
+      "(1548, 2187)\n",
+      "/raid/projects/akhot2/group-01-phys371-sp2023/crop/cropped_imgs/real5.jpg\n",
+      "(1940, 2713)\n",
+      "/raid/projects/akhot2/group-01-phys371-sp2023/crop/cropped_imgs/real12.jpg\n",
+      "(1494, 2695)\n",
+      "/raid/projects/akhot2/group-01-phys371-sp2023/crop/cropped_imgs/real2.jpg\n",
+      "(1940, 2713)\n"
+     ]
+    }
+   ],
+   "source": [
+    "width = []\n",
+    "height = []\n",
+    "for file in glob.glob('/raid/projects/akhot2/group-01-phys371-sp2023/crop/data/train/sim0.png'):\n",
+    "    print(file)\n",
+    "    n_b0 = Image.open(file)\n",
+    "    print(n_b0.size)\n",
+    "    w, h = n_b0.size\n",
+    "    width.append(w)\n",
+    "    height.append(h)\n",
+    "    #f = model(file)\n",
+    "    #print(f)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 76,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "78.57894736842105"
+      ]
+     },
+     "execution_count": 76,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "np.mean(width)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 77,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "92.47368421052632"
+      ]
+     },
+     "execution_count": 77,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "np.mean(height)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 154,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "1723.5238095238096"
+      ]
+     },
+     "execution_count": 154,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "np.mean(width)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 155,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "2704.9523809523807"
+      ]
+     },
+     "execution_count": 155,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "np.mean(height)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 93,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "94.5"
+      ]
+     },
+     "execution_count": 93,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "width[8]*.7"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 94,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "54.599999999999994"
+      ]
+     },
+     "execution_count": 94,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "height[8]*.7"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 156,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "[1744,\n",
+       " 1894,\n",
+       " 1837,\n",
+       " 1680,\n",
+       " 1880,\n",
+       " 1572,\n",
+       " 1486,\n",
+       " 1635,\n",
+       " 1850,\n",
+       " 2114,\n",
+       " 1769,\n",
+       " 1751,\n",
+       " 1521,\n",
+       " 1640,\n",
+       " 1610,\n",
+       " 1662,\n",
+       " 1627,\n",
+       " 1548,\n",
+       " 1940,\n",
+       " 1494,\n",
+       " 1940]"
+      ]
+     },
+     "execution_count": 156,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "width"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 166,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "51.44444444444444\n",
+      "41.15555555555556\n",
+      "58.425925925925924\n",
+      "46.74074074074074\n",
+      "55.148148148148145\n",
+      "44.11851851851852\n",
+      "51.68518518518518\n",
+      "41.34814814814815\n",
+      "57.425925925925924\n",
+      "45.94074074074074\n",
+      "47.81481481481482\n",
+      "38.25185185185185\n",
+      "44.851851851851855\n",
+      "35.88148148148148\n",
+      "49.98148148148148\n",
+      "39.98518518518519\n",
+      "51.2037037037037\n",
+      "40.96296296296296\n",
+      "59.925925925925924\n",
+      "47.94074074074074\n",
+      "57.31481481481482\n",
+      "45.851851851851855\n",
+      "48.72222222222222\n",
+      "38.977777777777774\n",
+      "42.7037037037037\n",
+      "34.162962962962965\n",
+      "42.388888888888886\n",
+      "33.91111111111111\n",
+      "50.851851851851855\n",
+      "40.681481481481484\n",
+      "51.24074074074074\n",
+      "40.992592592592594\n",
+      "39.907407407407405\n",
+      "31.925925925925927\n",
+      "40.5\n",
+      "32.4\n",
+      "50.24074074074074\n",
+      "40.19259259259259\n",
+      "49.907407407407405\n",
+      "39.925925925925924\n",
+      "50.24074074074074\n",
+      "40.19259259259259\n"
+     ]
+    }
+   ],
+   "source": [
+    "for i in height:\n",
+    "    print((i/(6*9)))\n",
+    "    print((i/(7.5*9)))"
+   ]
+  },
   {
    "cell_type": "code",
    "execution_count": null,
-- 
GitLab