[TensorRT] keras model 에서 node name 확인하는 방법
아래와 같은 에러 발생 시 [TensorRT] ERROR: Parameter check failed at: ../builder/Network.cpp::addInput::406, condition: isValidDims(dims) [TensorRT] ERROR: UFFParser: Failed to parseInput for node input_1 [TensorRT] ERROR: UFFParser: Parser error: input_1: Failed to parse node - Invalid Tensor found at node input_1 input shape을 (224, 224, 3) 가 아닌 [224, 224, 3] 으로 넣어주어야 함 그리고 keras model의 input node name, ..
2019.09.19
no image
[TensorRT] 마지막 노드 찾기
이 포스팅은 Tensorflow 에서 이미 만들어진 ckpt 파일을 가지고 TensorRT로 변환하는 과정에서 마지막 노드를 찾기 위하여 겪게 된 삽질들을 적어두었다 ^^ Tensorflow에서 이미 만들어진 ckpt 파일만 가지고 pb 파일을 생성할 수 없기 때문에, ckpt 파일을 가지고 모델을 테스트 하는 과정에서 iteration 한번으로 pbtxt 를 생성하였다. 이 때 중요한 점은 테스트를 한번 돌려서 pb 파일을 생성할 수도 있지만 테스트의 pb와 트레이닝을 끝으로 만들어지는 pb 는 다르다는 것이다. 당연히 내부에 포함되어있는 가중치의 값이 다르니까. pbtxt 는 모델의 구조를 담은 파일인데 이와 ckpt 파일을 가지고 freeze 하여 pb 파일을 얻었다. 이 때 모델의 마지막 노드를 ..
2019.08.03
no image
[TensorRT] TF-TRT vs TRT
TensorFlow에 내장되어있는 TensorRT, 일명 TF-TRT 와 그냥 TensorRT 즉 TRT 와의 성능 차이를 비교하는 벤치마크는 현재 시점(2019.08.03)에 나와있지 않다고 한다. 엔비디아에서 TRT vs TFTRT 에 대한 비교 자료를 만들고 있다고 한다. 참고자료 https://devtalk.nvidia.com/default/topic/1044901/tensorrt/performance-using-the-integration-tensorflow-tensorrt-vs-direct-tensorrt/ https://devtalk.nvidia.com/default/topic/1044901/tensorrt/performance-using-the-integration-tensorflow-te..
2019.08.03
[TensorRT] TensorRT custom layer
예를 들어, "ResizeBilinear" 레이어는 TensorRT 에서 지원하지 않는 레이어이다. TensorRT에서 지원되지 않는 레이어 목록 : https://docs.nvidia.com/deeplearning/sdk/tensorrt-developer-guide/index.html#support_op TensorRT Developer Guide :: Deep Learning SDK Documentation NVIDIA DLA (Deep Learning Accelerator) is a fixed function accelerator engine targeted for deep learning operations. DLA is designed to do full hardware acceleration ..
2019.06.13
[TensorRT] ImportError: No module named 'tensorrt.parsers'; 'tensorrt' is not a package
아래와 같은 에러는 ImportError: No module named 'tensorrt.parsers'; 'tensorrt' is not a package TensorRT 예제에서 아래코드와 같이 tensorrt.parsers 의 uffparser를 import 하여 uff 파일을 로드하고 builder 를 생성하였을 때 나는 에러이다. import tensorflow as tf import tensorrt as trt from tensorrt.parsers import uffparser uff_model = uff.from_tensorflow(tf_model, ["fc2/Relu"]) G_LOGGER = trt.infer.ConsoleLogger(trt.infer.LogSeverity.ERROR) p..
2019.06.10
no image
[TensorRT] TensorRT를 이용한 ResNet 예제
TensorRT는 추론 최적화 도구이다. 미리 만들어져있는 실행 그래프 파일 (.pb) 을 이용하여 추론을 수행한다. https://github.com/tensorflow/models/tree/master/research/tensorrt tensorflow/models Models and examples built with TensorFlow. Contribute to tensorflow/models development by creating an account on GitHub. github.com TensorFlow 에 내장되어있는 tensorrt 모델을 이용하여 간단한 예제를 실행 할 수 있다. 미리 트레이닝된 TensorFlow SavedModel 을 Frozen Graph로 변환 추론을 위해 F..
2019.04.12
[TensorRT] TensorRT support Python2.7, 3.5
TensorRT 는 현재까지 Python 2.7, Python 3.5 만을 지원한다. https://devtalk.nvidia.com/default/topic/1043215/tensorrt/tensorrt-import-undefined-symbol/ https://devtalk.nvidia.com/default/topic/1043215/tensorrt/tensorrt-import-undefined-symbol/ devtalk.nvidia.com https://devtalk.nvidia.com/default/topic/1035558/tensorrt/tensorrt-for-python-3-6-/ https://devtalk.nvidia.com/default/topic/1035558/tensorrt/tenso..
2019.04.12
no image
[TensorRT] Docker Container를 이용한 TensorRT 설치
TensorRT 레퍼런스에 나와있는대로 Root에 설치했으나 python dependency 문제로 인해 실행되지 않았다. TensorRT 5.0.2.6 (CUDA 10.0) 버전을 설치했는데 자꾸 아래와 같이 CUDA 9.0를 찾지를 않나 ImportError: libcublas.so.9.0: cannot open shared object file: No such file or directory TensorRT를 못찾는 에러가 나와서 NVIDIA 답변을 보니 Container를 사용하라고 한다. ImportError: /usr/local/anaconda3/lib/python3.6/site-packages/tensorrt/tensorrt.so: undefined symbol: _Py_ZeroStruct ..
2019.04.10
[TensorRT] TensorRT 5.0.2 Compatibility
TensorRT 5.0.2의 Python Sample 은 yolov3_onnx, uff_ssd 가 있다고 한다. 제일 중요한 Compatibility 는 다음과 같다. TensorRT 5.0.2.6 Compatibility TensorRT 5.0.2 has been tested with cuDNN 7.3.1. TensorRT 5.0.2 has been tested with TensorFlow 1.9. This TensorRT release supports CUDA 10.0 and CUDA 9.0. CUDA 8.0 and CUDA 9.2 are no longer supported. On Windows only, CUDA 10.0 is supported for TensorRT 5.0.1 RC. 원문은 아래와..
2019.04.09
[TensorRT] Object Detection With The ONNX TensorRT Backend In Python
TensorRT 샘플인 yolov3_onnx 를 돌려보았다. 샘플 파일 위치 : .........../TensorRT-5.0.2.6/samples/python/yolov3_onnx 이 샘플은 python 3 와 Ubuntu14.04 이전 버전을 지원하지 않음 주의 1. TensorRT 설치 2019/04/09 - [Deep Learning/TensorRT] - [TensorRT] TensorRT 설치 2. Onnx 설치 (필자는 루트환경에 설치했으므로 sudo 를 사용) python2 -m pip install onnx==1.2.2 3. requirements.txt 설치 python2 -m pip install -r requirements.txt 4. yolov3_to_onnx.py 코드 실행 (한번만..
2019.04.09
[TensorRT] TensorRT 설치
Nvidia TensorRT 는 GPU에서 고성능 추론을 용이하게 해주는 C++ 라이브러리이다. TensorRT는 일련의 네트워크 및 매개변수 들로 구성된 네트워크를 사용하여 기존에 존재하는 네트워크를 고도로 최적화 시킬 수 있다. 현재 TensorRT는 CUDA 9.0, 10.0, 10.1 을 지원할 수 있고 TensorFlow에서 TensorRT 모델로 변환하려면 TensorFlow 1.12.0 버전이 필요하다고 한다. 또한 TesnorRT 는 sudo나 root 에 설치해야하며 anaconda 와 같은 가상환경을 사용할 경우 tensorRT가 설치된 곳을 제어 할 수 없다고 한다. anaconda + python 2.7 을 이용하면 될 수 도 있다고 하는데 시도해보니 실패 1. TensorRT 파일..
2019.04.09