Advertisement
Guest User

Untitled

a guest
Apr 8th, 2020
155
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.32 KB | None | 0 0
  1. import pickle
  2. import torch
  3. import torch.nn as nn
  4. import torch.nn.functional as F
  5. from models import graph_conv
  6. import numpy
  7. import time
  8.  
  9. infile = open('DrugsCom_review_positive_short_ALL_10stars_15tokens_DEP_TREE.pkl', 'rb')
  10. data_train =pickle.load(infile)
  11. dependency_tree = data_train.dependency_tree_clean.to_list()
  12. no_of_tokens = data_train.no_of_tokens.to_list()
  13. sosy_idx = data_train.SOSY_index.to_list()
  14. sentiment_labels = data_train.sentiment.to_list()
  15. embedding_size = 100
  16.  
  17. target_list = []
  18. for i in sentiment_labels:
  19.     if i == -1:
  20.         target_list.append(0)
  21.     elif i == 1:
  22.         target_list.append(1)
  23.     else:
  24.         print('Sentiment labels -1 or 1.')
  25.    
  26. target = torch.tensor(target_list, dtype=torch.long) #dtype=torch.int64
  27.  
  28. numpy.random.seed(20)
  29.  
  30. edges = torch.as_tensor(dependency_tree[0], dtype=torch.int64)
  31. vertices = torch.as_tensor(numpy.random.rand(no_of_tokens[0], embedding_size), dtype=torch.float)
  32. idx = torch.as_tensor(sosy_idx[0], dtype=torch.int64)
  33. target = target[0]
  34.  
  35.  
  36. device = torch.device("cpu")
  37.  
  38. model = graph_conv()
  39. model.to(device)
  40.  
  41. optimizer = torch.optim.Adam(model.parameters()) # lr=0.001 by default
  42. optimizer.zero_grad()
  43.  
  44. node_embed, sosy_embed, sosy = model(edges, vertices, idx)
  45.  
  46. loss = F.cross_entropy(sosy, target)
  47. loss.backward()
  48.  
  49. optimizer.step()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement