[PyTorch] 파이토치로 딥러닝 초보자 입문하기 - 설치하기
Deep_Learning

[PyTorch] 파이토치로 딥러닝 초보자 입문하기 - 설치하기

 

 

 


 

 

 

0. 관련 글 리스트

 

 

 


 

 

 

파이썬(Python)과 딥러닝에 대해 아는게 거의 없다시피한 사람이 PyTorch에 입문하기로 했다 !
노트북에다가 돌릴 수 있을정도로 간단한 알고리즘 부터 돌려보면서 끄적끄적 해봐야지.

 

올해 말에 맥북 구매도 희망하고 있는데,

과연 현재 내가 사용하는 삼성 노트북과 M1 칩 (혹은 M2 칩)이 탑재된 맥북을 비교해보면 얼마나 차이가 나고 얼마나 헉헉대지 않을 것인가.
(+나중에 알고보니 맥북은 CUDA를 사용할 수 없으므로 별 상관이 없었다 .. ㅠㅠ

NVIDIA랑 Apple이랑 사이가 매우 안 좋다고 함.)


<2022년 5월 18일 Update>

PyTorch 측에서 새로운 update를 발표했다.

Apple Mac OS로 PyTorch를 이용할 경우

Apple Silicon 내 GPU acceleration을 지원한다고 한다!

맥북을 구매하게 된다면 직접 해 본 뒤 관련 글도 작성해 볼 계획이다.

아래 링크로 가보면 최근 발표된 M1 Ultra Chip으로

ResNet-50, VGG-16HuggingFace BERT network에 대해

benchmarking한 결과를 보여준다.

 

 

Introducing Accelerated PyTorch Training on Mac

In collaboration with the Metal engineering team at Apple, we are excited to announce support for GPU-accelerated PyTorch training on Mac. Until now, PyTorch training on Mac only leveraged the CPU, but with the upcoming PyTorch v1.12 release, developers an

pytorch.org


암튼 유튜브를 통해 입문자의 입장에서 설명해주는 영상이 어디 없나 좀 찾아봤는데,
(파이토치 CNN이라고 검색해 봄)
죄다 아래와 같이 뭔가 희한한 에디터에다가 코드 띄워주면서 설명하는 것부터 시작하던데.

 

유튜브에서 찾아본 Pytorch 사용예시.

보니까 뭔가 신기하기도 한 저 녀석은 뭐고, 내가 어떻게 쓸 수 있을까 해서

구글에다 Jupyter 저걸 검색해보니 Anaconda 라는 곳에 소속된 에디터 프로그램이라고 한다.

정확하게는 Jupyter Notebook.

학부생 때 코딩 과목 들을 때는 코드 전체를 돌려보고 디버깅하고 그랬던거 같은데

저건 신기하게 뭉텅이 단위로 돌릴 수 있네.

 

 

 


 

 

 

1. VS Code에 Jupyter Notebook Setup 하기

📣 기존에 있던 한글 글은 개인 홈페이지에 있는 영문 글과 중복되는 관계로 삭제 하였습니다.

VS Code에 Jupyter Notebook Setting하는 법은 아래에 작성한 개인 홈페이지 영문 글을 참고해주세요.

 

 

Integrating Jupyter Notebook in VS Code

How to create a post series with Bulma Clean Theme

kwantaekim.github.io

 

 

 


 

 

 

2. Pytorch 설치하기

여기저기 블로그 뒤져보니 CUDA 라는걸 언급하던데, 몇 번 지나가면서 들은 적은 있어도 정확히 뭔지는 몰랐다.

좀 뒤져보니, 나같이 컴퓨터 아키텍처 잘 모르는 사람은 그냥 ..

AI 돌릴 때 GPU 사용해서 연산 빠르게 해주는 tool 이라고 정도만 알면 될 것 같다 ㅋㅋ

CUDA를 이용해 GPU를 돌리려면 내가 가진 GPU가 CUDA를 지원해야 하는데,

아래 사이트로 가서 CUDA-Enabled GeForce and TITAN Products 목록을 보니

 

CUDA GPUs | NVIDIA Developer

 

내 노트북이 가진 GeForce MX150은 .. 지원하지 않는다.

에잇. 그냥 가벼운 알고리즘만 돌리면서 공부하는 느낌으로 사용해봐야겠다.

빡세다 싶은건 나중에 데스크탑 PC에서 해봐야지.

암튼 CUDA는 제끼고 그냥 Pytorch를 깔기로 했다.

pytorch.org에 가서 아래와 같이 내 노트북의 환경을 고르면 알아서 명령어를 뽑아내준다.

 

Pytorch 홈페이지로 가서 Anaconda용 Pytorch 설치 명령어 받아내기.

복사해서 그대로 VS Code 환경에 넣고 깔아줬다.

simple code를 돌려보니 아래와 같이 잘 된다.

VS Code에서 code Run 단축키는 Shift + Enter이다.

(CUDA is available은 없으면 false도 안 띄워주네. 걔만 따로 돌린 후 false로 확인사살 당함

+추가: torch.cuda.is_available을 출력하려면 cell을 하나 더 파지 말고 print 함수를 쓰면 된다.)

 

VS Code에서 Pytorch를 돌리기.

 

암튼 이제 유튜브 영상들에 나오는 기본 세팅은 잡은 셈이다 !

Cell 내 code를 돌릴 때마다 오른쪽 위의 Idle이 Busy로 바뀔텐데, 이게 다시 Idle로 돌아와야 작업이 끝난 것을 의미한다.

VS Code 내 Jupyter Notebook에서 Variable 확인하기.

특히, 메뉴바에서 위 icon을 클릭하면 MATLAB에서 보는 것처럼 현재 내 kernel에 존재하는 variable들을 한 눈에 볼 수 있다.

 

 

 


 

 

 

3. 다른 .py file과 연동하기

.py file을 instantiation (Verilog 분야에서는 이 표현을 쓰는데 Python 쪽에서는 뭐라 부르는지 모르겠다)

하고 싶다면, 일반 python 및 Jupyter 환경과 마찬가지로 그냥 같은 경로에 .py file을 두고

 

from MyLibrary import MyFunc

 

이런식으로 쓰면 된다.

한 가지 좀 조심해야 할 점을 발견했는데, conda 환경이 켜진 상태에서 .py file에 접근해도

수정사항들이 Jupyter kernel의 통제를 받지 않는다는 것이다.

따라서, .py을 수정하고 저장한 뒤 Jupyter cell들을 run 해도 반영이 되질 않는다.

 

VS Code 내 Jupyter Notebook에서 .py file을 불러올 때 주의사항.

 

따라서 위 그림과 같이 Jupyter kernel을 restart 시킨 뒤 다시 cell을 run해야 한다.