diff --git a/face-search-core/src/main/java/com/visual/face/search/core/utils/SigmoidUtil.java b/face-search-core/src/main/java/com/visual/face/search/core/utils/SigmoidUtil.java new file mode 100644 index 0000000..5956f15 --- /dev/null +++ b/face-search-core/src/main/java/com/visual/face/search/core/utils/SigmoidUtil.java @@ -0,0 +1,39 @@ +package com.visual.face.search.core.utils; + +import java.util.function.DoubleUnaryOperator; + + +/** + * SigmoidUtil + */ +public class SigmoidUtil { + + private static final DoubleUnaryOperator sigmoid = p ->1/(1+ Math.exp(-1 * p)); + + /** + * sigmoid + * @param tensor + * @return + */ + public static double[] sigmoid(double[] tensor){ + double[] result = new double[tensor.length]; + for (int i = 0; i < result.length; i++){ + result[i] = sigmoid.applyAsDouble(tensor[i]); + } + return result; + } + + /** + * sigmoid + * @param tensor + * @return + */ + public static double[][] sigmoid(double[][] tensor){ + double[][] result = new double[tensor.length][]; + for (int i = 0; i < result.length; i++){ + result[i] = sigmoid(tensor[i]); + } + return result; + } + +} diff --git a/face-search-core/src/main/java/com/visual/face/search/core/utils/SoftMaxUtil.java b/face-search-core/src/main/java/com/visual/face/search/core/utils/SoftMaxUtil.java new file mode 100644 index 0000000..ec3b336 --- /dev/null +++ b/face-search-core/src/main/java/com/visual/face/search/core/utils/SoftMaxUtil.java @@ -0,0 +1,40 @@ +package com.visual.face.search.core.utils; + +import java.util.Arrays; +import java.util.NoSuchElementException; + +/** + * SoftMaxUtil + */ +public class SoftMaxUtil { + + /** + * softMax + * @param tensor + * @return + */ + public static double[] softMax(double[] tensor){ + if(Arrays.stream(tensor).max().isPresent()){ + double maxValue = Arrays.stream(tensor).max().getAsDouble(); + double[] value = Arrays.stream(tensor).map(y-> Math.exp(y - maxValue)).toArray(); + double total = Arrays.stream(value).sum(); + return Arrays.stream(value).map(p -> p/total).toArray(); + }else{ + throw new NoSuchElementException("No value present"); + } + } + + /** + * softMax + * @param tensor + * @return + */ + public double[][] softMax(double[][] tensor){ + double[][] result = new double[tensor.length][]; + for (int i = 0; i < result.length; i++){ + result[i] = softMax(tensor[i]); + } + return result; + } + +} diff --git a/face-search-util/libs/milvus-java-sdk-2.0.0.jar b/face-search-engine/libs/milvus-java-sdk-2.0.0.jar similarity index 100% rename from face-search-util/libs/milvus-java-sdk-2.0.0.jar rename to face-search-engine/libs/milvus-java-sdk-2.0.0.jar diff --git a/face-search-util/libs/proxima-be-java-sdk-0.2.0.jar b/face-search-engine/libs/proxima-be-java-sdk-0.2.0.jar similarity index 100% rename from face-search-util/libs/proxima-be-java-sdk-0.2.0.jar rename to face-search-engine/libs/proxima-be-java-sdk-0.2.0.jar diff --git a/face-search-util/pom.xml b/face-search-engine/pom.xml similarity index 98% rename from face-search-util/pom.xml rename to face-search-engine/pom.xml index 386b1d6..35bacf6 100644 --- a/face-search-util/pom.xml +++ b/face-search-engine/pom.xml @@ -8,7 +8,7 @@ 1.0.0 4.0.0 - face-search-util + face-search-engine UTF-8 diff --git a/face-search-server/pom.xml b/face-search-server/pom.xml index 9688016..30afd0b 100644 --- a/face-search-server/pom.xml +++ b/face-search-server/pom.xml @@ -24,7 +24,7 @@ com.visual.face.search - face-search-util + face-search-engine @@ -90,6 +90,9 @@ org.springframework.boot spring-boot-maven-plugin + + true + diff --git a/pom.xml b/pom.xml index 602ef28..b803de2 100644 --- a/pom.xml +++ b/pom.xml @@ -18,7 +18,7 @@ face-search-core face-search-server face-search-client - face-search-util + face-search-engine face-search-test @@ -55,7 +55,7 @@ com.visual.face.search - face-search-util + face-search-engine ${project.version}