Here are the examples of the python api sys.epsilon taken from open source projects. By voting up you can indicate which examples are most useful and appropriate.
1 Examples
0
Source : train.py
with GNU General Public License v3.0
from codewithsk
with GNU General Public License v3.0
from codewithsk
def train(data, idx2word, wc, e_dim=128, name='word2vec', n_negs = 5, conti=False, cuda=False, epoch = 1, ss_t=1e-5,mb=4096, weights=False, save_dir='./output'):
#idx2word = pickle.load(open(os.path.join(data_dir, 'idx2word.dat'), 'rb'))
#wc = pickle.load(open(os.path.join(data_dir, 'wc.dat'), 'rb'))
wf = np.array([wc[word] for word in idx2word])
wf = wf / wf.sum()
ws = 1 - np.sqrt(ss_t / wf)
ws = np.clip(ws, 0, 1)
vocab_size = len(idx2word)
weights = wf if weights else None
if not os.path.isdir(save_dir):
os.mkdir(save_dir)
model = Word2Vec(vocab_size=vocab_size, embedding_size=e_dim)
modelpath = os.path.join(save_dir, '{}.pt'.format(name))
sgns = SGNS(embedding=model, vocab_size=vocab_size, n_negs=n_negs, weights=weights)
if os.path.isfile(modelpath) and conti:
sgns.load_state_dict(t.load(modelpath))
if cuda:
sgns = sgns.cuda()
optim = Adam(sgns.parameters())
optimpath = os.path.join(save_dir, '{}.optim.pt'.format(name))
if os.path.isfile(optimpath) and conti:
optim.load_state_dict(t.load(optimpath))
for epoch in range(1, epoch + 1):
flag = False
dataset = PermutedSubsampledCorpus(data)
dataloader = DataLoader(dataset, batch_size=mb, shuffle=True)
total_batches = int(np.ceil(len(dataset) / mb))
pbar = tqdm(dataloader)
pbar.set_description("[Epoch {}]".format(epoch))
losses = []
prev_loss = 0
for iword, owords in pbar:
loss = sgns(iword, owords)
losses.append(loss.item())
prev_loss = loss.item()
if mean(losses[-10:]) < sys.epsilon:
flag = True
break
optim.zero_grad()
loss.backward()
optim.step()
pbar.set_postfix(loss=loss.item())
if flag:
break
idx2vec = model.ivectors.weight.data.cpu().numpy()
#pickle.dump(idx2vec, open(os.path.join(data_dir, 'idx2vec.dat'), 'wb'))
t.save(sgns.state_dict(), os.path.join(save_dir, '{}.pt'.format(name)))
t.save(optim.state_dict(), os.path.join(save_dir, '{}.optim.pt'.format(name)))
return idx2vec
if __name__ == '__main__':