Skip to content

Commit

Permalink
Update CTfLiteClass.cpp
Browse files Browse the repository at this point in the history
  • Loading branch information
SybexX authored Nov 21, 2024
1 parent 3ee32d8 commit 51ff051
Showing 1 changed file with 30 additions and 13 deletions.
43 changes: 30 additions & 13 deletions code/components/jomjol_tfliteclass/CTfLiteClass.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -246,9 +246,18 @@ void CTfLiteClass::GetInputTensorSize()

long CTfLiteClass::GetFileSize(std::string filename)
{
struct stat stat_buf;
long rc = stat(filename.c_str(), &stat_buf);
return rc == 0 ? stat_buf.st_size : -1;
struct stat stat_buf;
long rc = -1;

FILE *pFile = fopen(filename.c_str(), "rb"); // previously only "rb

if (pFile != NULL)
{
rc = stat(filename.c_str(), &stat_buf);
fclose(pFile);
}

return rc == 0 ? stat_buf.st_size : -1;
}


Expand All @@ -270,25 +279,33 @@ bool CTfLiteClass::ReadFileToModel(std::string _fn)

LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "Loading Model " + _fn + " /size: " + std::to_string(size) + " bytes...");


#ifdef DEBUG_DETAIL_ON
LogFile.WriteHeapInfo("CTLiteClass::Alloc modelfile start");
#endif

modelfile = (unsigned char*)psram_get_shared_model_memory();

if(modelfile != NULL)
if (modelfile != NULL)
{
FILE* f = fopen(_fn.c_str(), "rb"); // previously only "r
fread(modelfile, 1, size, f);
fclose(f);
FILE *pFile = fopen(_fn.c_str(), "rb"); // previously only "rb

if (pFile != NULL)
{
fread(modelfile, 1, size, pFile);
fclose(pFile);

#ifdef DEBUG_DETAIL_ON
LogFile.WriteHeapInfo("CTLiteClass::Alloc modelfile successful");
#endif
#ifdef DEBUG_DETAIL_ON
LogFile.WriteHeapInfo("CTLiteClass::Alloc modelfile successful");
#endif

return true;
}
return true;
}
else
{
LogFile.WriteToFile(ESP_LOG_ERROR, TAG, "CTfLiteClass::ReadFileToModel: Model does not exist");
return false;
}
}
else
{
LogFile.WriteToFile(ESP_LOG_ERROR, TAG, "CTfLiteClass::ReadFileToModel: Can't allocate enough memory: " + std::to_string(size));
Expand Down

0 comments on commit 51ff051

Please sign in to comment.