WSL2+Docker+Pytorch(CUDA)

송창우·2022년 5월 16일
0

대상자 : Nvidia 그래픽카드를 사용하는 윈도우 유저

서론

국내에서 인공지능 관련 인력이 부족한데에는 운영체제가 한 몫을 한다고 생각한다.
대다수의 국민들은 윈도우를 사용하기때문에 상대적으로 리눅스에 대한 관심이 적다.
해당 분야를 공부하고 현업에서 사용하면서 가장 많이 부딪혔던 부분이 바로 운영체제인데, 대부분의 오픈 소스와 오픈 라이브러리는 리눅스를 기반으로 만들어 그 지원범위에 한계가 있다. 윈도우 혹은 매킨토시 유저는 제작자가 다양한 버전으로 만들어줬기를 기대하며 오늘도 깃허브에 논문 저자의 소스코드를 검색한다.

WSL 2 (Windows Subsystem for Linux 2)

보통은 멀티 부팅을 위해 따로 파티션을 만드는 수고를 한다.(diskpart) 이런 윈도우에도 단비 같은 존재가 WSL 2이다. 이를 사용하면 두 운영체제가 동일한 파티션을 공유하여 서로의 파일에 접근이 가능하고 클립보드 또한 붙여넣기가 가능하다. 설치에 앞서 Nvidia 그래픽 드라이버를 먼저 설치해준다. 윈도우 업데이트 버전 등이 중요하니 자세한 사항은 설치 문서를 참고하면 좋겠다. 이제 커맨드창에서 wsl 만 입력해주면, 우리가 익히 아는 인터페이스(CLI;Command-line inferface)가 우리를 반겨준다.

2. Docker

윈도우용 'Docker Desktop' 프로그램이 있지만 GUI가 없는 Docker 사용을 권장한다. 경험상 에러메세지 등 문제 해결에는 역시 CLI만큼 직관적인게 없었다. 설치는 이 문서를 참고한다. Docker Engine의 경우, 재부팅시 서비스를 시작해줘야한다.

~ $ sudo service docker start

# [sudo] password for $USER:
#   * Starting Docker: docker                                                          [ OK ]

3. Pytorch

컨테이너를 생성했을때 CUDA를 바로 인식하면 좋겠지만...늘 그렇듯 쉽지않다. Docker를 사용하는 이유도 여기 있다. Nvidia 사에서 제공하는 이미지 위에 Pytorch를 설치한다. 어려운 길대신 쉬운 길로 가자. Pytorch에서 공식으로 만들어준 이미지를 사용한다.

~ $ docker pull pytorch/pytorch

3.1. 다운 받은 이미지를 컨테이너로 만든다.

~ $ docker run -it --rm --gpus all pytorch/pytorch

3.2. nvidia-smi로 확인해본다.

3.3. 간단한 스크립트로 CUDA 를 확인해본다.

profile
딥러닝 엔지니어

0개의 댓글