Skip to content

Commit d9c7ecc

Browse files
committed
beginner/basics 번역 중 (#209)
1 parent 00266be commit d9c7ecc

11 files changed

+145
-144
lines changed

beginner_source/basics/autogradqs_tutorial.py

+17-17
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
11
"""
2-
`Learn the Basics <intro.html>`_ ||
3-
`Quickstart <quickstart_tutorial.html>`_ ||
4-
`Tensors <tensorqs_tutorial.html>`_ ||
5-
`Datasets & DataLoaders <data_tutorial.html>`_ ||
6-
`Transforms <transforms_tutorial.html>`_ ||
7-
`Build Model <buildmodel_tutorial.html>`_ ||
2+
`파이토치(PyTorch) 기본 익히기 <intro.html>`_ ||
3+
`빠른 시작 <quickstart_tutorial.html>`_ ||
4+
`텐서(Tensor) <tensorqs_tutorial.html>`_ ||
5+
`Dataset과 Dataloader <data_tutorial.html>`_ ||
6+
`변형(Transform) <transforms_tutorial.html>`_ ||
7+
`신경망 모델 구성하기 <buildmodel_tutorial.html>`_ ||
88
**Autograd** ||
9-
`Optimization <optimization_tutorial.html>`_ ||
10-
`Save & Load Model <saveloadrun_tutorial.html>`_
9+
`최적화(Optimization) <optimization_tutorial.html>`_ ||
10+
`모델 저장하고 불러오기 <saveloadrun_tutorial.html>`_
1111
1212
``torch.autograd``\ 를 통한 자동 미분
13-
=======================================
13+
==========================================================================
1414
1515
신경망을 학습할 때 가장 자주 사용되는 알고리즘은 **역전파**\ 입니다. 이 알고리즘에서,
1616
매개변수(모델 가중치)는 주어진 매개변수에 대한 손실 함수의 **변화도(gradient)**\ 에
@@ -54,7 +54,7 @@
5454
# 연산 그래프를 구성하기 위해 텐서에 적용하는 함수는 사실 ``Function`` 클래스의 객체입니다.
5555
# 이 객체는 *순전파* 방향으로 함수를 계산하는 방법과, *역방향 전파* 단계에서 미분을 계산하는
5656
# 방법을 알고 있습니다. 역방향 전파 함수에 대한 참조(reference)는 텐서의 ``grad_fn``
57-
# 속성에 저장됩니다. ``Function``\ 에 대한 자세한 정보는
57+
# 속성에 저장됩니다. ``Function``\ 에 대한 자세한 정보는
5858
# `이 문서 <https://pytorch.org/docs/stable/autograd.html#function>`__
5959
# 에서 찾아볼 수 있습니다.
6060
#
@@ -69,7 +69,7 @@
6969
# 신경망에서 매개변수의 가중치를 최적화하려면 매개변수에 대한 손실함수의 도함수(derivative)를
7070
# 계산해야 합니다. 즉, ``x``\ 와 ``y``\ 의 일부 고정값에서 :math:`\frac{\partial loss}{\partial w}`\ 와
7171
# :math:`\frac{\partial loss}{\partial b}` 가 필요합니다.
72-
# 이러한 도함수를 계산하기 위해, ``loss.backward()`` 를 호출한 다음 ``w.grad``\ 와
72+
# 이러한 도함수를 계산하기 위해, ``loss.backward()`` 를 호출한 다음 ``w.grad``\ 와
7373
# ``b.grad``\ 에서 값을 가져옵니다:
7474
#
7575

@@ -80,7 +80,7 @@
8080

8181
######################################################################
8282
# .. note::
83-
# - 연산 그래프의 잎(leaf) 노드들 중 ``requires_grad`` 속성이 ``True``\ 로 설정된
83+
# - 연산 그래프의 잎(leaf) 노드들 중 ``requires_grad`` 속성이 ``True``\ 로 설정된
8484
# 노드들의 ``grad`` 속성만 구할 수 있습니다. 그래프의 다른 모든 노드에서는 변화도가
8585
# 유효하지 않습니다.
8686
# - 성능 상의 이유로, 주어진 그래프에서의 ``backward``\ 를 사용한 변화도 계산은 한 번만
@@ -129,7 +129,7 @@
129129
######################################################################
130130
# 연산 그래프에 대한 추가 정보
131131
# ------------------------------------------------------------------------------------------
132-
#
132+
#
133133
# 개념적으로, autograd는 데이터(텐서)의 및 실행된 모든 연산들(및 연산 결과가 새로운 텐서인 경우도 포함하여)의
134134
# 기록을 `Function <https://pytorch.org/docs/stable/autograd.html#torch.autograd.Function>`__ 객체로
135135
# 구성된 방향성 비순환 그래프(DAG; Directed Acyclic Graph)에 저장(keep)합니다.
@@ -150,7 +150,7 @@
150150
# .. note::
151151
# **PyTorch에서 DAG들은 동적(dynamic)입니다.**
152152
# 주목해야 할 중요한 점은 그래프가 처음부터(from scratch) 다시 생성된다는 것입니다; 매번 ``.bachward()`` 가
153-
# 호출되고 나면, autograd는 새로운 그래프를 채우기(populate) 시작합니다. 이러한 점 덕분에 모델에서
153+
# 호출되고 나면, autograd는 새로운 그래프를 채우기(populate) 시작합니다. 이러한 점 덕분에 모델에서
154154
# 흐름 제어(control flow) 구문들을 사용할 수 있게 되는 것입니다; 매번 반복(iteration)할 때마다 필요하면
155155
# 모양(shape)이나 크기(size), 연산(operation)을 바꿀 수 있습니다.
156156

@@ -195,14 +195,14 @@
195195

196196
######################################################################
197197
# 동일한 인자로 ``backward``\ 를 두차례 호출하면 변화도 값이 달라집니다.
198-
# 이는 ``역방향`` 전파를 수행할 때, PyTorch가 **변화도를 누적(accumulate)해두기 때문**\
199-
# 입니다. 즉, 계산된 변화도의 값이 연산 그래프의 모든 잎(leaf) 노드의 ``grad`` 속성에
198+
# 이는 ``역방향`` 전파를 수행할 때, PyTorch가 **변화도를 누적(accumulate)해두기 때문**\
199+
# 입니다. 즉, 계산된 변화도의 값이 연산 그래프의 모든 잎(leaf) 노드의 ``grad`` 속성에
200200
# 추가됩니다. 따라서 제대로된 변화도를 계산하기 위해서는 ``grad`` 속성을 먼저 0으로 만들어야
201201
# 합니다. 실제 학습 과정에서는 *옵티마이저(optimizer)*\ 가 이 과정을 도와줍니다.
202202

203203
######################################################################
204204
# .. note:: 이전에는 매개변수 없이 ``backward()`` 함수를 호출했습니다. 이는 본질적으로
205-
# ``backward(torch.tensor(1.0))`` 을 호출하는 것과 동일하며,
205+
# ``backward(torch.tensor(1.0))`` 을 호출하는 것과 동일하며,
206206
# 신경망 훈련 중의 손실과 같은 스칼라-값 함수의 변화도를 계산하는 유용한 방법입니다.
207207
#
208208

beginner_source/basics/buildmodel_tutorial.py

+17-17
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
11
"""
2-
`Learn the Basics <intro.html>`_ ||
3-
`Quickstart <quickstart_tutorial.html>`_ ||
4-
`Tensors <tensorqs_tutorial.html>`_ ||
5-
`Datasets & DataLoaders <data_tutorial.html>`_ ||
6-
`Transforms <transforms_tutorial.html>`_ ||
7-
**Build Model** ||
2+
`파이토치(PyTorch) 기본 익히기 <intro.html>`_ ||
3+
`빠른 시작 <quickstart_tutorial.html>`_ ||
4+
`텐서(Tensor) <tensorqs_tutorial.html>`_ ||
5+
`Dataset과 Dataloader <data_tutorial.html>`_ ||
6+
`변형(Transform) <transforms_tutorial.html>`_ ||
7+
**신경망 모델 구성하기** ||
88
`Autograd <autogradqs_tutorial.html>`_ ||
9-
`Optimization <optimization_tutorial.html>`_ ||
10-
`Save & Load Model <saveloadrun_tutorial.html>`_
9+
`최적화(Optimization) <optimization_tutorial.html>`_ ||
10+
`모델 저장하고 불러오기 <saveloadrun_tutorial.html>`_
1111
1212
신경망 모델 구성하기
13-
===================
13+
==========================================================================
1414
1515
신경망은 데이터에 대한 연산을 수행하는 계층(layer)/모듈(module)로 구성되어 있습니다.
1616
`torch.nn <https://pytorch.org/docs/stable/nn.html>`_ 네임스페이스는 신경망을 구성하는데 필요한 모든 구성 요소를 제공합니다.
@@ -65,23 +65,23 @@ def forward(self, x):
6565
return logits
6666

6767
##############################################
68-
# ``NeuralNetwork`` 의 인스턴스(instance)를 생성하고 이를 ``device`` 로 이동한 뒤,
68+
# ``NeuralNetwork`` 의 인스턴스(instance)를 생성하고 이를 ``device`` 로 이동한 뒤,
6969
# 구조(structure)를 출력합니다.
7070

7171
model = NeuralNetwork().to(device)
7272
print(model)
7373

7474

7575
##############################################
76-
# 모델을 사용하기 위해 입력 데이터를 전달합니다. 이는 일부
76+
# 모델을 사용하기 위해 입력 데이터를 전달합니다. 이는 일부
7777
# `백그라운드 연산들 <https://github.com/pytorch/pytorch/blob/270111b7b611d174967ed204776985cefca9c144/torch/nn/modules/module.py#L866>`_ 과 함께
7878
# 모델의 ``forward`` 를 실행합니다. ``model.forward()`` 를 직접 호출하지 마세요!
7979
#
8080
# 모델에 입력을 호출하면 각 분류(class)에 대한 원시(raw) 예측값이 있는 10-차원 텐서가 반환됩니다.
8181
# 원시 예측값을 ``nn.Softmax`` 모듈의 인스턴스에 통과시켜 예측 확률을 얻습니다.
8282

8383
X = torch.rand(1, 28, 28, device=device)
84-
logits = model(X)
84+
logits = model(X)
8585
pred_probab = nn.Softmax(dim=1)(logits)
8686
y_pred = pred_probab.argmax(1)
8787
print(f"Predicted class: {y_pred}")
@@ -107,13 +107,13 @@ def forward(self, x):
107107
# ^^^^^^^^^^^^^^^^^^^^^^
108108
# `nn.Flatten <https://pytorch.org/docs/stable/generated/torch.nn.Flatten.html>`_ 계층을 초기화하여
109109
# 각 28x28의 2D 이미지를 784 픽셀 값을 갖는 연속된 배열로 변환합니다. (dim=0의 미니배치 차원은 유지됩니다.)
110-
110+
111111
flatten = nn.Flatten()
112112
flat_image = flatten(input_image)
113113
print(flat_image.size())
114114

115115
##############################################
116-
# nn.Linear
116+
# nn.Linear
117117
# ^^^^^^^^^^^^^^^^^^^^^^
118118
# `선형 계층 <https://pytorch.org/docs/stable/generated/torch.nn.Linear.html>`_ 은 저장된 가중치(weight)와
119119
# 편향(bias)을 사용하여 입력에 선형 변환(linear transformation)을 적용하는 모듈입니다.
@@ -141,7 +141,7 @@ def forward(self, x):
141141
#################################################
142142
# nn.Sequential
143143
# ^^^^^^^^^^^^^^^^^^^^^^
144-
# `nn.Sequential <https://pytorch.org/docs/stable/generated/torch.nn.Sequential.html>`_ 은 순서를 갖는
144+
# `nn.Sequential <https://pytorch.org/docs/stable/generated/torch.nn.Sequential.html>`_ 은 순서를 갖는
145145
# 모듈의 컨테이너입니다. 데이터는 정의된 것과 같은 순서로 모든 모듈들을 통해 전달됩니다. 순차 컨테이너(sequential container)를 사용하여
146146
# 아래의 ``seq_modules`` 와 같은 신경망을 빠르게 만들 수 있습니다.
147147

@@ -168,11 +168,11 @@ def forward(self, x):
168168
#################################################
169169
# 모델 매개변수
170170
# ------------------------------------------------------------------------------------------
171-
#
171+
#
172172
# 신경망 내부의 많은 계층들은 *매개변수화(parameterize)* 됩니다. 즉, 학습 중에 최적화되는 가중치와 편향과 연관지어집니다.
173173
# ``nn.Module`` 을 상속하면 모델 객체 내부의 모든 필드들이 자동으로 추적(track)되며, 모델의 ``parameters()`` 및
174174
# ``named_parameters()`` 메소드로 모든 매개변수에 접근할 수 있게 됩니다.
175-
#
175+
#
176176
# 이 예제에서는 각 매개변수들을 순회하며(iterate), 매개변수의 크기와 값을 출력합니다.
177177
#
178178

beginner_source/basics/data_tutorial.py

+15-15
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
11
"""
2-
`Learn the Basics <intro.html>`_ ||
3-
`Quickstart <quickstart_tutorial.html>`_ ||
4-
`Tensors <tensorqs_tutorial.html>`_ ||
5-
**Datasets & DataLoaders** ||
6-
`Transforms <transforms_tutorial.html>`_ ||
7-
`Build Model <buildmodel_tutorial.html>`_ ||
2+
`파이토치(PyTorch) 기본 익히기 <intro.html>`_ ||
3+
`빠른 시작 <quickstart_tutorial.html>`_ ||
4+
`텐서(Tensor) <tensorqs_tutorial.html>`_ ||
5+
**Dataset과 Dataloader** ||
6+
`변형(Transform) <transforms_tutorial.html>`_ ||
7+
`신경망 모델 구성하기 <buildmodel_tutorial.html>`_ ||
88
`Autograd <autogradqs_tutorial.html>`_ ||
9-
`Optimization <optimization_tutorial.html>`_ ||
10-
`Save & Load Model <saveloadrun_tutorial.html>`_
9+
`최적화(Optimization) <optimization_tutorial.html>`_ ||
10+
`모델 저장하고 불러오기 <saveloadrun_tutorial.html>`_
1111
1212
Dataset과 Dataloader
13-
========================
13+
==========================================================================
1414
1515
"""
1616

@@ -19,13 +19,13 @@
1919
# 더 나은 가독성(readability)과 모듈성(modularity)을 위해 데이터셋 코드를 모델 학습 코드로부터 분리하는 것이 이상적입니다.
2020
# PyTorch는 ``torch.utils.data.DataLoader`` 와 ``torch.utils.data.Dataset`` 의 두 가지 데이터 기본 요소를
2121
# 제공하여 미리 준비해된(pre-loaded) 데이터셋 뿐만 아니라 가지고 있는 데이터를 사용할 수 있도록 합니다.
22-
# ``Dataset`` 은 샘플과 정답(label)을 저장하고, ``DataLoader`` 는 ``Dataset`` 을 샘플에 쉽게 접근할 수 있도록
22+
# ``Dataset`` 은 샘플과 정답(label)을 저장하고, ``DataLoader`` 는 ``Dataset`` 을 샘플에 쉽게 접근할 수 있도록
2323
# 반복 가능한 객체(iterable)로 감쌉니다.
2424
#
2525
# PyTorch의 도메인 특화 라이브러리들은 (FashionMNIST와 같은) 다양한 미리 준비해둔(pre-loaded) 데이터셋을 제공합니다.
2626
# 데이터셋은 ``torch.utils.data.Dataset`` 의 하위 클래스로 개별 데이터를 특정하는 함수가 구현되어 있습니다.
2727
# 이러한 데이터셋은 모델을 만들어보고(prototype) 성능을 측정(benchmark)하는데 사용할 수 있습니다.
28-
# 여기에서 데이터셋들을 찾아볼 수 있습니다:
28+
# 여기에서 데이터셋들을 찾아볼 수 있습니다:
2929
# `이미지 데이터셋 <https://pytorch.org/docs/stable/torchvision/datasets.html>`_,
3030
# `텍스트 데이터셋 <https://pytorch.org/text/stable/datasets.html>`_ 및
3131
# `오디오 데이터셋 <https://pytorch.org/audio/stable/datasets.html>`_
@@ -35,7 +35,7 @@
3535
# 데이터셋 불러오기
3636
# ------------------------------------------------------------------------------------------
3737
#
38-
# `TorchVision` 에서 `Fashion-MNIST <https://research.zalando.com/welcome/mission/research-projects/fashion-mnist/>`_ 데이터셋을
38+
# `TorchVision` 에서 `Fashion-MNIST <https://research.zalando.com/welcome/mission/research-projects/fashion-mnist/>`_ 데이터셋을
3939
# 불러오는 예제를 살펴보겠습니다. Fashion-MNIST는 Zalando의 기사 이미지 데이터셋으로 60,000개의 학습 예제와 10,000개의 테스트 예제로 이루어져 있습니다.
4040
# 각 예제는 흑백(grayscale)의 28x28 이미지와 10개 분류(class) 중 하나인 정답(label)으로 구성됩니다.
4141
#
@@ -72,7 +72,7 @@
7272
# 데이터셋을 반복하고 시각화하기
7373
# ------------------------------------------------------------------------------------------
7474
#
75-
# ``Dataset`` 에 리스트(list)처럼 직접 접근(index)할 수 있습니다: ``training_data[index]``.
75+
# ``Dataset`` 에 리스트(list)처럼 직접 접근(index)할 수 있습니다: ``training_data[index]``.
7676
# ``matplotlib`` 을 사용하여 학습 데이터의 일부를 시각화해보겠습니다.
7777

7878
labels_map = {
@@ -112,7 +112,7 @@
112112
# 파일에서 사용자 정의 데이터셋 만들기
113113
# ------------------------------------------------------------------------------------------
114114
#
115-
# 사용자 정의 Dataset 클래스는 반드시 3개 함수를 구현해야 합니다: `__init__`, `__len__`, and `__getitem__`.
115+
# 사용자 정의 Dataset 클래스는 반드시 3개 함수를 구현해야 합니다: `__init__`, `__len__`, and `__getitem__`.
116116
# 아래 구현을 살펴보면 FashionMNIST 이미지들은 ``img_dir`` 디렉토리에 저장되고, 정답은 ``annotations_file`` csv 파일에
117117
# 별도로 저장됩니다.
118118
#
@@ -209,7 +209,7 @@ def __getitem__(self, idx):
209209
#################################################################
210210
# DataLoader로 학습용 데이터 준비하기
211211
# ------------------------------------------------------------------------------------------
212-
#
212+
#
213213
# ``Dataset`` 은 데이터셋의 특징(feature)을 가져오고 하나의 샘플에 정답(label)을 지정하는 일을 한 번에 합니다.
214214
# 모델을 학습할 때, 일반적으로 샘플들을 "미니배치(minibatch)"로 전달하고, 매 에폭(epoch)마다 데이터를 다시 섞어서 과적합(overfit)을 막고,
215215
# Python의 ``multiprocessing`` 을 사용하여 데이터 검색 속도를 높이려고 합니다.

beginner_source/basics/intro.py

+16-16
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,23 @@
11
"""
2-
**Learn the Basics** ||
3-
`Quickstart <quickstart_tutorial.html>`_ ||
4-
`Tensors <tensorqs_tutorial.html>`_ ||
5-
`Datasets & DataLoaders <data_tutorial.html>`_ ||
6-
`Transforms <transforms_tutorial.html>`_ ||
7-
`Build Model <buildmodel_tutorial.html>`_ ||
2+
**파이토치(PyTorch) 기본 익히기** ||
3+
`빠른 시작 <quickstart_tutorial.html>`_ ||
4+
`텐서(Tensor) <tensorqs_tutorial.html>`_ ||
5+
`Dataset과 Dataloader <data_tutorial.html>`_ ||
6+
`변형(Transform) <transforms_tutorial.html>`_ ||
7+
`신경망 모델 구성하기 <buildmodel_tutorial.html>`_ ||
88
`Autograd <autogradqs_tutorial.html>`_ ||
9-
`Optimization <optimization_tutorial.html>`_ ||
10-
`Save & Load Model <saveloadrun_tutorial.html>`_
9+
`최적화(Optimization) <optimization_tutorial.html>`_ ||
10+
`모델 저장하고 불러오기 <saveloadrun_tutorial.html>`_
1111
1212
파이토치(PyTorch) 기본 익히기
13-
===========================
13+
==========================================================================
1414
15-
Authors:
15+
Authors:
1616
`Suraj Subramanian <https://github.com/suraj813>`_,
17-
`Seth Juarez <https://github.com/sethjuarez/>`_,
18-
`Cassie Breviu <https://github.com/cassieview/>`_,
19-
`Dmitry Soshnikov <https://soshnikov.com/>`_,
20-
`Ari Bornstein <https://github.com/aribornstein/>`_
17+
`Seth Juarez <https://github.com/sethjuarez/>`_,
18+
`Cassie Breviu <https://github.com/cassieview/>`_,
19+
`Dmitry Soshnikov <https://soshnikov.com/>`_,
20+
`Ari Bornstein <https://github.com/aribornstein/>`_
2121
2222
번역:
2323
`박정환 <https://github.com/9bow>`_
@@ -26,7 +26,7 @@
2626
이 튜토리얼에서는 이러한 개념들에 대해 더 자세히 알아볼 수 있는 바로가기와 함께 PyTorch로 구현된 전체 ML 워크플로우를 소개합니다.
2727
2828
FashionMNIST 데이터셋을 사용하여 입력 이미지가 다음 분류(class) 중 하나에 속하는지를 예측하는 신경망을 학습합니다:
29-
T-shirt/top, Trouser, Pullover, Dress, Coat, Sandal, Shirt, Sneaker, Bag, or Ankle boot.
29+
T-shirt/top, Trouser, Pullover, Dress, Coat, Sandal, Shirt, Sneaker, Bag, or Ankle boot.
3030
3131
`이 튜토리얼은 Python과 딥러닝 개념에 대해 기본적인 지식이 있다고 가정합니다.`
3232
@@ -36,7 +36,7 @@
3636
3737
다음의 두 가지 방법으로 이 튜토리얼을 실행해볼 수 있습니다:
3838
39-
- **클라우드**: 시작하기 가장 쉬운 방법입니다! 각 섹션에는 Colab 링크가 있으며, 이 링크는 완전히 호스팅되는 환경에서 코드가 있는 노트북을 엽니다. 전문가 팁: Colab을 GPU 런타임으로 사용하면 연산들이 빨라집니다 *Runtime > Change runtime type > GPU*
39+
- **클라우드**: 시작하기 가장 쉬운 방법입니다! 각 섹션에는 Colab 링크가 있으며, 이 링크는 완전히 호스팅되는 환경에서 코드가 있는 노트북을 엽니다. 전문가 팁: Colab을 GPU 런타임으로 사용하면 연산들이 빨라집니다 *Runtime > Change runtime type > GPU*
4040
- **로컬**: 먼저 로컬 컴퓨터에 PyTorch와 TorchVision을 설치해야 합니다 (`설치 방법 <https://pytorch.org/get-started/locally/>`_). 노트북을 내려받거나 코드를 원하는 IDE에 복사하세요.
4141
4242

0 commit comments

Comments
 (0)