{
  "id": 267339,
  "title": "CWT for PyTorch",
  "url": "/competitions/g2net-gravitational-wave-detection/discussion/267339",
  "author_name": "Araik Tamazian",
  "post_date": "2021-08-22T19:09:27.778000",
  "votes": 7,
  "comment_count": 5,
  "views": 0,
  "content": "<p>I found a good package <a href=\"https://github.com/tomrunia/PyTorchWavelets\" target=\"_blank\">https://github.com/tomrunia/PyTorchWavelets</a></p>\n<p>UPD. The package doesn't work due to deprecated <code>scipy.misc.factorial</code> function. You can install fixed copy (until fix is applied) via</p>\n<pre><code>!git clone https://github.com/ar4/PyTorchWavelets.git &gt; /dev/null\n%cd PyTorchWavelets\n!pip install -r requirements.txt &gt; /dev/null\n!python setup.py install &gt; /dev/null\n</code></pre>\n<p>UPD2. I wrote a simple notebook which demonstrates usage of this package <a href=\"https://www.kaggle.com/atamazian/pytorchwavelets-cwt-demonstration\" target=\"_blank\">https://www.kaggle.com/atamazian/pytorchwavelets-cwt-demonstration</a></p>",
  "messages": [
    {
      "id": 1486241,
      "postDate": "2021-08-22T19:09:27.780Z",
      "content": "<p>I found a good package <a href=\"https://github.com/tomrunia/PyTorchWavelets\" target=\"_blank\">https://github.com/tomrunia/PyTorchWavelets</a></p>\n<p>UPD. The package doesn't work due to deprecated <code>scipy.misc.factorial</code> function. You can install fixed copy (until fix is applied) via</p>\n<pre><code>!git clone https://github.com/ar4/PyTorchWavelets.git &gt; /dev/null\n%cd PyTorchWavelets\n!pip install -r requirements.txt &gt; /dev/null\n!python setup.py install &gt; /dev/null\n</code></pre>\n<p>UPD2. I wrote a simple notebook which demonstrates usage of this package <a href=\"https://www.kaggle.com/atamazian/pytorchwavelets-cwt-demonstration\" target=\"_blank\">https://www.kaggle.com/atamazian/pytorchwavelets-cwt-demonstration</a></p>",
      "rawMarkdown": "I found a good package https://github.com/tomrunia/PyTorchWavelets\n\nUPD. The package doesn't work due to deprecated `scipy.misc.factorial` function. You can install fixed copy (until fix is applied) via\n```\n!git clone https://github.com/ar4/PyTorchWavelets.git > /dev/null\n%cd PyTorchWavelets\n!pip install -r requirements.txt > /dev/null\n!python setup.py install > /dev/null\n```\n\nUPD2. I wrote a simple notebook which demonstrates usage of this package https://www.kaggle.com/atamazian/pytorchwavelets-cwt-demonstration",
      "votes": 7
    },
    {
      "id": 1487198,
      "postDate": "2021-08-23T13:28:01.533Z",
      "content": "<p>Just implement your own CWT with using FFT/iFFT instead of conv for NlogN instead of N2 complexity…  It's pretty straightforward. I saw a very good kernel about it: <a href=\"https://www.kaggle.com/mistag/wavelet1d-custom-keras-wavelet-transform-layer\" target=\"_blank\">https://www.kaggle.com/mistag/wavelet1d-custom-keras-wavelet-transform-layer</a> , and the thing one just needs is writing ~20 lines of Pytorch code (one even can just replace TF by Pytorch commands in CWT implementation provided in the kernel).</p>",
      "rawMarkdown": "Just implement your own CWT with using FFT/iFFT instead of conv for NlogN instead of N2 complexity...  It's pretty straightforward. I saw a very good kernel about it: https://www.kaggle.com/mistag/wavelet1d-custom-keras-wavelet-transform-layer , and the thing one just needs is writing ~20 lines of Pytorch code (one even can just replace TF by Pytorch commands in CWT implementation provided in the kernel).",
      "votes": 4,
      "replies": [
        {
          "id": 1487297,
          "postDate": "2021-08-23T14:28:57.023Z",
          "rawMarkdown": "",
          "isDeleted": true
        }
      ]
    },
    {
      "id": 1486476,
      "postDate": "2021-08-23T02:34:15.693Z",
      "content": "<p>I noticed this implementation uses multiple 1-d convolutions instead of a single 2-d convolution. It should be very slow.</p>",
      "rawMarkdown": "I noticed this implementation uses multiple 1-d convolutions instead of a single 2-d convolution. It should be very slow.",
      "votes": 1,
      "replies": [
        {
          "id": 1486712,
          "postDate": "2021-08-23T07:06:51.807Z",
          "content": "<p>You're right, it's quite slow indeed.</p>",
          "rawMarkdown": "You're right, it's quite slow indeed."
        }
      ]
    },
    {
      "id": 1561185,
      "postDate": "2021-10-27T12:15:25.250Z",
      "content": "<p>Hey All,</p>\n<p>Thank you all for taking part in our competition. The participation has been overwhelmingly positive. We are currently conducting a survey to gauge the demographic and outreach achieved. Kindly spare 2min and fill in this survey <a href=\"https://forms.gle/QP9L16niPexozyhu5\" target=\"_blank\">https://forms.gle/QP9L16niPexozyhu5</a>.</p>\n<p>Thank you all,</p>\n<p>Regards,<br>\nChris</p>",
      "rawMarkdown": "Hey All,\n\nThank you all for taking part in our competition. The participation has been overwhelmingly positive. We are currently conducting a survey to gauge the demographic and outreach achieved. Kindly spare 2min and fill in this survey https://forms.gle/QP9L16niPexozyhu5.\n\nThank you all,\n\nRegards,\nChris"
    }
  ],
  "comments": [
    {
      "id": 1487198,
      "author_name": "Iafoss",
      "author_url": "",
      "post_date": "2021-08-23T13:28:01.533000",
      "content": "<p>Just implement your own CWT with using FFT/iFFT instead of conv for NlogN instead of N2 complexity…  It's pretty straightforward. I saw a very good kernel about it: <a href=\"https://www.kaggle.com/mistag/wavelet1d-custom-keras-wavelet-transform-layer\" target=\"_blank\">https://www.kaggle.com/mistag/wavelet1d-custom-keras-wavelet-transform-layer</a> , and the thing one just needs is writing ~20 lines of Pytorch code (one even can just replace TF by Pytorch commands in CWT implementation provided in the kernel).</p>",
      "votes": 4,
      "replies": [
        {
          "id": 1487297,
          "author_name": "",
          "author_url": "",
          "post_date": "2021-08-23T14:28:57.023000",
          "content": "",
          "votes": 0,
          "replies": []
        }
      ]
    },
    {
      "id": 1486476,
      "author_name": "RabotniKuma",
      "author_url": "",
      "post_date": "2021-08-23T02:34:15.693000",
      "content": "<p>I noticed this implementation uses multiple 1-d convolutions instead of a single 2-d convolution. It should be very slow.</p>",
      "votes": 1,
      "replies": [
        {
          "id": 1486712,
          "author_name": "Araik Tamazian",
          "author_url": "",
          "post_date": "2021-08-23T07:06:51.807000",
          "content": "<p>You're right, it's quite slow indeed.</p>",
          "votes": 0,
          "replies": []
        }
      ]
    },
    {
      "id": 1561185,
      "author_name": "ChristopherZerafa",
      "author_url": "",
      "post_date": "2021-10-27T12:15:25.250000",
      "content": "<p>Hey All,</p>\n<p>Thank you all for taking part in our competition. The participation has been overwhelmingly positive. We are currently conducting a survey to gauge the demographic and outreach achieved. Kindly spare 2min and fill in this survey <a href=\"https://forms.gle/QP9L16niPexozyhu5\" target=\"_blank\">https://forms.gle/QP9L16niPexozyhu5</a>.</p>\n<p>Thank you all,</p>\n<p>Regards,<br>\nChris</p>",
      "votes": 0,
      "replies": []
    }
  ],
  "raw_markdown_by_id": {
    "1486241": "I found a good package https://github.com/tomrunia/PyTorchWavelets\n\nUPD. The package doesn't work due to deprecated `scipy.misc.factorial` function. You can install fixed copy (until fix is applied) via\n```\n!git clone https://github.com/ar4/PyTorchWavelets.git > /dev/null\n%cd PyTorchWavelets\n!pip install -r requirements.txt > /dev/null\n!python setup.py install > /dev/null\n```\n\nUPD2. I wrote a simple notebook which demonstrates usage of this package https://www.kaggle.com/atamazian/pytorchwavelets-cwt-demonstration",
    "1487198": "Just implement your own CWT with using FFT/iFFT instead of conv for NlogN instead of N2 complexity...  It's pretty straightforward. I saw a very good kernel about it: https://www.kaggle.com/mistag/wavelet1d-custom-keras-wavelet-transform-layer , and the thing one just needs is writing ~20 lines of Pytorch code (one even can just replace TF by Pytorch commands in CWT implementation provided in the kernel).",
    "1486476": "I noticed this implementation uses multiple 1-d convolutions instead of a single 2-d convolution. It should be very slow.",
    "1561185": "Hey All,\n\nThank you all for taking part in our competition. The participation has been overwhelmingly positive. We are currently conducting a survey to gauge the demographic and outreach achieved. Kindly spare 2min and fill in this survey https://forms.gle/QP9L16niPexozyhu5.\n\nThank you all,\n\nRegards,\nChris"
  }
}