{
  "id": 573571,
  "title": "Attempt to create OpenFWI seis data",
  "url": "/competitions/waveform-inversion/discussion/573571",
  "author_name": "Jaewook Kim",
  "post_date": "2025-04-16T15:25:47.829000",
  "votes": 48,
  "comment_count": 21,
  "views": 0,
  "content": "<p>I made an attempt to make seis data from the Velocity map according to the information in the supplement to the paper. I'm not familiar with Matlab, so I converted it to python code using ChatGPT.</p>\n<p><img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F1491003%2F48989576bfcb6ad71fa6a951190c3c71%2Fseis_data.PNG?generation=1744817126718990&amp;alt=media\" alt=\"\"><br>\nThe seis data from OpenFWI and the seis data generated by the simulation code appear to have similar visual but negligible errors.</p>\n<ul>\n<li>This may be due to code conversion issues, inability to reproduce accurate simulations, etc.</li>\n<li>As in the case of FlatVel_B, it seems that the error level of 0.00XX should be equal, but the error level is different for each type of fault.</li>\n</ul>\n<p>As one Kaggler said, I failed to restore the data accurately. (<a href=\"https://www.kaggle.com/competitions/waveform-inversion/discussion/572329#3176077\" target=\"_blank\">https://www.kaggle.com/competitions/waveform-inversion/discussion/572329#3176077</a>)<br>\n<a href=\"https://www.kaggle.com/hanchenwang114\" target=\"_blank\">@hanchenwang114</a> If I missed anything regarding the simulation code, please advise.</p>\n<p>Here is my code. <a href=\"https://www.kaggle.com/code/jaewook704/waveform-inversion-vel-to-seis\" target=\"_blank\">https://www.kaggle.com/code/jaewook704/waveform-inversion-vel-to-seis</a></p>",
  "messages": [
    {
      "id": 3180405,
      "postDate": "2025-04-16T15:25:47.830Z",
      "content": "<p>I made an attempt to make seis data from the Velocity map according to the information in the supplement to the paper. I'm not familiar with Matlab, so I converted it to python code using ChatGPT.</p>\n<p><img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F1491003%2F48989576bfcb6ad71fa6a951190c3c71%2Fseis_data.PNG?generation=1744817126718990&amp;alt=media\" alt=\"\"><br>\nThe seis data from OpenFWI and the seis data generated by the simulation code appear to have similar visual but negligible errors.</p>\n<ul>\n<li>This may be due to code conversion issues, inability to reproduce accurate simulations, etc.</li>\n<li>As in the case of FlatVel_B, it seems that the error level of 0.00XX should be equal, but the error level is different for each type of fault.</li>\n</ul>\n<p>As one Kaggler said, I failed to restore the data accurately. (<a href=\"https://www.kaggle.com/competitions/waveform-inversion/discussion/572329#3176077\" target=\"_blank\">https://www.kaggle.com/competitions/waveform-inversion/discussion/572329#3176077</a>)<br>\n<a href=\"https://www.kaggle.com/hanchenwang114\" target=\"_blank\">@hanchenwang114</a> If I missed anything regarding the simulation code, please advise.</p>\n<p>Here is my code. <a href=\"https://www.kaggle.com/code/jaewook704/waveform-inversion-vel-to-seis\" target=\"_blank\">https://www.kaggle.com/code/jaewook704/waveform-inversion-vel-to-seis</a></p>",
      "rawMarkdown": "I made an attempt to make seis data from the Velocity map according to the information in the supplement to the paper. I'm not familiar with Matlab, so I converted it to python code using ChatGPT.\n\n![](https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F1491003%2F48989576bfcb6ad71fa6a951190c3c71%2Fseis_data.PNG?generation=1744817126718990&alt=media)\nThe seis data from OpenFWI and the seis data generated by the simulation code appear to have similar visual but negligible errors.\n- This may be due to code conversion issues, inability to reproduce accurate simulations, etc.\n- As in the case of FlatVel_B, it seems that the error level of 0.00XX should be equal, but the error level is different for each type of fault.\n  \n  \nAs one Kaggler said, I failed to restore the data accurately. (https://www.kaggle.com/competitions/waveform-inversion/discussion/572329#3176077)\n@hanchenwang114 If I missed anything regarding the simulation code, please advise.\n  \n  \nHere is my code. https://www.kaggle.com/code/jaewook704/waveform-inversion-vel-to-seis",
      "votes": 48
    },
    {
      "id": 3205847,
      "postDate": "2025-05-20T12:25:42.657Z",
      "content": "<p>Thank you for your contribution. One improvement I can suggest is:</p>\n<p>replace this line<br>\n<code>for source_x in [1, 18, 35, 53, 70]:</code><br>\nwith<br>\n<code>for source_x in [0, 17, 34, 52, 69]:</code><br>\nsee <a href=\"https://www.kaggle.com/competitions/waveform-inversion/discussion/572867#3180634\" target=\"_blank\">discussion on src placement</a></p>\n<p>and accordingly<br>\nreplace this line<br>\n<code>coord['gx'] = np.arange(1, nx + 1) * dx</code><br>\nwith<br>\n<code>coord['gx'] = np.arange(nx) * dx</code></p>\n<p>I get slightly better to much better results this way. Especially the earlier time frames seem to be much closer.</p>",
      "rawMarkdown": "Thank you for your contribution. One improvement I can suggest is:\n\nreplace this line\n`for source_x in [1, 18, 35, 53, 70]:`\nwith\n`for source_x in [0, 17, 34, 52, 69]:`\nsee [discussion on src placement](https://www.kaggle.com/competitions/waveform-inversion/discussion/572867#3180634)\n\nand accordingly\nreplace this line\n`coord['gx'] = np.arange(1, nx + 1) * dx`\nwith\n`coord['gx'] = np.arange(nx) * dx`\n\nI get slightly better to much better results this way. Especially the earlier time frames seem to be much closer.",
      "votes": 6
    },
    {
      "id": 3180529,
      "postDate": "2025-04-16T18:29:09.527Z",
      "content": "<p>I really don't get it why host will not share with us the (python, not original matlab!) source code used to create the dataset.  </p>",
      "rawMarkdown": "I really don't get it why host will not share with us the (python, not original matlab!) source code used to create the dataset.  ",
      "votes": 7,
      "replies": [
        {
          "id": 3180620,
          "postDate": "2025-04-16T21:31:21.760Z",
          "content": "<p>I think there's a secret in that simulation code. 🤣</p>",
          "rawMarkdown": "I think there's a secret in that simulation code. 🤣",
          "votes": 2
        },
        {
          "id": 3180633,
          "postDate": "2025-04-16T22:05:53.663Z",
          "content": "<p>Maybe its so that more of us can appreciate the joys of reverse engineering matlab code.</p>",
          "rawMarkdown": "Maybe its so that more of us can appreciate the joys of reverse engineering matlab code.",
          "votes": 4
        }
      ]
    },
    {
      "id": 3219166,
      "postDate": "2025-06-07T08:26:18.410Z",
      "content": "<p>Thank you for sharing your excellent work.</p>\n<p>Building on your notebook, I've published a forked version that improves the numerical precision of the simulation. This modification successfully reduces the difference between the ground-truth and simulated data to approximately 1e-5 for various velocity models.</p>\n<p>I hope this contribution is helpful for everyone's forward modeling and leads to better solutions in the competition.</p>\n<p><a href=\"https://www.kaggle.com/code/manatoyo/improved-vel-to-seis\" target=\"_blank\">https://www.kaggle.com/code/manatoyo/improved-vel-to-seis</a></p>",
      "rawMarkdown": "Thank you for sharing your excellent work.\n\nBuilding on your notebook, I've published a forked version that improves the numerical precision of the simulation. This modification successfully reduces the difference between the ground-truth and simulated data to approximately 1e-5 for various velocity models.\n\nI hope this contribution is helpful for everyone's forward modeling and leads to better solutions in the competition.\n\n[https://www.kaggle.com/code/manatoyo/improved-vel-to-seis](https://www.kaggle.com/code/manatoyo/improved-vel-to-seis)",
      "votes": 3
    },
    {
      "id": 3180603,
      "postDate": "2025-04-16T20:28:37.963Z",
      "content": "<p>Hi <a href=\"https://www.kaggle.com/jaewook704\" target=\"_blank\">@jaewook704</a>, I think an issue is that your code does not handle matlab being 1-based indexed while python is 0-based indexed. I've been working on this and have been able to reduce the error.</p>\n<p><img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F557179%2F2bc7fc22a1f6deef6bde1894f96357b3%2Fprogress.png?generation=1744835192303712&amp;alt=media\" alt=\"\"></p>\n<p>Handling 1-based index vs 0-based index cuts down the error substantially for simple maps, but is not perfect for more complex maps (reduces it about 2-3 fold). The original OpenFWI paper also points out that their nt is 1001, not 1000.</p>\n<p>Cheers!</p>",
      "rawMarkdown": "Hi @jaewook704, I think an issue is that your code does not handle matlab being 1-based indexed while python is 0-based indexed. I've been working on this and have been able to reduce the error.\n\n![](https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F557179%2F2bc7fc22a1f6deef6bde1894f96357b3%2Fprogress.png?generation=1744835192303712&alt=media)\n\nHandling 1-based index vs 0-based index cuts down the error substantially for simple maps, but is not perfect for more complex maps (reduces it about 2-3 fold). The original OpenFWI paper also points out that their nt is 1001, not 1000.\n\nCheers!",
      "votes": 5,
      "replies": [
        {
          "id": 3180619,
          "postDate": "2025-04-16T21:30:41.550Z",
          "content": "<p>Thank you for your advice. I corrected it to 1-base index, but the error is less than before.</p>",
          "rawMarkdown": "Thank you for your advice. I corrected it to 1-base index, but the error is less than before.",
          "votes": 2,
          "replies": [
            {
              "id": 3180632,
              "postDate": "2025-04-16T22:05:22.753Z",
              "content": "<p>I think I should have said \"didn't completely handle\" rather than you \"didn't handle\" =). In any case appreciate your work.</p>",
              "rawMarkdown": "I think I should have said \"didn't completely handle\" rather than you \"didn't handle\" =). In any case appreciate your work.",
              "votes": 2
            }
          ]
        }
      ]
    },
    {
      "id": 3187138,
      "postDate": "2025-04-25T16:01:15.293Z",
      "content": "<p>Thanks for the share.  I spent a decent amount of time trying to find the \"error\" in V6 of your code.  </p>\n<p>My conclusion - the data set was almost certainly built with some level of noise added to the results.  You can make a 10-100 fold improvement in the mean error if you add noise.</p>",
      "rawMarkdown": "Thanks for the share.  I spent a decent amount of time trying to find the \"error\" in V6 of your code.  \n\nMy conclusion - the data set was almost certainly built with some level of noise added to the results.  You can make a 10-100 fold improvement in the mean error if you add noise.",
      "votes": 4
    },
    {
      "id": 3205609,
      "postDate": "2025-05-20T06:47:58.173Z",
      "content": "<p>Hi thanks for great notebook!<br>\nHave any one tried PINN using this PDE?<br>\nI've started with this great <a href=\"https://www.kaggle.com/code/muhammadqasimshabbir/gwi-unet-with-float16-dataset22\" target=\"_blank\">Unet notebook</a> then additionally trained the model from the check point with reconstruction loss of seismic map ( reconstructed with PDE and predicted velocity map  of the model, loss is MAE of original seismic map vs reconstructed seismic).<br>\nBut unfortunately LB score didn't improved from the original check point. Not that surprising that original check point was trained to perform well with the competition score.<br>\nI was wondering if anyone have come up with nice idea implementing PINN….</p>",
      "rawMarkdown": "Hi thanks for great notebook!\nHave any one tried PINN using this PDE?\nI've started with this great [Unet notebook](https://www.kaggle.com/code/muhammadqasimshabbir/gwi-unet-with-float16-dataset22) then additionally trained the model from the check point with reconstruction loss of seismic map ( reconstructed with PDE and predicted velocity map  of the model, loss is MAE of original seismic map vs reconstructed seismic).\nBut unfortunately LB score didn't improved from the original check point. Not that surprising that original check point was trained to perform well with the competition score.\nI was wondering if anyone have come up with nice idea implementing PINN....",
      "votes": 1
    },
    {
      "id": 3184106,
      "postDate": "2025-04-21T16:57:19.827Z",
      "content": "<p>I think there's a coordinates inversion at</p>\n<pre><code>, nxbc = vel.shape[] - , vel.shape[] -   # 실제 사이즈\n</code></pre>\n<p>It should be</p>\n<pre><code>, nxbc = vel.shape[] - , vel.shape[] -   # 실제 사이즈\n</code></pre>",
      "rawMarkdown": "I think there's a coordinates inversion at\n\n    nzbc, nxbc = vel.shape[1] - 1, vel.shape[0] - 1  # 실제 사이즈\n\nIt should be\n\n    nzbc, nxbc = vel.shape[0] - 1, vel.shape[1] - 1  # 실제 사이즈\n",
      "votes": 1
    },
    {
      "id": 3180743,
      "postDate": "2025-04-17T04:27:32.430Z",
      "content": "<p>Is this error large or small enough? It looks to be already pretty good</p>",
      "rawMarkdown": "Is this error large or small enough? It looks to be already pretty good",
      "votes": 2,
      "replies": [
        {
          "id": 3180857,
          "postDate": "2025-04-17T07:53:11.903Z",
          "content": "<p>The error range based on seis data in the last version of the code is as follows. <br>\nOrigin vs Gen (vel): 0.0001 ~ 0.06<br>\nGen (vel) vs Gen (vel+noise): 0.01 ~ 0.06<br>\n Considering that vel noise is currently in 34~47 (top LB level), I think the reproducibility error is quite large.</p>",
          "rawMarkdown": "The error range based on seis data in the last version of the code is as follows. \nOrigin vs Gen (vel): 0.0001 ~ 0.06\nGen (vel) vs Gen (vel+noise): 0.01 ~ 0.06\n Considering that vel noise is currently in 34~47 (top LB level), I think the reproducibility error is quite large.",
          "votes": 2,
          "replies": [
            {
              "id": 3199198,
              "postDate": "2025-05-10T15:51:41.153Z",
              "content": "<p>Can you clarify ? </p>",
              "rawMarkdown": "Can you clarify ? ",
              "votes": 2
            }
          ]
        }
      ]
    },
    {
      "id": 3183450,
      "postDate": "2025-04-20T22:53:57.820Z",
      "content": "<p>have you som mote idia?<br>\nthis is grait</p>",
      "rawMarkdown": "have you som mote idia?\nthis is grait",
      "votes": -1,
      "replies": [
        {
          "id": 3231599,
          "postDate": "2025-06-24T16:20:35.337Z",
          "content": "<p>Offered no solutions</p>",
          "rawMarkdown": "Offered no solutions"
        }
      ]
    },
    {
      "id": 3180876,
      "postDate": "2025-04-17T08:26:23.957Z",
      "content": "<p>Awesome insights! Treating melspecs as images and tuning params really makes a difference. Appreciate you sharing what’s working!</p>",
      "rawMarkdown": "Awesome insights! Treating melspecs as images and tuning params really makes a difference. Appreciate you sharing what’s working!",
      "votes": -1
    },
    {
      "id": 3221406,
      "postDate": "2025-06-11T01:41:04.827Z",
      "content": "<p>Is there any gpu-enabled script for that , I tried to that , but with float32 it suffers on flatvel B largely and also MAE not as good as yours ??</p>",
      "rawMarkdown": "Is there any gpu-enabled script for that , I tried to that , but with float32 it suffers on flatvel B largely and also MAE not as good as yours ??",
      "votes": 1,
      "isDeleted": true
    },
    {
      "id": 3221363,
      "postDate": "2025-06-10T21:05:57.553Z",
      "content": "<p>Hey , does this help in faster/better convergence by adding this branch as a auxillary task for reconstruction from the velocity map given by the model ??</p>",
      "rawMarkdown": "Hey , does this help in faster/better convergence by adding this branch as a auxillary task for reconstruction from the velocity map given by the model ??",
      "votes": 1,
      "isDeleted": true
    },
    {
      "id": 3212394,
      "postDate": "2025-05-29T18:53:54.260Z",
      "rawMarkdown": "",
      "votes": 1,
      "isDeleted": true
    },
    {
      "id": 3187100,
      "postDate": "2025-04-25T15:08:32.977Z",
      "content": "<p>I spent hours looking for this and couldn't quite find it.  Awesome of you to share!  Super useful for PINN loss functions, thank you!</p>",
      "rawMarkdown": "I spent hours looking for this and couldn't quite find it.  Awesome of you to share!  Super useful for PINN loss functions, thank you!",
      "votes": 1
    }
  ],
  "comments": [
    {
      "id": 3205847,
      "author_name": "MGöksu",
      "author_url": "",
      "post_date": "2025-05-20T12:25:42.657000",
      "content": "<p>Thank you for your contribution. One improvement I can suggest is:</p>\n<p>replace this line<br>\n<code>for source_x in [1, 18, 35, 53, 70]:</code><br>\nwith<br>\n<code>for source_x in [0, 17, 34, 52, 69]:</code><br>\nsee <a href=\"https://www.kaggle.com/competitions/waveform-inversion/discussion/572867#3180634\" target=\"_blank\">discussion on src placement</a></p>\n<p>and accordingly<br>\nreplace this line<br>\n<code>coord['gx'] = np.arange(1, nx + 1) * dx</code><br>\nwith<br>\n<code>coord['gx'] = np.arange(nx) * dx</code></p>\n<p>I get slightly better to much better results this way. Especially the earlier time frames seem to be much closer.</p>",
      "votes": 6,
      "replies": []
    },
    {
      "id": 3180529,
      "author_name": "greySnow",
      "author_url": "",
      "post_date": "2025-04-16T18:29:09.527000",
      "content": "<p>I really don't get it why host will not share with us the (python, not original matlab!) source code used to create the dataset.  </p>",
      "votes": 7,
      "replies": [
        {
          "id": 3180620,
          "author_name": "Jaewook Kim",
          "author_url": "",
          "post_date": "2025-04-16T21:31:21.760000",
          "content": "<p>I think there's a secret in that simulation code. 🤣</p>",
          "votes": 2,
          "replies": []
        },
        {
          "id": 3180633,
          "author_name": "JJ",
          "author_url": "",
          "post_date": "2025-04-16T22:05:53.663000",
          "content": "<p>Maybe its so that more of us can appreciate the joys of reverse engineering matlab code.</p>",
          "votes": 4,
          "replies": []
        }
      ]
    },
    {
      "id": 3219166,
      "author_name": "Manato1fg",
      "author_url": "",
      "post_date": "2025-06-07T08:26:18.410000",
      "content": "<p>Thank you for sharing your excellent work.</p>\n<p>Building on your notebook, I've published a forked version that improves the numerical precision of the simulation. This modification successfully reduces the difference between the ground-truth and simulated data to approximately 1e-5 for various velocity models.</p>\n<p>I hope this contribution is helpful for everyone's forward modeling and leads to better solutions in the competition.</p>\n<p><a href=\"https://www.kaggle.com/code/manatoyo/improved-vel-to-seis\" target=\"_blank\">https://www.kaggle.com/code/manatoyo/improved-vel-to-seis</a></p>",
      "votes": 3,
      "replies": []
    },
    {
      "id": 3180603,
      "author_name": "JJ",
      "author_url": "",
      "post_date": "2025-04-16T20:28:37.963000",
      "content": "<p>Hi <a href=\"https://www.kaggle.com/jaewook704\" target=\"_blank\">@jaewook704</a>, I think an issue is that your code does not handle matlab being 1-based indexed while python is 0-based indexed. I've been working on this and have been able to reduce the error.</p>\n<p><img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F557179%2F2bc7fc22a1f6deef6bde1894f96357b3%2Fprogress.png?generation=1744835192303712&amp;alt=media\" alt=\"\"></p>\n<p>Handling 1-based index vs 0-based index cuts down the error substantially for simple maps, but is not perfect for more complex maps (reduces it about 2-3 fold). The original OpenFWI paper also points out that their nt is 1001, not 1000.</p>\n<p>Cheers!</p>",
      "votes": 5,
      "replies": [
        {
          "id": 3180619,
          "author_name": "Jaewook Kim",
          "author_url": "",
          "post_date": "2025-04-16T21:30:41.550000",
          "content": "<p>Thank you for your advice. I corrected it to 1-base index, but the error is less than before.</p>",
          "votes": 2,
          "replies": [
            {
              "id": 3180632,
              "author_name": "JJ",
              "author_url": "",
              "post_date": "2025-04-16T22:05:22.753000",
              "content": "<p>I think I should have said \"didn't completely handle\" rather than you \"didn't handle\" =). In any case appreciate your work.</p>",
              "votes": 2,
              "replies": []
            }
          ]
        }
      ]
    },
    {
      "id": 3187138,
      "author_name": "PC Jimmmy",
      "author_url": "",
      "post_date": "2025-04-25T16:01:15.293000",
      "content": "<p>Thanks for the share.  I spent a decent amount of time trying to find the \"error\" in V6 of your code.  </p>\n<p>My conclusion - the data set was almost certainly built with some level of noise added to the results.  You can make a 10-100 fold improvement in the mean error if you add noise.</p>",
      "votes": 4,
      "replies": []
    },
    {
      "id": 3205609,
      "author_name": "takkawa",
      "author_url": "",
      "post_date": "2025-05-20T06:47:58.173000",
      "content": "<p>Hi thanks for great notebook!<br>\nHave any one tried PINN using this PDE?<br>\nI've started with this great <a href=\"https://www.kaggle.com/code/muhammadqasimshabbir/gwi-unet-with-float16-dataset22\" target=\"_blank\">Unet notebook</a> then additionally trained the model from the check point with reconstruction loss of seismic map ( reconstructed with PDE and predicted velocity map  of the model, loss is MAE of original seismic map vs reconstructed seismic).<br>\nBut unfortunately LB score didn't improved from the original check point. Not that surprising that original check point was trained to perform well with the competition score.<br>\nI was wondering if anyone have come up with nice idea implementing PINN….</p>",
      "votes": 1,
      "replies": []
    },
    {
      "id": 3184106,
      "author_name": "gguillard",
      "author_url": "",
      "post_date": "2025-04-21T16:57:19.827000",
      "content": "<p>I think there's a coordinates inversion at</p>\n<pre><code>, nxbc = vel.shape[] - , vel.shape[] -   # 실제 사이즈\n</code></pre>\n<p>It should be</p>\n<pre><code>, nxbc = vel.shape[] - , vel.shape[] -   # 실제 사이즈\n</code></pre>",
      "votes": 1,
      "replies": []
    },
    {
      "id": 3180743,
      "author_name": "yuanzhe zhou",
      "author_url": "",
      "post_date": "2025-04-17T04:27:32.430000",
      "content": "<p>Is this error large or small enough? It looks to be already pretty good</p>",
      "votes": 2,
      "replies": [
        {
          "id": 3180857,
          "author_name": "Jaewook Kim",
          "author_url": "",
          "post_date": "2025-04-17T07:53:11.903000",
          "content": "<p>The error range based on seis data in the last version of the code is as follows. <br>\nOrigin vs Gen (vel): 0.0001 ~ 0.06<br>\nGen (vel) vs Gen (vel+noise): 0.01 ~ 0.06<br>\n Considering that vel noise is currently in 34~47 (top LB level), I think the reproducibility error is quite large.</p>",
          "votes": 2,
          "replies": [
            {
              "id": 3199198,
              "author_name": "Julien Genzling",
              "author_url": "",
              "post_date": "2025-05-10T15:51:41.153000",
              "content": "<p>Can you clarify ? </p>",
              "votes": 2,
              "replies": []
            }
          ]
        }
      ]
    },
    {
      "id": 3183450,
      "author_name": "",
      "author_url": "",
      "post_date": "2025-04-20T22:53:57.820000",
      "content": "<p>have you som mote idia?<br>\nthis is grait</p>",
      "votes": -1,
      "replies": [
        {
          "id": 3231599,
          "author_name": "",
          "author_url": "",
          "post_date": "2025-06-24T16:20:35.337000",
          "content": "<p>Offered no solutions</p>",
          "votes": 0,
          "replies": []
        }
      ]
    },
    {
      "id": 3180876,
      "author_name": "M.Ashhad Ur Rehman khan",
      "author_url": "",
      "post_date": "2025-04-17T08:26:23.957000",
      "content": "<p>Awesome insights! Treating melspecs as images and tuning params really makes a difference. Appreciate you sharing what’s working!</p>",
      "votes": -1,
      "replies": []
    },
    {
      "id": 3221406,
      "author_name": "",
      "author_url": "",
      "post_date": "2025-06-11T01:41:04.827000",
      "content": "<p>Is there any gpu-enabled script for that , I tried to that , but with float32 it suffers on flatvel B largely and also MAE not as good as yours ??</p>",
      "votes": 1,
      "replies": []
    },
    {
      "id": 3221363,
      "author_name": "",
      "author_url": "",
      "post_date": "2025-06-10T21:05:57.553000",
      "content": "<p>Hey , does this help in faster/better convergence by adding this branch as a auxillary task for reconstruction from the velocity map given by the model ??</p>",
      "votes": 1,
      "replies": []
    },
    {
      "id": 3212394,
      "author_name": "",
      "author_url": "",
      "post_date": "2025-05-29T18:53:54.260000",
      "content": "",
      "votes": 1,
      "replies": []
    },
    {
      "id": 3187100,
      "author_name": "Tom M",
      "author_url": "",
      "post_date": "2025-04-25T15:08:32.977000",
      "content": "<p>I spent hours looking for this and couldn't quite find it.  Awesome of you to share!  Super useful for PINN loss functions, thank you!</p>",
      "votes": 1,
      "replies": []
    }
  ],
  "raw_markdown_by_id": {
    "3180405": "I made an attempt to make seis data from the Velocity map according to the information in the supplement to the paper. I'm not familiar with Matlab, so I converted it to python code using ChatGPT.\n\n![](https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F1491003%2F48989576bfcb6ad71fa6a951190c3c71%2Fseis_data.PNG?generation=1744817126718990&alt=media)\nThe seis data from OpenFWI and the seis data generated by the simulation code appear to have similar visual but negligible errors.\n- This may be due to code conversion issues, inability to reproduce accurate simulations, etc.\n- As in the case of FlatVel_B, it seems that the error level of 0.00XX should be equal, but the error level is different for each type of fault.\n  \n  \nAs one Kaggler said, I failed to restore the data accurately. (https://www.kaggle.com/competitions/waveform-inversion/discussion/572329#3176077)\n@hanchenwang114 If I missed anything regarding the simulation code, please advise.\n  \n  \nHere is my code. https://www.kaggle.com/code/jaewook704/waveform-inversion-vel-to-seis",
    "3205847": "Thank you for your contribution. One improvement I can suggest is:\n\nreplace this line\n`for source_x in [1, 18, 35, 53, 70]:`\nwith\n`for source_x in [0, 17, 34, 52, 69]:`\nsee [discussion on src placement](https://www.kaggle.com/competitions/waveform-inversion/discussion/572867#3180634)\n\nand accordingly\nreplace this line\n`coord['gx'] = np.arange(1, nx + 1) * dx`\nwith\n`coord['gx'] = np.arange(nx) * dx`\n\nI get slightly better to much better results this way. Especially the earlier time frames seem to be much closer.",
    "3180529": "I really don't get it why host will not share with us the (python, not original matlab!) source code used to create the dataset.  ",
    "3219166": "Thank you for sharing your excellent work.\n\nBuilding on your notebook, I've published a forked version that improves the numerical precision of the simulation. This modification successfully reduces the difference between the ground-truth and simulated data to approximately 1e-5 for various velocity models.\n\nI hope this contribution is helpful for everyone's forward modeling and leads to better solutions in the competition.\n\n[https://www.kaggle.com/code/manatoyo/improved-vel-to-seis](https://www.kaggle.com/code/manatoyo/improved-vel-to-seis)",
    "3180603": "Hi @jaewook704, I think an issue is that your code does not handle matlab being 1-based indexed while python is 0-based indexed. I've been working on this and have been able to reduce the error.\n\n![](https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F557179%2F2bc7fc22a1f6deef6bde1894f96357b3%2Fprogress.png?generation=1744835192303712&alt=media)\n\nHandling 1-based index vs 0-based index cuts down the error substantially for simple maps, but is not perfect for more complex maps (reduces it about 2-3 fold). The original OpenFWI paper also points out that their nt is 1001, not 1000.\n\nCheers!",
    "3187138": "Thanks for the share.  I spent a decent amount of time trying to find the \"error\" in V6 of your code.  \n\nMy conclusion - the data set was almost certainly built with some level of noise added to the results.  You can make a 10-100 fold improvement in the mean error if you add noise.",
    "3205609": "Hi thanks for great notebook!\nHave any one tried PINN using this PDE?\nI've started with this great [Unet notebook](https://www.kaggle.com/code/muhammadqasimshabbir/gwi-unet-with-float16-dataset22) then additionally trained the model from the check point with reconstruction loss of seismic map ( reconstructed with PDE and predicted velocity map  of the model, loss is MAE of original seismic map vs reconstructed seismic).\nBut unfortunately LB score didn't improved from the original check point. Not that surprising that original check point was trained to perform well with the competition score.\nI was wondering if anyone have come up with nice idea implementing PINN....",
    "3184106": "I think there's a coordinates inversion at\n\n    nzbc, nxbc = vel.shape[1] - 1, vel.shape[0] - 1  # 실제 사이즈\n\nIt should be\n\n    nzbc, nxbc = vel.shape[0] - 1, vel.shape[1] - 1  # 실제 사이즈\n",
    "3180743": "Is this error large or small enough? It looks to be already pretty good",
    "3183450": "have you som mote idia?\nthis is grait",
    "3180876": "Awesome insights! Treating melspecs as images and tuning params really makes a difference. Appreciate you sharing what’s working!",
    "3221406": "Is there any gpu-enabled script for that , I tried to that , but with float32 it suffers on flatvel B largely and also MAE not as good as yours ??",
    "3221363": "Hey , does this help in faster/better convergence by adding this branch as a auxillary task for reconstruction from the velocity map given by the model ??",
    "3212394": "",
    "3187100": "I spent hours looking for this and couldn't quite find it.  Awesome of you to share!  Super useful for PINN loss functions, thank you!"
  }
}