Skip to content
Snippets Groups Projects
Commit 344c2789 authored by Walt Mankowski's avatar Walt Mankowski
Browse files

only train on 10% of the points

parent 513d8c20
Branches
No related tags found
No related merge requests found
No preview for this file type
...@@ -9,6 +9,7 @@ import java.nio.FloatBuffer; ...@@ -9,6 +9,7 @@ import java.nio.FloatBuffer;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashSet; import java.util.HashSet;
import java.util.Random; import java.util.Random;
import java.util.Collections;
import static org.bytedeco.javacpp.opencv_core.*; import static org.bytedeco.javacpp.opencv_core.*;
import static org.bytedeco.javacpp.opencv_imgproc.*; import static org.bytedeco.javacpp.opencv_imgproc.*;
...@@ -147,6 +148,14 @@ public class Demo_Pixel_Replication implements PlugInFilter { ...@@ -147,6 +148,14 @@ public class Demo_Pixel_Replication implements PlugInFilter {
return iplOut.asCvMat(); return iplOut.asCvMat();
} }
private Mat PrPts2Mat(ArrayList<Point2f> PrPts, double pct) {
ArrayList<Point2f> ShufPts = new ArrayList<Point2f>(PrPts);
Collections.shuffle(ShufPts);
// ArrayList<Point2f> SampPts = new ArrayList<Point2f>(ShufPts.subList(0, (int) (ShufPts.size() * pct)));
// return PrPts2Mat(SampPts);
return PrPts2Mat(new ArrayList<Point2f>(ShufPts.subList(0, (int) (ShufPts.size() * pct))));
}
private Mat PrPts2Mat(ArrayList<Point2f> PrPts) { private Mat PrPts2Mat(ArrayList<Point2f> PrPts) {
Mat emMat = new Mat(PrPts.size(), 2, CV_32FC1); Mat emMat = new Mat(PrPts.size(), 2, CV_32FC1);
FloatIndexer emMatIndexer = emMat.createIndexer(); FloatIndexer emMatIndexer = emMat.createIndexer();
...@@ -171,9 +180,9 @@ public class Demo_Pixel_Replication implements PlugInFilter { ...@@ -171,9 +180,9 @@ public class Demo_Pixel_Replication implements PlugInFilter {
em.set("nclusters", k); em.set("nclusters", k);
em.set("covMatType", EM.COV_MAT_GENERIC); em.set("covMatType", EM.COV_MAT_GENERIC);
em.set("maxIters", 1000); em.set("maxIters", 1000);
// em.set("epsilon", 1e-6); em.set("epsilon", 1e-6);
Mat emMat = PrPts2Mat(PrPts); Mat emMat = PrPts2Mat(PrPts, 0.10);
Mat initMeans = randomInitMeans(k); Mat initMeans = randomInitMeans(k);
// em.trainE(emMat, initMeans, noArray()); // em.trainE(emMat, initMeans, noArray());
em.trainE(emMat, initMeans, new Mat(), new Mat(), logLikelihoods, labels, new Mat()); em.trainE(emMat, initMeans, new Mat(), new Mat(), logLikelihoods, labels, new Mat());
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment