{
  "id": 359271,
  "title": "10th Place Solution",
  "content": "<p>Congrats to all the winners, and thanks to organizers and all participants. This is a joint writeup with my wonderful teammate <a href=\"https://www.kaggle.com/yamash73\" target=\"_blank\">@yamash73</a> and <a href=\"https://www.kaggle.com/ksork6s4\" target=\"_blank\">@ksork6s4</a> (thanks to awesome team work).</p>\n<p><strong>Things that worked</strong></p>\n<ul>\n<li>Selection of dataset</li>\n<li>BatchNorm1d in head</li>\n<li>Ensemble of OpenCLIP backbones</li>\n</ul>\n<p><strong>Dataset</strong><br>\nWe have noticed that Public LB scores vary greatly depending on the combination of datasets. Therefore, we are exploring the best combination of data sets in the early stages of the competition. Comparison of experimental results shows that \"Inshop\", \"Instre\" and \"Consumer-to-shop\" are effective. Based on these results, we have decided to use \"Products10k\", \"Landmark\", \"Instre\" and \"Consumer-to-shop\" as our basic dataset combination . Here \"Inshop\" and \"Consumer-to-shop\" are subsets of deepfashion, so only \"Consumer-to-shop\" is selected as our combination of datasets.</p>\n<p><img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F4241674%2Fe153943075ee571c7b42182c0a3a41eb%2F2022-10-11%20214238.png?generation=1665492226981590&amp;alt=media\" alt=\"\"></p>\n<p>NOTE:</p>\n<ul>\n<li>The results of separate experiments confirm that Products10k and Landmark contribute to the LB scores</li>\n<li>For Inshop, Stanford products, and Consumer2shop, classes with a sample size more than 5 are used</li>\n</ul>\n<p>Our final combination of datasets is as follows:</p>\n<ul>\n<li>Products10k </li>\n<li>Landmark</li>\n<li>Instre</li>\n<li>Consumer-to-shop</li>\n<li>Food101 (added in the last week)</li>\n</ul>\n<p><strong>Model</strong><br>\nThe backbone of our final model is an ensemble of 3 OpenCLIP image encoders. OpenCLIP backbones contributed to the huge improvement of the LB score. We refered to the head/loss design from the past competitions (mainly Google Landmark Retrieval 2021).</p>\n<ul>\n<li>Backbone: OpenCLIP ViT-B + OpenCLIP ViT-L + OpenCLIP ViT-H</li>\n<li>Head: Linear + BatchNorm1d + PReLU + subcenter ArcFace(k=3)</li>\n<li>Loss: ArcFace Loss with dynamic margin (s=30.0, mx=0.65, my=0.15) + focal loss</li>\n</ul>\n<p><img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F4241674%2Fe9e01248f4d6655c00d75348c54aeda5%2F1.png?generation=1665490798502330&amp;alt=media\" alt=\"\"></p>\n<p><strong>Training</strong><br>\nOnly head is trained like other teams. At first, we set the total epochs to 20, but after experiments showed that we could achieve the same level of performance with 5 epochs, we were able to increase the number of trials.</p>\n<ul>\n<li>Total epochs: 5</li>\n<li>Batch size: 512</li>\n<li>Optimizer: Adam (lr=1e-2, weight decay=1e-4)</li>\n<li>Scheduler: CosineAnnealingLR (eta_min=1e-3, T_max=5)</li>\n<li>Augmentation: RandomResizedCrop, HorizontalFlip, ImageCompression, HueSaturationValue, RandomBrightnessContrast, Blur, ShiftScaleRotate, CoarseDropout</li>\n</ul>\n<p><strong>Things that didn't work</strong></p>\n<ul>\n<li>Dimensional reduction of embeddings using PCA</li>\n<li>Training OpenCLIP ViT without freezing backbones</li>\n<li>Cropping with saliency models (preprocess)</li>\n<li>TTA (horizontal flip)</li>\n<li>AutoEncoder</li>\n<li>Other architectures of head</li>\n</ul>",
  "comments": [
    {
      "id": 1982520,
      "author_name": "Nanashi",
      "author_url": "",
      "post_date": "2022-10-11T13:21:07.200000",
      "content": "<p><a href=\"https://www.kaggle.com/koheiumeki\" target=\"_blank\">@koheiumeki</a> Interesting thanks for sharing, we also follow a similar structure. Did you have problems when using 3 backbones considering the 9hrs limit?</p>",
      "votes": 5,
      "replies": [
        {
          "id": 1983476,
          "author_name": "Koo",
          "author_url": "",
          "post_date": "2022-10-12T04:39:13.497000",
          "content": "<p><a href=\"https://www.kaggle.com/jesucristoe\" target=\"_blank\">@jesucristoe</a>  <br>\nThank you for your question and congratulations on 4th place!</p>\n<p>We could fit 3 models into 9 hours limit without any special changes.<br>\nThe approximate submission times for each model are as follows:</p>\n<ul>\n<li>ViT-H: 5 hours</li>\n<li>ViT-L: 2.5 hours</li>\n<li>ViT-B: 1 hour (based on the submission time of 3 ensemble)</li>\n<li>ViT-H + ViT-L + ViT-B: 8.5 hours</li>\n</ul>\n<p>In our training phase, fp16 is used for 3 backbones but it is not used for the  submission model. This is our submission notebook. <br>\n<a href=\"https://www.kaggle.com/code/ksork6s4/guie-submission-openclip-3models-ensemble\" target=\"_blank\">https://www.kaggle.com/code/ksork6s4/guie-submission-openclip-3models-ensemble</a></p>\n<p>Additional information:<br>\nViT-B is used in our final model, but it may not be necessary as similar scores can be reached with only ViT-H and ViT-L.</p>",
          "votes": 1,
          "replies": []
        }
      ]
    },
    {
      "id": 1982688,
      "author_name": "Man of the year",
      "author_url": "",
      "post_date": "2022-10-11T14:58:02.553000",
      "content": "<p>How did you fit <code>OpenCLIP ViT-B + OpenCLIP ViT-L + OpenCLIP ViT-H</code> into 9 hours of given submission time?</p>",
      "votes": 4,
      "replies": [
        {
          "id": 1983478,
          "author_name": "Koo",
          "author_url": "",
          "post_date": "2022-10-12T04:40:39.520000",
          "content": "<p><a href=\"https://www.kaggle.com/manwithaflower\" target=\"_blank\">@manwithaflower</a>  <br>\nThank you for your question!</p>\n<p>We could fit 3 models into 9 hours limit without any special changes.<br>\nThe approximate submission times for each model are as follows:</p>\n<ul>\n<li>ViT-H: 5 hours</li>\n<li>ViT-L: 2.5 hours</li>\n<li>ViT-B: 1 hour (based on the submission time of 3 ensemble)</li>\n<li>ViT-H + ViT-L + ViT-B: 8.5 hours</li>\n</ul>\n<p>In our training phase, fp16 is used for 3 backbones but it is not used for the  submission model. This is our submission notebook. <br>\n<a href=\"https://www.kaggle.com/code/ksork6s4/guie-submission-openclip-3models-ensemble\" target=\"_blank\">https://www.kaggle.com/code/ksork6s4/guie-submission-openclip-3models-ensemble</a></p>\n<p>Additional information:<br>\nViT-B is used in our final model, but it may not be necessary as similar scores can be reached with only ViT-H and ViT-L.</p>",
          "votes": 1,
          "replies": []
        }
      ]
    },
    {
      "id": 1988493,
      "author_name": "HIROFUMI OHTA",
      "author_url": "",
      "post_date": "2022-10-15T10:52:54.593000",
      "content": "<p>Congratulations to Gold medal.<br>\nCongratulations to <a href=\"https://www.kaggle.com/ksork6s4\" target=\"_blank\">@ksork6s4</a> and <a href=\"https://www.kaggle.com/yamash73\" target=\"_blank\">@yamash73</a> for winning the master. I have to do my best too.</p>",
      "votes": 2,
      "replies": []
    },
    {
      "id": 1982534,
      "author_name": "KKY",
      "author_url": "",
      "post_date": "2022-10-11T13:39:01.723000",
      "content": "<p>Congratulations!  Can you share the training loss after 5 epochs?</p>",
      "votes": 2,
      "replies": [
        {
          "id": 1983487,
          "author_name": "Koo",
          "author_url": "",
          "post_date": "2022-10-12T04:46:55.440000",
          "content": "<p><a href=\"https://www.kaggle.com/evilpsycho42\" target=\"_blank\">@evilpsycho42</a> <br>\nThank you for your comment and question!</p>\n<p>The training loss after 5 epochs is 18.2422.<br>\nThis is the sum of ArcFace loss and focal loss.</p>",
          "votes": 0,
          "replies": []
        }
      ]
    },
    {
      "id": 1982539,
      "author_name": "KKY",
      "author_url": "",
      "post_date": "2022-10-11T13:47:10.277000",
      "content": "<p>BTW, what the LR do you use when unfreezing training?</p>",
      "votes": 1,
      "replies": [
        {
          "id": 1983493,
          "author_name": "Koo",
          "author_url": "",
          "post_date": "2022-10-12T04:59:25.280000",
          "content": "<p><a href=\"https://www.kaggle.com/evilpsycho42\" target=\"_blank\">@evilpsycho42</a> <br>\nWe tested 1e-3 or 1e-4 after head-only training and scores did not improve.<br>\nBut we tried unfreezing training only in the beginning of the competition, so this may not be sufficient. </p>\n<p>We also referred to this solution and parameters:</p>\n<ul>\n<li>solution: <a href=\"https://www.kaggle.com/competitions/landmark-retrieval-2021/discussion/277099\" target=\"_blank\">https://www.kaggle.com/competitions/landmark-retrieval-2021/discussion/277099</a></li>\n<li>code: <a href=\"https://github.com/ChristofHenkel/kaggle-landmark-2021-1st-place/tree/main/configs\" target=\"_blank\">https://github.com/ChristofHenkel/kaggle-landmark-2021-1st-place/tree/main/configs</a></li>\n</ul>",
          "votes": 0,
          "replies": []
        }
      ]
    }
  ],
  "comment_count": 9,
  "messages": [
    {
      "id": 1982466,
      "postDate": "2022-10-11T12:45:06.050Z",
      "content": "<p>Congrats to all the winners, and thanks to organizers and all participants. This is a joint writeup with my wonderful teammate <a href=\"https://www.kaggle.com/yamash73\" target=\"_blank\">@yamash73</a> and <a href=\"https://www.kaggle.com/ksork6s4\" target=\"_blank\">@ksork6s4</a> (thanks to awesome team work).</p>\n<p><strong>Things that worked</strong></p>\n<ul>\n<li>Selection of dataset</li>\n<li>BatchNorm1d in head</li>\n<li>Ensemble of OpenCLIP backbones</li>\n</ul>\n<p><strong>Dataset</strong><br>\nWe have noticed that Public LB scores vary greatly depending on the combination of datasets. Therefore, we are exploring the best combination of data sets in the early stages of the competition. Comparison of experimental results shows that \"Inshop\", \"Instre\" and \"Consumer-to-shop\" are effective. Based on these results, we have decided to use \"Products10k\", \"Landmark\", \"Instre\" and \"Consumer-to-shop\" as our basic dataset combination . Here \"Inshop\" and \"Consumer-to-shop\" are subsets of deepfashion, so only \"Consumer-to-shop\" is selected as our combination of datasets.</p>\n<p><img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F4241674%2Fe153943075ee571c7b42182c0a3a41eb%2F2022-10-11%20214238.png?generation=1665492226981590&amp;alt=media\" alt=\"\"></p>\n<p>NOTE:</p>\n<ul>\n<li>The results of separate experiments confirm that Products10k and Landmark contribute to the LB scores</li>\n<li>For Inshop, Stanford products, and Consumer2shop, classes with a sample size more than 5 are used</li>\n</ul>\n<p>Our final combination of datasets is as follows:</p>\n<ul>\n<li>Products10k </li>\n<li>Landmark</li>\n<li>Instre</li>\n<li>Consumer-to-shop</li>\n<li>Food101 (added in the last week)</li>\n</ul>\n<p><strong>Model</strong><br>\nThe backbone of our final model is an ensemble of 3 OpenCLIP image encoders. OpenCLIP backbones contributed to the huge improvement of the LB score. We refered to the head/loss design from the past competitions (mainly Google Landmark Retrieval 2021).</p>\n<ul>\n<li>Backbone: OpenCLIP ViT-B + OpenCLIP ViT-L + OpenCLIP ViT-H</li>\n<li>Head: Linear + BatchNorm1d + PReLU + subcenter ArcFace(k=3)</li>\n<li>Loss: ArcFace Loss with dynamic margin (s=30.0, mx=0.65, my=0.15) + focal loss</li>\n</ul>\n<p><img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F4241674%2Fe9e01248f4d6655c00d75348c54aeda5%2F1.png?generation=1665490798502330&amp;alt=media\" alt=\"\"></p>\n<p><strong>Training</strong><br>\nOnly head is trained like other teams. At first, we set the total epochs to 20, but after experiments showed that we could achieve the same level of performance with 5 epochs, we were able to increase the number of trials.</p>\n<ul>\n<li>Total epochs: 5</li>\n<li>Batch size: 512</li>\n<li>Optimizer: Adam (lr=1e-2, weight decay=1e-4)</li>\n<li>Scheduler: CosineAnnealingLR (eta_min=1e-3, T_max=5)</li>\n<li>Augmentation: RandomResizedCrop, HorizontalFlip, ImageCompression, HueSaturationValue, RandomBrightnessContrast, Blur, ShiftScaleRotate, CoarseDropout</li>\n</ul>\n<p><strong>Things that didn't work</strong></p>\n<ul>\n<li>Dimensional reduction of embeddings using PCA</li>\n<li>Training OpenCLIP ViT without freezing backbones</li>\n<li>Cropping with saliency models (preprocess)</li>\n<li>TTA (horizontal flip)</li>\n<li>AutoEncoder</li>\n<li>Other architectures of head</li>\n</ul>",
      "rawMarkdown": "Congrats to all the winners, and thanks to organizers and all participants. This is a joint writeup with my wonderful teammate @yamash73 and @ksork6s4 (thanks to awesome team work).\n\n**Things that worked**\n- Selection of dataset\n- BatchNorm1d in head\n- Ensemble of OpenCLIP backbones\n\n**Dataset**\nWe have noticed that Public LB scores vary greatly depending on the combination of datasets. Therefore, we are exploring the best combination of data sets in the early stages of the competition. Comparison of experimental results shows that \"Inshop\", \"Instre\" and \"Consumer-to-shop\" are effective. Based on these results, we have decided to use \"Products10k\", \"Landmark\", \"Instre\" and \"Consumer-to-shop\" as our basic dataset combination . Here \"Inshop\" and \"Consumer-to-shop\" are subsets of deepfashion, so only \"Consumer-to-shop\" is selected as our combination of datasets.\n\n![](https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F4241674%2Fe153943075ee571c7b42182c0a3a41eb%2F2022-10-11%20214238.png?generation=1665492226981590&alt=media)\n\nNOTE:\n- The results of separate experiments confirm that Products10k and Landmark contribute to the LB scores\n- For Inshop, Stanford products, and Consumer2shop, classes with a sample size more than 5 are used\n\nOur final combination of datasets is as follows:\n- Products10k \n- Landmark\n- Instre\n- Consumer-to-shop\n- Food101 (added in the last week)\n\n**Model**\nThe backbone of our final model is an ensemble of 3 OpenCLIP image encoders. OpenCLIP backbones contributed to the huge improvement of the LB score. We refered to the head/loss design from the past competitions (mainly Google Landmark Retrieval 2021).\n- Backbone: OpenCLIP ViT-B + OpenCLIP ViT-L + OpenCLIP ViT-H\n- Head: Linear + BatchNorm1d + PReLU + subcenter ArcFace(k=3)\n- Loss: ArcFace Loss with dynamic margin (s=30.0, mx=0.65, my=0.15) + focal loss\n\n![](https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F4241674%2Fe9e01248f4d6655c00d75348c54aeda5%2F1.png?generation=1665490798502330&alt=media)\n\n**Training**\nOnly head is trained like other teams. At first, we set the total epochs to 20, but after experiments showed that we could achieve the same level of performance with 5 epochs, we were able to increase the number of trials.\n- Total epochs: 5\n- Batch size: 512\n- Optimizer: Adam (lr=1e-2, weight decay=1e-4)\n- Scheduler: CosineAnnealingLR (eta_min=1e-3, T_max=5)\n- Augmentation: RandomResizedCrop, HorizontalFlip, ImageCompression, HueSaturationValue, RandomBrightnessContrast, Blur, ShiftScaleRotate, CoarseDropout\n\t\n**Things that didn't work**\n- Dimensional reduction of embeddings using PCA\n- Training OpenCLIP ViT without freezing backbones\n- Cropping with saliency models (preprocess)\n- TTA (horizontal flip)\n- AutoEncoder\n- Other architectures of head",
      "votes": 22
    },
    {
      "id": 1982520,
      "postDate": "2022-10-11T13:21:07.200Z",
      "content": "<p><a href=\"https://www.kaggle.com/koheiumeki\" target=\"_blank\">@koheiumeki</a> Interesting thanks for sharing, we also follow a similar structure. Did you have problems when using 3 backbones considering the 9hrs limit?</p>",
      "rawMarkdown": "@koheiumeki Interesting thanks for sharing, we also follow a similar structure. Did you have problems when using 3 backbones considering the 9hrs limit?",
      "votes": 5,
      "replies": [
        {
          "id": 1983476,
          "postDate": "2022-10-12T04:39:13.497Z",
          "content": "<p><a href=\"https://www.kaggle.com/jesucristoe\" target=\"_blank\">@jesucristoe</a>  <br>\nThank you for your question and congratulations on 4th place!</p>\n<p>We could fit 3 models into 9 hours limit without any special changes.<br>\nThe approximate submission times for each model are as follows:</p>\n<ul>\n<li>ViT-H: 5 hours</li>\n<li>ViT-L: 2.5 hours</li>\n<li>ViT-B: 1 hour (based on the submission time of 3 ensemble)</li>\n<li>ViT-H + ViT-L + ViT-B: 8.5 hours</li>\n</ul>\n<p>In our training phase, fp16 is used for 3 backbones but it is not used for the  submission model. This is our submission notebook. <br>\n<a href=\"https://www.kaggle.com/code/ksork6s4/guie-submission-openclip-3models-ensemble\" target=\"_blank\">https://www.kaggle.com/code/ksork6s4/guie-submission-openclip-3models-ensemble</a></p>\n<p>Additional information:<br>\nViT-B is used in our final model, but it may not be necessary as similar scores can be reached with only ViT-H and ViT-L.</p>",
          "rawMarkdown": "@jesucristoe  \nThank you for your question and congratulations on 4th place!\n\nWe could fit 3 models into 9 hours limit without any special changes.\nThe approximate submission times for each model are as follows:\n- ViT-H: 5 hours\n- ViT-L: 2.5 hours\n- ViT-B: 1 hour (based on the submission time of 3 ensemble)\n- ViT-H + ViT-L + ViT-B: 8.5 hours\n\nIn our training phase, fp16 is used for 3 backbones but it is not used for the  submission model. This is our submission notebook. \nhttps://www.kaggle.com/code/ksork6s4/guie-submission-openclip-3models-ensemble\n\nAdditional information:\nViT-B is used in our final model, but it may not be necessary as similar scores can be reached with only ViT-H and ViT-L.",
          "votes": 1
        }
      ]
    },
    {
      "id": 1982688,
      "postDate": "2022-10-11T14:58:02.553Z",
      "content": "<p>How did you fit <code>OpenCLIP ViT-B + OpenCLIP ViT-L + OpenCLIP ViT-H</code> into 9 hours of given submission time?</p>",
      "rawMarkdown": "How did you fit `OpenCLIP ViT-B + OpenCLIP ViT-L + OpenCLIP ViT-H` into 9 hours of given submission time?",
      "votes": 4,
      "replies": [
        {
          "id": 1983478,
          "postDate": "2022-10-12T04:40:39.520Z",
          "content": "<p><a href=\"https://www.kaggle.com/manwithaflower\" target=\"_blank\">@manwithaflower</a>  <br>\nThank you for your question!</p>\n<p>We could fit 3 models into 9 hours limit without any special changes.<br>\nThe approximate submission times for each model are as follows:</p>\n<ul>\n<li>ViT-H: 5 hours</li>\n<li>ViT-L: 2.5 hours</li>\n<li>ViT-B: 1 hour (based on the submission time of 3 ensemble)</li>\n<li>ViT-H + ViT-L + ViT-B: 8.5 hours</li>\n</ul>\n<p>In our training phase, fp16 is used for 3 backbones but it is not used for the  submission model. This is our submission notebook. <br>\n<a href=\"https://www.kaggle.com/code/ksork6s4/guie-submission-openclip-3models-ensemble\" target=\"_blank\">https://www.kaggle.com/code/ksork6s4/guie-submission-openclip-3models-ensemble</a></p>\n<p>Additional information:<br>\nViT-B is used in our final model, but it may not be necessary as similar scores can be reached with only ViT-H and ViT-L.</p>",
          "rawMarkdown": "@manwithaflower  \nThank you for your question!\n\nWe could fit 3 models into 9 hours limit without any special changes.\nThe approximate submission times for each model are as follows:\n- ViT-H: 5 hours\n- ViT-L: 2.5 hours\n- ViT-B: 1 hour (based on the submission time of 3 ensemble)\n- ViT-H + ViT-L + ViT-B: 8.5 hours\n\nIn our training phase, fp16 is used for 3 backbones but it is not used for the  submission model. This is our submission notebook. \nhttps://www.kaggle.com/code/ksork6s4/guie-submission-openclip-3models-ensemble\n\nAdditional information:\nViT-B is used in our final model, but it may not be necessary as similar scores can be reached with only ViT-H and ViT-L.",
          "votes": 1
        }
      ]
    },
    {
      "id": 1988493,
      "postDate": "2022-10-15T10:52:54.593Z",
      "content": "<p>Congratulations to Gold medal.<br>\nCongratulations to <a href=\"https://www.kaggle.com/ksork6s4\" target=\"_blank\">@ksork6s4</a> and <a href=\"https://www.kaggle.com/yamash73\" target=\"_blank\">@yamash73</a> for winning the master. I have to do my best too.</p>",
      "rawMarkdown": "Congratulations to Gold medal.\nCongratulations to @ksork6s4 and @yamash73 for winning the master. I have to do my best too.",
      "votes": 2
    },
    {
      "id": 1982534,
      "postDate": "2022-10-11T13:39:01.723Z",
      "content": "<p>Congratulations!  Can you share the training loss after 5 epochs?</p>",
      "rawMarkdown": "Congratulations!  Can you share the training loss after 5 epochs?",
      "votes": 2,
      "replies": [
        {
          "id": 1983487,
          "postDate": "2022-10-12T04:46:55.440Z",
          "content": "<p><a href=\"https://www.kaggle.com/evilpsycho42\" target=\"_blank\">@evilpsycho42</a> <br>\nThank you for your comment and question!</p>\n<p>The training loss after 5 epochs is 18.2422.<br>\nThis is the sum of ArcFace loss and focal loss.</p>",
          "rawMarkdown": "@evilpsycho42 \nThank you for your comment and question!\n\nThe training loss after 5 epochs is 18.2422.\nThis is the sum of ArcFace loss and focal loss."
        }
      ]
    },
    {
      "id": 1982539,
      "postDate": "2022-10-11T13:47:10.277Z",
      "content": "<p>BTW, what the LR do you use when unfreezing training?</p>",
      "rawMarkdown": "BTW, what the LR do you use when unfreezing training?",
      "votes": 1,
      "replies": [
        {
          "id": 1983493,
          "postDate": "2022-10-12T04:59:25.280Z",
          "content": "<p><a href=\"https://www.kaggle.com/evilpsycho42\" target=\"_blank\">@evilpsycho42</a> <br>\nWe tested 1e-3 or 1e-4 after head-only training and scores did not improve.<br>\nBut we tried unfreezing training only in the beginning of the competition, so this may not be sufficient. </p>\n<p>We also referred to this solution and parameters:</p>\n<ul>\n<li>solution: <a href=\"https://www.kaggle.com/competitions/landmark-retrieval-2021/discussion/277099\" target=\"_blank\">https://www.kaggle.com/competitions/landmark-retrieval-2021/discussion/277099</a></li>\n<li>code: <a href=\"https://github.com/ChristofHenkel/kaggle-landmark-2021-1st-place/tree/main/configs\" target=\"_blank\">https://github.com/ChristofHenkel/kaggle-landmark-2021-1st-place/tree/main/configs</a></li>\n</ul>",
          "rawMarkdown": "@evilpsycho42 \nWe tested 1e-3 or 1e-4 after head-only training and scores did not improve.\nBut we tried unfreezing training only in the beginning of the competition, so this may not be sufficient. \n\nWe also referred to this solution and parameters:\n- solution: https://www.kaggle.com/competitions/landmark-retrieval-2021/discussion/277099\n- code: https://github.com/ChristofHenkel/kaggle-landmark-2021-1st-place/tree/main/configs"
        }
      ]
    }
  ],
  "complete": true,
  "source": "live",
  "fetched_at": "2026-10-24T13:23:33Z",
  "competition_id": 36414,
  "competition_slug": "google-universal-image-embedding",
  "team_id": 8884347,
  "solution_url": "/competitions/google-universal-image-embedding/writeups/icd-10th-place-solution"
}