기록장

(1) object detection 모델(pytorch)을 안드로이드 앱에 적용해보자 ! 본문

2020 졸업프로젝트 - 기술 기록용

(1) object detection 모델(pytorch)을 안드로이드 앱에 적용해보자 !

210_yy 2020. 9. 17. 20:53

object detection 모델을 customize해서 training 시킨 다음 나의 휴대폰에서 실행을 시켜보고 싶을 때 학습시킨 모델을 안드로이드에 심어야 한다.

 

지금 내가 학습시킨 모델은 pytorch 모델인데 pytorch는 안드로이드에 심을 수 없어서 tensorflow 모델로 변환을 해야한다. pytorch-> tensorflow로 한번에 변환이 되는 것이 아니고 pytorch->onnx->tensorflow 단계를 거쳐야 한다. 

 

 

 

1. 먼저 pytorch 모델을 onnx로 변환하자 (github.com/ultralytics/yolov5/issues/251를 참고했다)

 

학습시킨 yolov5 폴더가 있어야 한다 (없으면 github.com./ultralytics/yolov5를 git clone하자)

 

cmd창을 열고 yolov5 폴더로 이동, 필요한 파일들을 pip install 로 다운한다. 

설치를 한 후 onnx 모델로 변환하는 코드를 입력한다.

2번째 코드에서 weights parameter에 자신이 customize한 모델의 경로를 넣는다.

onnx모델 파일은 weights parameter에 입력한 파일이 있는 경로에 생긴다.

 

모델 변환이 성공했으면

 

라는 글을 볼 수 있다.

 

 

2. onnx 모델을 tensorflow 모델로 변환해보자 (github.com/onnx/onnx-tensorflow를 참고했다)

 

cmd 창에서 python을 실행시키고 코드를 입력한다.

위의 방법이 안된다면 

 

이 command를 cmd 창에서 실행시켜보자. 물론 /path/to/input.onnx 와 /path/to/output.pb는 자신의 경로를 적어야한다~ 

 

 

안드로이드에 심는것은 다음 글로 적어보도록 하겠다!

 

 

*** 이거 하다가 엄청 오류나서 결국 포기함..

 

pytorch mobile 버전 있다길래 해봤는데 그것도 결국 못했습니다. ㅠ

반응형
Comments