| Algorithm 1 Pseudocode for Predicting the Steering Angle |
| #Nvidia Model |
| Lambda: Output shape: 400 × 600 × 3 |
| Image normalization to avoid saturation and make gradients work better. |
| #2D Convolution Neural Network for handle features. |
| Convolution1: 5 × 5, filter: 24, strides: 2 × 2, activation: ELU |
| Convolution2: 5 × 5, filter: 24, strides: 2 × 2, activation: ELU |
| Convolution3: 5 × 5, filter: 48, strides: 2 × 2, activation: ELU |
| Convolution4: 3 × 3, filter: 64, strides: 1 × 1, activation: ELU |
| Convolution5: 3 × 3, filter: 64, strides: 1 × 1, activation: ELU |
| #Dropout avoids overfitting |
| Drop out (0.5) |
| #Fully Connected Layer for predicting the steering angle. |
| Fully connected 1: neurons: 100, activation: ELU |
| Fully connected 2: neurons: 50, activation: ELU |
| Fully connected 3: neurons: 10, activation: ELU |
| Fully connected 4: neurons: 1 (output) |
| model.compile(Adam(lr = 0.0001), loss=’mse’) |
| return model |