Advertisement
Guest User

Untitled

a guest
Jul 19th, 2019
114
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.79 KB | None | 0 0
  1. class VGG16_model(nn.Module):
  2. def __init__(self, numClasses=7):
  3. super(VGG16_model, self).__init__()
  4. self.vgg16 = nn.Sequential(
  5. nn.Conv2d(3, 64, 3),
  6. nn.ReLU(inplace=True),
  7. nn.Conv2d(64, 64, 3),
  8. nn.ReLU(inplace=True),
  9. nn.MaxPool2d(kernel_size=2, stride=2),
  10. nn.Conv2d(64, 128, 3),
  11. nn.ReLU(inplace=True),
  12. nn.Conv2d(128, 128, 3),
  13. nn.MaxPool2d(kernel_size=2, stride=2),
  14. nn.ReLU(inplace=True),
  15. nn.Conv2d(128, 256, 3),
  16. nn.ReLU(inplace=True),
  17. nn.Conv2d(256, 256, 3),
  18. nn.ReLU(inplace=True),
  19. nn.Conv2d(256, 256, 3),
  20. nn.MaxPool2d(kernel_size=2, stride=2),
  21. nn.ReLU(inplace=True),
  22. nn.Conv2d(256, 512, 3),
  23. nn.ReLU(inplace=True),
  24. nn.Conv2d(512, 512, 3),
  25. nn.ReLU(inplace=True),
  26. nn.Conv2d(512, 512, 3),
  27. nn.MaxPool2d(kernel_size=2, stride=2),
  28. nn.ReLU(inplace=True),
  29. nn.Conv2d(512, 512, 3),
  30. nn.ReLU(inplace=True),
  31. nn.Conv2d(512, 512, 3),
  32. nn.ReLU(inplace=True),
  33. nn.Conv2d(512, 512, 3),
  34. nn.ReLU(inplace=True),
  35. nn.MaxPool2d(kernel_size=2, stride=2)
  36. )
  37. self.avgpool = nn.AdaptiveAvgPool2d((7, 7))
  38. self.classifier = nn.Sequential(
  39. nn.Linear(512 * 7 * 7, 4096),
  40. nn.ReLU(inplace=True),
  41. nn.Dropout(),
  42. nn.Linear(4096, 4096),
  43. nn.ReLU(inplace=True),
  44. nn.Dropout(),
  45. nn.Linear(4096, numClasses)
  46. )
  47.  
  48. def forward(self, x):
  49. x = self.vgg16(x)
  50. x = self.avgpool(x)
  51. x = x.view(x.size(0), -1)
  52. x = self.classifier(x)
  53. return x
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement