-
Notifications
You must be signed in to change notification settings - Fork 32
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
An error occurred while performing LS-RTM on the 2D field data using stochastic gradient descent. #195
Comments
Hi Zhang, The problem is because some of your shots have non-constant number of receivers ("arrays could not be broadcast to a common size; got a dimension with lengths 61 and 120"). The bigger the The question is: does the problem origin from your "incorrect" script (or data) or there is something wrong with the JUDI? To investigate this I propose to output size of every operator for each shot in loop like: for i in 1:d_lin.nsrc
@info "size(Ml[i]): $(size(Ml[i]))"
@info "size(J[i]): $(size(J[i]))"
etc...
end The idea is to check that each operator have equal number of receivers per each shot. |
Hi Kerim, thank you for your advice. I have noticed that the issue might be due to some problems in my data. When I was preparing my field data, I tried to check it, but I couldn’t find the problem. It seems like all the field data have the same traces per source. Also, here is the output when I tried to follow your advice.
|
Actually, I attempted to convert the SGY format to SU format yesterday. During that process, I made sure to check the traces per source, but I didn’t come across any issues. Interestingly, I am able to use this field data for FWI, but I encounter difficulties when attempting to use it for RTM. Hence, I cannot confidently assert that the data is completely problem-free. Here is the specific error message I encountered while trying to perform RTM.
|
You might have receivers outside the model. Some datasets come with a model that spans smaller area than the receivers so you end up with smaller synthetic data than field data since you don't model the receivers outside the model. There us a utility function remove_out_of_bounds_receivers(recGeometry, recData, model) that will remove the receivers outside of the computational domain for safety for a single shot record. |
@mloubout should the option |
It does work for RTM and used but it extensively including with TTI but it might not work properly in that corner case where the recievers are outside the domain |
Thank you so much for your assistance! I must admit that I overlooked an important detail. Earlier, I realized that a few of the source and receiver points were located outside of my velocity field. I will rectify this immediately and try the compilation process again. Your help is greatly appreciated. Thank you once more! |
Hi, @mloubout @kerim371
Please accept my warm greetings. I am writing to seek your guidance on a few queries that I have encountered.
JUDI 3.3.5
I need some help with a strange error I encountered while attempting to perform LS-RTM using stochastic gradient descent on 2D field data.
The code I’m using works fine with model data and produces good results. However, when I try to apply it to the field data, I keep getting an error. I’ve experimented with different values for the
batchsize
andniter
parameters. Interestingly, I found that settingbatchsize=10
andniter=5
allows the code to run successfully. But when I try larger values for batchsize and niter, it throws the error again.Here is my code:
The text was updated successfully, but these errors were encountered: