|
|
|
@@ -18,10 +18,11 @@ |
|
|
|
#include <android/log.h> |
|
|
|
#include <iostream> |
|
|
|
#include <string> |
|
|
|
#include "include/errorcode.h" |
|
|
|
|
|
|
|
#define MS_PRINT(format, ...) __android_log_print(ANDROID_LOG_INFO, "MSJNI", format, ##__VA_ARGS__) |
|
|
|
|
|
|
|
MSNetWork::MSNetWork(void) : session_(nullptr) {} |
|
|
|
MSNetWork::MSNetWork(void) : session_(nullptr), model_(nullptr) {} |
|
|
|
|
|
|
|
MSNetWork::~MSNetWork(void) {} |
|
|
|
|
|
|
|
@@ -33,20 +34,29 @@ void MSNetWork::CreateSessionMS(char *modelBuffer, size_t bufferLen, mindspore:: |
|
|
|
} |
|
|
|
|
|
|
|
// Compile model. |
|
|
|
auto model = mindspore::lite::Model::Import(modelBuffer, bufferLen); |
|
|
|
if (model == nullptr) { |
|
|
|
model_ = mindspore::lite::Model::Import(modelBuffer, bufferLen); |
|
|
|
if (model_ == nullptr) { |
|
|
|
ReleaseNets(); |
|
|
|
MS_PRINT("Import model failed."); |
|
|
|
return; |
|
|
|
} |
|
|
|
|
|
|
|
int ret = session_->CompileGraph(model); |
|
|
|
int ret = session_->CompileGraph(model_); |
|
|
|
if (ret != mindspore::lite::RET_OK) { |
|
|
|
ReleaseNets(); |
|
|
|
MS_PRINT("CompileGraph failed."); |
|
|
|
return; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
int MSNetWork::ReleaseNets(void) { |
|
|
|
delete session_; |
|
|
|
return 0; |
|
|
|
void MSNetWork::ReleaseNets(void) { |
|
|
|
if (model_ != nullptr) { |
|
|
|
model_->Free(); |
|
|
|
delete model_; |
|
|
|
model_ = nullptr; |
|
|
|
} |
|
|
|
if (session_ != nullptr) { |
|
|
|
delete session_; |
|
|
|
session_ = nullptr; |
|
|
|
} |
|
|
|
} |