{ "nbformat": 4, "nbformat_minor": 0, "metadata": { "colab": { "provenance": [], "collapsed_sections": [] }, "kernelspec": { "name": "python3", "display_name": "Python 3" }, "language_info": { "name": "python" }, "accelerator": "GPU", "gpuClass": "standard" }, "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "DbeYatBLu8pf", "outputId": "4ed57e67-ae61-4662-e0cc-faed1c4062e4" }, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "Cloning into 'triplet-loss-cars'...\n", "remote: Enumerating objects: 17560, done.\u001b[K\n", "remote: Counting objects: 100% (17560/17560), done.\u001b[K\n", "remote: Compressing objects: 100% (9229/9229), done.\u001b[K\n", "remote: Total 17560 (delta 8336), reused 17531 (delta 8326)\u001b[K\n", "Receiving objects: 100% (17560/17560), 773.26 MiB | 16.83 MiB/s, done.\n", "Resolving deltas: 100% (8336/8336), done.\n" ] } ], "source": [ "!git clone https://git.drivecast.tech/vd/triplet-loss-cars.git" ] }, { "cell_type": "code", "source": [ "%cd triplet-loss-cars/" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "264RI2RHu_u4", "outputId": "5cea8550-3c8f-453f-ee09-de205e117769" }, "execution_count": 2, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "/content/triplet-loss-cars\n" ] } ] }, { "cell_type": "code", "source": [ "!./download-dataset" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "lboCMkqrvQtO", "outputId": "015dad3e-fda4-4daf-a86c-54bf37253fa4" }, "execution_count": 3, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "Downloading...\n", "From: https://drive.google.com/uc?id=1rP7GHDqx6BKTGTh9I6ecEmRgn5-HG1N0\n", "To: /content/triplet-loss-cars/triplet_dataset.zip\n", "100% 27.3M/27.3M [00:01<00:00, 20.6MB/s]\n" ] } ] }, { "cell_type": "code", "source": [], "metadata": { "id": "Jx07-q67wGfD" }, "execution_count": null, "outputs": [] }, { "cell_type": "code", "source": [ "!python3 train-embedding.py" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "iat8B1qNv96T", "outputId": "712601bf-9a2a-44d9-8d27-6dbc82a941f1" }, "execution_count": 7, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "Using GPU.\n", "Training.\n", "Epoch: 1/10 - Training loss: 0.2827 - Test loss: 0.1240\n", "Epoch: 2/10 - Training loss: 0.1167 - Test loss: 0.1096\n", "Epoch: 3/10 - Training loss: 0.0887 - Test loss: 0.0779\n", "Epoch: 4/10 - Training loss: 0.0789 - Test loss: 0.0882\n", "Epoch: 5/10 - Training loss: 0.0718 - Test loss: 0.0383\n", "Epoch: 6/10 - Training loss: 0.0643 - Test loss: 0.0566\n", "^C\n" ] } ] }, { "cell_type": "code", "source": [ "!python3 train-classifier.py" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "XhCmibyKwC-U", "outputId": "e4b28c5a-d878-40d5-aaaf-f256e1ab2fa7" }, "execution_count": 8, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "Using GPU.\n", "Score: 0.9918\n" ] } ] }, { "cell_type": "code", "source": [ "!./download-test-videos" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "9PRr_7pV4qwE", "outputId": "a71579b1-992b-41db-a275-79e5e55b5715" }, "execution_count": 10, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "Downloading...\n", "From: https://drive.google.com/uc?id=1Mm24z7fe1fkbcTt05IQpLlNdSALJQFRc\n", "To: /content/triplet-loss-cars/test_videos_2022.zip\n", "100% 212M/212M [00:03<00:00, 63.2MB/s]\n" ] } ] }, { "cell_type": "code", "source": [ "!unzip -q ./yolov5.zip" ], "metadata": { "id": "wZjPyaNo6XAa" }, "execution_count": 11, "outputs": [] }, { "cell_type": "code", "source": [ "!python3 model_inference.py" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "EW8pO4f86fBj", "outputId": "15c057b3-c4df-43cb-9a6a-4201404b226e" }, "execution_count": 12, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "Using GPU.\n", "Fusing layers... \n", "custom_YOLOv5l summary: 290 layers, 20852934 parameters, 0 gradients\n", "WARNING: --img-size [1920, 1080] must be multiple of max stride 32, updating to [1920, 1088]\n", "0\n", "Downloading https://ultralytics.com/assets/Arial.ttf to /root/.config/Ultralytics/Arial.ttf...\n", "1\n", "2\n", "3\n", "4\n", "5\n", "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" ] } ] }, { "cell_type": "code", "source": [], "metadata": { "id": "jVEQTWoW6l_9" }, "execution_count": null, "outputs": [] } ] }