본문 바로가기
Development/TensorRT

[TensorRT] trtexec dumpProfile / profilingVerbosity / dumpLayerInfo option

by shuka 2022. 4. 21.
728x90
728x90

trtexec에서 dumpProfile / profilingVerbosity / dumpLayerInfo option

 

tensorrt에서 trtexec --help를 보면 많은 option들이 있는데 그중 "--dumpProfile --profilingVerbosity=detailed ---dumpLayerInfo"이라는 세 개의 option이 있다.

 

해당 option들에 대해서는 다음과 같이 설명이 되어 있다.

 

dumpProfile option을 추가해서 실행하였을 경우

--dumpProfile               Print profile information per layer (default = disabled)

 

dumpProfile 옵션은 tensorrt 형식으로 변환된 모델에 대해 profile 정보를 출력해 준다고 되어 있는데 option을 추가해서 실행해 보면 모델의 각 layer마다 소요되는 시간에 대해 보여준다.

 

시간을 측정하는데 설정되는 iteration은 random으로 설정이 되는것 같고, layer 옆에서부터 iteration을 돌 때 걸린 총 시간, 평균 시간, 그리고 전체 모델이 돌 때 차지하는 시간의 비율을 보여주고 있다. 

 

많은 정보를 보여줄 줄 알았는데 시간만 나타내 주는 option이였고, 많은 시간을 차지하는 layer에 대해 작업을 하게 되면 더 최적화된 모델을 생성할 수 있지 않을까 생각이 든다.

 

 

profileingVerbosity와 dumpLayerInfo option에 대해 추가하였을 경우

여기서 만약 각 layer별 세부 정보 및 바인딩 정보가 포함된 엔진의 자세한 정보를 알고 싶다면 밑의 두 개의 정보를 포함시키면 알 수 있다.

--profilingVerbosity=mode   Specify profiling verbosity. mode ::= layer_names_only|detailed|none (default = layer_names_only)
--dumpLayerInfo             Print layer information of the engine to console (default = disabled)

 

 

만약, "--profileingVerbosity=detail --dumpLayerInfo" 이렇게 옵션을  추가하였을 경우 다음과 같이 각 layer에 대한 세부 정보가 나온다.

 

https://docs.nvidia.com/deeplearning/tensorrt/developer-guide/index.html#dla_topic

 

Developer Guide :: NVIDIA Deep Learning TensorRT Documentation

The IConvolutionLayer computes a 2D (channel, height, and width) convolution or 3D (channel, depth, height, and width) convolution, with or without bias. Note: The operation that the IConvolutionLayer performs is actually a correlation. Therefore, it is a

docs.nvidia.com

 

 

https://eehoeskrap.tistory.com/617

 

[TensorRT] trtexec dumpProfile

공개되어있는 모델을 TensorRT Engine으로 변환하고, trtexec 에 있는 dumpProfile 플래그를 이용하여 Layer 마다 Profile 해본 결과는 아래와 같다. 이를 이용하여 원하는 속도가 나오도록 모델을 적절하게

eehoeskrap.tistory.com

 

 

 

 

728x90
반응형

댓글