簡體   English   中英

TensorFlow C API 記錄設置

[英]TensorFlow C API Logging Setting

當加載保存的 model 時,我試圖在 C-API 中抑制 tensorflow 的日志記錄。 日志看起來像這樣

2020-07-24 13:06:39.805191: I tensorflow/cc/saved_model/reader.cc:31] Reading SavedModel from: /home/philgun/tf-C-API/my_model
2020-07-24 13:06:39.806627: I tensorflow/cc/saved_model/reader.cc:54] Reading meta graph with tags { serve }
2020-07-24 13:06:39.819994: I tensorflow/cc/saved_model/loader.cc:202] Restoring SavedModel bundle.
2020-07-24 13:06:39.875249: I tensorflow/cc/saved_model/loader.cc:151] Running initialization op on SavedModel bundle at path: /home/philgun/tf-C-API/my_model
2020-07-24 13:06:39.884401: I tensorflow/cc/saved_model/loader.cc:311] SavedModel load for tags { serve }; Status: success. Took 79210 microseconds.

下面是我加載保存的 model 的代碼部分

    //*********************Read Model
    TF_Graph* Graph = TF_NewGraph();
    TF_Status* Status = TF_NewStatus();

    TF_SessionOptions* SessionOpts = TF_NewSessionOptions();
    TF_Buffer* RunOpts = NULL;

    const char* tags = "serve"; // default model serving tag
    int ntags = 1;
    
    TF_Session* Session = TF_LoadSessionFromSavedModel(SessionOpts, RunOpts, saved_model_dir, &tags, ntags, Graph, NULL, Status);

由於關於 TF C-API 的文檔很少,我現在陷入了這個問題。 有人知道怎么做嗎?

經過一番努力,我找到了一種方法,方法是設置一個名為 TF_CPP_MIN_LOG_LEVEL 的新環境變量。 我是這樣做的:

#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include "tensorflow/c/c_api.h"

int main()
{
    <your main code>
}

void CallSavedModel(double raw_input[], int inputsize, char* saved_model_dir)
{
     char* new_environment = "TF_CPP_MIN_LOG_LEVEL=3";
     int ret;
     ret = putenv(var);

     IMPORT YOUR SAVED MODEL START FROM HERE

}

我通過結合https://pubs.opengroup.org/onlinepubs/009695399/functions/putenv.html禁用 ZCB20B802A3F0255E054E4FB82 調試信息得到了答案

干杯。 希望這對那些像我一樣面臨同樣頭痛的人有所幫助。

菲爾

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM