• Tistory
    • 태그
    • 위치로그
    • 방명록
    • 관리자
    • 글쓰기
Carousel 01
Carousel 02
Previous Next

[Onnx] pytorch model을 onnx로 변환하여 사용하자

전공관련/Deep Learning 2020. 2. 26. 12:52




onnx는 open neural network exchange의 약자로 신경망 모델을 framework 간 변환하도록 만들어진 것이다.

 

기존 framework만을 사용할 수 있는 환경이라면 그냥 사용해도 문제가 없지만
여러 이유로 인하여 onnx로의 변환이 필요할 수 있다.

 

그래서 우선 torch model을 onnx 모델로 변환하는 방법 정리.

 

변환 방법은 torchScript를 이용하여 pt 파일을 생성하는 것과 거의 동일한 형태로 변환이 가능하다.

 


# model load
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
model = pytorch_model()
model.to(device)
model.eval()

checkpoint = torch.load("./model/pytorch_model_weight.pth.tar", map_location=device)
checkpoint_dict = get_state_dict(checkpoint["state_dict"])
model.load_state_dict(checkpoint_dict)

# make dummy data
batch_size = 1
# model input size에 맞게 b c h w 순으로 파라미터 설정
x = torch.rand(batch_size, 1, 128, 128, requires_grad=True).to(device)
# feed-forward test
output = model(x)

# convert
torch.onnx.export(model, x, "./test_onnx.onnx", export_params=True, opset_version=10, do_constant_folding=True
                  , input_names = ['input'], output_names=['output']
                  # , dynamic_axes={'input' : {0 : 'batch_size'}, 'output' : {0 : 'batch_size'}}
                  # dynamic axes 는 pytorch 1.2 부터 지원하는듯??
                  )
저작자표시 (새창열림)

'전공관련 > Deep Learning' 카테고리의 다른 글

[Onnx] onnx 모듈을 사용하기 위한 class를 만들어보자  (0) 2020.02.26
[Onnx] visual studio에서 onnxruntime을 설치 해 보자  (0) 2020.02.26
[Pytorch] Custom Dataloader를 사용하자  (0) 2019.12.23
[Pytorch] multiGPU 에서 학습한 모델을 singleGPU에서 사용하자2  (1) 2019.12.17
[Pytorch] pytorch 와 tensorboard를 같이 써보자.  (0) 2019.11.15
블로그 이미지

매직블럭

작은 지식들 그리고 기억 한조각

,

카테고리

  • 살다보니.. (448)
    • 주절거림 (3)
    • 취미생활 (36)
      • 지식과 지혜 (3)
      • 풍경이 되어 (4)
      • Memories (17)
      • 엥겔지수를 높여라 (2)
    • mathematics (6)
      • Matrix Computation (2)
      • RandomProcesses (3)
    • English.. (8)
    • Programming (147)
      • C, C++, MFC (51)
      • C# (1)
      • OpenCV (17)
      • Python (58)
      • Git, Docker (3)
      • Matlab (4)
      • Windows (3)
      • Kinect V2 (2)
      • 기타 etc. (8)
    • 전공관련 (80)
      • Algorithm (6)
      • Deep Learning (54)
      • 실습 프로그램 (4)
      • 주워들은 용어정리 (8)
      • 기타 etc. (8)
    • Computer (118)
      • Utility (21)
      • Windows (31)
      • Mac (4)
      • Ubuntu, Linux (58)
      • NAS (2)
      • Embedded, Mobile (2)
    • IT, Device (41)
      • 제품 사용기, 개봉기 (14)
      • 스마트 체험단 신청 (27)
    • Wish List (3)
    • TISTORY TIP (5)
    • 미분류. 수정중 (1)

태그목록

  • LIBSVM
  • DSLR
  • 크롬
  • 딥러닝
  • utility
  • matlab
  • SVM
  • 칼로리 대폭발
  • ColorMeRad
  • portugal
  • review
  • 큐슈
  • random variable
  • Convolutional Neural Networks
  • function
  • 포르투갈
  • 스마트체험단
  • matlab function
  • 갤럭시노트3
  • 에누리닷컴
  • 오봉자싸롱
  • 매트랩 함수
  • CStdioFile
  • Deep Learning
  • 매트랩
  • DeepLearning
  • 일본
  • 후쿠오카
  • Computer Tip
  • ReadString

달력

«   2025/05   »
일 월 화 수 목 금 토
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
05-25 05:31

LATEST FROM OUR BLOG

RSS 구독하기

BLOG VISITORS

  • Total :
  • Today :
  • Yesterday :

Copyright © 2015 Socialdev. All Rights Reserved.

티스토리툴바