| 440 | return self.target(input) |
| 441 | |
| 442 | def __build_cnn(self, c, output_dim): |
| 443 | return nn.Sequential( |
| 444 | nn.Conv2d(in_channels=c, out_channels=32, kernel_size=8, stride=4), |
| 445 | nn.ReLU(), |
| 446 | nn.Conv2d(in_channels=32, out_channels=64, kernel_size=4, stride=2), |
| 447 | nn.ReLU(), |
| 448 | nn.Conv2d(in_channels=64, out_channels=64, kernel_size=3, stride=1), |
| 449 | nn.ReLU(), |
| 450 | nn.Flatten(), |
| 451 | nn.Linear(3136, 512), |
| 452 | nn.ReLU(), |
| 453 | nn.Linear(512, output_dim), |
| 454 | ) |
| 455 | |
| 456 | |
| 457 | ###################################################################### |