Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import torch
- import torch.nn as nn
- import numpy as np
- class CBOW(torch.nn.Module):
- def __init__(self, inp_size , vocab_size, embedding_dim=100):
- super(CBOW, self).__init__()
- self.embeddings = nn.Embedding(vocab_size, embedding_dim)
- self.linear1 = nn.Linear(embedding_dim, 100)
- self.activation_function1 = nn.ReLU()
- self.linear2 = nn.Linear(100, vocab_size)
- self.activation_function2 = nn.LogSoftmax(dim = -1)
- def forward(self, inputs):
- embeds = sum(self.embeddings(torch.from_numpy(inputs).long())).view(1,-1)
- out = self.linear1(embeds)
- out = self.activation_function1(out)
- out = self.linear2(out)
- out = self.activation_function2(out)
- return out
- model = CBOW(window_size*2,vocab_size)
- loss_function = nn.NLLLoss()
- optimizer = torch.optim.SGD(model.parameters(), lr=0.001)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement