Open silverroses opened 8 years ago
Hello @silverroses Thanks for the feedback! It could be a memory error but it's quite surprising that it happens during training. Can you send the whole log of the console, please? Also, how much RAM memory do you have?
Thank you for the prompt response!
I deleted some pixels, and the error stopped occurring. The computer has 32 GB of RAM and its processor is the i7-4790. Here is a screen shot of the memory allocation during training.
Here is the log:
Refreshing GOE props...
java.lang.NullPointerException
at weka.core.ClassCache.initFromManifest(ClassCache.java:248)
at weka.core.ClassCache.initFromJar(ClassCache.java:293)
at weka.core.ClassCache.initFromClasspathPart(ClassCache.java:351)
at weka.core.ClassCache.initialize(ClassCache.java:373)
at weka.core.ClassCache.
at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:222)
at java.util.concurrent.FutureTask.get(FutureTask.java:83)
at hr.irb.fastRandomForest.FastRfBagging.buildClassifier(FastRfBagging.java:191)
at hr.irb.fastRandomForest.FastRandomForest.buildClassifier(FastRandomForest.java:635)
at trainableSegmentation.WekaSegmentation.trainClassifier(WekaSegmentation.java:4307)
at trainableSegmentation.Weka_Segmentation$4.run(Weka_Segmentation.java:1430)
Caused by: java.lang.ArrayIndexOutOfBoundsException: -5843 at hr.irb.fastRandomForest.FastRandomTree.run(FastRandomTree.java:202) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) at java.util.concurrent.FutureTask.run(FutureTask.java:138) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) at java.lang.Thread.run(Thread.java:662) java.util.concurrent.ExecutionException: java.lang.ArrayIndexOutOfBoundsException java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:222) java.util.concurrent.FutureTask.get(FutureTask.java:83) hr.irb.fastRandomForest.FastRfBagging.buildClassifier(FastRfBagging.java:191) hr.irb.fastRandomForest.FastRandomForest.buildClassifier(FastRandomForest.java:635) trainableSegmentation.WekaSegmentation.trainClassifier(WekaSegmentation.java:4307) trainableSegmentation.Weka_Segmentation$4.run(Weka_Segmentation.java:1430)
at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:222)
at java.util.concurrent.FutureTask.get(FutureTask.java:83)
at hr.irb.fastRandomForest.FastRfBagging.buildClassifier(FastRfBagging.java:191)
at hr.irb.fastRandomForest.FastRandomForest.buildClassifier(FastRandomForest.java:635)
at trainableSegmentation.WekaSegmentation.trainClassifier(WekaSegmentation.java:4307)
at trainableSegmentation.Weka_Segmentation$4.run(Weka_Segmentation.java:1430)
Caused by: java.lang.ArrayIndexOutOfBoundsException java.util.concurrent.ExecutionException: java.lang.ArrayIndexOutOfBoundsException java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:222) java.util.concurrent.FutureTask.get(FutureTask.java:83) hr.irb.fastRandomForest.FastRfBagging.buildClassifier(FastRfBagging.java:191) hr.irb.fastRandomForest.FastRandomForest.buildClassifier(FastRandomForest.java:635) trainableSegmentation.WekaSegmentation.trainClassifier(WekaSegmentation.java:4307) trainableSegmentation.Weka_Segmentation$4.run(Weka_Segmentation.java:1430)
at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:222)
at java.util.concurrent.FutureTask.get(FutureTask.java:83)
at hr.irb.fastRandomForest.FastRfBagging.buildClassifier(FastRfBagging.java:191)
at hr.irb.fastRandomForest.FastRandomForest.buildClassifier(FastRandomForest.java:635)
at trainableSegmentation.WekaSegmentation.trainClassifier(WekaSegmentation.java:4307)
at trainableSegmentation.Weka_Segmentation$4.run(Weka_Segmentation.java:1430)
Caused by: java.lang.ArrayIndexOutOfBoundsException java.util.concurrent.ExecutionException: java.lang.ArrayIndexOutOfBoundsException java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:222) java.util.concurrent.FutureTask.get(FutureTask.java:83) hr.irb.fastRandomForest.FastRfBagging.buildClassifier(FastRfBagging.java:191) hr.irb.fastRandomForest.FastRandomForest.buildClassifier(FastRandomForest.java:635) trainableSegmentation.WekaSegmentation.trainClassifier(WekaSegmentation.java:4307) trainableSegmentation.Weka_Segmentation$4.run(Weka_Segmentation.java:1430)
at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:222)
at java.util.concurrent.FutureTask.get(FutureTask.java:83)
at hr.irb.fastRandomForest.FastRfBagging.buildClassifier(FastRfBagging.java:191)
at hr.irb.fastRandomForest.FastRandomForest.buildClassifier(FastRandomForest.java:635)
at trainableSegmentation.WekaSegmentation.trainClassifier(WekaSegmentation.java:4307)
at trainableSegmentation.Weka_Segmentation$4.run(Weka_Segmentation.java:1430)
Caused by: java.lang.ArrayIndexOutOfBoundsException java.util.concurrent.ExecutionException: java.lang.ArrayIndexOutOfBoundsException java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:222) java.util.concurrent.FutureTask.get(FutureTask.java:83) hr.irb.fastRandomForest.FastRfBagging.buildClassifier(FastRfBagging.java:191) hr.irb.fastRandomForest.FastRandomForest.buildClassifier(FastRandomForest.java:635) trainableSegmentation.WekaSegmentation.trainClassifier(WekaSegmentation.java:4307) trainableSegmentation.Weka_Segmentation$4.run(Weka_Segmentation.java:1430)
at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:222)
at java.util.concurrent.FutureTask.get(FutureTask.java:83)
at hr.irb.fastRandomForest.FastRfBagging.buildClassifier(FastRfBagging.java:191)
at hr.irb.fastRandomForest.FastRandomForest.buildClassifier(FastRandomForest.java:635)
at trainableSegmentation.WekaSegmentation.trainClassifier(WekaSegmentation.java:4307)
at trainableSegmentation.Weka_Segmentation$4.run(Weka_Segmentation.java:1430)
Caused by: java.lang.ArrayIndexOutOfBoundsException java.util.concurrent.ExecutionException: java.lang.ArrayIndexOutOfBoundsException java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:222) java.util.concurrent.FutureTask.get(FutureTask.java:83) hr.irb.fastRandomForest.FastRfBagging.buildClassifier(FastRfBagging.java:191) hr.irb.fastRandomForest.FastRandomForest.buildClassifier(FastRandomForest.java:635) trainableSegmentation.WekaSegmentation.trainClassifier(WekaSegmentation.java:4307) trainableSegmentation.Weka_Segmentation$4.run(Weka_Segmentation.java:1430)
at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:222)
at java.util.concurrent.FutureTask.get(FutureTask.java:83)
at hr.irb.fastRandomForest.FastRfBagging.buildClassifier(FastRfBagging.java:191)
at hr.irb.fastRandomForest.FastRandomForest.buildClassifier(FastRandomForest.java:635)
at trainableSegmentation.WekaSegmentation.trainClassifier(WekaSegmentation.java:4307)
at trainableSegmentation.Weka_Segmentation$4.run(Weka_Segmentation.java:1430)
Caused by: java.lang.ArrayIndexOutOfBoundsException java.util.concurrent.ExecutionException: java.lang.ArrayIndexOutOfBoundsException java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:222) java.util.concurrent.FutureTask.get(FutureTask.java:83) hr.irb.fastRandomForest.FastRfBagging.buildClassifier(FastRfBagging.java:191) hr.irb.fastRandomForest.FastRandomForest.buildClassifier(FastRandomForest.java:635) trainableSegmentation.WekaSegmentation.trainClassifier(WekaSegmentation.java:4307) trainableSegmentation.Weka_Segmentation$4.run(Weka_Segmentation.java:1430)
at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:222)
at java.util.concurrent.FutureTask.get(FutureTask.java:83)
at hr.irb.fastRandomForest.FastRfBagging.buildClassifier(FastRfBagging.java:191)
at hr.irb.fastRandomForest.FastRandomForest.buildClassifier(FastRandomForest.java:635)
at trainableSegmentation.WekaSegmentation.trainClassifier(WekaSegmentation.java:4307)
at trainableSegmentation.Weka_Segmentation$4.run(Weka_Segmentation.java:1430)
Caused by: java.lang.ArrayIndexOutOfBoundsException java.util.concurrent.ExecutionException: java.lang.ArrayIndexOutOfBoundsException java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:222) java.util.concurrent.FutureTask.get(FutureTask.java:83) hr.irb.fastRandomForest.FastRfBagging.buildClassifier(FastRfBagging.java:191) hr.irb.fastRandomForest.FastRandomForest.buildClassifier(FastRandomForest.java:635) trainableSegmentation.WekaSegmentation.trainClassifier(WekaSegmentation.java:4307) trainableSegmentation.Weka_Segmentation$4.run(Weka_Segmentation.java:1430)
at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:222)
at java.util.concurrent.FutureTask.get(FutureTask.java:83)
at hr.irb.fastRandomForest.FastRfBagging.buildClassifier(FastRfBagging.java:191)
at hr.irb.fastRandomForest.FastRandomForest.buildClassifier(FastRandomForest.java:635)
at trainableSegmentation.WekaSegmentation.trainClassifier(WekaSegmentation.java:4307)
at trainableSegmentation.Weka_Segmentation$4.run(Weka_Segmentation.java:1430)
Caused by: java.lang.ArrayIndexOutOfBoundsException java.util.concurrent.ExecutionException: java.lang.ArrayIndexOutOfBoundsException java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:222) java.util.concurrent.FutureTask.get(FutureTask.java:83) hr.irb.fastRandomForest.FastRfBagging.buildClassifier(FastRfBagging.java:191) hr.irb.fastRandomForest.FastRandomForest.buildClassifier(FastRandomForest.java:635) trainableSegmentation.WekaSegmentation.trainClassifier(WekaSegmentation.java:4307) trainableSegmentation.Weka_Segmentation$4.run(Weka_Segmentation.java:1430)
at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:222)
at java.util.concurrent.FutureTask.get(FutureTask.java:83)
at hr.irb.fastRandomForest.FastRfBagging.buildClassifier(FastRfBagging.java:191)
at hr.irb.fastRandomForest.FastRandomForest.buildClassifier(FastRandomForest.java:635)
at trainableSegmentation.WekaSegmentation.trainClassifier(WekaSegmentation.java:4307)
at trainableSegmentation.Weka_Segmentation$4.run(Weka_Segmentation.java:1430)
Caused by: java.lang.ArrayIndexOutOfBoundsException java.lang.ArrayIndexOutOfBoundsException: 4 weka.filters.supervised.instance.Resample.createSubsample(Resample.java:667) weka.filters.supervised.instance.Resample.batchFinished(Resample.java:506) weka.filters.Filter.useFilter(Filter.java:667) trainableSegmentation.WekaSegmentation.homogenizeTrainingData(WekaSegmentation.java:2972) trainableSegmentation.WekaSegmentation.trainClassifier(WekaSegmentation.java:4290) trainableSegmentation.Weka_Segmentation$4.run(Weka_Segmentation.java:1430)
at weka.filters.supervised.instance.Resample.createSubsample(Resample.java:667)
at weka.filters.supervised.instance.Resample.batchFinished(Resample.java:506)
at weka.filters.Filter.useFilter(Filter.java:667)
at trainableSegmentation.WekaSegmentation.homogenizeTrainingData(WekaSegmentation.java:2972)
at trainableSegmentation.WekaSegmentation.trainClassifier(WekaSegmentation.java:4290)
at trainableSegmentation.Weka_Segmentation$4.run(Weka_Segmentation.java:1430)
java.lang.NullPointerException weka.core.Capabilities.test(Capabilities.java:1045) weka.core.Capabilities.testWithFail(Capabilities.java:1356) hr.irb.fastRandomForest.FastRandomForest.buildClassifier(FastRandomForest.java:593) trainableSegmentation.WekaSegmentation.trainClassifier(WekaSegmentation.java:4307) trainableSegmentation.Weka_Segmentation$4.run(Weka_Segmentation.java:1430)
at weka.core.Capabilities.test(Capabilities.java:1045)
at weka.core.Capabilities.testWithFail(Capabilities.java:1356)
at hr.irb.fastRandomForest.FastRandomForest.buildClassifier(FastRandomForest.java:593)
at trainableSegmentation.WekaSegmentation.trainClassifier(WekaSegmentation.java:4307)
at trainableSegmentation.Weka_Segmentation$4.run(Weka_Segmentation.java:1430)
java.lang.ArrayIndexOutOfBoundsException
java.lang.NullPointerException weka.core.Capabilities.test(Capabilities.java:1045) weka.core.Capabilities.testWithFail(Capabilities.java:1356) hr.irb.fastRandomForest.FastRandomForest.buildClassifier(FastRandomForest.java:593) trainableSegmentation.WekaSegmentation.trainClassifier(WekaSegmentation.java:4307) trainableSegmentation.Weka_Segmentation$4.run(Weka_Segmentation.java:1430)
at weka.core.Capabilities.test(Capabilities.java:1045)
at weka.core.Capabilities.testWithFail(Capabilities.java:1356)
at hr.irb.fastRandomForest.FastRandomForest.buildClassifier(FastRandomForest.java:593)
at trainableSegmentation.WekaSegmentation.trainClassifier(WekaSegmentation.java:4307)
at trainableSegmentation.Weka_Segmentation$4.run(Weka_Segmentation.java:1430)
java.util.concurrent.ExecutionException: java.lang.ArrayIndexOutOfBoundsException java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:222) java.util.concurrent.FutureTask.get(FutureTask.java:83) hr.irb.fastRandomForest.FastRfBagging.buildClassifier(FastRfBagging.java:191) hr.irb.fastRandomForest.FastRandomForest.buildClassifier(FastRandomForest.java:635) trainableSegmentation.WekaSegmentation.trainClassifier(WekaSegmentation.java:4307) trainableSegmentation.Weka_Segmentation$4.run(Weka_Segmentation.java:1430)
at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:222)
at java.util.concurrent.FutureTask.get(FutureTask.java:83)
at hr.irb.fastRandomForest.FastRfBagging.buildClassifier(FastRfBagging.java:191)
at hr.irb.fastRandomForest.FastRandomForest.buildClassifier(FastRandomForest.java:635)
at trainableSegmentation.WekaSegmentation.trainClassifier(WekaSegmentation.java:4307)
at trainableSegmentation.Weka_Segmentation$4.run(Weka_Segmentation.java:1430)
Caused by: java.lang.ArrayIndexOutOfBoundsException java.util.concurrent.ExecutionException: java.lang.ArrayIndexOutOfBoundsException java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:222) java.util.concurrent.FutureTask.get(FutureTask.java:83) hr.irb.fastRandomForest.FastRfBagging.buildClassifier(FastRfBagging.java:191) hr.irb.fastRandomForest.FastRandomForest.buildClassifier(FastRandomForest.java:635) trainableSegmentation.WekaSegmentation.trainClassifier(WekaSegmentation.java:4307) trainableSegmentation.Weka_Segmentation$4.run(Weka_Segmentation.java:1430)
at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:222)
at java.util.concurrent.FutureTask.get(FutureTask.java:83)
at hr.irb.fastRandomForest.FastRfBagging.buildClassifier(FastRfBagging.java:191)
at hr.irb.fastRandomForest.FastRandomForest.buildClassifier(FastRandomForest.java:635)
at trainableSegmentation.WekaSegmentation.trainClassifier(WekaSegmentation.java:4307)
at trainableSegmentation.Weka_Segmentation$4.run(Weka_Segmentation.java:1430)
Caused by: java.lang.ArrayIndexOutOfBoundsException java.util.concurrent.ExecutionException: java.lang.ArrayIndexOutOfBoundsException java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:222) java.util.concurrent.FutureTask.get(FutureTask.java:83) hr.irb.fastRandomForest.FastRfBagging.buildClassifier(FastRfBagging.java:191) hr.irb.fastRandomForest.FastRandomForest.buildClassifier(FastRandomForest.java:635) trainableSegmentation.WekaSegmentation.trainClassifier(WekaSegmentation.java:4307) trainableSegmentation.Weka_Segmentation$4.run(Weka_Segmentation.java:1430)
at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:222)
at java.util.concurrent.FutureTask.get(FutureTask.java:83)
at hr.irb.fastRandomForest.FastRfBagging.buildClassifier(FastRfBagging.java:191)
at hr.irb.fastRandomForest.FastRandomForest.buildClassifier(FastRandomForest.java:635)
at trainableSegmentation.WekaSegmentation.trainClassifier(WekaSegmentation.java:4307)
at trainableSegmentation.Weka_Segmentation$4.run(Weka_Segmentation.java:1430)
Caused by: java.lang.ArrayIndexOutOfBoundsException java.util.concurrent.ExecutionException: java.lang.ArrayIndexOutOfBoundsException java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:222) java.util.concurrent.FutureTask.get(FutureTask.java:83) hr.irb.fastRandomForest.FastRfBagging.buildClassifier(FastRfBagging.java:191) hr.irb.fastRandomForest.FastRandomForest.buildClassifier(FastRandomForest.java:635) trainableSegmentation.WekaSegmentation.trainClassifier(WekaSegmentation.java:4307) trainableSegmentation.Weka_Segmentation$4.run(Weka_Segmentation.java:1430)
at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:222)
at java.util.concurrent.FutureTask.get(FutureTask.java:83)
at hr.irb.fastRandomForest.FastRfBagging.buildClassifier(FastRfBagging.java:191)
at hr.irb.fastRandomForest.FastRandomForest.buildClassifier(FastRandomForest.java:635)
at trainableSegmentation.WekaSegmentation.trainClassifier(WekaSegmentation.java:4307)
at trainableSegmentation.Weka_Segmentation$4.run(Weka_Segmentation.java:1430)
Caused by: java.lang.ArrayIndexOutOfBoundsException java.util.concurrent.ExecutionException: java.lang.ArrayIndexOutOfBoundsException java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:222) java.util.concurrent.FutureTask.get(FutureTask.java:83) hr.irb.fastRandomForest.FastRfBagging.buildClassifier(FastRfBagging.java:191) hr.irb.fastRandomForest.FastRandomForest.buildClassifier(FastRandomForest.java:635) trainableSegmentation.WekaSegmentation.trainClassifier(WekaSegmentation.java:4307) trainableSegmentation.Weka_Segmentation$4.run(Weka_Segmentation.java:1430)
at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:222)
at java.util.concurrent.FutureTask.get(FutureTask.java:83)
at hr.irb.fastRandomForest.FastRfBagging.buildClassifier(FastRfBagging.java:191)
at hr.irb.fastRandomForest.FastRandomForest.buildClassifier(FastRandomForest.java:635)
at trainableSegmentation.WekaSegmentation.trainClassifier(WekaSegmentation.java:4307)
at trainableSegmentation.Weka_Segmentation$4.run(Weka_Segmentation.java:1430)
Caused by: java.lang.ArrayIndexOutOfBoundsException java.lang.IndexOutOfBoundsException: Index: 24466, Size: 3 java.util.ArrayList.RangeCheck(ArrayList.java:547) java.util.ArrayList.get(ArrayList.java:322) weka.core.Attribute.value(Attribute.java:808) weka.core.AbstractInstance.stringValue(AbstractInstance.java:668) weka.core.AbstractInstance.stringValue(AbstractInstance.java:644) weka.core.AbstractInstance.toString(AbstractInstance.java:756) weka.core.DenseInstance.toStringNoWeight(DenseInstance.java:316) weka.core.AbstractInstance.toStringMaxDecimalDigits(AbstractInstance.java:692) weka.core.AbstractInstance.toString(AbstractInstance.java:712) trainableSegmentation.WekaSegmentation.writeDataToARFF(WekaSegmentation.java:3679) trainableSegmentation.WekaSegmentation.saveData(WekaSegmentation.java:783) trainableSegmentation.Weka_Segmentation.saveTrainingData(Weka_Segmentation.java:2035) trainableSegmentation.Weka_Segmentation$1$1.run(Weka_Segmentation.java:410) java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) java.util.concurrent.FutureTask.run(FutureTask.java:138) java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) java.lang.Thread.run(Thread.java:662)
at java.util.ArrayList.RangeCheck(ArrayList.java:547)
at java.util.ArrayList.get(ArrayList.java:322)
at weka.core.Attribute.value(Attribute.java:808)
at weka.core.AbstractInstance.stringValue(AbstractInstance.java:668)
at weka.core.AbstractInstance.stringValue(AbstractInstance.java:644)
at weka.core.AbstractInstance.toString(AbstractInstance.java:756)
at weka.core.DenseInstance.toStringNoWeight(DenseInstance.java:316)
at weka.core.AbstractInstance.toStringMaxDecimalDigits(AbstractInstance.java:692)
at weka.core.AbstractInstance.toString(AbstractInstance.java:712)
at trainableSegmentation.WekaSegmentation.writeDataToARFF(WekaSegmentation.java:3679)
at trainableSegmentation.WekaSegmentation.saveData(WekaSegmentation.java:783)
at trainableSegmentation.Weka_Segmentation.saveTrainingData(Weka_Segmentation.java:2035)
at trainableSegmentation.Weka_Segmentation$1$1.run(Weka_Segmentation.java:410)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
java.util.concurrent.ExecutionException: java.lang.ArrayIndexOutOfBoundsException java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:222) java.util.concurrent.FutureTask.get(FutureTask.java:83) hr.irb.fastRandomForest.FastRfBagging.buildClassifier(FastRfBagging.java:191) hr.irb.fastRandomForest.FastRandomForest.buildClassifier(FastRandomForest.java:635) trainableSegmentation.WekaSegmentation.trainClassifier(WekaSegmentation.java:4307) trainableSegmentation.Weka_Segmentation$4.run(Weka_Segmentation.java:1430)
at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:222)
at java.util.concurrent.FutureTask.get(FutureTask.java:83)
at hr.irb.fastRandomForest.FastRfBagging.buildClassifier(FastRfBagging.java:191)
at hr.irb.fastRandomForest.FastRandomForest.buildClassifier(FastRandomForest.java:635)
at trainableSegmentation.WekaSegmentation.trainClassifier(WekaSegmentation.java:4307)
at trainableSegmentation.Weka_Segmentation$4.run(Weka_Segmentation.java:1430)
Caused by: java.lang.ArrayIndexOutOfBoundsException java.util.concurrent.ExecutionException: java.lang.ArrayIndexOutOfBoundsException java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:222) java.util.concurrent.FutureTask.get(FutureTask.java:83) hr.irb.fastRandomForest.FastRfBagging.buildClassifier(FastRfBagging.java:191) hr.irb.fastRandomForest.FastRandomForest.buildClassifier(FastRandomForest.java:635) trainableSegmentation.WekaSegmentation.trainClassifier(WekaSegmentation.java:4307) trainableSegmentation.Weka_Segmentation$4.run(Weka_Segmentation.java:1430)
at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:222)
at java.util.concurrent.FutureTask.get(FutureTask.java:83)
at hr.irb.fastRandomForest.FastRfBagging.buildClassifier(FastRfBagging.java:191)
at hr.irb.fastRandomForest.FastRandomForest.buildClassifier(FastRandomForest.java:635)
at trainableSegmentation.WekaSegmentation.trainClassifier(WekaSegmentation.java:4307)
at trainableSegmentation.Weka_Segmentation$4.run(Weka_Segmentation.java:1430)
Caused by: java.lang.ArrayIndexOutOfBoundsException java.lang.IndexOutOfBoundsException: Index: 24466, Size: 3 java.util.ArrayList.RangeCheck(ArrayList.java:547) java.util.ArrayList.get(ArrayList.java:322) weka.core.Attribute.value(Attribute.java:808) weka.core.AbstractInstance.stringValue(AbstractInstance.java:668) weka.core.AbstractInstance.stringValue(AbstractInstance.java:644) weka.core.AbstractInstance.toString(AbstractInstance.java:756) weka.core.DenseInstance.toStringNoWeight(DenseInstance.java:316) weka.core.AbstractInstance.toStringMaxDecimalDigits(AbstractInstance.java:692) weka.core.AbstractInstance.toString(AbstractInstance.java:712) trainableSegmentation.WekaSegmentation.writeDataToARFF(WekaSegmentation.java:3679) trainableSegmentation.WekaSegmentation.saveData(WekaSegmentation.java:783) trainableSegmentation.Weka_Segmentation.saveTrainingData(Weka_Segmentation.java:2035) trainableSegmentation.Weka_Segmentation$1$1.run(Weka_Segmentation.java:410) java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) java.util.concurrent.FutureTask.run(FutureTask.java:138) java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) java.lang.Thread.run(Thread.java:662)
at java.util.ArrayList.RangeCheck(ArrayList.java:547)
at java.util.ArrayList.get(ArrayList.java:322)
at weka.core.Attribute.value(Attribute.java:808)
at weka.core.AbstractInstance.stringValue(AbstractInstance.java:668)
at weka.core.AbstractInstance.stringValue(AbstractInstance.java:644)
at weka.core.AbstractInstance.toString(AbstractInstance.java:756)
at weka.core.DenseInstance.toStringNoWeight(DenseInstance.java:316)
at weka.core.AbstractInstance.toStringMaxDecimalDigits(AbstractInstance.java:692)
at weka.core.AbstractInstance.toString(AbstractInstance.java:712)
at trainableSegmentation.WekaSegmentation.writeDataToARFF(WekaSegmentation.java:3679)
at trainableSegmentation.WekaSegmentation.saveData(WekaSegmentation.java:783)
at trainableSegmentation.Weka_Segmentation.saveTrainingData(Weka_Segmentation.java:2035)
at trainableSegmentation.Weka_Segmentation$1$1.run(Weka_Segmentation.java:410)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
java.util.concurrent.ExecutionException: java.lang.ArrayIndexOutOfBoundsException java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:222) java.util.concurrent.FutureTask.get(FutureTask.java:83) hr.irb.fastRandomForest.FastRfBagging.buildClassifier(FastRfBagging.java:191) hr.irb.fastRandomForest.FastRandomForest.buildClassifier(FastRandomForest.java:635) trainableSegmentation.WekaSegmentation.trainClassifier(WekaSegmentation.java:4307) trainableSegmentation.Weka_Segmentation$4.run(Weka_Segmentation.java:1430)
at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:222)
at java.util.concurrent.FutureTask.get(FutureTask.java:83)
at hr.irb.fastRandomForest.FastRfBagging.buildClassifier(FastRfBagging.java:191)
at hr.irb.fastRandomForest.FastRandomForest.buildClassifier(FastRandomForest.java:635)
at trainableSegmentation.WekaSegmentation.trainClassifier(WekaSegmentation.java:4307)
at trainableSegmentation.Weka_Segmentation$4.run(Weka_Segmentation.java:1430)
Caused by: java.lang.ArrayIndexOutOfBoundsException java.util.concurrent.ExecutionException: java.lang.ArrayIndexOutOfBoundsException java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:222) java.util.concurrent.FutureTask.get(FutureTask.java:83) hr.irb.fastRandomForest.FastRfBagging.buildClassifier(FastRfBagging.java:191) hr.irb.fastRandomForest.FastRandomForest.buildClassifier(FastRandomForest.java:635) trainableSegmentation.WekaSegmentation.trainClassifier(WekaSegmentation.java:4307) trainableSegmentation.Weka_Segmentation$4.run(Weka_Segmentation.java:1430)
at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:222)
at java.util.concurrent.FutureTask.get(FutureTask.java:83)
at hr.irb.fastRandomForest.FastRfBagging.buildClassifier(FastRfBagging.java:191)
at hr.irb.fastRandomForest.FastRandomForest.buildClassifier(FastRandomForest.java:635)
at trainableSegmentation.WekaSegmentation.trainClassifier(WekaSegmentation.java:4307)
at trainableSegmentation.Weka_Segmentation$4.run(Weka_Segmentation.java:1430)
Caused by: java.lang.ArrayIndexOutOfBoundsException java.util.concurrent.ExecutionException: java.lang.ArrayIndexOutOfBoundsException java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:222) java.util.concurrent.FutureTask.get(FutureTask.java:83) hr.irb.fastRandomForest.FastRfBagging.buildClassifier(FastRfBagging.java:191) hr.irb.fastRandomForest.FastRandomForest.buildClassifier(FastRandomForest.java:635) trainableSegmentation.WekaSegmentation.trainClassifier(WekaSegmentation.java:4307) trainableSegmentation.Weka_Segmentation$4.run(Weka_Segmentation.java:1430)
at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:222)
at java.util.concurrent.FutureTask.get(FutureTask.java:83)
at hr.irb.fastRandomForest.FastRfBagging.buildClassifier(FastRfBagging.java:191)
at hr.irb.fastRandomForest.FastRandomForest.buildClassifier(FastRandomForest.java:635)
at trainableSegmentation.WekaSegmentation.trainClassifier(WekaSegmentation.java:4307)
at trainableSegmentation.Weka_Segmentation$4.run(Weka_Segmentation.java:1430)
Caused by: java.lang.ArrayIndexOutOfBoundsException java.util.concurrent.ExecutionException: java.lang.ArrayIndexOutOfBoundsException java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:222) java.util.concurrent.FutureTask.get(FutureTask.java:83) hr.irb.fastRandomForest.FastRfBagging.buildClassifier(FastRfBagging.java:191) hr.irb.fastRandomForest.FastRandomForest.buildClassifier(FastRandomForest.java:635) trainableSegmentation.WekaSegmentation.trainClassifier(WekaSegmentation.java:4307) trainableSegmentation.Weka_Segmentation$4.run(Weka_Segmentation.java:1430)
at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:222)
at java.util.concurrent.FutureTask.get(FutureTask.java:83)
at hr.irb.fastRandomForest.FastRfBagging.buildClassifier(FastRfBagging.java:191)
at hr.irb.fastRandomForest.FastRandomForest.buildClassifier(FastRandomForest.java:635)
at trainableSegmentation.WekaSegmentation.trainClassifier(WekaSegmentation.java:4307)
at trainableSegmentation.Weka_Segmentation$4.run(Weka_Segmentation.java:1430)
Caused by: java.lang.ArrayIndexOutOfBoundsException java.lang.IndexOutOfBoundsException: Index: 13004, Size: 3 java.util.ArrayList.RangeCheck(ArrayList.java:547) java.util.ArrayList.get(ArrayList.java:322) weka.core.Attribute.value(Attribute.java:808) weka.core.AbstractInstance.stringValue(AbstractInstance.java:668) weka.core.AbstractInstance.stringValue(AbstractInstance.java:644) weka.core.AbstractInstance.toString(AbstractInstance.java:756) weka.core.DenseInstance.toStringNoWeight(DenseInstance.java:316) weka.core.AbstractInstance.toStringMaxDecimalDigits(AbstractInstance.java:692) weka.core.AbstractInstance.toString(AbstractInstance.java:712) trainableSegmentation.WekaSegmentation.writeDataToARFF(WekaSegmentation.java:3679) trainableSegmentation.WekaSegmentation.saveData(WekaSegmentation.java:783) trainableSegmentation.Weka_Segmentation.saveTrainingData(Weka_Segmentation.java:2035) trainableSegmentation.Weka_Segmentation$1$1.run(Weka_Segmentation.java:410) java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) java.util.concurrent.FutureTask.run(FutureTask.java:138) java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) java.lang.Thread.run(Thread.java:662)
at java.util.ArrayList.RangeCheck(ArrayList.java:547)
at java.util.ArrayList.get(ArrayList.java:322)
at weka.core.Attribute.value(Attribute.java:808)
at weka.core.AbstractInstance.stringValue(AbstractInstance.java:668)
at weka.core.AbstractInstance.stringValue(AbstractInstance.java:644)
at weka.core.AbstractInstance.toString(AbstractInstance.java:756)
at weka.core.DenseInstance.toStringNoWeight(DenseInstance.java:316)
at weka.core.AbstractInstance.toStringMaxDecimalDigits(AbstractInstance.java:692)
at weka.core.AbstractInstance.toString(AbstractInstance.java:712)
at trainableSegmentation.WekaSegmentation.writeDataToARFF(WekaSegmentation.java:3679)
at trainableSegmentation.WekaSegmentation.saveData(WekaSegmentation.java:783)
at trainableSegmentation.Weka_Segmentation.saveTrainingData(Weka_Segmentation.java:2035)
at trainableSegmentation.Weka_Segmentation$1$1.run(Weka_Segmentation.java:410)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
Thanks, @silverroses That was very useful! It seems the error is on the construction of the random forest, which is very surprising. Can you try using the regular RandomForest classifier from WEKA and let me know what happens?
It would be very helpful if you could send me the input image and the ROIs you used so I can reproduce the error on my machine.
Could you also send me the output of the Fiji log window, please? That way I can know how many features you're using and on how many slices you traced some samples.
Hello! So after deleting some data points, I haven't encountered the error again, I'll start adding more points for a better classification and once the error occurs again, I'll send the data. Just one question, the ROI's would be the arff file, no? Thanks!
I understand you can't send me the ARFF files because whenever you try to save the data the plugin throws an exception. I meant to send me the actual regions of interest you traced using the GUI. You would have to save them using the ROI manager.
Hello again!
Sorry for the late reply. I noticed that the error occurred because I added an additional training features to the default while having a large training dataset. Since I had a conference paper deadline, i just analyzed the images with the default.
Now, since analyzing a 100 slide portion of the 1000 image stack takes a lot of iteration, and a classifier on a set of 100 slides is not a perfect match for the next 100 slides, we are trying different classifier combinations. So I have here reproduced the error with a smaller training set but with a greater number of training features. I have attached the data files as well as the region of interest files and a sample classifier from a previous set of slides.
I also wanted to ask, are there some training features that would be particularly helpful for this data set? Also, is the fast random forest classification method the best for this kind of data? We have upwards of 50 images and it takes us a week to completely segment just one in the best instances (Around 60 hours). Any insight would be greatly appreciated.
Thank you very much and sorry for the late reply! Isa
image link: [https://www.dropbox.com/s/3u3r6l6gc5yhbtg/recon-27-Ia-innerC-2.tif?dl=0]
error_log_many_features.txt Arrf file [https://www.dropbox.com/s/l171wx0eci4i01m/data2.arff?dl=0]
Hello Isa,
Thanks for sending the data, that really helps! I think you don't need to use many features for this problem. Here is the segmentation I got using your ROIs and just 31 features: What do you think? These are the settings I used: On my machine this configuration used 7.5GB of RAM. ignacio
Dear @silverroses, can you please confirm if the issue was fixed with the latest versions of the plugin?
Hello!
I've been using your very cool plug-in to help with the image segmentation of a three phase material. It has been working well, but now I have been getting an error caused by java.lang.ArrayIndexOutOfBoundsException. I'm analyzing a 3-D 672x672x90 image. I am wondering, does the code has a maximum number of sample pixels that can be given? Or is this another instance of an out of memory error? (I've had lots of problems with that... the image is actually a 672x672x990 image that has been cropped into manageable slices). It also does not let me save the data points in the arff file.
Thank you so much for this awesome plug-in! Isa
Here are some screenshots Training Error:
Save Data Error: