• Home
  • About
    • C-H Kim's blog photo

      C-H Kim's blog

      Anyone is welcome who loving C / C++, Python, java... ect.

    • Learn More
    • Email
    • LinkedIn
    • Github
    • StackOverflow
    • Steam
  • Posts
    • All Posts
    • All Tags
  • Projects

ONNX Runtime C++ Ort::Env 사용하기

16 Jan 2022

Reading time ~1 minute

ONNX Runtime은 모델을 inference 하기 위해 Session을 생성해야 하는데 그 전에 몇가지 선행사항이 있다. 그 선행사항 중 하나가 바로 Ort::Env를 설정하는 일이다.

Ort::Env의 목적

객체 생성자는 다음의 것을 사용했다. 다른 생성자에 대한 정보는 이 포스트 멘 아래에 제시된 링크에서 찾아볼 수 있다. 하지만 대부분의 경우 함수형 말고는 어떠한 정보도 얻을 수 없을 것이다. 대신 C++ document는 아니지만 공식 문서는 github에서 찾을 수 있다. onnx runtime github document

Ort::Env (OrtLoggingLevel logging_level=ORT_LOGGING_LEVEL_WARNING, const char *logid="");

생성자를 통해 유추하면 Ort::Env는 logging level을 정하는 용도로 사용할 수 있는 것 같다. Ort::Env는 Session이 유지되는 동안 해제되면 안되므로 같은 스코프에 생성해 유지하자. 생성은 다음과 같이 이루어진다.

Ort::Env env{ORT_LOGGING_LEVEL_WARNING, "test env"};

이전에 언급한바 API doc이 없는 것과 같다. 전혀 어떠한 설명도 없다. 다만 성능을 위해서 logging level 정도는 조절해야 하지 않겠는가.

공식 API doc에 몇 안되는 설명을 가져와봤다.

  • ORT_LOGGING_LEVEL_VERBOSE
    Verbose informational messages (least severe)

  • ORT_LOGGING_LEVEL_INFO
    Informational messages.

  • ORT_LOGGING_LEVEL_WARNING
    Warning messages.

  • ORT_LOGGING_LEVEL_ERROR
    Error messages.

  • ORT_LOGGING_LEVEL_FATAL
    Fatal error messages (most severe)

위에서 설명한 생성자 이외에도 몇가지가 더 있고 또 메소드도 있지만 그것은 차후에 아래에 적도록 하겠다.

Index: ONNX Runtime C++ API 사용법 Next: ONNX Runtime C++ Ort::SessionOption 사용하기


C++ONNX Runtime Share Tweet