데보션앱 소개페이지 바로가기
로그인 선택

신고하기

CLOSE
신고사유 (대표 사유 1개)
상세내용 (선택)
0/200
  • 신고한 게시글은 더 이상 보이지 않습니다.
  • 이용약관과 운영정책에 따라 신고사유에 해당하는지 검토 후 조치됩니다.
  • 허위 신고인 경우, 신고자의 서비스 이용이 제한될 수 있으니 유의하시어 신중하게 신고해 주세요.
(이 회원이 작성한 모든 댓글과 커뮤니티 게시물이 보이지 않고, 알림도 오지 않습니다.)

미리보기

커뮤니티

      1,234

      badge 23.06.15

      글 등록

      카테고리를 선택해주세요.

      DEVOTEE를 활성화 시키면
      지금 작성한 커뮤니티 글에 대해 1개의 댓글을 달아줍니다.

      버튼을 누르면 글 수정 시 ChatGPT가 작성한 댓글이 수정됩니다.

      임시저장함에 저장되었습니다. 저장일시 : 2022.5.17 14:29:08

      임시저장함

      제목을 선택하시면 이어서 작성이 가능하며,
      최대 20건까지 저장합니다.
      컨텐츠 유형, 제목, 저장일시, 삭제로 이뤄진 임시저장 목록
      컨텐츠 유형 제목 저장일 삭제

      데보션 블로그 게재 요청

      CLOSE
      • *
      • *

      본인인증

      효율적인 데보션 서비스 이용 및
      고객님의 소중한 개인정보보호를 위해
      본인인증을 진행해주세요. 본인인증 미 진행 시 로그인이 제한됩니다.
      본인인증 실패

      본인인증 로그인에 실패하였습니다.
      회원이 아니시거나 본인인증 등록이
      완료되지 않은 사용자입니다.

      회원정보 연결

      MXNet을 ONNX로 변환 후 예측하기

      soeque 19.04.23
      1,050 2 1

      본 예제는 Resnet50 모형을 MXNet으로 학습한 후, ONNX에서 Prediction하는 예제입니다.

      주어진 코끼리를 ONNX에서 잘 예측 할 수 있을까요?

      			## requirements
      numpy==1.14.6
      mxnet-cu90==1.3.1
      Keras==2.2.4
      tensorflow==1.3.0
      onnx==1.3.0
      onnxruntime==0.3.0
      
      #####

      MXNet to ONNX

      			import mxnet as mx
      import numpy as np
      from mxnet.contrib import onnx as onnx_mxnet
      import logging
      logging.basicConfig(level=logging.INFO)
      
      # Download pre-trained resnet model - json and params by running following code.
      path='http://data.mxnet.io/models/imagenet/'
      [mx.test_utils.download(path+'resnet/18-layers/resnet-18-0000.params'),
       mx.test_utils.download(path+'resnet/18-layers/resnet-18-symbol.json'),
       mx.test_utils.download(path+'synset.txt')]
      
      # Downloaded input symbol and params files
      sym = './resnet-18-symbol.json'
      params = './resnet-18-0000.params'
      
      # Standard Imagenet input - 3 channels, 224*224
      input_shape = (1,3,224,224)
      
      # Path of the output file
      onnx_file = './mxnet_exported_resnet50.onnx'
      
      # Invoke export model API. It returns path of the converted onnx model
      converted_model_path = onnx_mxnet.export_model(sym, params, [input_shape], np.float32, onnx_file)

      Inference using ONNX

      			from keras.preprocessing import image
      from keras.applications.resnet50 import preprocess_input, decode_predictions
      # image preprocessing
      img_path = 'elephant.jpg'   # make sure the image is in img_path
      img_size = 224
      img = image.load_img(img_path, target_size=(img_size, img_size))
      x = image.img_to_array(img)
      x = x.transpose(2,0,1) ## c, w, h
      x = np.expand_dims(x, axis=0)
      x = preprocess_input(x)
      
      x = x if isinstance(x, list) else [x]
      feed = dict([(input.name, x[n]) for n, input in enumerate(sess.get_inputs())])
      			import onnxruntime
      sess = onnxruntime.InferenceSession(converted_model_path)
      pred_onnx = sess.run(None, feed)
      
      print('Predicted:', decode_predictions(pred_onnx[0], top=3)[0])

      Predicted: [('n02504458', 'African_elephant', 0.6264173), ('n01871265', 'tusker', 0.22193906), ('n02504013', 'Indian_elephant', 0.14317688)]

       

      댓글 0

      DEVOTEE를 활성화 시키면
      지금 작성한 댓글에 AI가 댓글을 달아줍니다.

      soeque 님의 최신 블로그

      더보기
      동영상 기고하기