**3. Results**

For an area, the seismic wave propagation speed of different geological structures in the area is different, and there is a cavity in the geological structure (wave velocity is different from other geological structures). In this algorithm, when the data of the velocity field are given, a seismic waveform can be obtained by simulating the ground explosion. The specific method is to input velocity field data and modeling parameters (including shot position, parameters for recording wavefield snapshots, etc.) into the program. Then the corresponding seismic data and seismic waveforms will be generated by using the finite difference method. We made a comparison to the similar machine learning algorithm proposed in [13]. The experiments were performed on a workstation with two 10 Core Intel(R) Xeon(R) Silver 4210R CPU, 2 RTX A5000 GPU, 128GB RAM and an Ubuntu 20.04 operating system that implements Pytorch. The code of our algorithm has been uploaded to GitHub (https://github.com/DavidDeadpool/Unet-seismic/tree/main/Unet-seismic, accessed on 12 July 2022).

First, we generated a set of velocity models with anomalies distributed randomly and also generated the masks to describe the location of the anomalies corresponding to each velocity model. Then we modeled seismic shot gathers based on the generated velocity models. Finally, we paired the shot gathers and the masks together as the input and output of the training pairs of the U-Net network.
