NGMsoftware

NGMsoftware
로그인 회원가입
  • 매뉴얼
  • 학습
  • 매뉴얼

    학습


    딥러닝 YoloV8 파이썬 모델을 CLI 모델로 변경하는 방법.

    페이지 정보

    본문

    안녕하세요. 엔지엠소프트웨어입니다. 아마도 이 글을 읽으시는 분들은 대부분 파이썬 개발자거나 이제 막 시작하신 분들일거 같아요. 그래서, 파이썬 모델(엄밀히 말하면 파이토치 모델)을 그대로 사용해도 될겁니다. 그런데, 이전 개발 환경이 텐서플로우(TensorFlow)거나 윈도우의 ML이라면 pt 모델 파일을 사용할 수 없습니다. 그래서, CLI(Command Line Interface)로 변환해야 하는데요. 이 때 나오는 아웃풋이 onnx 확장자를 가진 모델 파일입니다.

    • onnx: Open Neural Network eXchange는 딥러닝 모델을 서로 다른 프레임워크간에 호환할 수 있도록 해주는 오픈소스 프로젝트입니다.
      다양한 플랫폼 환경(Java, C, C++, C#)에서 환경에 제약 없이 ML 모델을 호출하고 수행할 수 있습니다.

     

    이전 시간에 알아본 PyTorch 개발 환경을 먼저 구성해야 합니다. 그리고, 간단한 예제 코드도 작성 해두세요.

    YoloV8 파이토치(PyTorch) 딥러닝 환경 구성하기 ]

     

    위 개발환경 구성 및 욜로 딥러닝 테스트를 완료했으면 최종적으로 아래와 같은 코드를 가지고 있을겁니다. 한줄 추가된 내용은 7번째 줄입니다.

    • model.export(format='onnx')
    from ultralytics import YOLO
    import cv2
    
    model = YOLO('E:/NGM work programs/01. darknet/Yolo V8/yolov8n.pt')
    
    # 파이토치 모델을 CLI 모델로 추출
    model.export(format='onnx')
    
    for i in range(1):
        result = model.predict('E:/NGM work programs/01. darknet/Yolo V8/dog.jpg', device='0', save=True, conf=0.5)
    
    plots = result[0].plot()
    cv2.imshow('plot', plots)
    cv2.waitKey(0)
    cv2.destroyAllWindows()

     

    파이썬을 실행하고, 파이토치 모델이 있던 폴더로 이동 해보세요. 동일한 이름의 onnx 모델 파일이 만들어져 있을겁니다.

    lZZsWBx.jpg

     

     

    테스트를 위해 엔지엠 매크로 에디터를 실행하고, 욜로 매치 액션을 새 스크립트에 추가하세요. 그리고, 딥러닝 엔진을 YoloV8로 선택하고, onnx 모델 파일을 선택하세요.

    h8uhzj1.png

     

     

    매크로를 실행하고, 결과를 확인 해보세요. 파이썬으로 코딩한것과 동일한 결과를 보여줍니다.

    lIWmrV9.jpg

     

     

    개발자에게 후원하기

    MGtdv7r.png

     

    추천, 구독, 홍보 꼭~ 부탁드립니다.

    여러분의 후원이 빠른 귀농을 가능하게 해줍니다~ 답답한 도시를 벗어나 귀농하고 싶은 개발자~

    감사합니다~

    • 네이버 공유하기
    • 페이스북 공유하기
    • 트위터 공유하기
    • 카카오스토리 공유하기
    추천0 비추천0

    댓글목록

    등록된 댓글이 없습니다.