밑바닥부터 시작하는 딥러닝 1 - 실습 준비
아나콘다는 엔진이고, VS Code는 작업대다
딥러닝을 공부하기 전에 가장 먼저 헷갈리는 것은 개념이 아니라 환경이다. 아나콘다를 설치했는데 코드는 어디에 쓰는지, VS Code나 파이참은 왜 필요한지, 넘파이와 맷플롯립은 따로 설치해야 하는지부터 막힌다.
이 글은 딥러닝 이론 글로 들어가기 전의 지원편이다. 목표는 도구 이름을 외우는 것이 아니라, 각 도구가 실습 흐름에서 어떤 역할을 맡는지 구분하는 것이다.
이번 글에서 잡을 것
- 아나콘다는 파이썬 실행 환경과 자주 쓰는 라이브러리를 묶어 설치하는 도구다.
- VS Code나 파이참은 코드를 편하게 작성하고 실행하는 작업대다.
- 인터프리터는 짧은 실험에, `.py` 파일은 반복해서 실행할 코드에 적합하다.
- NumPy는 숫자 배열 계산, Matplotlib은 결과 시각화에 쓰인다.
왜 환경부터 정리해야 할까
책은 파이썬과 넘파이만으로 딥러닝의 핵심을 직접 구현한다. 그래서 환경 세팅은 단순한 설치 과정이 아니라 앞으로 수식이 코드로 바뀌는 통로를 준비하는 일이다.
도구별 역할
| 도구 | 역할 | 헷갈리기 쉬운 점 |
|---|---|---|
| 아나콘다 | 파이썬과 라이브러리 묶음 | 코드 편집기가 아니다 |
| VS Code | 코드 작성/실행 환경 | 파이썬 자체는 아니다 |
| NumPy | 배열과 행렬 계산 | 딥러닝 프레임워크가 아니다 |
| Matplotlib | 그래프와 이미지 표시 | 모델을 학습시키는 도구는 아니다 |
| Colab | 브라우저 기반 실행 환경 | 로컬 설치를 대체할 수 있다 |
처음 실행해볼 최소 코드
환경이 제대로 잡혔는지 확인할 때는 복잡한 딥러닝 코드보다 짧은 넘파이 계산이 좋다.
import numpy as np
x = np.array([1, 2, 3])
w = np.array([0.1, 0.2, 0.3])
print(np.sum(x * w))
확인할 것
코드가 실행되고 숫자가 출력된다면 파이썬, 넘파이, 실행 환경이 기본적으로 연결된 것이다.
지금 깊게 몰라도 되는 것
가상환경
처음에는 하나의 실습 환경에서 책 코드를 실행하는 데 집중해도 된다.
GPU
이 책의 초반부는 CPU로도 충분히 따라갈 수 있다.
프레임워크
PyTorch나 TensorFlow 사용법은 이 책의 주제가 아니다.
실습 환경을 확인하는 가장 작은 루틴
환경 세팅 글은 설치 목록으로 끝나면 가치가 약하다. 실제로는 아래처럼 파일을 하나 만들고, 터미널에서 실행하고, 출력이 나오는지 확인하는 데까지가 최소 단위다.
# hello_numpy.py
import numpy as np
x = np.array([1, 2, 3])
print(x)
print(x.shape)
관찰 포인트
`[1 2 3]`과 `(3,)`가 출력되면 파이썬 파일 실행, NumPy import, 배열 생성이 모두 연결된 것이다.
예상 출력
[1 2 3] (3,)
초반에 헷갈리기 쉬운 선택
| 상황 | 추천 | 이유 |
|---|---|---|
| 짧은 계산 확인 | 인터프리터 | 한 줄씩 바로 결과 확인 가능 |
| 책 코드 따라쓰기 | VS Code 또는 파이참 | 파일 저장과 반복 실행이 편함 |
| 설치가 복잡한 컴퓨터 | Google Colab | 브라우저에서 바로 실행 가능 |
| 로컬 파일을 계속 쌓아갈 때 | 로컬 IDE | 폴더 구조와 코드 수정 관리가 쉬움 |
스스로 점검
- 아나콘다와 VS Code의 역할을 구분해서 설명할 수 있는가?
- 인터프리터와 `.py` 파일 실행의 차이를 말할 수 있는가?
- NumPy와 Matplotlib이 각각 어떤 역할인지 말할 수 있는가?
이번 글에서 기억할 것
- 아나콘다는 파이썬 실행 환경과 자주 쓰는 라이브러리를 묶어 설치하는 도구다.
- VS Code나 파이참은 코드를 편하게 작성하고 실행하는 작업대다.
- 인터프리터는 짧은 실험에, `.py` 파일은 반복해서 실행할 코드에 적합하다.
- NumPy는 숫자 배열 계산, Matplotlib은 결과 시각화에 쓰인다.
다음 글로 이어지는 질문
다음 글부터는 퍼셉트론을 이용해 AND, NAND, OR, XOR 논리 게이트를 직접 만들어본다.
한 줄 정리: 환경 세팅의 목표는 도구를 많이 설치하는 것이 아니라, 수식이 코드로 바뀌는 최소 실행 흐름을 확보하는 것이다.