diff --git a/pom.xml b/pom.xml
index 41d80cf24fa..5dde6698c4d 100644
--- a/pom.xml
+++ b/pom.xml
@@ -329,6 +329,18 @@
+
+ linux-arm64
+
+
+ linux
+ aarch64
+
+
+ !javacpp.platform.extension
+
+
+
macosx
diff --git a/tensorflow-core/tensorflow-core-native/pom.xml b/tensorflow-core/tensorflow-core-native/pom.xml
index fff8f9c5756..d385b75e46d 100644
--- a/tensorflow-core/tensorflow-core-native/pom.xml
+++ b/tensorflow-core/tensorflow-core-native/pom.xml
@@ -131,6 +131,12 @@
${project.version}
${javacpp.platform.windows-x86_64}
+
+ ${project.groupId}
+ ${project.artifactId}
+ ${project.version}
+ ${javacpp.platform.linux-arm64}
+
@@ -169,6 +175,10 @@
${project.build.directory}/${project.artifactId}-${project.version}-${javacpp.platform.windows-x86_64}.jar
${javacpp.platform.windows-x86_64}
+
+ ${project.build.directory}/${project.artifactId}-${project.version}-${javacpp.platform.linux-arm64}.jar
+ ${javacpp.platform.linux-arm64}
+
diff --git a/tensorflow-core/tensorflow-core-native/scripts/dist_download.sh b/tensorflow-core/tensorflow-core-native/scripts/dist_download.sh
index c5b10d50d48..20068238fc3 100755
--- a/tensorflow-core/tensorflow-core-native/scripts/dist_download.sh
+++ b/tensorflow-core/tensorflow-core-native/scripts/dist_download.sh
@@ -20,6 +20,9 @@ case ${PLATFORM:-} in
WHEEL_URL='https://files.pythonhosted.org/packages/e0/36/6278e4e7e69a90c00e0f82944d8f2713dd85a69d1add455d9e50446837ab/tensorflow_intel-2.16.1-cp311-cp311-win_amd64.whl'
CLIB_URL='https://storage.googleapis.com/tensorflow/versions/2.16.1/libtensorflow-cpu-windows-x86_64.zip'
;;
+ 'linux-arm64')
+ WHEEL_URL='https://files.pythonhosted.org/packages/41/ab/e5386c722548df2043c1eaadc431ea3ba0ee42a66b3af7f8013bbbacecd3/tensorflow-2.16.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl'
+ ;;
*)
echo "TensorFlow distribution for ${PLATFORM} is not supported for download"
exit 1;
@@ -34,6 +37,9 @@ if [[ -n "$WHEEL_URL" ]]; then
curl -L $WHEEL_URL --output 'tensorflow.whl'
fi
yes | unzip -q -u 'tensorflow.whl' # use 'yes' because for some reasons -u does not work on Windows
+ if [[ "$PLATFORM" == "linux-arm64" ]]; then
+ cp $DOWNLOAD_FOLDER/tensorflow.libs/* $DOWNLOAD_FOLDER/tensorflow/
+ fi
fi
if [[ -n "$CLIB_URL" ]]; then
@@ -48,6 +54,9 @@ cd tensorflow
if [[ "$PLATFORM" =~ "linux" ]]; then
ln -fs libtensorflow_cc.so.2 libtensorflow_cc.so
ln -fs libtensorflow_framework.so.2 libtensorflow_framework.so
+ if [[ "$PLATFORM" == "linux-arm64" ]]; then
+ ln -fs libomp-*.so.5 libomp.so
+ fi
elif [[ "$PLATFORM" =~ "macosx" ]]; then
ln -fs libtensorflow_cc.2.dylib libtensorflow_cc.dylib
ln -fs libtensorflow_framework.2.dylib libtensorflow_framework.dylib
diff --git a/tensorflow-core/tensorflow-core-native/src/main/java/org/tensorflow/internal/c_api/presets/tensorflow.java b/tensorflow-core/tensorflow-core-native/src/main/java/org/tensorflow/internal/c_api/presets/tensorflow.java
index ff9f02709e3..eefd6893597 100644
--- a/tensorflow-core/tensorflow-core-native/src/main/java/org/tensorflow/internal/c_api/presets/tensorflow.java
+++ b/tensorflow-core/tensorflow-core-native/src/main/java/org/tensorflow/internal/c_api/presets/tensorflow.java
@@ -62,6 +62,9 @@
},
link = {"tensorflow_cc@.2", "tensorflow_framework@.2"},
resource = {"LICENSE", "THIRD_PARTY_TF_JNI_LICENSES"}),
+ @Platform(
+ value = {"linux-arm64"},
+ link = {"tensorflow_cc@.2", "tensorflow_framework@.2", "omp@.5"}),
@Platform(
value = "windows",
preload = {
diff --git a/tensorflow-core/tensorflow-core-platform/pom.xml b/tensorflow-core/tensorflow-core-platform/pom.xml
index 5ed680a8bf2..0d43c7fc4b3 100644
--- a/tensorflow-core/tensorflow-core-platform/pom.xml
+++ b/tensorflow-core/tensorflow-core-platform/pom.xml
@@ -43,6 +43,12 @@
${project.version}
linux-x86_64
+
+ org.tensorflow
+ tensorflow-core-native
+ ${project.version}
+ linux-arm64
+
org.tensorflow
tensorflow-core-native
@@ -73,7 +79,7 @@
- tensorflow-core-api.jar tensorflow-core-native.jar tensorflow-core-native-linux-x86_64.jar tensorflow-core-native-macosx-arm64.jar tensorflow-core-native-macosx-x86_64.jar tensorflow-core-native-windows-x86_64.jar
+ tensorflow-core-api.jar tensorflow-core-native.jar tensorflow-core-native-linux-x86_64.jar tensorflow-core-native-macosx-arm64.jar tensorflow-core-native-macosx-x86_64.jar tensorflow-core-native-windows-x86_64.jar tensorflow-core-native-linux-arm64.jar
${java.module.name}