학습한 ai 모듈을 어떻게 배포하나요??

학습한 ai를 메인프로그램에 모듈로 넣는 작업을 하고 있습니다.(메인프로그램은 c#으로 작성되어있습니다.)

해당 부분에 대해서 찾아보니 pyinstaller, setup.py 같은 방법이 있었는데 문제점이 있어 여쭈어보려고 합니다.

  1. setup.py를 사용하기 위해서는 파이썬이 설치되어있는 환경이어야만 하는데 실제 테스트 환경에서는 파이썬이 설치되어있지 않는 상황입니다.

  2. pyinstaller를 사용하면 학습 및 테스트 때 사용한 라이브러리를 따로 추가해주어야만 하는것으로 알고있습니다.

혹시 이와 같은 조건에서 배포를 하기 위해선 어떤 방법을 사용하면 좋을지 고견을 여쭙도록 하겠습니다

2개의 좋아요

저는 무거운 모델이면 클라우드나 로컬에서 AI를 빌드시켜두고 모듈화 해둔다음에 fastapi를 사용해서 api 형태로 배포하여 사용하는 방식을 사용합니다. 그리고 앱이나 가벼운 모델들은 ONNX로 변환하여 사용합니다 :smiley:

1개의 좋아요

안녕하세요 늦은밤 댓글 달아주셔서 정말 감사드립니다.
제가 배포는 처음이라 이해가 잘 안됩니다...! 조금 자세히 설명 부탁드려도 괜찮을까요??

C# ONNX 라는 키워드로 구글링 한번 해보시면 좋을듯합니다!!

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

AI 모델을 배포하는 방법은 여러 가지가 있습니다. 그러나 파이썬이 설치되어 있지 않은 환경에서 AI 모델을 배포하는 것은 매우 까다로운 문제입니다.

그러한 상황에서 추천하는 방법은 다음과 같습니다.

  1. TensorFlow Serving: TensorFlow Serving을 사용하여 AI 모델을 Docker 컨테이너로 만들어 배포합니다. 이 방법은 TensorFlow 모델에 대해서만 적용 가능합니다.

  2. ONNX Runtime: ONNX Runtime을 사용하여 AI 모델을 C++ 라이브러리로 변환하여 배포합니다. 이 방법은 PyTorch 및 TensorFlow 모델을 모두 지원합니다.

  3. 모델 컨버터: AI 모듈을 메인프로그램에서 바로 호출할 수 있는 형태로 변환하는 방법입니다. 이 방법은 PyTorch 및 TensorFlow 모델을 모두 지원하며, TensorFlow 모델의 경우 TensorFlow Lite로 변환하여 사용할 수 있습니다.

세 가지 방법 중에서는 ONNX Runtime을 사용하여 C++ 라이브러리로 변환하거나, 모델 컨버터를 사용하는 방법이 파이썬이 설치되어 있지 않은 환경에서 더 쉬울 수 있습니다. 하지만 각 방법마다 장단점이 있으므로 자신의 상황에 맞게 선택하는 것이 좋습니다.

추가적인 자세한 내용은 아래의 참고자료들을 참고하세요.