본문 바로가기

pytorch

(2)

[PyTorch] x86 CPU에서 양자화(Quantization) 관련 실행시 에러가 나는 경우 - Didn't find engine for operation quantized::conv_prepack NoQEngine 문제 상황 발생 Kubernetes에서 AI 엔진을 돌리는데, GPU로 사용할때는 문제가 없었는데... CPU를 사용하도록 해서 동작시키니 동작하지 않는 문제가 발생 에러 메세지 아래와 비슷한 문제가 발생하면서 동작하지 않는 문제가 있었다. Didn't find engine for operation quantized::conv_prepack NoQEngine conv_prepack뿐만 아니라, linear_prepack 라는 에러가 발생하기도 한다. 알고 봤더니, CPU를 사용할 때는 Quantization 과정에서 문제가 발생한것이었다. 분석하기 소스에서 에러 메세지 찾기 해당 에러를 출력하는 코드를 찾아보면 아래와 같다. 관련링크 : qconv_prepack.cpp 위 그림에서 코드의 제일 윗부분부터..
[PyTorch] 1.8 release와 함께 GPU memory fraction 이 지원됩니다. - torch.cuda.set_per_process_memory_fraction 인공지능할때 GPU 메모리를 나눠쓰고 싶어요. AI 서비스를 운영하려고 하면, GPU 메모리를 나눠써야 하는 경우가 있다. 관련링크 : [kubernetes] Extended Resource로 나만의 리소스 제약 (request, limit) 만들어서 사용하기 - GPU RAM 나눠쓰기 예전글에 적었다시피, 운영하는 장비의 GPU memory이 너무 큰데 한놈이 다 쓴다거나, 혹은 한 놈이 비정상적 동작으로 인해서 GPU memory를 너무 많이 쓴다면 다른 애들에 문제가 생길거다. Tensorflow 에서는 나눠쓰는것을 옛날부터 지원했다. tensorflow에서는 1.x 대 부터 per_process_gpu_memory_fraction 를 사용해서 process당 사용할 수 있는 GPU 메모리를 지정할..