{
  "id": 247672,
  "title": "Implementing C.K. Heng's idea in TensorFlow (Keras) 2. ",
  "url": "/competitions/siim-covid19-detection/discussion/247672",
  "author_name": "",
  "post_date": "2021-06-20T16:14:48.444400100Z",
  "votes": 21,
  "comment_count": 12,
  "views": 0,
  "content": "<p>From this <a href=\"https://www.kaggle.com/c/siim-covid19-detection/discussion/245323\" target=\"_blank\">thread</a>,  implementing in tf.keras (starter).</p>\n<ul>\n<li><strong>Method 1</strong>:  The idea is to use the cropped mask as an additional target for a certain layer of the classifier. Typically, this layer should be picked from the highest activated feature output based on the hope that during training time, the relevant features would get emerged at that point. </li>\n</ul>\n<p><img src=\"https://user-images.githubusercontent.com/17668390/122642346-dc044b80-d12b-11eb-9cb9-d1771a682541.png\" alt=\"Untitled-2\"></p>\n<div>\n  Figure 1: Cropped ROI Segment for the Additional Supervision to the Classifier.\n</div>\n<p><strong>Notebook</strong>: <a href=\"https://www.kaggle.com/ipythonx/covid-19-segmentation-loss-for-classifier-model\" target=\"_blank\">Covid-19: Segmentation Loss for Classifier Model</a><br>\n<strong>Data</strong>: <a href=\"https://www.kaggle.com/ipythonx/covid19-detection-890pxpng-study\" target=\"_blank\">Covid-19 Detection 890pxPNG (Study)</a></p>\n<ul>\n<li><strong>Method 2</strong>: The idea is to add the output of a segmentation model (prediction maps) as an additional channel to supervise the training, simply refer to as <strong>channel supervision</strong>. </li>\n</ul>\n<p><img src=\"https://user-images.githubusercontent.com/17668390/122654678-e6940480-d16e-11eb-8db7-38fd7da7851b.png\" alt=\"one\"></p>\n<p>We can generalize this idea. For example, we can approach this as <strong>channel supervision</strong> as shown figure above or it can be treated as <strong>spatial supervision</strong>, the figure below.  In channel supervision, we add the channel to the model input, making it either a 2 channel or a 4 channel.  Similarly, in spatial supervision, we can <strong>blend the cropped mask</strong> on the input channel to spatially supervised the training. </p>\n<p><img src=\"https://user-images.githubusercontent.com/17668390/122655916-17c50280-d178-11eb-9e30-64039bd035eb.png\" alt=\"new\"></p>\n<p><strong>Notebook</strong>: <a href=\"https://www.kaggle.com/ipythonx/blending-mask-with-x-ray-for-spatial-supervision\" target=\"_blank\">Blending Mask with X-ray for Spatial Supervision</a><br>\n<strong>Data</strong>: <a href=\"https://www.kaggle.com/ipythonx/covid19-detection-890pxpng-study\" target=\"_blank\">Covid-19 Detection 890pxPNG (Study)</a></p>\n<ul>\n<li><strong>Method 3</strong>: Anyone who is seeking method three code, it's should be doable, just combine <strong>method 2</strong> and <a href=\"https://keras.io/examples/vision/knowledge_distillation/\" target=\"_blank\">knowledge distillation</a>. </li>\n</ul>",
  "messages": [
    {
      "id": "1358611",
      "postDate": "06/20/2021 16:14:48",
      "content": "<p>From this <a href=\"https://www.kaggle.com/c/siim-covid19-detection/discussion/245323\" target=\"_blank\">thread</a>,  implementing in tf.keras (starter).</p>\n<ul>\n<li><strong>Method 1</strong>:  The idea is to use the cropped mask as an additional target for a certain layer of the classifier. Typically, this layer should be picked from the highest activated feature output based on the hope that during training time, the relevant features would get emerged at that point. </li>\n</ul>\n<p><img src=\"https://user-images.githubusercontent.com/17668390/122642346-dc044b80-d12b-11eb-9cb9-d1771a682541.png\" alt=\"Untitled-2\"></p>\n<div>\n  Figure 1: Cropped ROI Segment for the Additional Supervision to the Classifier.\n</div>\n<p><strong>Notebook</strong>: <a href=\"https://www.kaggle.com/ipythonx/covid-19-segmentation-loss-for-classifier-model\" target=\"_blank\">Covid-19: Segmentation Loss for Classifier Model</a><br>\n<strong>Data</strong>: <a href=\"https://www.kaggle.com/ipythonx/covid19-detection-890pxpng-study\" target=\"_blank\">Covid-19 Detection 890pxPNG (Study)</a></p>\n<ul>\n<li><strong>Method 2</strong>: The idea is to add the output of a segmentation model (prediction maps) as an additional channel to supervise the training, simply refer to as <strong>channel supervision</strong>. </li>\n</ul>\n<p><img src=\"https://user-images.githubusercontent.com/17668390/122654678-e6940480-d16e-11eb-8db7-38fd7da7851b.png\" alt=\"one\"></p>\n<p>We can generalize this idea. For example, we can approach this as <strong>channel supervision</strong> as shown figure above or it can be treated as <strong>spatial supervision</strong>, the figure below.  In channel supervision, we add the channel to the model input, making it either a 2 channel or a 4 channel.  Similarly, in spatial supervision, we can <strong>blend the cropped mask</strong> on the input channel to spatially supervised the training. </p>\n<p><img src=\"https://user-images.githubusercontent.com/17668390/122655916-17c50280-d178-11eb-9e30-64039bd035eb.png\" alt=\"new\"></p>\n<p><strong>Notebook</strong>: <a href=\"https://www.kaggle.com/ipythonx/blending-mask-with-x-ray-for-spatial-supervision\" target=\"_blank\">Blending Mask with X-ray for Spatial Supervision</a><br>\n<strong>Data</strong>: <a href=\"https://www.kaggle.com/ipythonx/covid19-detection-890pxpng-study\" target=\"_blank\">Covid-19 Detection 890pxPNG (Study)</a></p>\n<ul>\n<li><strong>Method 3</strong>: Anyone who is seeking method three code, it's should be doable, just combine <strong>method 2</strong> and <a href=\"https://keras.io/examples/vision/knowledge_distillation/\" target=\"_blank\">knowledge distillation</a>. </li>\n</ul>",
      "rawMarkdown": "From this [thread](https://www.kaggle.com/c/siim-covid19-detection/discussion/245323),  implementing in tf.keras (starter).\n\n- **Method 1**:  The idea is to use the cropped mask as an additional target for a certain layer of the classifier. Typically, this layer should be picked from the highest activated feature output based on the hope that during training time, the relevant features would get emerged at that point. \n\n![Untitled-2](https://user-images.githubusercontent.com/17668390/122642346-dc044b80-d12b-11eb-9cb9-d1771a682541.png)\n\n<div align=\"center\">\n  Figure 1: Cropped ROI Segment for the Additional Supervision to the Classifier.\n</div>\n\n**Notebook**: [Covid-19: Segmentation Loss for Classifier Model](https://www.kaggle.com/ipythonx/covid-19-segmentation-loss-for-classifier-model)\n**Data**: [Covid-19 Detection 890pxPNG (Study)](https://www.kaggle.com/ipythonx/covid19-detection-890pxpng-study)\n\n\n- **Method 2**: The idea is to add the output of a segmentation model (prediction maps) as an additional channel to supervise the training, simply refer to as **channel supervision**. \n\n![one](https://user-images.githubusercontent.com/17668390/122654678-e6940480-d16e-11eb-8db7-38fd7da7851b.png)\n\nWe can generalize this idea. For example, we can approach this as **channel supervision** as shown figure above or it can be treated as **spatial supervision**, the figure below.  In channel supervision, we add the channel to the model input, making it either a 2 channel or a 4 channel.  Similarly, in spatial supervision, we can **blend the cropped mask** on the input channel to spatially supervised the training. \n\n![new](https://user-images.githubusercontent.com/17668390/122655916-17c50280-d178-11eb-9e30-64039bd035eb.png)\n\n**Notebook**: [Blending Mask with X-ray for Spatial Supervision](https://www.kaggle.com/ipythonx/blending-mask-with-x-ray-for-spatial-supervision)\n**Data**: [Covid-19 Detection 890pxPNG (Study)](https://www.kaggle.com/ipythonx/covid19-detection-890pxpng-study)\n\n\n- **Method 3**: Anyone who is seeking method three code, it's should be doable, just combine **method 2** and [knowledge distillation](https://keras.io/examples/vision/knowledge_distillation/).",
      "votes": null
    },
    {
      "id": "1358613",
      "postDate": "06/20/2021 16:16:32",
      "content": "<p>Did these improve the <strong>CV</strong> score from baseline?</p>",
      "rawMarkdown": "Did these improve the **CV** score from baseline?",
      "votes": null
    },
    {
      "id": "1359681",
      "postDate": "06/21/2021 12:55:46",
      "content": "<p>I don't know, didn't test. It just a starter implementation of these approaches to support tf practitioners. </p>",
      "rawMarkdown": "I don't know, didn't test. It just a starter implementation of these approaches to support tf practitioners.",
      "votes": null
    },
    {
      "id": "1359683",
      "postDate": "06/21/2021 13:01:06",
      "content": "<p>Thanks for your support :D</p>",
      "rawMarkdown": "Thanks for your support :D",
      "votes": null
    },
    {
      "id": "1359777",
      "postDate": "06/21/2021 14:12:41",
      "content": "<p>Thanks for sharing <a href=\"https://www.kaggle.com/ipythonx\" target=\"_blank\">@ipythonx</a> !! </p>\n<p>1) I tested for few epochs and seems there are some NaN in loss - have you experienced the same ? </p>\n<p>2) The masks for method-1 should be binary ? i.e. 1 inside bbox - 0 outside - OR it is an advancement of Heng's idea (?)</p>",
      "rawMarkdown": "Thanks for sharing @ipythonx !! \n\n1) I tested for few epochs and seems there are some NaN in loss - have you experienced the same ? \n\n2) The masks for method-1 should be binary ? i.e. 1 inside bbox - 0 outside - OR it is an advancement of Heng's idea (?)",
      "votes": null
    },
    {
      "id": "1359792",
      "postDate": "06/21/2021 14:22:27",
      "content": "<p>\" The masks for method-1 should be binary \"<br>\nmask should be binary</p>\n<p>refer to code and logfile (loss curve) and lb/cv score at <a href=\"https://www.kaggle.com/c/siim-covid19-detection/discussion/240233\" target=\"_blank\">https://www.kaggle.com/c/siim-covid19-detection/discussion/240233</a></p>",
      "rawMarkdown": "\" The masks for method-1 should be binary \"\nmask should be binary\n\nrefer to code and logfile (loss curve) and lb/cv score at https://www.kaggle.com/c/siim-covid19-detection/discussion/240233",
      "votes": null
    },
    {
      "id": "1359809",
      "postDate": "06/21/2021 14:40:34",
      "content": "<p><a href=\"https://www.kaggle.com/imeintanis\" target=\"_blank\">@imeintanis</a> </p>\n<p>(1). no, I didn't face nan in the loss score. (If possible, please share the broken code).<br>\n(2).  In Heng's approach, the mask is binary, unlike mine where I normalized the target mask. If you like to incorporate Heng's approach in my pipelines, you can simply do as follows: </p>\n<pre><code># mask normalization must\n# mask = mask.astype(np.float32)/255.0 \n\nmask = np.where(mask == 0, 0, 1)\n</code></pre>\n<p>Just make the mask binary. </p>\n<p><img src=\"https://user-images.githubusercontent.com/17668390/145711161-fbf115ac-9f78-4313-9836-4e50258a8771.png\" alt=\"image\"></p>",
      "rawMarkdown": "imeintanis \n\n(1). no, I didn't face nan in the loss score. (If possible, please share the broken code).\n(2).  In Heng's approach, the mask is binary, unlike mine where I normalized the target mask. If you like to incorporate Heng's approach in my pipelines, you can simply do as follows: \n\n```\n# mask normalization must\n# mask = mask.astype(np.float32)/255.0 \n\nmask = np.where(mask == 0, 0, 1)\n```\n\nJust make the mask binary. \n\n![image](https://user-images.githubusercontent.com/17668390/145711161-fbf115ac-9f78-4313-9836-4e50258a8771.png)",
      "votes": null
    },
    {
      "id": "1359830",
      "postDate": "06/21/2021 15:00:26",
      "content": "<p>Thank you both for your replies. <a href=\"https://www.kaggle.com/ipythonx\" target=\"_blank\">@ipythonx</a> probably the error is on my end since i made few modifications from your original kernel.</p>\n<p>Ps: I dont have enough gpu quota now to test both approaches (ie with binary masks vs normalised) but I report here as soon as I got some results - seems like a good idea though, especially for method-2 variant as you described above.</p>",
      "rawMarkdown": "Thank you both for your replies. @ipythonx probably the error is on my end since i made few modifications from your original kernel.\n\nPs: I dont have enough gpu quota now to test both approaches (ie with binary masks vs normalised) but I report here as soon as I got some results - seems like a good idea though, especially for method-2 variant as you described above.",
      "votes": null
    },
    {
      "id": "1361239",
      "postDate": "06/22/2021 17:07:35",
      "content": "<p>I tested it on pytorch it dint improve cv scores for me, has it worked for you?</p>",
      "rawMarkdown": "I tested it on pytorch it dint improve cv scores for me, has it worked for you?",
      "votes": null
    },
    {
      "id": "1361249",
      "postDate": "06/22/2021 17:13:30",
      "content": "<p>Haven't tried yet, It's on my <strong>to do</strong> list….</p>",
      "rawMarkdown": "Haven't tried yet, It's on my **to do** list....",
      "votes": null
    },
    {
      "id": "1361290",
      "postDate": "06/22/2021 17:37:29",
      "content": "<p>Hi <a href=\"https://www.kaggle.com/varundutt9213\" target=\"_blank\">@varundutt9213</a> <a href=\"https://www.kaggle.com/awsaf49\" target=\"_blank\">@awsaf49</a> <br>\nIn my case, aux loss worked well. Helped to improve my CV/LB in 0.02<br>\nHowever, I suspect it doesn't give huge improvements (maybe none?) on better tunned models. I've been using a simple tf_effnet_b3 with some augmentations…</p>",
      "rawMarkdown": "Hi @varundutt9213 @awsaf49 \nIn my case, aux loss worked well. Helped to improve my CV/LB in 0.02\nHowever, I suspect it doesn't give huge improvements (maybe none?) on better tunned models. I've been using a simple tf_effnet_b3 with some augmentations...",
      "votes": null
    },
    {
      "id": "1361318",
      "postDate": "06/22/2021 18:04:19",
      "content": "<p><a href=\"https://www.kaggle.com/igormunizims\" target=\"_blank\">@igormunizims</a> <br>\nI was hoping for the method to increase mAP for intermediate appearance and atypical but it didn't seem to do it maybe I am missing something.</p>\n<p><a href=\"https://www.kaggle.com/awsaf49\" target=\"_blank\">@awsaf49</a> <br>\nPlease update if it works for you</p>",
      "rawMarkdown": "igormunizims \nI was hoping for the method to increase mAP for intermediate appearance and atypical but it didn't seem to do it maybe I am missing something.\n\n@awsaf49 \nPlease update if it works for you",
      "votes": null
    },
    {
      "id": "1361319",
      "postDate": "06/22/2021 18:06:20",
      "content": "<p>okay, <a href=\"https://www.kaggle.com/varundutt9213\" target=\"_blank\">@varundutt9213</a> </p>",
      "rawMarkdown": "okay, @varundutt9213",
      "votes": null
    }
  ],
  "comments": [
    {
      "id": 1358613,
      "author_name": "awsaf49",
      "author_url": "",
      "post_date": "06/20/2021 16:16:32",
      "content": "<p>Did these improve the <strong>CV</strong> score from baseline?</p>",
      "votes": null,
      "replies": [
        {
          "id": 1359681,
          "author_name": "ipythonx",
          "author_url": "",
          "post_date": "06/21/2021 12:55:46",
          "content": "<p>I don't know, didn't test. It just a starter implementation of these approaches to support tf practitioners. </p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 1359683,
          "author_name": "awsaf49",
          "author_url": "",
          "post_date": "06/21/2021 13:01:06",
          "content": "<p>Thanks for your support :D</p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 1361239,
          "author_name": "varundutt9213",
          "author_url": "",
          "post_date": "06/22/2021 17:07:35",
          "content": "<p>I tested it on pytorch it dint improve cv scores for me, has it worked for you?</p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 1361249,
          "author_name": "awsaf49",
          "author_url": "",
          "post_date": "06/22/2021 17:13:30",
          "content": "<p>Haven't tried yet, It's on my <strong>to do</strong> list….</p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 1361290,
          "author_name": "igormunizims",
          "author_url": "",
          "post_date": "06/22/2021 17:37:29",
          "content": "<p>Hi <a href=\"https://www.kaggle.com/varundutt9213\" target=\"_blank\">@varundutt9213</a> <a href=\"https://www.kaggle.com/awsaf49\" target=\"_blank\">@awsaf49</a> <br>\nIn my case, aux loss worked well. Helped to improve my CV/LB in 0.02<br>\nHowever, I suspect it doesn't give huge improvements (maybe none?) on better tunned models. I've been using a simple tf_effnet_b3 with some augmentations…</p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 1361318,
          "author_name": "varundutt9213",
          "author_url": "",
          "post_date": "06/22/2021 18:04:19",
          "content": "<p><a href=\"https://www.kaggle.com/igormunizims\" target=\"_blank\">@igormunizims</a> <br>\nI was hoping for the method to increase mAP for intermediate appearance and atypical but it didn't seem to do it maybe I am missing something.</p>\n<p><a href=\"https://www.kaggle.com/awsaf49\" target=\"_blank\">@awsaf49</a> <br>\nPlease update if it works for you</p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 1361319,
          "author_name": "awsaf49",
          "author_url": "",
          "post_date": "06/22/2021 18:06:20",
          "content": "<p>okay, <a href=\"https://www.kaggle.com/varundutt9213\" target=\"_blank\">@varundutt9213</a> </p>",
          "votes": null,
          "replies": []
        }
      ]
    },
    {
      "id": 1359777,
      "author_name": "imeintanis",
      "author_url": "",
      "post_date": "06/21/2021 14:12:41",
      "content": "<p>Thanks for sharing <a href=\"https://www.kaggle.com/ipythonx\" target=\"_blank\">@ipythonx</a> !! </p>\n<p>1) I tested for few epochs and seems there are some NaN in loss - have you experienced the same ? </p>\n<p>2) The masks for method-1 should be binary ? i.e. 1 inside bbox - 0 outside - OR it is an advancement of Heng's idea (?)</p>",
      "votes": null,
      "replies": [
        {
          "id": 1359792,
          "author_name": "hengck23",
          "author_url": "",
          "post_date": "06/21/2021 14:22:27",
          "content": "<p>\" The masks for method-1 should be binary \"<br>\nmask should be binary</p>\n<p>refer to code and logfile (loss curve) and lb/cv score at <a href=\"https://www.kaggle.com/c/siim-covid19-detection/discussion/240233\" target=\"_blank\">https://www.kaggle.com/c/siim-covid19-detection/discussion/240233</a></p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 1359809,
          "author_name": "ipythonx",
          "author_url": "",
          "post_date": "06/21/2021 14:40:34",
          "content": "<p><a href=\"https://www.kaggle.com/imeintanis\" target=\"_blank\">@imeintanis</a> </p>\n<p>(1). no, I didn't face nan in the loss score. (If possible, please share the broken code).<br>\n(2).  In Heng's approach, the mask is binary, unlike mine where I normalized the target mask. If you like to incorporate Heng's approach in my pipelines, you can simply do as follows: </p>\n<pre><code># mask normalization must\n# mask = mask.astype(np.float32)/255.0 \n\nmask = np.where(mask == 0, 0, 1)\n</code></pre>\n<p>Just make the mask binary. </p>\n<p><img src=\"https://user-images.githubusercontent.com/17668390/145711161-fbf115ac-9f78-4313-9836-4e50258a8771.png\" alt=\"image\"></p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 1359830,
          "author_name": "imeintanis",
          "author_url": "",
          "post_date": "06/21/2021 15:00:26",
          "content": "<p>Thank you both for your replies. <a href=\"https://www.kaggle.com/ipythonx\" target=\"_blank\">@ipythonx</a> probably the error is on my end since i made few modifications from your original kernel.</p>\n<p>Ps: I dont have enough gpu quota now to test both approaches (ie with binary masks vs normalised) but I report here as soon as I got some results - seems like a good idea though, especially for method-2 variant as you described above.</p>",
          "votes": null,
          "replies": []
        }
      ]
    }
  ],
  "raw_markdown_by_id": {
    "1358611": "From this [thread](https://www.kaggle.com/c/siim-covid19-detection/discussion/245323),  implementing in tf.keras (starter).\n\n- **Method 1**:  The idea is to use the cropped mask as an additional target for a certain layer of the classifier. Typically, this layer should be picked from the highest activated feature output based on the hope that during training time, the relevant features would get emerged at that point. \n\n![Untitled-2](https://user-images.githubusercontent.com/17668390/122642346-dc044b80-d12b-11eb-9cb9-d1771a682541.png)\n\n<div align=\"center\">\n  Figure 1: Cropped ROI Segment for the Additional Supervision to the Classifier.\n</div>\n\n**Notebook**: [Covid-19: Segmentation Loss for Classifier Model](https://www.kaggle.com/ipythonx/covid-19-segmentation-loss-for-classifier-model)\n**Data**: [Covid-19 Detection 890pxPNG (Study)](https://www.kaggle.com/ipythonx/covid19-detection-890pxpng-study)\n\n\n- **Method 2**: The idea is to add the output of a segmentation model (prediction maps) as an additional channel to supervise the training, simply refer to as **channel supervision**. \n\n![one](https://user-images.githubusercontent.com/17668390/122654678-e6940480-d16e-11eb-8db7-38fd7da7851b.png)\n\nWe can generalize this idea. For example, we can approach this as **channel supervision** as shown figure above or it can be treated as **spatial supervision**, the figure below.  In channel supervision, we add the channel to the model input, making it either a 2 channel or a 4 channel.  Similarly, in spatial supervision, we can **blend the cropped mask** on the input channel to spatially supervised the training. \n\n![new](https://user-images.githubusercontent.com/17668390/122655916-17c50280-d178-11eb-9e30-64039bd035eb.png)\n\n**Notebook**: [Blending Mask with X-ray for Spatial Supervision](https://www.kaggle.com/ipythonx/blending-mask-with-x-ray-for-spatial-supervision)\n**Data**: [Covid-19 Detection 890pxPNG (Study)](https://www.kaggle.com/ipythonx/covid19-detection-890pxpng-study)\n\n\n- **Method 3**: Anyone who is seeking method three code, it's should be doable, just combine **method 2** and [knowledge distillation](https://keras.io/examples/vision/knowledge_distillation/).",
    "1358613": "Did these improve the **CV** score from baseline?",
    "1359681": "I don't know, didn't test. It just a starter implementation of these approaches to support tf practitioners.",
    "1359683": "Thanks for your support :D",
    "1359777": "Thanks for sharing @ipythonx !! \n\n1) I tested for few epochs and seems there are some NaN in loss - have you experienced the same ? \n\n2) The masks for method-1 should be binary ? i.e. 1 inside bbox - 0 outside - OR it is an advancement of Heng's idea (?)",
    "1359792": "\" The masks for method-1 should be binary \"\nmask should be binary\n\nrefer to code and logfile (loss curve) and lb/cv score at https://www.kaggle.com/c/siim-covid19-detection/discussion/240233",
    "1359809": "imeintanis \n\n(1). no, I didn't face nan in the loss score. (If possible, please share the broken code).\n(2).  In Heng's approach, the mask is binary, unlike mine where I normalized the target mask. If you like to incorporate Heng's approach in my pipelines, you can simply do as follows: \n\n```\n# mask normalization must\n# mask = mask.astype(np.float32)/255.0 \n\nmask = np.where(mask == 0, 0, 1)\n```\n\nJust make the mask binary. \n\n![image](https://user-images.githubusercontent.com/17668390/145711161-fbf115ac-9f78-4313-9836-4e50258a8771.png)",
    "1359830": "Thank you both for your replies. @ipythonx probably the error is on my end since i made few modifications from your original kernel.\n\nPs: I dont have enough gpu quota now to test both approaches (ie with binary masks vs normalised) but I report here as soon as I got some results - seems like a good idea though, especially for method-2 variant as you described above.",
    "1361239": "I tested it on pytorch it dint improve cv scores for me, has it worked for you?",
    "1361249": "Haven't tried yet, It's on my **to do** list....",
    "1361290": "Hi @varundutt9213 @awsaf49 \nIn my case, aux loss worked well. Helped to improve my CV/LB in 0.02\nHowever, I suspect it doesn't give huge improvements (maybe none?) on better tunned models. I've been using a simple tf_effnet_b3 with some augmentations...",
    "1361318": "igormunizims \nI was hoping for the method to increase mAP for intermediate appearance and atypical but it didn't seem to do it maybe I am missing something.\n\n@awsaf49 \nPlease update if it works for you",
    "1361319": "okay, @varundutt9213"
  },
  "source": "meta"
}