to. 바쁘신 분들
결론적으로는, 이것저것 설치를 하면 새로운 에러들이 부수적으로 떠서 회사 컴퓨터에 인텔 oneAPI 툴킷을 설치하는 것은 보류하였습니다. 회사 컴퓨터가 개발자용이 아닌데다가, 업무 시간에 딥러닝 머신러닝 모델 구현하는 것도 눈치보일 거 같아서..
최종 에러 메시지는 아래와 같습니다.
intel oneapi data analytics library error: sequence execution failed
혹시 시간되시고, 착하시고, 프로그래밍 척척 박사이신 분들께서는 댓글을 남겨주시면
저같은 초보 개발자, 입문자, 그외에 엔비디아 GPU 가 아닌 컴퓨터로 파이토치를 해보고자 하는 많은 이들에게 구원이 될 것이라 믿습니다.
아무튼, 해당 포스팅은 실패 사례 입니다.
만약, 머신러닝 용 노트북을 구매하실 계획이 있으신 분들께서는반드시! 반드시! 반드시! 엔비디아 GPU가 내장되어 있는 RAM은 최소 16, 권장 32GB의 노트북을 구매하시기 바랍니다.(아마 이런 저런 작업을 수행하다보면 어떤 노트북이 적합한지에 대한 명확한 기준이 생길 거 같다.이번 작업을 통해 왜 엔비디아 GPU 가 AI 산업이 뜨면서 각광받는지 알게 되었으니.)
나 이 글 쓰기 전까지는 솔직히 집에서 쓰는 노트북 GPU 어디건지 아예 볼 생각을 못했는데...
집 가자마자 GPU 어디건지 바로 확인해봐야겠다ㅠ
시작
집에서 쓰는 노트북말고, 회사에서 사용하는 PC로 Pytorch(이하 파이토치)를 구동하기 위해 이리저리 알아보는 중이다.
파이토치를 GPU를 활용하여 쓰면 CPU만 사용하는 것과는 비교도 안 되게 속도가 향상된다고 한다.
GPU를 활용하여 파이토치를 사용하려면 먼저 CUDA, cuDNN 등의 파일을 받아야 하는데,
컴알못인 나는 내 GPU가 어느 브랜드 것인지도 모른체, 무턱대고 해당 파일을 다운 받으려고 하였다.
그런데 문제는,
CUDA와 cuDNN 은 NVIDIA 전용이라, 내가 사용하는 컴퓨터(또는 노트북)의 GPU가 NVIDIA가 아니면 다운 받아봤자 무용지물이다. 한마디로, 차는 Hyundai 인데, BMW 소프트웨어를 다운받아서 내 차에 설치하려는 시도 라고 쉽게 이해하면 되겠다.
검색해보니, 파이토치 웹사이트에 아래와 같은 답변이 있었다.
PyTorch는 기본적으로 NVIDIA GPU를 사용하여 작동하도록 설계되었습니다. 이는 NVIDIA GPU에서 CUDA 및 cuDNN 라이브러리를 사용하여 가속화된 연산을 수행하도록 지원하기 때문입니다.
하지만, 다른 회사의 GPU에서도 PyTorch를 사용하는 것이 가능하지만, 성능과 지원 면에서 제한이 있을 수 있습니다. 예를 들어, AMD GPU의 경우 ROCm을 사용하여 PyTorch를 실행할 수 있습니다. ROCm은 AMD GPU를 위한 오픈소스 플랫폼입니다. PyTorch의 ROCm 지원에 대한 자세한 내용은 다음 링크를 참조하세요: PyTorch ROCm 지원 408
그러나, ROCm은 아직 모든 기능과 최적화를 완벽하게 지원하지 않기 때문에, NVIDIA GPU를 사용하는 것이 더 안정적이고 높은 성능을 얻을 수 있는 선택입니다.
인텔 GPU의 경우, oneAPI를 사용하여 PyTorch를 실행할 수 있습니다. 하지만 이 경우에도 NVIDIA GPU만큼의 성능과 지원을 기대하기는 어렵습니다. oneAPI에 대한 자세한 내용은 다음 링크를 참조하세요: oneAPI 298
결론적으로, PyTorch를 사용하여 실시간 이미지 처리를 수행하려면 NVIDIA GPU를 사용하는 것이 가장 좋은 선택입니다. 다른 GPU를 사용할 수는 있지만, 성능과 지원 면에서 제한이 있을 수 있습니다.
▶ 한줄 요약: 파이토치는 엔비디아 GPU 전용 프로그램이니까 엔비디아 GPU 써라.
이래서 'AI - 엔비디아 독점' 과 같은 뉴스 기사들이 많았던 거구나라고 새로운 것을 깨우쳤다. (책을 통해서는 해당 지식을 배우긴 어려웠다.. 뭐, 이정도는 기본 아니냐? 라고 생각하신다면 제가 더 열심히 공부할게요 ^^)
내가 쓰는 컴퓨터의 GPU 브랜드 확인하기 (윈도우11 기준)
우선, 내 GPU가 어느 브랜드 것인지를 알아야 CUDA를 다운 받던지, 아니면 다른 방안을 알아보던지 해야 할 것이기 때문에, 먼저 내 컴퓨터의 GPU 브랜드 및 이름을 알아보는 것을 선행해야 한다.
이거는 간단한데, 우리가 평소 프로그램이 먹통일 때 쓰는 ctrl + alt + del 키를 누르면 나와서 선택할 수 있는 '작업관리자'에서 '성능' 탭을 클릭한 후, GPU를 클릭하면 나온다.
위와 같은 방법으로 확인한 나의 GPU는 인텔(Intel)사의 UHD Graphics 610 이다.
아쉽게도 Nvidia 제품이 아니라서, CUDA 가 아닌 다른 툴킷을 다운 받아야 한다.
인텔 전용 Pytorch 툴킷 다운 받기
위의 과정을 통해, 내 PC의 GPU는 인텔 사 라는 것을 알게 되었고, 파이토치 홈페이지에서도 방법을 안내해 줬으니, 이를 따라해보면 될 거 같다.
인텔 GPU의 경우, oneAPI를 사용하여 PyTorch를 실행할 수 있습니다. 하지만 이 경우에도 NVIDIA GPU만큼의 성능과 지원을 기대하기는 어렵습니다. oneAPI에 대한 자세한 내용은 다음 링크를 참조하세요: oneAPI 298
oneAPI을 사용하면 엔비디아에 비해 성능이 떨어지기는 하나, 쓸 수 있다고 하니 oneAPI 툴킷을 다운 받아봐야 겠다.
설치하는 방법은 아래 링크에 상세하게 나와있다.
https://github.com/intel/intel-extension-for-tensorflow
깃허브에 나와있는 대략적인 설치 과정은 이러하다.
1. 인텔GPU 드라이버 설치
아래 링크에 접속하여, 사용하는 GPU 모델명을 적어 검색
검색 목록에 해당 드라이버가 뜨면 클릭해서 들어가본 후
하단으로 내리면 적용 가능한 제품 리스트가 나온다. 리스트 중에 610이 있으므로 다운로드
다운로드 받은 파일을 실행 한 후,
재부팅까지 하면 설치 완료
2. 인텔 oneAPI 툴킷 설치
oneAPI 홈페이지 접속
개발자 > 도구 > OneAPI > 툴킷 > 인텔® 툴킷 순으로 들어간 뒤, (하단 이미지 참고) 다운로드
다운로드 받은 파일을 실행
하여 설치를 했건만, 아래와 같은 오류가 나타나서 구글링을 해보니, VS CODE 버전이 맞지 않아 그렇다고 한다.
intel dpc++ compatibility tool error: sequence execution failed
해당 툴킷과 맞는 VS CODE 버전은 2019와 2022.
따라서, 기존 VS CODE를 지우고 2022 버전으로 재설치를 했다.
설치를 완료하고 나서, oneAPI 설치를 재시도 해보니 warning 표시가 사라졌다.
여기까지 했는데, 또 오류가 떠서... 내 인내심으로는 여기까지만 해야할 거 같다.
만약 집에서 쓰는 노트북이었다면 계속 메달려서 해봤을텐데, 회사 컴퓨터이기도 하고,
난 퇴사를 곧 3주 앞뒀기 때문에 여기에 시간을 들여 깔아봤자 제대로 활용을 못할 거 같기 때문이다.
'[파이썬 Projects] > <파이썬 머신러닝>' 카테고리의 다른 글
[머신러닝] 스태킹 앙상블 (0) | 2024.09.21 |
---|---|
[머신러닝] Pytorch 설치하기 (Nvidia GPU 버전) (0) | 2024.09.09 |
[머신러닝] 머신러닝에 적합한 도구, Pytorch 설치하기(CPU버전) (1) | 2024.09.08 |
[머신러닝] 차원의 저주(Curse of Dimensionality)란? (1) | 2024.09.03 |
[머신러닝] 분류 - 캐글 신용카드 사기 검출 (0) | 2024.07.08 |