일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- CSS
- 상속
- html/css
- 자바스크립트심화
- 중학1-1
- 데이터베이스
- c언어
- 데이터분석
- 연습문제
- JSP/Servlet
- 딥러닝
- 오블완
- 자바 실습
- JSP
- 컴퓨터비전
- 머신러닝
- 컴퓨터구조
- 자바
- JDBC
- 정보처리기사필기
- 파이썬
- 디버깅
- 티스토리챌린지
- 자바스크립트
- 순환신경망
- 정보처리기사실기
- 혼공머신
- SQL
- rnn
- 중학수학
- Today
- Total
클라이언트/ 서버/ 엔지니어 "게임 개발자"를 향한 매일의 공부일지
딥러닝 개발 환경 구축 - 구글 코랩으로 실행하기 본문
오늘부터 딥러닝 공부를 본격적으로 시작하기로 했다. 지난번에 이틀 정도 딥러닝 공부를 했는데 그건 수업을 들으면서 몇 개의 프로젝트를 만들었던 거였다. 사실 수업 시간 배운 것들은 나중에 보면 별로 쓸데가 없고 도움이 알 될 때가 많다. 난 혼자서 이렇게 책을 보고 강의를 들으면서 공부할 때 훨씬 더 효율이 높고 머릿속에도 오래 기억되는 걸 느꼈다.
이제 본격적인 딥러닝 공부를 하기 위한 환경을 설정해보기로 하자.
구글 코랩
조금 전에 내 컴퓨터의 GPU가 딥러닝을 공부하기에 적당한지 찾아보니 아주 기본적인 것밖에 실행할 수 없다는 걸 알게 되었다. 대신 코랩으로 진행해 보기로 했다. 머신러닝까지는 주피터 노트북으로 실습을 진행했지만 딥러닝부터는 그럴 수가 없다. 코랩으로 실습하는 것도 익숙해져야 할 것 같다.
텐서플로는 딥러닝을 위한 도구이고, 수많은 행렬 곱셈 연산을 처리한다. 따라서 병렬 연산이 가능한 GPU 환경에서 동작하는 것이 좋다. CPU 환경에서도 텐서플로 사용이 가능하지만, 딥러닝 모델의 학습 속도를 고려했을 때 GPU가 필수적이다. 성능이 좋은 그래픽 카드(GPU)가 필요하다.
일반적으로 엔비디아 RTX급 이상의 DPU를 많이 사용하는데, 연산을 담당하는 CUDA 코어 개수가 많고 그래픽 카드 메모리(VRAM)가 클수록 딥러닝 개발 환경에 적합하다. 데이터를 저장하는 메모리와 연산을 처리하는 텐서 코어를 연결하는 메모리 대역폭(bandwidth)도 중요한 요소이다.
하지만 GPU가 탑재된 컴퓨터가 없어도 기본적인 텐서플로 학습이 가능하다. 구글 코랩은 텐서플로를 가장 쉽게 사용할 수 있는 방법이다. GPU를 따로 구입할 필요 없이 구글 클라우드 환경에서 지원하는 GPU를 무료로 이용할 수 있다. 또한 텐서플로를 설치할 필요도 없기 때문에 딥러닝을 처음 배우거나 고성능 GPU가 없는 사람들에게 권장하는 분석 도구이다.
구글 코랩 실행
런타임 유형 변경하기
책은 2021년 버전이라 3년이 지난 지금은 코랩이 조금 달라져서 어떤 걸 선택해야 하는지 한참 고민했다. 찾아보니 T4 GPU를 쓰면 괜찮다고 한다. TPU는 대규모 딥러닝 작업이나 텐서플로 모델 학습에 특화된 하드웨어라고 한다.
GPU를 잘 연결했고, 구글 드라이브에 딥러닝 폴더를 하나 만들어서 정리해주었다. 이 구글 드라이브에 저장하는 법을 몰라서 30분이 넘게 헤맸다. 결국 하는 방법을 찾을 수 있어 다행이었다.
텐서플로 버전 확인하기
3년 전에 이 책을 출간할 당시에는 버전이 2.4었는데 지금은 2.17.0이다. 난 지금의 버전이 혹시 더 낮은 건지 알았는데 아니었다. 4보다 17이 더 크니까 최신 버전인 것이다. 세 번째 숫자는 패치 버전 숫자를 의미한다.
예제 코드 복사하기
코랩 사용시 깃 허브에서 예제 코드를 받는 방법은 2가지가 있다.
- 깃허브에서 다운로드한 후 구글 드라이브에 업로드하기
- 구글 코랩 실행 후 구글 드라이브로 바로 복사하기
두 번째 방법이 더 편한 것 같고 책에서도 이 방법을 사용한다. 이제 코드를 가져와서 복사하는 실습을 진행해 보자.
마운트로 연결하는 법은 지난 학습 때 여러 번 실습했으니 여기서는 생략한다. 처음에는 이것도 얼마나 어려웠는지 모른다. 지금은 식은 죽 먹기처럼 아주 쉽다.
예제 파일을 저장할 위치 경로 복사하기
소스를 붙여 넣을 폴더를 하나 만들고 경로를 복사해 준다. 난 구글 드라이브에서 만들었더니 코랩에서 연동이 되지 않았다. 할 수 없이 런타임을 해제했다가 다시 연결하니 시간이 좀 걸렸다. 다음에는 여기서 바로 폴더를 생성하려고 한다.
파일 위치 이동 및 예제 파일 복사하기
이제 드디어 되었다. 이 코드 하나 실행시키는 것이 얼마나 어렵던지 한참의 시간이 걸렸다. 책에는 분명히 cd 이렇게만 써있는데, 이 코드를 실행시키면 오류가 난다. !도 아니었고 %를 붙여야 한다.
선생님의 수업을 열심히 들으며 정리한 보람이 있었다. 자료를 찾아보며 해결할 수 있었다.
실습 후 완성된 모습
이렇게 자료가 들어있다. 정말 뿌듯하다.
학습을 마치고
책의 서론을 읽고 개발 환경 하나 구축하는데 2시간 가까이 걸렸다. 원래 뭐든 처음 시작하는 건 힘든 법이다. 그동안 내가 코랩을 쓰고 싶지 않았던 게 바로 이런 이유였음을 알게 되었다. 파일 하나 경로를 이동하고 복사하는 일이 너무 힘들었기 때문이다.
이제 확실히 그 사용법을 익혔으니 공부를 시작할 수 있을 것 같다.
'인공지능 > 딥러닝' 카테고리의 다른 글
텐서플로 2 - 텐서플로 자료 구조 1 : 스칼라와 벡터 (0) | 2024.10.01 |
---|---|
텐서플로 1 - 텐서플로에 대하여 : 텐서플로2와 텐서플로1의 차이점 (0) | 2024.10.01 |
딥러닝 14 - Callback 함수 실습해보기 (0) | 2024.09.22 |
딥러닝 13 - 패션 데이터 분류 실습해보기 (0) | 2024.09.22 |
딥러닝 12 - 경사하강법의 종류와 특징에 대하여 (0) | 2024.09.22 |