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}