{
  "id": 95233,
  "title": "My solution (2nd public | 2nd Private)",
  "url": "/competitions/imaterialist-fashion-2019-FGVC6/discussion/95233",
  "author_name": "",
  "post_date": "2019-06-10T23:23:02.559734500Z",
  "votes": 23,
  "comment_count": 4,
  "views": 0,
  "content": "<p>My solution can be described as <code>mmdetection.fit_predict ()</code></p>\n\n<p>I started practicing it immediately after iMet Collection 2019 - FGVC6 and there were not many attempts and experiments. But I had several devboxes. I started with two machines with 3x 1080Ti each. And for the weekend I redistributed the working tasks so can get two more.</p>\n\n<p>All my models are Mask-RCNN with a Hybrid Task Cascade.\nr50, r101 with an input resolution (800, 1266) and x101-d32 with (720, 1080). Starting SGD with LR 0.02. I did not throw out the weight of the last convolutions and logites but cut the tensor to fit a new number of classes.\nI did not have a solid scheduling. I planned to just pre-train the model at low resolution. So each model was trained through 6-10 epochs, LR dropped 1 time.</p>\n\n<p>Then I start training from the last checkpoint on resolution (1024, 1600) with the same LR from previous stage. r50 didn't perform very well and I changed it to train r101 with SyncBN. I still had doubts about unfreez BN, because the batch was 3. As a result, it did not work well. The score was much worse than the models with frozen BN.</p>\n\n<p>Somewhere on Saturday, I started experimenting with multi-checkpoint TTA, flip-TTA, scale-TTA. Everything was fine. But suddenly it turned out that I forgot to exclude validation from my trainset :facepalm:\nAs a result, I used leaderboard as validation :facepalm:x2</p>\n\n<p>r101 managed to train through 18 epoch and x101 through 9 epochs. Both models end up at LR 0.00002. My best submission is the last two checkpoints from each model with 3x scale TTA and mirror TTA.</p>",
  "messages": [
    {
      "id": "549668",
      "postDate": "06/10/2019 23:23:02",
      "content": "<p>My solution can be described as <code>mmdetection.fit_predict ()</code></p>\n\n<p>I started practicing it immediately after iMet Collection 2019 - FGVC6 and there were not many attempts and experiments. But I had several devboxes. I started with two machines with 3x 1080Ti each. And for the weekend I redistributed the working tasks so can get two more.</p>\n\n<p>All my models are Mask-RCNN with a Hybrid Task Cascade.\nr50, r101 with an input resolution (800, 1266) and x101-d32 with (720, 1080). Starting SGD with LR 0.02. I did not throw out the weight of the last convolutions and logites but cut the tensor to fit a new number of classes.\nI did not have a solid scheduling. I planned to just pre-train the model at low resolution. So each model was trained through 6-10 epochs, LR dropped 1 time.</p>\n\n<p>Then I start training from the last checkpoint on resolution (1024, 1600) with the same LR from previous stage. r50 didn't perform very well and I changed it to train r101 with SyncBN. I still had doubts about unfreez BN, because the batch was 3. As a result, it did not work well. The score was much worse than the models with frozen BN.</p>\n\n<p>Somewhere on Saturday, I started experimenting with multi-checkpoint TTA, flip-TTA, scale-TTA. Everything was fine. But suddenly it turned out that I forgot to exclude validation from my trainset :facepalm:\nAs a result, I used leaderboard as validation :facepalm:x2</p>\n\n<p>r101 managed to train through 18 epoch and x101 through 9 epochs. Both models end up at LR 0.00002. My best submission is the last two checkpoints from each model with 3x scale TTA and mirror TTA.</p>",
      "rawMarkdown": "My solution can be described as `mmdetection.fit_predict ()`\n\nI started practicing it immediately after iMet Collection 2019 - FGVC6 and there were not many attempts and experiments. But I had several devboxes. I started with two machines with 3x 1080Ti each. And for the weekend I redistributed the working tasks so can get two more.\n\nAll my models are Mask-RCNN with a Hybrid Task Cascade.\nr50, r101 with an input resolution (800, 1266) and x101-d32 with (720, 1080). Starting SGD with LR 0.02. I did not throw out the weight of the last convolutions and logites but cut the tensor to fit a new number of classes.\nI did not have a solid scheduling. I planned to just pre-train the model at low resolution. So each model was trained through 6-10 epochs, LR dropped 1 time.\n\nThen I start training from the last checkpoint on resolution (1024, 1600) with the same LR from previous stage. r50 didn't perform very well and I changed it to train r101 with SyncBN. I still had doubts about unfreez BN, because the batch was 3. As a result, it did not work well. The score was much worse than the models with frozen BN.\n\nSomewhere on Saturday, I started experimenting with multi-checkpoint TTA, flip-TTA, scale-TTA. Everything was fine. But suddenly it turned out that I forgot to exclude validation from my trainset :facepalm:\nAs a result, I used leaderboard as validation :facepalm:x2\n\nr101 managed to train through 18 epoch and x101 through 9 epochs. Both models end up at LR 0.00002. My best submission is the last two checkpoints from each model with 3x scale TTA and mirror TTA.",
      "votes": null
    },
    {
      "id": "550054",
      "postDate": "06/11/2019 09:00:34",
      "content": "<p>Thanks for sharing! I've used vanilla Mask R-CNN :facepalm:</p>",
      "rawMarkdown": "Thanks for sharing! I've used vanilla Mask R-CNN :facepalm:",
      "votes": null
    },
    {
      "id": "550757",
      "postDate": "06/12/2019 02:20:26",
      "content": "<p>Hi <a href=\"/drn01z3\">@drn01z3</a>   Thank you for sharing your solution! Will you attend CVPR2019 this year? <a href=\"https://sites.google.com/view/fgvc6/program?authuser=0\">Schedule of our upcoming FGVC workshop can be found here</a>.</p>\n\n<p>As one of top 3 teams, you are invited to present your solution in our upcoming FGVC workshop at CVPR.</p>\n\n<ol>\n<li>Could you be able to send me 1-2 pages of google slides (or pdf) describing your method? So I can include it in my presentation of this challenge.</li>\n<li>You will also have access to a 4 foot x 4 foot poster board in our FGVC workshop if you want to present your method at the workshop. (If you couldn't make it to the workshop, another option is that you can send your poster to me before June 14. I can help you print it and hang in the board that day)</li>\n</ol>\n\n<p>Let me know if you have any questions!\nThank you!</p>",
      "rawMarkdown": "Hi @drn01z3   Thank you for sharing your solution! Will you attend CVPR2019 this year? [Schedule of our upcoming FGVC workshop can be found here](https://sites.google.com/view/fgvc6/program?authuser=0).\n\nAs one of top 3 teams, you are invited to present your solution in our upcoming FGVC workshop at CVPR.\n\n1. Could you be able to send me 1-2 pages of google slides (or pdf) describing your method? So I can include it in my presentation of this challenge.\n2. You will also have access to a 4 foot x 4 foot poster board in our FGVC workshop if you want to present your method at the workshop. (If you couldn't make it to the workshop, another option is that you can send your poster to me before June 14. I can help you print it and hang in the board that day)\n\nLet me know if you have any questions!\nThank you!",
      "votes": null
    },
    {
      "id": "550989",
      "postDate": "06/12/2019 07:54:53",
      "content": "<p>Congratulations! Thanks for sharing your solutions. is it possible for you to open source the code solutions? :-)</p>",
      "rawMarkdown": "Congratulations! Thanks for sharing your solutions. is it possible for you to open source the code solutions? :-)",
      "votes": null
    },
    {
      "id": "551075",
      "postDate": "06/12/2019 10:00:21",
      "content": "<p>Hi! \nAs I said in the iMet Collection competition, I do not have a visa and I can't get it fast enought. However, I am ready to make a poster and slide. And my poster can present Vladimir Iglovikov <a href=\"/iglovikov\">@iglovikov</a> \nIf it's works for You, then write me a e-mail and I'll add Vladimir in cc. </p>",
      "rawMarkdown": "Hi! \nAs I said in the iMet Collection competition, I do not have a visa and I can't get it fast enought. However, I am ready to make a poster and slide. And my poster can present Vladimir Iglovikov @iglovikov \nIf it's works for You, then write me a e-mail and I'll add Vladimir in cc.",
      "votes": null
    }
  ],
  "comments": [
    {
      "id": 550054,
      "author_name": "harshml",
      "author_url": "",
      "post_date": "06/11/2019 09:00:34",
      "content": "<p>Thanks for sharing! I've used vanilla Mask R-CNN :facepalm:</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 550757,
      "author_name": "makeitworkjml",
      "author_url": "",
      "post_date": "06/12/2019 02:20:26",
      "content": "<p>Hi <a href=\"/drn01z3\">@drn01z3</a>   Thank you for sharing your solution! Will you attend CVPR2019 this year? <a href=\"https://sites.google.com/view/fgvc6/program?authuser=0\">Schedule of our upcoming FGVC workshop can be found here</a>.</p>\n\n<p>As one of top 3 teams, you are invited to present your solution in our upcoming FGVC workshop at CVPR.</p>\n\n<ol>\n<li>Could you be able to send me 1-2 pages of google slides (or pdf) describing your method? So I can include it in my presentation of this challenge.</li>\n<li>You will also have access to a 4 foot x 4 foot poster board in our FGVC workshop if you want to present your method at the workshop. (If you couldn't make it to the workshop, another option is that you can send your poster to me before June 14. I can help you print it and hang in the board that day)</li>\n</ol>\n\n<p>Let me know if you have any questions!\nThank you!</p>",
      "votes": null,
      "replies": [
        {
          "id": 551075,
          "author_name": "drn01z3",
          "author_url": "",
          "post_date": "06/12/2019 10:00:21",
          "content": "<p>Hi! \nAs I said in the iMet Collection competition, I do not have a visa and I can't get it fast enought. However, I am ready to make a poster and slide. And my poster can present Vladimir Iglovikov <a href=\"/iglovikov\">@iglovikov</a> \nIf it's works for You, then write me a e-mail and I'll add Vladimir in cc. </p>",
          "votes": null,
          "replies": []
        }
      ]
    },
    {
      "id": 550989,
      "author_name": "projdev",
      "author_url": "",
      "post_date": "06/12/2019 07:54:53",
      "content": "<p>Congratulations! Thanks for sharing your solutions. is it possible for you to open source the code solutions? :-)</p>",
      "votes": null,
      "replies": []
    }
  ],
  "raw_markdown_by_id": {
    "549668": "My solution can be described as `mmdetection.fit_predict ()`\n\nI started practicing it immediately after iMet Collection 2019 - FGVC6 and there were not many attempts and experiments. But I had several devboxes. I started with two machines with 3x 1080Ti each. And for the weekend I redistributed the working tasks so can get two more.\n\nAll my models are Mask-RCNN with a Hybrid Task Cascade.\nr50, r101 with an input resolution (800, 1266) and x101-d32 with (720, 1080). Starting SGD with LR 0.02. I did not throw out the weight of the last convolutions and logites but cut the tensor to fit a new number of classes.\nI did not have a solid scheduling. I planned to just pre-train the model at low resolution. So each model was trained through 6-10 epochs, LR dropped 1 time.\n\nThen I start training from the last checkpoint on resolution (1024, 1600) with the same LR from previous stage. r50 didn't perform very well and I changed it to train r101 with SyncBN. I still had doubts about unfreez BN, because the batch was 3. As a result, it did not work well. The score was much worse than the models with frozen BN.\n\nSomewhere on Saturday, I started experimenting with multi-checkpoint TTA, flip-TTA, scale-TTA. Everything was fine. But suddenly it turned out that I forgot to exclude validation from my trainset :facepalm:\nAs a result, I used leaderboard as validation :facepalm:x2\n\nr101 managed to train through 18 epoch and x101 through 9 epochs. Both models end up at LR 0.00002. My best submission is the last two checkpoints from each model with 3x scale TTA and mirror TTA.",
    "550054": "Thanks for sharing! I've used vanilla Mask R-CNN :facepalm:",
    "550757": "Hi @drn01z3   Thank you for sharing your solution! Will you attend CVPR2019 this year? [Schedule of our upcoming FGVC workshop can be found here](https://sites.google.com/view/fgvc6/program?authuser=0).\n\nAs one of top 3 teams, you are invited to present your solution in our upcoming FGVC workshop at CVPR.\n\n1. Could you be able to send me 1-2 pages of google slides (or pdf) describing your method? So I can include it in my presentation of this challenge.\n2. You will also have access to a 4 foot x 4 foot poster board in our FGVC workshop if you want to present your method at the workshop. (If you couldn't make it to the workshop, another option is that you can send your poster to me before June 14. I can help you print it and hang in the board that day)\n\nLet me know if you have any questions!\nThank you!",
    "550989": "Congratulations! Thanks for sharing your solutions. is it possible for you to open source the code solutions? :-)",
    "551075": "Hi! \nAs I said in the iMet Collection competition, I do not have a visa and I can't get it fast enought. However, I am ready to make a poster and slide. And my poster can present Vladimir Iglovikov @iglovikov \nIf it's works for You, then write me a e-mail and I'll add Vladimir in cc."
  },
  "source": "meta"
}