Programming

Programming/TensorRT

[TensorRT 변환] ONNX2TensorRT(transformation and inference)

TensorRT serialize & deserialize code with using dynamic batch TensorRT serialize & deserialize code with using dynamic batch - tensorrt.py gist.github.com 파이썬으로 Onnx 파일을 불러와 engine파일로 직렬화하여 변환하여 저장하고, (다이나믹 배치 포함) 다시 그 파일을 불러와서 inferenc하는 코드이다. TensorRT Version : 8.2.2.1 전에 pytorch모델을 onnx로 변환하는 방법은 아래 포스팅에 pytorch method 옵션과 함께 간략히 적어뒀다. torch.onnx.export() option torch.onnx.export Signature: ..

Programming/TensorRT

trtexec 옵션 및 예시

trtexec -h === Model Options === --uff= UFF model --onnx= ONNX model --model= Caffe model (default = no model, random weights used) --deploy= Caffe prototxt file --output=[,]* Output names (it can be specified multiple times); at least one output is required for UFF and Caffe --uffInput=,X,Y,Z Input blob name and its dimensions (X,Y,Z=C,H,W), it can be specified multiple times; at least one is r..

Programming/C

[백준][2783] 행렬 덧셈 : C언어 배열 선언 변수

c언어 공부 중인데 개념만 읽어서 이해는 되지만 실제로 해보려고 백준 문제를 풀었다 배열포인터가 너무 어려워서.. 배열포인터는 아니지만 배열 문제로 풀었는데 새로운 난관을 만났다 Visual Studio로 컴파일을 하면 배열을 선언할 때, 배열 크기를 변수로 지정하는 게 안됐다. java랑 python을 해왔으므로 매우 당황스러움... 찾아보니 C언어 컴파일러 중 C99컴파일러는 배열 크기 선언이 변수로 가능한데 그 이전은 불가능하고, Visual Studio는 C99컴파일러를 사용하지 않기 때문에 배열크기를 변수로 선언하는 게 오류였던 것! 백준에서는 C99컴파일러를 사용할 수 있어 다음과 같은 코드로 제출이 가능했다. C99 컴파일러에서는 가변길이배열 VLA(variable-length array)를..

Programming/TensorRT

데이터 직렬화(Serialize)와 역직렬화(Deserialize)

직렬화(Serialize) 프로그램에서 객체와 같은 메모리의 내용을 물리적으로 디스크에 저장하거나 네트워크 전송을 위해서 단순하고 연속적인 바이트스트림으로 변환하는 것. 역직렬화(Deserialize) 직렬화와 반대로 직렬화 된 데이터(바이트스트림)를 다시 프로그램에서 사용가능한 객체로 변환하는 것. 참고 [Java] 직렬화와 역직렬화 java-study에서 스터디를 진행하고 있습니다. 데이터 직렬화와 역직렬화 데이터 직렬화 메모리를 디스크에 저장하거나, 네트워크 통신에 사용하기 위한 형식으로 변환하는 것이다. 데이터 역직렬 steady-coding.tistory.com -> 자바언어로 설명되어있지만 직렬화와 역직렬화의 개념에 대해서 아주 자세히 설명되어있어서 이 글을 보고 내용을 이해했다. 직렬화(Se..

Programming/TensorRT

[TensorRT] *.engine 과 *.trt 차이점

TensorRT를 공부하다보면 모델 저장시 확장자를 engine 또는 trt로 사용하곤 하는데 이 차이점이 궁금했다. 찾아 본 결과, 결론은 둘의 차이는 없다. What's the difference between engine file and trt file? Can any one tell me the difference ? Thanks forums.developer.nvidia.com

Programming/TensorRT

pycuda 개념 및 사용 예시

PyCUDA란? PyCUDA는 파이썬에서 CUDA를 사용하기 위한 라이브러리 CUDA는 NVIDIA 그래픽 카드에서 병렬처리를 위해 사용되는 플랫폼으로 PyCUDA는 파이썬 개발자가 CUDA C/C++ 코드를 직접 작성하지 않고도 파이썬에서 CUDA를 사용할 수 있게 해준다. 이를 통해 파이썬에서 고성능 계산을 수행할 수 있다. DOCS pycuda 2022.2.2 documentation Next Installation documen.tician.de 1. 초기화 Pycuda 를 사용하기 전에 import하면서 autoinit으로 자동으로 초기화 할 수 있다. autuinit을 import하지 않으면 오류가 나고, 이 과정은 수동으로도 진행할 수 있다. import pycuda.driver as cud..

Programming/C

c언어 공부하기 좋은 사이트

씹어먹는 C 언어 시작하기 modoocode.com 이해하기 쉽게 잘 설명되어있고, pdf도 제공해주시고 유튜브 강의도 있다. 만드신분께서 엄청 오랫동안 공들여만든게 보이고, 계속해서 관리하고 계신다. 예전에 포인터 이해 못 했는데, 이거 보고 이해했다! 최고..

Programming/Python

[method] instance method vs class method vs static method

1. instance method 인스턴스 메소드 가장 기본이 되는 메소드로 데코레이터 없이 선언한다. 관행적으로 메소드 맨 앞에 self라는 이름의 매개변수를 준다. '인스턴스'의 메소드라는 것이 핵심이다. 클래스로부터 인스턴스를 생성해야 사용할 수 있고 해당 인스턴스의 속성에 접근할 수 있다. class Counter: def __init__(self, value = 0): self.value = value def increment(self, delta = 1): self.value += delta def decrement(self, delta = 1): self.value -= delta counter = Counter() counter.value # 0 2. class method 클래스 매소드 ..

Heaea
'Programming' 카테고리의 글 목록 (2 Page)