본문 바로가기
Development/Triton Inference Server

[Triton Inference Server] batch size does not match other inputs error

by shuka 2022. 3. 14.
728x90
728x90

Triton Inference Server ensemble model batch size error

Triton inference server는 ensemble model을 만들어서 backend에서 한번에 결과를 출력할 수 있다.

 

이때 ensemble model에서는 config.pbtxt를 작성하는데, config.pbtxt에 scheduling한 모델 순서대로 process가 진행되고 각 모델 별로 input과 output의 name을 설정한다.

 

그리고, scheduling에 포함되어 있는 각 모델의 폴더 내에 있는 config.pbtxt와 이름을 맞춰주고, input과 output의 shape를 지정해 주게 된다.

 

만약 ensemble 방법이 궁금하면 밑의 링크를 보면 된다.

 

https://shuka.tistory.com/35

 

[TIS] Triton Inference Server model ensemble

Triton Inference Server란 Nvidia에서 만든 Triton Inference Server는 여러 프레임워크에 대한 모델들을 사용할 수 있고, cpu와 gpu의 처리량과 활용도를 극대화 해준다. Triton Inference Server에서 모델을 en..

shuka.tistory.com

 

 

그런데, 모델들의 설정을 끝내고 test를 진행하면 밑의 이미지와 같이 batch size가 맞지 않는다는 오류가 뜰 때가 있다.

 

 

ensemble model batch size error에 대한 해결 방법

해당 오류는 이전의 모델에서 output으로 값들을 넘겨줄 때 batch size가 다르게 넘겨주면 해당 오류가 발생한다.

 

만약 output_0와 output_1이 있다고 할 때, output_0:3x30x30이고 output_1:5x30x30이면 batch size가 다르기 떄문에 오류가 발생한다.

 

그래서 다른 방법이 있을지는 모르겠지만, 해당 오류를 해결하기 위해 batch size shape를 맞춰주고, 다음 모델에서 input으로 받아서 다시 원래의 shape로 변환해주면 해결됐다.

 

 

728x90
반응형

댓글