From 1e1577614c4cd43891161094386fe37ef326a3a0 Mon Sep 17 00:00:00 2001 From: zhengjun10 Date: Mon, 5 Jul 2021 16:25:32 +0800 Subject: [PATCH] fix lite java inference jni complie problem --- mindspore/lite/java/native/CMakeLists.txt | 6 +++ .../lite/java/native/runtime/lite_session.cpp | 21 ---------- .../java/native/runtime/train_session.cpp | 42 +++++++++++++++++++ 3 files changed, 48 insertions(+), 21 deletions(-) create mode 100644 mindspore/lite/java/native/runtime/train_session.cpp diff --git a/mindspore/lite/java/native/CMakeLists.txt b/mindspore/lite/java/native/CMakeLists.txt index 2353b1d43bb..c38d02e2940 100644 --- a/mindspore/lite/java/native/CMakeLists.txt +++ b/mindspore/lite/java/native/CMakeLists.txt @@ -92,6 +92,12 @@ set(JNI_SRC set(LITE_SO_NAME mindspore-lite) +if(SUPPORT_TRAIN) + set(JNI_SRC + ${JNI_SRC} + ${CMAKE_CURRENT_SOURCE_DIR}/runtime/train_session.cpp + ) +endif() add_library(mindspore-lite-jni SHARED ${JNI_SRC}) if(PLATFORM_ARM64 OR PLATFORM_ARM32) diff --git a/mindspore/lite/java/native/runtime/lite_session.cpp b/mindspore/lite/java/native/runtime/lite_session.cpp index 0d2af8a9e6f..fb3159854a4 100644 --- a/mindspore/lite/java/native/runtime/lite_session.cpp +++ b/mindspore/lite/java/native/runtime/lite_session.cpp @@ -411,24 +411,3 @@ extern "C" JNIEXPORT jobject JNICALL Java_com_mindspore_lite_LiteSession_getFeat } return ret; } - -extern "C" JNIEXPORT jlong JNICALL Java_com_mindspore_lite_LiteSession_createTrainSession(JNIEnv *env, jobject thiz, - jstring file_name, - jlong ms_context_ptr, - jboolean train_mode, - jlong train_config_ptr) { - auto *pointer = reinterpret_cast(ms_context_ptr); - if (pointer == nullptr) { - MS_LOGE("Context pointer from java is nullptr"); - return jlong(nullptr); - } - auto *lite_context_ptr = static_cast(pointer); - - auto session = mindspore::session::LiteSession::CreateTrainSession(env->GetStringUTFChars(file_name, JNI_FALSE), - lite_context_ptr, train_mode, nullptr); - if (session == nullptr) { - MS_LOGE("CreateTrainSession failed"); - return jlong(nullptr); - } - return jlong(session); -} diff --git a/mindspore/lite/java/native/runtime/train_session.cpp b/mindspore/lite/java/native/runtime/train_session.cpp new file mode 100644 index 00000000000..933048a7534 --- /dev/null +++ b/mindspore/lite/java/native/runtime/train_session.cpp @@ -0,0 +1,42 @@ +/** + * Copyright 2020 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include +#include "common/ms_log.h" +#include "include/lite_session.h" +#include "include/train/train_cfg.h" +#include "include/errorcode.h" + +extern "C" JNIEXPORT jlong JNICALL Java_com_mindspore_lite_LiteSession_createTrainSession(JNIEnv *env, jobject thiz, + jstring file_name, + jlong ms_context_ptr, + jboolean train_mode, + jlong train_config_ptr) { + auto *pointer = reinterpret_cast(ms_context_ptr); + if (pointer == nullptr) { + MS_LOGE("Context pointer from java is nullptr"); + return jlong(nullptr); + } + auto *lite_context_ptr = static_cast(pointer); + + auto session = mindspore::session::LiteSession::CreateTrainSession(env->GetStringUTFChars(file_name, JNI_FALSE), + lite_context_ptr, train_mode, nullptr); + if (session == nullptr) { + MS_LOGE("CreateTrainSession failed"); + return jlong(nullptr); + } + return jlong(session); +}