def test_feature(feature_impl, X_train, y_train, X_test, y_test):
    start = time.time()
    print 'calculating features...',
    worker = MultiProcessWorker(feature_impl)
    X_train = worker.run(X_train)
    del worker
    worker = MultiProcessWorker(feature_impl)
    X_test = worker.run(X_test)
    del worker
    print 'time elapsed: ', time.time() - start

    start = time.time()
    gmmset = GMMSet()
    print 'training ...',
    gmmset.fit(X_train, y_train)
    nr_correct = 0
    print 'time elapsed: ', time.time() - start

    print 'predicting...',
    start = time.time()
    pool = multiprocessing.Pool(concurrency)
    predictions = []
    for x_test, label_true in zip(*(X_test, y_test)):
        predictions.append(
            pool.apply_async(predict_task, args=(gmmset, x_test)))
    pool.close()
    for ind, (x_test, label_true) in enumerate(zip(*(X_test, y_test))):
        label_pred = predictions[ind].get()
        if label_pred == label_true:
            nr_correct += 1
    print 'time elapsed: ', time.time() - start
    print("{}/{} {:.6f}".format(nr_correct, len(y_test),
                                float(nr_correct) / len(y_test)))
示例#2
0
 def _compute(self, data):
     worker = MultiProcessWorker(BOB.extract)
     args = []
     names = []
     for (name, fs, signal) in data:
         args.append((fs, signal))
         names.append(name)
     rst = worker.run(args)
     del worker
     return zip(names, rst)
 def _compute(self, data):
     worker = MultiProcessWorker(BOB.extract)
     args = []
     names = []
     for (name, fs, signal) in data:
         args.append((fs, signal))
         names.append(name)
     rst = worker.run(args)
     del worker
     return zip(names, rst)
示例#4
0
def test_feature(feature_impl, X_train, y_train, X_test, y_test):
    start = time.time()
    print 'calculating features...',
    worker = MultiProcessWorker(feature_impl)
    X_train = worker.run(X_train)
    del worker
    worker = MultiProcessWorker(feature_impl)
    X_test = worker.run(X_test)
    del worker
    print 'time elapsed: ', time.time() - start

    start = time.time()
    gmmset = GMMSet()
    print 'training ...' ,
    gmmset.fit(X_train, y_train)
    nr_correct = 0
    print 'time elapsed: ', time.time() - start

    print 'predicting...',
    start = time.time()
    pool = multiprocessing.Pool(concurrency)
    predictions = []
    for x_test, label_true in zip(*(X_test, y_test)):
        predictions.append(pool.apply_async(predict_task, args = (gmmset, x_test)))
    pool.close()
    for ind, (x_test, label_true) in enumerate(zip(*(X_test, y_test))):
        label_pred = predictions[ind].get()
        if label_pred == label_true:
            nr_correct += 1
    print 'time elapsed: ', time.time() - start
    print("{}/{} {:.6f}".format(nr_correct, len(y_test),
            float(nr_correct) / len(y_test)))