일단 나는 torch2trt를 설치를 해야했고, 뭐 이런거랑 상관없이 일반 python3에서는 tensorrt가 잘 돌아가는데, sudo python3에서만 동작하지 않았다.
bashrc에 LD_LIBRARY_PATH 도 링크를 모두 시켜주었는데도 인식을 못했다.
sudo의 bashrc에서도 인식을 못했다.
c++은 또 문제가 생길 수 있겠는데,
python3에서 일단 해결방책을 말해준다.
python3 에서 tensorrt 를 import 하게 되면,
from .tensorrt import *
에서 에러가 나기 때문에
/usr/local/lib/python3.10/dist-packages/tensorrt/__init__.py 를 들어가보자
그럼 .so.* 를 찾으라는 내용이 나오는데, CURDIR이라는 것을 join 해서 찾고 있다.
CURDIR을 출력해보니 /usr/local/lib/python3.10/dist-packages/tensorrt/에서 찾고 있다.
그래서 방법은 2가지인데
(1) 없는 파일들을 해당 경로에 넣어주거나
(2) libnvinfer가 있는 경로를 넣어주면 된다.
나는 TensorRT-8.x.x/lib 경로를 CUDA_DIR에 넣어주었다.
sudo vim /usr/local/lib/python3.10/dist-packages/tensorrt/__init__.py
CURDIR= "TensorRT 절대 경로/lib" --> 내 경우에는 /home/이름/TensorRT-8.5.1.7/lib 로 넣어주었다.
:wq
이후에 실행하면 된다.