An inversion algorithm is commonly used to estimate the elastic properties, such as P-wave velocity (), S-wave velocity (), and density () of the earth’s subsurface. Generally, the seismic inversion problem is solved using one of the traditional optimization algorithms. These algorithms start with a given model and update the model at each iteration, following a physics-based rule. The algorithm is applied at each common depth point (CDP) independently to estimate the elastic parameters. Here, we have developed a technique using the convolutional neural network (CNN) to solve the same problem. We perform two critical steps to take advantage of the generalization capability of CNN and the physics to generate synthetic data for a meaningful representation of the subsurface. First, rather than using CNN as in a classification type of problem, which is the standard approach, we modified the CNN to solve a regression problem to estimate the elastic properties. Second, again unlike the conventional CNN, which is trained by supervised learning with predetermined label (elastic parameter) values, we use the physics of our forward problem to train the weights. There are two parts of the network: The first is the convolution network, which takes the input as seismic data to predict the elastic parameters, which is the desired intermediate result. In the second part of the network, we use wave-propagation physics and we use the output of the CNN to generate the predicted seismic data for comparison with the actual data and calculation of the error. This error between the true and predicted seismograms is then used to calculate gradients, and update the weights in the CNN. After the network is trained, only the first part of the network can be used to estimate elastic properties at remaining CDPs directly. We determine the application of physics-guided CNN on prestack and poststack inversion problems. To explain how the algorithm works, we examine it using a conventional CNN workflow without any physics guidance. We first implement the algorithm on a synthetic data set for prestack and poststack data and then apply it to a real data set from the Cana field. In all the training examples, we use a maximum of 20% of data. Our approach offers a distinct advantage over a conventional machine-learning approach in that we circumvent the need for labeled data sets for training.