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)))
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)))
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)