for (double fi : MulticoreExecutor.run(ftasks)) { f += fi;
for (double[] gi : MulticoreExecutor.run(gtasks)) { f += gi[w.length]; for (int i = 0; i < w.length; i++) {
/** * Process support vectors until converge. */ public void finish() { if (k == 2) { svm.finish(); } else { List<ProcessTask> tasks = new ArrayList<>(svms.size()); for (LASVM s : svms) { tasks.add(new ProcessTask(s)); } try { MulticoreExecutor.run(tasks); } catch (Exception e) { logger.error("Failed to train SVM on multi-core", e); } } }
public CRF train(double[][][] sequences, int[][] labels) { CRF crf = new CRF(numClasses, eta); double[][] scaling = new double[sequences.length][]; TrellisNode[][][] trellis = new TrellisNode[sequences.length][][]; for (int i = 0; i < sequences.length; i++) { scaling[i] = new double[sequences[i].length]; trellis[i] = crf.getTrellis(sequences[i]); } List<GradientTask> gradientTasks = new ArrayList<>(); for (int i = 0; i < sequences.length; i++) { gradientTasks.add(new GradientTask(crf, trellis[i], scaling[i], labels[i])); } List<BoostingTask> boostingTasks = new ArrayList<>(); for (int i = 0; i < numClasses; i++) { boostingTasks.add(new BoostingTask(crf.potentials[i], trellis, i)); } for (int iter = 0; iter < iters; iter++) { try { MulticoreExecutor.run(gradientTasks); MulticoreExecutor.run(boostingTasks); } catch (Exception e) { logger.error("Failed to train CRF on multi-core", e); } } return crf; }
public CRF train(int[][][] sequences, int[][] labels) { CRF crf = new CRF(numFeatures, numClasses, eta); double[][] scaling = new double[sequences.length][]; TrellisNode[][][] trellis = new TrellisNode[sequences.length][][]; for (int i = 0; i < sequences.length; i++) { scaling[i] = new double[sequences[i].length]; trellis[i] = crf.getTrellis(sequences[i]); } List<GradientTask> gradientTasks = new ArrayList<>(); for (int i = 0; i < sequences.length; i++) { gradientTasks.add(new GradientTask(crf, trellis[i], scaling[i], labels[i])); } List<BoostingTask> boostingTasks = new ArrayList<>(); for (int i = 0; i < numClasses; i++) { boostingTasks.add(new BoostingTask(crf.potentials[i], trellis, i)); } for (int iter = 0; iter < iters; iter++) { try { MulticoreExecutor.run(gradientTasks); MulticoreExecutor.run(boostingTasks); } catch (Exception e) { logger.error("Failed to train CRF on multi-core", e); } } return crf; }
for (double fi : MulticoreExecutor.run(ftasks)) { f += fi;
for (double[] gi : MulticoreExecutor.run(gtasks)) { f += gi[w.length]; for (int i = 0; i < w.length; i++) {
/** Compute the Gaussian kernel (search the width for given perplexity. */ private double[][] expd(double[][] D, double perplexity, double tol) { int n = D.length; double[][] P = new double[n][n]; double[] DiSum = Math.rowSums(D); int nprocs = MulticoreExecutor.getThreadPoolSize(); int chunk = n / nprocs; List<PerplexityTask> tasks = new ArrayList<>(); for (int i = 0; i < nprocs; i++) { int start = i * chunk; int end = i == nprocs-1 ? n : (i+1) * chunk; PerplexityTask task = new PerplexityTask(start, end, D, P, DiSum, perplexity, tol); tasks.add(task); } try { MulticoreExecutor.run(tasks); } catch (Exception e) { logger.error("t-SNE Gaussian kernel width search task fails: {}", e); } return P; }
MulticoreExecutor.run(tasks); } catch (Exception e) { logger.error("Failed to run CLARANS on multi-core", e);
List<Long> results = MulticoreExecutor.run(tasks);
List<SIB> clusters = MulticoreExecutor.run(tasks); best = clusters.get(0); for (int i = 1; i < runs; i++) {
List<SIB> clusters = MulticoreExecutor.run(tasks); best = clusters.get(0); for (int i = 1; i < runs; i++) {
List<KMeans> clusters = MulticoreExecutor.run(tasks); for (KMeans kmeans : clusters) { if (kmeans.distortion < best.distortion) {
for (double fi : MulticoreExecutor.run(tasks)) { f += fi;
trees = MulticoreExecutor.run(tasks); } catch (Exception ex) { ex.printStackTrace();
for (Node split : MulticoreExecutor.run(tasks)) { if (split.splitScore > node.splitScore) { node.splitFeature = split.splitFeature;
for (double fi : MulticoreExecutor.run(tasks)) { f += fi;
for (double[] ki : MulticoreExecutor.run(tasks)) { for (double kij : ki) { i.kcache.add(kij);