def make_shared(self): """ Make sure that tensors can be shared across processes """ super().make_shared() self.link_sqsum = [make_shared(m) for m in self.link_sqsum] self.pred_sqsum = [make_shared(m) for m in self.pred_sqsum]
def make_shared(self): """ Make sure that tensors can be shared across processes """ super().make_shared() self.link_mean = [make_shared(m) for m in self.link_mean] self.pred_mean = [make_shared(m) for m in self.pred_mean] self.link_var = [make_shared(m) for m in self.link_var] self.pred_var = [make_shared(m) for m in self.pred_var]
from math import log from pydmrs.components import RealPred from utils import make_shared, is_verb D = 800 C = 40 half = int(D/2) with open('/anfs/bigdisc/gete2/wikiwoods/core-5-vocab.pkl', 'rb') as f: preds = pickle.load(f) ind = {p:i for i,p in enumerate(preds)} pred_index = {RealPred.from_string(p):i for p,i in ind.items()} pred_wei = make_shared(zeros((len(preds), D))) for filename, offset in [('/anfs/bigdisc/gete2/wikiwoods/word2vec/matrix_nouns400', 0), ('/anfs/bigdisc/gete2/wikiwoods/word2vec/matrix_verbs400', half)]: with open(filename, 'r') as f: for line in f: pred, vecstr = line.strip().split(maxsplit=1) vec = array(vecstr.split()) pred_wei[ind[pred], offset:offset+half] = vec # Make vectors longer (av. sum 1.138 over av. 44.9 nonzero entries) # An average entry is then 0.2, so a predicate is expit(0.2*30 - 3) = 0.95 true pred_wei *= 8 DATA = '/anfs/bigdisc/gete2/wikiwoods/core-5' bias = log(D/C - 1)