Windows7 에서 Onnxruntime.dll 관련 로딩하기

다시 한번 문제에 봉착해버렸네요

현재 개발 환경은 windows 10입니다.
일반적으로는 문제가 없었지만
개발한 모델을 윈도우7 환경에 배포하려고 할 때 문제가 발생했습니다.

onnxruntime 1.12.1 버전을 사용하며
Nuget Pkg로 설치하였습니다.
제 딥러닝 모델을 불러오는 DLL을 만들었으며 그 안에 Nuget Pkg가 들어있습니다.

윈도우 7에서 위에서 만든 DLL을 로딩하는데 실패하네요.
윈도우 10의 다른 컴퓨터에서는 잘 됩니다.

onnxruntime을 직접 빌드 하면 된다고 하는데 cmake를 써본 적이 없어서
어떻게 해야 하는지 문의 드립니다.

혹은 다른 방법이 있다면 회신 부탁 드립니다.
항상 감사합니다.

  • 아래 답변은 OpenAI의 GPT-3.5(ChatGPT) 모델로 자동 생성한 것으로, 정확하지 않을 수 있습니다.
  • 잘못된 답변을 보셨다면 댓글로 첨삭 지도 부탁드립니다. :sweat_smile:

<김재현님의 문제>

  • Windows 7에서 Onnxruntime.dll을 로딩하는데 실패하는 문제가 발생했다.
  • Onnxruntime 1.12.1 버전을 Nuget Pkg로 설치하였다.
  • 직접 Onnxruntime을 빌드하는 방법을 모르겠다.
  • 다른 해결 방법이 있다면 알려주시기 바랍니다.

<해결 방법>

  • Onnxruntime은 Windows 7을 지원하지 않는다. 따라서, Onnxruntime을 사용하기 위해서는 Windows 10 이상의 운영체제가 필요하다.
  • 만약 Windows 7에서 Onnxruntime을 사용하고 싶다면, Onnxruntime을 직접 빌드해야 한다.
  • Onnxruntime을 빌드하는 방법은 아래의 링크를 참고하면 된다.
  • Onnxruntime을 빌드한 후, 빌드된 DLL 파일을 사용하면 된다.

<참고 자료>


  • 답변이 어떠셨나요? 괜찮았다고 생각하신다면 아래 :heart:를 한 번 눌러주시길 부탁드려요!
  • 아래 답변은 OpenAI의 GPT-4 모델로 자동 생성한 것으로, 정확하지 않을 수 있습니다.
  • 잘못된 답변을 보셨다면 댓글로 첨삭 지도 부탁드립니다. :sweat_smile:

문제를 정리하겠습니다. 현재 Windows 10에서 개발한 딥러닝 모델을 Windows 7 환경에 배포하려고 하는데, onnxruntime 1.12.1 버전을 사용하고 있는데 이를 로딩하는데 실패하고 있습니다. 다른 Windows 10 컴퓨터에서는 문제가 없습니다. onnxruntime을 직접 빌드하면 해결될 것 같지만, cmake를 사용해본 경험이 없어 어떻게 해야 할지 모르겠습니다. 다른 방법이 있다면 알려주시기 바랍니다.

해결 방법은 다음과 같습니다. onnxruntime을 직접 빌드하는 것이 좋은 방법입니다. cmake를 사용하여 onnxruntime을 빌드하는 방법을 설명하겠습니다.

  1. 먼저, CMake를 설치해야 합니다. CMake 공식 홈페이지(Download CMake)에서 Windows용 CMake를 다운로드하고 설치하세요.

  2. onnxruntime 소스 코드를 다운로드 받으세요. GitHub 저장소(GitHub - microsoft/onnxruntime: ONNX Runtime: cross-platform, high performance ML inferencing and training accelerator)에서 소스 코드를 다운로드 받거나, git을 사용하여 클론하세요.

    git clone https://github.com/microsoft/onnxruntime.git
    
  3. onnxruntime 디렉토리로 이동한 후, 다음 명령어를 실행하여 빌드 디렉토리를 생성하고 이동하세요.

    cd onnxruntime
    mkdir build
    cd build
    
  4. 다음 명령어를 실행하여 CMake를 사용하여 onnxruntime을 빌드하세요. (Visual Studio 버전에 따라 적절한 값을 사용하세요. 예: Visual Studio 16 2019)

    cmake .. -A x64 -T host=x64 -DCMAKE_BUILD_TYPE=Release -G "Visual Studio 15 2017"
    
  5. 빌드가 완료되면, 다음 명령어를 실행하여 onnxruntime을 설치하세요.

    cmake --build . --config Release --target INSTALL
    

