From 2d25c746e20e50d9a20e31ccc4d2daf7698de6f8 Mon Sep 17 00:00:00 2001 From: Vojtech Moravec <vojtech.moravec.st@vsb.cz> Date: Fri, 16 Oct 2020 13:57:34 +0200 Subject: [PATCH] Add option to not duplicate source vectors. This change save A LOT OF memory. --- .../cz/it4i/qcmp/quantization/vector/LBGVectorQuantizer.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/main/java/cz/it4i/qcmp/quantization/vector/LBGVectorQuantizer.java b/src/main/java/cz/it4i/qcmp/quantization/vector/LBGVectorQuantizer.java index 0245ca6..86d93dc 100644 --- a/src/main/java/cz/it4i/qcmp/quantization/vector/LBGVectorQuantizer.java +++ b/src/main/java/cz/it4i/qcmp/quantization/vector/LBGVectorQuantizer.java @@ -35,7 +35,8 @@ public class LBGVectorQuantizer { public LBGVectorQuantizer(final int[][] vectors, final int codebookSize, final int workerCount, - final V3i vectorDimensions) { + final V3i vectorDimensions, + final boolean createCopyOfSrcVectors) { assert (vectors.length > 0) : "No training vectors provided"; this.vectorDimensions = vectorDimensions; @@ -44,7 +45,7 @@ public class LBGVectorQuantizer { this.trainingVectors = new TrainingVector[vectors.length]; for (int i = 0; i < vectors.length; i++) { - trainingVectors[i] = new TrainingVector(Arrays.copyOf(vectors[i], vectorSize)); + trainingVectors[i] = new TrainingVector(createCopyOfSrcVectors ? Arrays.copyOf(vectors[i], vectorSize) : vectors[i]); } this.codebookSize = codebookSize; -- GitLab