github 주소 : https://github.com/ceccocats/tkDNN
Yolov4-tiny 모델을 tensorRT로 전환해서 사용하려고 하니 본래 사용하던 github에서는 지원이 안돼서 다른 github에서 사용하는 tkDNN모델로 사용하게 됨.
버전과는 상관없이 위의 종속성에 해당하는 종류는 모두 있어야 함
환경 변수
빌드과정
- $ mkdir build
- $ cd build
- $ cmake ..
- [ 여기서 만약에 에러가 발생한다면 ]
- vi CMakeLists.txt ( path tkDNN/CMakeLists.txt )
- 맨위에 추가
set(CUDA_nvinfer_LIBRARY "/usr/local/cuda-11.1/TensorRT-7.2.3.4/lib/libnvinfer.so") set(NVINFER_INCLUDES "/usr/local/cuda-11.1/TensorRT-7.2.3.4/include") set(CUDA_cublas_device_LIBRARY "/usr/local/cuda-11.1/lib64/libcublas.so")
esc + wq! (vi 종료)
다시 진행
- $ cmake ..
- $ make -j 8 ( 8은 cpu thread 갯수 )
- 빌드 완료
Custom dataset으로 trt변환후 사용하기
{tkDNN}/tests/darknet/yolov4tiny.cpp (사용하고자 하는 backbone의 {model}.cpp에서
- std::string bin_path = "/home/john/PycharmProjects/tkDNN_trt/darknet";
- std::string cfg_path = "/home/john/PycharmProjects/tkDNN_trt/tests/darknet/cfg/yolo4tiny_fire.cfg";
- std::string name_path = "/home/john/PycharmProjects/tkDNN_trt/fire.names";
- std::string wgs_path = bin_path + "/layers";
이 부분이 맞는지 확인해야 함!
또 {tkDNN}/tests/darknet/cfg/{need_model}.cfg ⇒ 학습 때 사용한 cfg를 복붙해도 됨