-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathevaluate_init_final.py
More file actions
63 lines (57 loc) · 2.45 KB
/
evaluate_init_final.py
File metadata and controls
63 lines (57 loc) · 2.45 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
import sys,os
from collections import OrderedDict
sys.path.append('../')
import numpy as np
from theano import config
import itertools,time
from utils.misc import readPickle,savePickle
from utils.misc import getConfigFile, loadHDF5, saveHDF5, createIfAbsent
from optvaeutils.viz import getName
from sklearn.feature_extraction.text import TfidfTransformer
from optvaemodels.vae import VAE
import optvaemodels.vae_learn as VAE_learn
import optvaemodels.vae_evaluate as VAE_evaluate
import optvaemodels.vae_learn as VAE_learn
from optvaedatasets.load import loadDataset
models, epochval = OrderedDict(), OrderedDict()
models['wikicorp-pl-2-finopt'] = './chkpt-wikicorp-finopt/VAE_lr-8_0e-04-ph-400-qh-400-ds-100-pl-2-ql-2-nl-relu-bs-500-ep-52-plr-1_0e-02-ar-0-otype-finopt-ns-100-etype-mlp-ll-mult-itype-tfidfl20_01_-uid'
epochval['wikicorp-pl-2-finopt'] = '50'
MODELS_TO_USE = models.keys()
print 'Evaluating on: ',MODELS_TO_USE
SAVEDIR = './evaluate_if_dir/'
createIfAbsent(SAVEDIR)
DNAME = ''
dataset_wiki = loadDataset('wikicorp')
additional_attrs_wiki = {}
def getTF(dataset):
tfidf = TfidfTransformer(norm=None)
tfidf.fit(dataset['train'])
return tfidf.idf_
additional_attrs_wiki['idf'] = getTF(dataset_wiki)
for mname in MODELS_TO_USE:
if 'wikicorp' not in mname:
continue
print 'Model: ',mname
pfile = models[mname].split('uid')[0]+'uid-config.pkl'
params= readPickle(pfile)[0]
suffix= '-EP'+str(epochval[mname])+'-params.npz'
rfile = models[mname]+suffix
assert os.path.exists(rfile),'not found'
params['EVALUATION'] = True
if 'wikicorp' in mname:
vae = VAE(params, paramFile=pfile, reloadFile=rfile, additional_attrs = additional_attrs_wiki)
trainData = dataset_wiki['train'];validData = dataset_wiki['valid']
Ntrain = trainData.shape[0]
np.random.seed(0)
trainData = trainData[np.random.permutation(Ntrain)[:100000]]
else:
vae = VAE(params, paramFile=pfile, reloadFile=rfile, additional_attrs = additional_attrs_rcv2)
savef = SAVEDIR+mname
train_map_init_final = VAE_evaluate.getInitFinal(vae, trainData, 500)
train_map_init_final['data'] = trainData.toarray()
saveHDF5(savef+'-if_train.h5',train_map_init_final)
eval_map_init_final = VAE_evaluate.getInitFinal(vae, validData, 500)
eval_map_init_final['data'] = validData.toarray()
saveHDF5(savef+'-if_eval.h5', eval_map_init_final)
print 'Saved: ',mname
print 'Done'