Advertisement
Guest User

Untitled

a guest
Sep 21st, 2019
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.59 KB | None | 0 0
  1. import torch
  2. import torch.nn as nn
  3. import data_w
  4. from data_w import*
  5. from torch import optim
  6. import torch.nn.functional as F
  7. class WideCNN(nn.Module):
  8. def __init__(self):
  9. super().__init__()
  10. ###protein
  11. self.pconv1=nn.Conv1d(in_channels=6729, out_channels=16, kernel_size=2, stride=1, padding=1)
  12. self.pconv2=nn.Conv1d(16,32,2,stride=1, padding=1)
  13. self.maxpool=nn.MaxPool1d(2,2)
  14. ###ligands
  15. self.lconv1=nn.Conv1d(in_channels=10,out_channels=16,kernel_size=2,stride=1,padding=1)
  16. self.lconv2=nn.Conv1d(16,32,2,stride=1,padding=1)
  17. #####motif
  18. self.mconv1=nn.Conv1d(in_channels=1076,out_channels=16,kernel_size=2,stride=1,padding=1)
  19. self.mconv2=nn.Conv1d(16,32,2,stride=1,padding=1)
  20. ###
  21. self.dropout=nn.Dropout(.3)
  22. self.FC1=nn.Linear(5120,512)
  23. self.FC2=nn.Linear(512,10)
  24. self.FC3=nn.Linear(10,1)
  25. def forward(self,x1,x2,x3):
  26. x1=self.maxpool(F.relu(self.pconv1(x1)))
  27. x1=self.maxpool(F.relu(self.pconv2(x1)))
  28.  
  29. x2=self.maxpool(F.relu(self.lconv1(x2)))
  30. x2=self.maxpool(F.relu(self.lconv2(x2)))
  31.  
  32. x3=self.maxpool(F.relu(self.mconv1(x3)))
  33. x3=self.maxpool(F.relu(self.mconv2(x3)))
  34. x1=x1.view(-1,149*32)
  35. x2=x2.view(-1,3*32)
  36. x3=x3.view(-1,8*32)
  37. x=torch.cat([x1,x2,x3],1)
  38. x = F.relu(self.FC1(x))
  39. x = self.dropout(x)
  40. x = F.relu(self.FC2(x))
  41. x = self.dropout(x)
  42. x = self.FC3(x)
  43. return x
  44.  
  45. modelw=WideCNN()
  46. modelw
  47. if __name__ == '__main__':
  48. print(modelw)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement