add without first average time

This commit is contained in:
chen
2020-07-07 14:36:25 +08:00
parent 01b993a8b7
commit a555727b32
6 changed files with 37 additions and 10 deletions
+1 -1
View File
@@ -1,7 +1,7 @@
rm -rf build
mkdir -p build/intermediates/host
cd build/intermediates/host
cmake ../../../src -DCMAKE_CXX_COMPILER=g++ -DCMAKE_SKIP_RPATH=TRUE
cmake ../../../src -DCMAKE_CXX_COMPILER=aarch64-linux-gnu-g++ -DCMAKE_SKIP_RPATH=TRUE
make
cd ../../../out
mv main amexec
+2
View File
@@ -70,6 +70,8 @@ public:
static double printDiffTime(time_t begin, time_t end);
static double InferenceTimeAverage(double *x, int len);
static double InferenceTimeAverageWithoutFirst(double *x, int len);
};
#pragma once
BIN
View File
Binary file not shown.
+15 -5
View File
@@ -260,11 +260,21 @@ void ModelProcess::OutputModelResult(std::string& s,std::string& modelName,size_
aclDataType datatype = aclmdlGetOutputDataType(modelDesc_, i);
void *dims = nullptr;
aclmdlIODims *dim = nullptr;
aclError ret = aclrtMallocHost(&dims, sizeof(aclmdlIODims));
if (ret != ACL_ERROR_NONE) {
ERROR_LOG("aclrtMallocHost failed, ret[%d]", ret);
return;
}
aclError ret = ACL_ERROR_NONE;
if (!g_isDevice) {
ret = aclrtMallocHost(&dims, sizeof(aclmdlIODims));
if (ret != ACL_ERROR_NONE) {
ERROR_LOG("aclrtMallocHost failed, ret[%d]", ret);
return;
}
}
else {
ret = aclrtMalloc(&dims, sizeof(aclmdlIODims), ACL_MEM_MALLOC_NORMAL_ONLY);
if (ret != ACL_ERROR_NONE) {
ERROR_LOG("malloc device buffer failed, ret[%d]", ret);
return;
}
}
dim = reinterpret_cast<aclmdlIODims*>(dims);
ret = aclmdlGetOutputDims(modelDesc_, i, dim);
if (ret != ACL_ERROR_NONE) {
+5 -2
View File
@@ -64,7 +64,7 @@ Result SampleProcess::InitResource()
// get run mode
aclrtRunMode runMode;
ret = aclrtGetRunMode(&runMode);
ret = aclrtGetRunMode(&runMode);
if (ret != ACL_ERROR_NONE) {
ERROR_LOG("acl get run mode failed");
return FAILED;
@@ -151,7 +151,10 @@ Result SampleProcess::Process(vector<string>& params, vector<string>& input_file
}
double infer_time_ave = Utils::InferenceTimeAverage(inference_time, loop);
printf("Inference average time: %f ms\n", infer_time_ave);
if (loop > 1){
double infer_time_ave_without_first = Utils::InferenceTimeAverageWithoutFirst(inference_time, loop);
printf("Inference average time without first time: %f ms\n", infer_time_ave_without_first);
}
processModel.DestroyInput();
// release model input buffer
+14 -2
View File
@@ -51,6 +51,7 @@ void* Utils::ReadBinFile(std::string fileName, uint32_t &fileSize)
return nullptr;
}
}
binFile.read(static_cast<char *>(binFileBufferData), binFileBufferLen);
binFile.close();
fileSize = binFileBufferLen;
@@ -180,7 +181,7 @@ double Utils::printDiffTime(time_t begin, time_t end)
{
double diffT = difftime(begin, end);
printf("The inference time is: %f millisecond\n", 1000*diffT);
return diffT*1000;
return diffT * 1000;
}
double Utils::InferenceTimeAverage(double *x, int len)
@@ -188,5 +189,16 @@ double Utils::InferenceTimeAverage(double *x, int len)
double sum = 0;
for (int i = 0; i < len; i++)
sum += x[i];
return sum/len;
return sum / len;
}
double Utils::InferenceTimeAverageWithoutFirst(double *x, int len)
{
double sum = 0;
for (int i = 0; i < len; i++)
if (i !=0){
sum += x[i];
}
return sum / (len - 1);
}