이제 빌드된 onnxruntime 라이브러리를 사용하여 Windows 7 환경에서 실행해 보세요. 만약 여전히 문제가 발생한다면, 빌드된 라이브러리와 함께 필요한 모든 종속성을 확인하고 배포하세요.

참고로, 공식 PyTorch 문서에서는 ONNX 모델을 사용하는 방법에 대한 자세한 내용이 있습니다. 이 자료를 참고하시면 도움이 될 것입니다: (optional) Exporting a Model from PyTorch to ONNX and Running it using ONNX Runtime — PyTorch Tutorials 2.6.0+cu124 documentation (한국어: (선택) PyTorch 모델을 ONNX으로 변환하고 ONNX 런타임에서 실행하기 — 파이토치 한국어 튜토리얼 (PyTorch tutorials in Korean))


  • 답변이 어떠셨나요? 괜찮았다고 생각하신다면 아래 :heart:를 한 번 눌러주시길 부탁드려요!
  • 아래 답변은 OpenAI의 GPT-3.5(ChatGPT) 모델로 자동 생성한 것으로, 정확하지 않을 수 있습니다.
  • 잘못된 답변을 보셨다면 댓글로 첨삭 지도 부탁드립니다. :sweat_smile:

안녕하세요, KimjaeHyun님. 윈도우 7에서 Onnxruntime.dll을 로딩하는 문제에 대해 질문하셨군요.

윈도우 7에서 Onnxruntime.dll을 로딩하는 문제는 Onnxruntime 1.12.1 버전에서 발생하는 문제로 알려져 있습니다. 이 문제를 해결하기 위해서는 Onnxruntime을 직접 빌드해야 합니다.

Onnxruntime을 빌드하는 방법은 공식 문서에서 자세히 설명하고 있습니다. 아래 링크를 참고하시면 됩니다.

위 문서에서는 CMake를 사용하여 Onnxruntime을 빌드하는 방법을 자세히 설명하고 있습니다. CMake를 사용하여 Onnxruntime을 빌드하는 방법은 다음과 같습니다.

  1. Onnxruntime 소스 코드를 다운로드합니다.
  2. CMake를 설치합니다.
  3. CMake GUI를 실행합니다.
  4. Onnxruntime 소스 코드 경로를 입력합니다.
  5. Build 경로를 지정합니다.
  6. Configure 버튼을 클릭합니다.
  7. 필요한 옵션을 설정합니다.
  8. Generate 버튼을 클릭합니다.
  9. Visual Studio를 실행합니다.
  10. Onnxruntime 솔루션 파일을 엽니다.
  11. Release 빌드를 실행합니다.

위 방법으로 Onnxruntime을 빌드하면 Onnxruntime.dll 파일을 직접 사용할 수 있습니다.

또한, Onnxruntime 1.12.1 버전에서 발생하는 문제를 해결하기 위한 패치가 이미 공개되어 있습니다. 이 패치를 적용하면 Onnxruntime.dll 파일을 직접 사용할 수 있습니다. 아래 링크에서 패치를 다운로드하실 수 있습니다.

위 내용을 참고하시면 윈도우 7에서 Onnxruntime.dll을 로딩하는 문제를 해결하실 수 있습니다. 혹시나 문제가 발생하면 언제든지 질문해주세요.


  • 답변이 어떠셨나요? 괜찮았다고 생각하신다면 아래 :heart:를 한 번 눌러주시길 부탁드려요!

답변 감사합니다.
하지만 아런것들을 태스트하기엔 즤 회사 환경이 오프라인 입니다...
따라서 오픈cv 를 이용해 onnx 파일을 로드하여 인퍼런스 하는것으로 타협 및 해결 했습니다 감사합니다