{
  "id": 176941,
  "title": "predict nocall by panns-inference.",
  "url": "/competitions/birdsong-recognition/discussion/176941",
  "author_name": "",
  "post_date": "2020-08-24T06:59:30.270565700Z",
  "votes": 8,
  "comment_count": 4,
  "views": 0,
  "content": "<p>I predict \"no call\" by <a href=\"https://github.com/qiuqiangkong/audioset_tagging_cnn\" target=\"_blank\">panns-inference</a> (notebook is <a href=\"https://www.kaggle.com/takamichitoda/birdcall-nocall-prediction-by-panns-inference\" target=\"_blank\">here</a>) because it is difficult to adjusting thresholds to predict \"no call\".</p>\n<p>If classification prediction is under threshold and panns-inference nocall prediction is over threshold, I use maximum classification prediction label.</p>\n<p>It made grow LB score (0.471→ 0.541) but my result before apply this method is too low.</p>\n<p>I'd like to hear your opinion on my methods.<br>\nThanks.</p>",
  "messages": [
    {
      "id": "983296",
      "postDate": "08/24/2020 06:59:30",
      "content": "<p>I predict \"no call\" by <a href=\"https://github.com/qiuqiangkong/audioset_tagging_cnn\" target=\"_blank\">panns-inference</a> (notebook is <a href=\"https://www.kaggle.com/takamichitoda/birdcall-nocall-prediction-by-panns-inference\" target=\"_blank\">here</a>) because it is difficult to adjusting thresholds to predict \"no call\".</p>\n<p>If classification prediction is under threshold and panns-inference nocall prediction is over threshold, I use maximum classification prediction label.</p>\n<p>It made grow LB score (0.471→ 0.541) but my result before apply this method is too low.</p>\n<p>I'd like to hear your opinion on my methods.<br>\nThanks.</p>",
      "rawMarkdown": "I predict \"no call\" by [panns-inference](https://github.com/qiuqiangkong/audioset_tagging_cnn) (notebook is [here](https://www.kaggle.com/takamichitoda/birdcall-nocall-prediction-by-panns-inference)) because it is difficult to adjusting thresholds to predict \"no call\".\n\nIf classification prediction is under threshold and panns-inference nocall prediction is over threshold, I use maximum classification prediction label.\n\nIt made grow LB score (0.471→ 0.541) but my result before apply this method is too low.\n\nI'd like to hear your opinion on my methods.\nThanks.",
      "votes": null
    },
    {
      "id": "983344",
      "postDate": "08/24/2020 07:58:00",
      "content": "<p>Are you using panns-inference to determine if there is a bird present or not?  And if so then consider how to alter the threshold for your model predictions?  I did not see that in the prediction for clip logic in your notebook, just an example.  It sounds like a good idea to do a prediction for bird/no bird first then try to narrow down which bird or birds.</p>\n<p>I have been thinking about \"nocall\" and it seems to be doing 2 things  - one is there is no bird call at all, the other is there is a bird or animal (squirrel e.g.) perhaps but not a bird in the 264 in train.  So maybe it makes sense to add 2 more labels in train and possibly use example test audio to fill in some of these entries (or other sound clips that may be in the external data thread).</p>\n<p>You may want to test your panns inference with the example test audio to see how it performs on that dataset. This is an inference notebook with code to handle example and do F1 scores that maybe helpful for you - </p>\n<p><a href=\"https://www.kaggle.com/jpison/inference-resnest50-fast-with-example-test-audio\" target=\"_blank\">https://www.kaggle.com/jpison/inference-resnest50-fast-with-example-test-audio</a></p>",
      "rawMarkdown": "Are you using panns-inference to determine if there is a bird present or not?  And if so then consider how to alter the threshold for your model predictions?  I did not see that in the prediction for clip logic in your notebook, just an example.  It sounds like a good idea to do a prediction for bird/no bird first then try to narrow down which bird or birds.\n\nI have been thinking about \"nocall\" and it seems to be doing 2 things  - one is there is no bird call at all, the other is there is a bird or animal (squirrel e.g.) perhaps but not a bird in the 264 in train.  So maybe it makes sense to add 2 more labels in train and possibly use example test audio to fill in some of these entries (or other sound clips that may be in the external data thread).\n\nYou may want to test your panns inference with the example test audio to see how it performs on that dataset. This is an inference notebook with code to handle example and do F1 scores that maybe helpful for you - \n\nhttps://www.kaggle.com/jpison/inference-resnest50-fast-with-example-test-audio",
      "votes": null
    },
    {
      "id": "984146",
      "postDate": "08/24/2020 21:48:24",
      "content": "<p>Thank you share your insight.</p>\n<blockquote>\n  <p>It sounds like a good idea to do a prediction for bird/no bird first then try to narrow down which bird or birds.</p>\n</blockquote>\n<p>It seems work good, and easy implement.</p>\n<blockquote>\n  <p>I have been thinking about \"nocall\" and it seems to be doing 2 things<br>\n  I think so too.</p>\n</blockquote>\n<p>I'll try to train \"not a bird in the 264 in train\" and I think that secondary label is help for me.</p>\n<p>I'll more experiment by using sharing notebook!<br>\nThank you!</p>",
      "rawMarkdown": "Thank you share your insight.\n\n> It sounds like a good idea to do a prediction for bird/no bird first then try to narrow down which bird or birds.\n\nIt seems work good, and easy implement.\n\n> I have been thinking about \"nocall\" and it seems to be doing 2 things\nI think so too.\n\nI'll try to train \"not a bird in the 264 in train\" and I think that secondary label is help for me.\n\nI'll more experiment by using sharing notebook!\nThank you!",
      "votes": null
    },
    {
      "id": "992655",
      "postDate": "08/31/2020 10:12:55",
      "content": "<p>Just to let you know, I have been doing some testing with panns inference on the example test audio and it does select clip sections with birds just not very many. Not sure if example test audio is closer to the true test but to get some different/noisy data.  So if using for the hidden test it maybe tends to result in more nocalls which may not always be correct.   Have not tried changing the SED threshold, maybe lower would be help. </p>",
      "rawMarkdown": "Just to let you know, I have been doing some testing with panns inference on the example test audio and it does select clip sections with birds just not very many. Not sure if example test audio is closer to the true test but to get some different/noisy data.  So if using for the hidden test it maybe tends to result in more nocalls which may not always be correct.   Have not tried changing the SED threshold, maybe lower would be help.",
      "votes": null
    },
    {
      "id": "992657",
      "postDate": "08/31/2020 10:19:00",
      "content": "<p>Thanks for sharing. I spent a couple of days on this idea, but no luck.</p>",
      "rawMarkdown": "Thanks for sharing. I spent a couple of days on this idea, but no luck.",
      "votes": null
    }
  ],
  "comments": [
    {
      "id": 983344,
      "author_name": "something4kag",
      "author_url": "",
      "post_date": "08/24/2020 07:58:00",
      "content": "<p>Are you using panns-inference to determine if there is a bird present or not?  And if so then consider how to alter the threshold for your model predictions?  I did not see that in the prediction for clip logic in your notebook, just an example.  It sounds like a good idea to do a prediction for bird/no bird first then try to narrow down which bird or birds.</p>\n<p>I have been thinking about \"nocall\" and it seems to be doing 2 things  - one is there is no bird call at all, the other is there is a bird or animal (squirrel e.g.) perhaps but not a bird in the 264 in train.  So maybe it makes sense to add 2 more labels in train and possibly use example test audio to fill in some of these entries (or other sound clips that may be in the external data thread).</p>\n<p>You may want to test your panns inference with the example test audio to see how it performs on that dataset. This is an inference notebook with code to handle example and do F1 scores that maybe helpful for you - </p>\n<p><a href=\"https://www.kaggle.com/jpison/inference-resnest50-fast-with-example-test-audio\" target=\"_blank\">https://www.kaggle.com/jpison/inference-resnest50-fast-with-example-test-audio</a></p>",
      "votes": null,
      "replies": [
        {
          "id": 984146,
          "author_name": "takamichitoda",
          "author_url": "",
          "post_date": "08/24/2020 21:48:24",
          "content": "<p>Thank you share your insight.</p>\n<blockquote>\n  <p>It sounds like a good idea to do a prediction for bird/no bird first then try to narrow down which bird or birds.</p>\n</blockquote>\n<p>It seems work good, and easy implement.</p>\n<blockquote>\n  <p>I have been thinking about \"nocall\" and it seems to be doing 2 things<br>\n  I think so too.</p>\n</blockquote>\n<p>I'll try to train \"not a bird in the 264 in train\" and I think that secondary label is help for me.</p>\n<p>I'll more experiment by using sharing notebook!<br>\nThank you!</p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 992655,
          "author_name": "something4kag",
          "author_url": "",
          "post_date": "08/31/2020 10:12:55",
          "content": "<p>Just to let you know, I have been doing some testing with panns inference on the example test audio and it does select clip sections with birds just not very many. Not sure if example test audio is closer to the true test but to get some different/noisy data.  So if using for the hidden test it maybe tends to result in more nocalls which may not always be correct.   Have not tried changing the SED threshold, maybe lower would be help. </p>",
          "votes": null,
          "replies": []
        }
      ]
    },
    {
      "id": 992657,
      "author_name": "nvnnghia",
      "author_url": "",
      "post_date": "08/31/2020 10:19:00",
      "content": "<p>Thanks for sharing. I spent a couple of days on this idea, but no luck.</p>",
      "votes": null,
      "replies": []
    }
  ],
  "raw_markdown_by_id": {
    "983296": "I predict \"no call\" by [panns-inference](https://github.com/qiuqiangkong/audioset_tagging_cnn) (notebook is [here](https://www.kaggle.com/takamichitoda/birdcall-nocall-prediction-by-panns-inference)) because it is difficult to adjusting thresholds to predict \"no call\".\n\nIf classification prediction is under threshold and panns-inference nocall prediction is over threshold, I use maximum classification prediction label.\n\nIt made grow LB score (0.471→ 0.541) but my result before apply this method is too low.\n\nI'd like to hear your opinion on my methods.\nThanks.",
    "983344": "Are you using panns-inference to determine if there is a bird present or not?  And if so then consider how to alter the threshold for your model predictions?  I did not see that in the prediction for clip logic in your notebook, just an example.  It sounds like a good idea to do a prediction for bird/no bird first then try to narrow down which bird or birds.\n\nI have been thinking about \"nocall\" and it seems to be doing 2 things  - one is there is no bird call at all, the other is there is a bird or animal (squirrel e.g.) perhaps but not a bird in the 264 in train.  So maybe it makes sense to add 2 more labels in train and possibly use example test audio to fill in some of these entries (or other sound clips that may be in the external data thread).\n\nYou may want to test your panns inference with the example test audio to see how it performs on that dataset. This is an inference notebook with code to handle example and do F1 scores that maybe helpful for you - \n\nhttps://www.kaggle.com/jpison/inference-resnest50-fast-with-example-test-audio",
    "984146": "Thank you share your insight.\n\n> It sounds like a good idea to do a prediction for bird/no bird first then try to narrow down which bird or birds.\n\nIt seems work good, and easy implement.\n\n> I have been thinking about \"nocall\" and it seems to be doing 2 things\nI think so too.\n\nI'll try to train \"not a bird in the 264 in train\" and I think that secondary label is help for me.\n\nI'll more experiment by using sharing notebook!\nThank you!",
    "992655": "Just to let you know, I have been doing some testing with panns inference on the example test audio and it does select clip sections with birds just not very many. Not sure if example test audio is closer to the true test but to get some different/noisy data.  So if using for the hidden test it maybe tends to result in more nocalls which may not always be correct.   Have not tried changing the SED threshold, maybe lower would be help.",
    "992657": "Thanks for sharing. I spent a couple of days on this idea, but no luck."
  },
  "source": "meta"
}