diff --git a/amexec/build.sh b/amexec/build.sh index 3399fa8..6c3e231 100755 --- a/amexec/build.sh +++ b/amexec/build.sh @@ -1,8 +1,9 @@ +g="$1" +locate="$2" rm -rf build mkdir -p build/intermediates/host cd build/intermediates/host -cmake ../../../src -DCMAKE_CXX_COMPILER=aarch64-linux-gnu-g++ -DCMAKE_SKIP_RPATH=TRUE +cmake ../../../src -DCMAKE_CXX_COMPILER=${g} -DCMAKE_SKIP_RPATH=TRUE make cd ../../../out -mv main amexec - +mv main ${locate}/amexec \ No newline at end of file diff --git a/amexec/inc/sample_process.h b/amexec/inc/sample_process.h index afc7f06..425b45f 100755 --- a/amexec/inc/sample_process.h +++ b/amexec/inc/sample_process.h @@ -39,7 +39,7 @@ public: * @brief sample process * @return result */ - Result Process(vector& params, vector& inputs); + Result Process(map& params, vector& inputs); private: void DestroyResource(); diff --git a/amexec/out/amexec b/amexec/out/amexec index 6673ffb..aa42e9e 100755 Binary files a/amexec/out/amexec and b/amexec/out/amexec differ diff --git a/amexec/src/acl.json b/amexec/src/acl.json new file mode 100644 index 0000000..9e26dfe --- /dev/null +++ b/amexec/src/acl.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/amexec/src/main.cpp b/amexec/src/main.cpp index 8a54658..7c81c56 100755 --- a/amexec/src/main.cpp +++ b/amexec/src/main.cpp @@ -20,11 +20,10 @@ int loop = 1; string input_Ftype = ".bin"; string model_Ftype = ".om"; string check = ""; - - -void InitAndCheckParams(int argc, char* argv[], vector& params, vector& inputs) + +void InitAndCheckParams(int argc, char* argv[], map& params, vector& inputs) +//void InitAndCheckParams(int argc, char* argv[], vector& params, vector& inputs) { - const char *optstring="m::i::o::f::hd::p::l::y::"; int c,deb,index; struct option opts[]={{"model",required_argument,NULL,'m'}, @@ -39,13 +38,13 @@ void InitAndCheckParams(int argc, char* argv[], vector& params, vector& params, vector& params, vector& params, vector& params, vector params; + mapparams; +// vector params; vector inputs; InitAndCheckParams(argc, argv, params, inputs); printf("******************************\n"); @@ -112,6 +120,7 @@ int main(int argc, char* argv[]) if (params.empty() || inputs.empty()) { printf("Invalid params.\n"); printf("Execute sample failed.\n"); + Utils::printHelpLetter(); return FAILED; } diff --git a/amexec/src/model_process.cpp b/amexec/src/model_process.cpp index 8711298..d48e355 100755 --- a/amexec/src/model_process.cpp +++ b/amexec/src/model_process.cpp @@ -120,7 +120,9 @@ Result ModelProcess::CreateInput(void *inputDataBuffer, size_t bufferSize) inputData = nullptr; return FAILED; } - + size_t aa = aclmdlGetDatasetNumBuffers(input_); + + return SUCCESS; } diff --git a/amexec/src/sample_process.cpp b/amexec/src/sample_process.cpp index 4186c29..a4f0143 100755 --- a/amexec/src/sample_process.cpp +++ b/amexec/src/sample_process.cpp @@ -31,7 +31,7 @@ Result SampleProcess::InitResource() { // ACL init const char *aclConfigPath = ""; - aclError ret = aclInit(aclConfigPath); + aclError ret = aclInit(nullptr); if (ret != ACL_ERROR_NONE) { ERROR_LOG("acl init failed"); return FAILED; @@ -74,20 +74,20 @@ Result SampleProcess::InitResource() return SUCCESS; } -Result SampleProcess::Process(vector& params, vector& input_files) +Result SampleProcess::Process(map& params, vector& input_files) { // model init ModelProcess processModel; - const char* omModelPath = params[0].c_str(); - std::string output_path = params[2].c_str(); - const char* outfmt = params[3].c_str(); + const char* omModelPath = params['m'].c_str(); + std::string output_path = params['o'].c_str(); + const char* outfmt = params['f'].c_str(); const char* fmt_TXT = "TXT"; f_isTXT = (strcmp(outfmt,fmt_TXT)==0); - const char* dumpConf = params[4].c_str(); - const char* profConf = params[5].c_str(); - const char* dymBatch = params[6].c_str(); + const char* dumpConf = params['d'].c_str(); + const char* profConf = params['p'].c_str(); + const char* dymBatch = params['y'].c_str(); - std::string modelPath = params[0].c_str(); + std::string modelPath = params['m'].c_str(); std::string modelName = Utils::modelName(modelPath); struct timeval begin; @@ -111,8 +111,7 @@ Result SampleProcess::Process(vector& params, vector& input_file return FAILED; } - vector picDevBuffer(input_files.size(),nullptr); - + vector picDevBuffer(input_files.size(), nullptr); for (size_t index = 0; index < input_files.size(); ++index) { INFO_LOG("start to process file:%s", input_files[index].c_str()); // model process @@ -138,7 +137,6 @@ Result SampleProcess::Process(vector& params, vector& input_file ret = processModel.Execute(); gettimeofday(&end,NULL); inference_time[t] = 1000*(end.tv_sec - begin.tv_sec) + (end.tv_usec - begin.tv_usec)/1000.000; - //std::cout << "usec: " << end.tv_usec - begin.tv_usec << endl; std::cout << "Inference time: "<