print "loading..." # basename = 'data/fuv_cache/cache_groupFungus_k64_nclass132_nex50' # basename = 'data/BOW_florent/vehicle262_train_50ex' # basename = 'data/BOW_florent/vehicle262_train_50ex' # basename = 'data/BOW_florent/ungulate183_train_50ex' # basename = 'data/fuv_cache/cache_groupFungus_k64_nclass134_nex10000' # basename = 'data/fuv_cache/cache_groupFungus_k64_nclass132_nex50' # basename = 'data/fuv_cache/cache_groupFungus_k256_nclass134_nex10000' # basename = 'data/fuv_cache/cache_groupFungus_k256_nclass134_nex10000' # basename = 'data/fuv_cache/cache_groupVehicle_k256_nclass262_nex50' basename = 'data/imagenet_cache/k1024_nclass50_nex50' Xtrain = ynumpy.fvecs_read(basename + '_Xtrain.fvecs') Ltrain = ynumpy.ivecs_read(basename + '_Ltrain.ivecs') Ltrain = Ltrain - 1 # basename = "data/BOW_florent/vehicle262_train_first50" # basename = "data/BOW_florent/ungulate183_train" Xvalid = ynumpy.fvecs_read(basename + '_Xtest.fvecs') Lvalid = ynumpy.ivecs_read(basename + '_Ltest.ivecs') Lvalid = Lvalid - 1 # Xvalid = Xvalid[:10,:] # Lvalid = Lvalid[:10,:] n = Xtrain.shape[0]
print "best params found: score %.3f" % (best_score * 100) for params, epoch in best_op: print params, epoch return [(params, epoch) for params, epoch in best_op] if __name__ == '__main__': # where to load the data from basename = "../example_data/groupFungus_k64_nclass134_nex50" print "Loading train data %s" % basename Xtrain = ynumpy.fvecs_read(basename + '_Xtrain.fvecs') Ltrain = ynumpy.ivecs_read(basename + '_Ltrain.ivecs') # correct Matlab indices Ltrain = Ltrain - 1 n, d = Xtrain.shape nclass = max(Ltrain) + 1 print "train size %d vectors in %dD, %d classes " % (n, d, nclass) # random permutation of data numpy.random.seed(0) perm = numpy.random.permutation(n) Xtrain = Xtrain[perm, :]
from yael import ynumpy, yael from jsgd import * # mini-problem: 10 fungus classes, 10 examples / class, 4096D descriptors # basename = "../example_data/groupFungus_k64_nclass10_nex10" # medium: all fungus classes, 50 examples / class, 4096D descriptors basename = "../example_data/groupFungus_k64_nclass134_nex50" # 50 imagenet classes, 50 images / class (+50 for testing), 128 k-dimensional descriptors # basename = 'data/imagenet_cache/k1024_nclass50_nex50' # load training data Xtrain = ynumpy.fvecs_read(basename + '_Xtrain.fvecs') Ltrain = ynumpy.ivecs_read(basename + '_Ltrain.ivecs') # shift to get 0-based labels Ltrain = Ltrain - 1 # load test data Xtest = ynumpy.fvecs_read(basename + '_Xtest.fvecs') Ltest = ynumpy.ivecs_read(basename + '_Ltest.ivecs') Ltest = Ltest - 1 # random permutation of train n = Xtrain.shape[0] numpy.random.seed(0) perm = numpy.random.permutation(n) Xtrain = Xtrain[perm, :] Ltrain = Ltrain[perm, :]