From 02b8a40746fcdf6ad3897a1494b2ef0677cf1b8c Mon Sep 17 00:00:00 2001 From: Jung Eun Park <88322298+Angela-Park-JE@users.noreply.github.com> Date: Sun, 4 Aug 2024 18:38:44 +0900 Subject: [PATCH 01/14] Update TRANSLATION_GUIDE.md --- TRANSLATION_GUIDE.md | 1 + 1 file changed, 1 insertion(+) diff --git a/TRANSLATION_GUIDE.md b/TRANSLATION_GUIDE.md index 6b7f64fcb..ca033b137 100644 --- a/TRANSLATION_GUIDE.md +++ b/TRANSLATION_GUIDE.md @@ -54,6 +54,7 @@ |Batch Normalization|배치 정규화|박정환|| |bias|편향|이하람|| |convolution|합성곱|김현길|| +|communication volumne|통신량|박정은|| |Dropout|드롭아웃|김태형|음차 표기| |dataset|데이터셋|박정환|음차 표기| |deep neural network|심층 신경망|박정환|| From d43ba3970a1f1f7a9d2e5f7ea24d09c650a664c8 Mon Sep 17 00:00:00 2001 From: Jung Eun Park <88322298+Angela-Park-JE@users.noreply.github.com> Date: Sun, 4 Aug 2024 18:42:05 +0900 Subject: [PATCH 02/14] Update TRANSLATION_GUIDE.md --- TRANSLATION_GUIDE.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/TRANSLATION_GUIDE.md b/TRANSLATION_GUIDE.md index ca033b137..0ed3e4edd 100644 --- a/TRANSLATION_GUIDE.md +++ b/TRANSLATION_GUIDE.md @@ -54,7 +54,7 @@ |Batch Normalization|배치 정규화|박정환|| |bias|편향|이하람|| |convolution|합성곱|김현길|| -|communication volumne|통신량|박정은|| +|communication volume|통신량|박정은|| |Dropout|드롭아웃|김태형|음차 표기| |dataset|데이터셋|박정환|음차 표기| |deep neural network|심층 신경망|박정환|| From 2facd2d30bb05e2a54294dbabf9dff9205536b89 Mon Sep 17 00:00:00 2001 From: Jung Eun Park <88322298+Angela-Park-JE@users.noreply.github.com> Date: Sun, 11 Aug 2024 10:15:08 +0900 Subject: [PATCH 03/14] Update nn_tutorial.py --- beginner_source/nn_tutorial.py | 62 +++++++++++++++++----------------- 1 file changed, 31 insertions(+), 31 deletions(-) diff --git a/beginner_source/nn_tutorial.py b/beginner_source/nn_tutorial.py index 85e5d1084..952b514ce 100644 --- a/beginner_source/nn_tutorial.py +++ b/beginner_source/nn_tutorial.py @@ -10,9 +10,9 @@ ############################################################################### # 이 튜토리얼을 스크립트가 아닌 노트북으로 실행하기를 권장합니다. 노트북 (``.ipynb``) 파일을 다운 받으시려면, -# 페이지 상단에 있는 링크를 클릭해주세요. +# 페이지 상단에 있는 링크를 클릭해 주세요. # -# PyTorch 는 여러분이 신경망(neural network)를 생성하고 학습시키는 것을 도와주기 위해서 +# PyTorch는 여러분이 신경망(neural network)를 생성하고 학습시키는 것을 도와주기 위해서 # `torch.nn `_ , # `torch.optim `_ , # `Dataset `_ , @@ -20,11 +20,11 @@ # 와 같은 잘 디자인된 모듈과 클래스들을 제공합니다. # 이들의 성능을 최대한 활용하고 여러분의 문제에 맞게 커스터마이즈하기 위해서, # 정확히 이들이 어떤 작업을 수행하는지 이해할 필요가 있습니다. -# 이해를 증진하기 위해서, 우리는 먼저 이들 모델들로부터 아무 피쳐도 사용하지 않고 +# 이해를 증진하기 위해서, 우리는 먼저 이들 모델들로부터 아무 특징도 사용하지 않고 # MNIST 데이터셋에 대해 기초적인 신경망을 학습시킬 것입니다; # 우리는 처음에는 가장 기초적인 PyTorch 텐서(tensor) 기능만을 사용할 것입니다. -# 그리고나서 우리는 점차적으로 ``torch.nn``, ``torch.optim``, ``Dataset``, 또는 -# ``DataLoader`` 로부터 한번에 하나씩 피쳐를 추가하면서, 정확히 각 부분이 어떤 일을 하는지 그리고 +# 그리고 나서 우리는 점차적으로 ``torch.nn``, ``torch.optim``, ``Dataset``, 또는 +# ``DataLoader`` 로부터 한 번에 하나씩 특징을 추가하면서, 정확히 각 부분이 어떤 일을 하는지 그리고 # 이것이 어떻게 코드를 더 간결하고 유연하게 만드는지 보여줄 것입니다. # # **이 튜토리얼은 여러분이 이미 PyTorch를 설치하였고, 그리고 텐서 연산의 기초에 대해 익숙하다고 가정합니다.** @@ -35,7 +35,7 @@ # ------------------- # # 우리는 손으로 쓴 숫자(0에서 9 사이)의 흑백 이미지로 구성된 클래식 -# `MNIST `_ 데이터셋을 사용할 것 입니다. +# `MNIST `_ 데이터셋을 사용할 것입니다. # # 우리는 경로 설정을 담당하는 (Python3 표준 라이브러리의 일부인) # `pathlib `_ 을 사용할 것이고, @@ -60,7 +60,7 @@ ############################################################################### # 이 데이터셋은 NumPy 배열 포맷이고, 데이터를 직렬화하기 위한 -# python 전용 포맷 pickle 을 이용하여 저장되어 있습니다. +# python 전용 포맷 pickle을 이용하여 저장되어 있습니다. import pickle import gzip @@ -69,8 +69,8 @@ ((x_train, y_train), (x_valid, y_valid), _) = pickle.load(f, encoding="latin-1") ############################################################################### -# 각 이미지는 28 x 28 형태 이고, 784 (=28x28) 크기를 가진 하나의 행으로 저장되어 있습니다. -# 하나를 살펴 봅시다; 먼저 우리는 이 이미지를 2d로 재구성해야 합니다. +# 각 이미지는 28 x 28 형태이고, 784 (=28x28) 크기를 가진 하나의 행으로 저장되어 있습니다. +# 한 장을 살펴봅시다; 먼저 우리는 이 이미지를 2d로 재구성해야 합니다. from matplotlib import pyplot import numpy as np @@ -84,7 +84,7 @@ print(x_train.shape) ############################################################################### -# PyTorch는 NumPy 배열 보다는 ``torch.tensor`` 를 사용하므로, 우리는 데이터를 변환해야 합니다. +# PyTorch는 NumPy 배열보다는 ``torch.tensor`` 를 사용하므로, 데이터를 변환해야 합니다. import torch @@ -125,13 +125,13 @@ bias = torch.zeros(10, requires_grad=True) ############################################################################### -# PyTorch의 기울기를 자동으로 계산해주는 기능 덕분에, Python 표준 함수 +# PyTorch의 기울기를 자동으로 계산 해주는 기능 덕분에, Python 표준 함수 # (또는 호출 가능한 객체)를 모델로 사용할 수 있습니다! # 그러므로 간단한 선형 모델을 만들기 위해서 단순한 행렬 곱셈과 브로드캐스트(broadcast) # 덧셈을 사용하여 보겠습니다. 또한, 우리는 활성화 함수(activation function)가 필요하므로, # `log_softmax` 를 구현하고 사용할 것입니다. # PyTorch에서 많은 사전 구현된 손실 함수(loss function), 활성화 함수들이 제공되지만, -# 일반적인 python을 사용하여 자신만의 함수를 쉽게 작성할 수 있음을 기억해주세요. +# 일반적인 python을 사용하여 자신만의 함수를 쉽게 작성할 수 있음을 기억해 주세요. # PyTorch는 심지어 여러분의 함수를 위해서 빠른 GPU 또는 벡터화된 CPU 코드를 만들어줄 것입니다. def log_softmax(x): @@ -167,7 +167,7 @@ def nll(input, target): loss_func = nll ############################################################################### -# 우리의 무작위 모델에 대한 손실을 점검해봅시다, 그럼으로써 우리는 나중에 역전파 이후에 개선이 있는지 +# 우리의 무작위 모델에 대한 손실을 점검해 봄으로써 역전파 이후에 개선이 있는지 나중에 # 확인할 수 있습니다. yb = y_train[0:bs] @@ -176,7 +176,7 @@ def nll(input, target): ############################################################################### # 또한, 우리 모델의 정확도(accuracy)를 계산하기 위한 함수를 구현합시다. -# 매 예측마다, 만약 가장 큰 값의 인덱스가 목표값(target value)과 동일하다면, +# 매 예측마다, 만약 가장 큰 값의 인덱스가 목푯값(target value)과 동일하다면, # 그 예측은 올바른 것입니다. def accuracy(out, yb): @@ -190,7 +190,7 @@ def accuracy(out, yb): print(accuracy(preds, yb)) ############################################################################### -# 이제 우리는 훈련 루프(training loop)를 실행할 수 있습니다. 매 반복마다, 우리는 다음을 수행할 것입니다: +# 이제 우리는 훈련 루프(training loop)를 실행할 수 있습니다. 매 반복마다, 다음을 수행할 것입니다: # # - 데이터의 미니배치를 선택 (``bs`` 크기) # - 모델을 이용하여 예측 수행 @@ -198,18 +198,18 @@ def accuracy(out, yb): # - ``loss.backward()`` 를 이용하여 모델의 기울기 업데이트, 이 경우에는, ``weights`` 와 ``bias``. # # 이제 우리는 이 기울기들을 이용하여 가중치와 절편을 업데이트 합니다. -# 우리는 이것을 ``torch.no_grad()`` 컨텍스트 매니져(context manager) 내에서 실행합니다, +# 우리는 이것을 ``torch.no_grad()`` 컨텍스트 매니저(context manager) 내에서 실행합니다, # 왜냐하면 이러한 실행이 다음 기울기의 계산에 기록되지 않기를 원하기 때문입니다. # PyTorch의 자동 기울기(Autograd)가 어떻게 연산을 기록하는지 -# `여기 `_ 에서 더 알아볼 수 있습니다. +# `여기 `_\에서 더 알아볼 수 있습니다. # -# 우리는 그러고나서 기울기를 0으로 설정합니다, 그럼으로써 다음 루프(loop)에 준비하게 됩니다. -# 그렇지 않으면, 우리의 기울기들은 일어난 모든 연산의 누적 집계를 기록하게 되버립니다. +# 그러고 나서 기울기를 0으로 설정합니다, 그럼으로써 다음 루프(loop)에 준비하게 됩니다. +# 그렇지 않으면, 우리의 기울기들은 일어난 모든 연산의 누적 집계를 기록하게 되어버립니다. # (즉, ``loss.backward()`` 가 이미 저장된 것을 대체하기보단, 기존 값에 기울기를 *더하게* 됩니다). # # .. tip:: 여러분들은 PyTorch 코드에 대하여 표준 python 디버거(debugger)를 사용할 수 있으므로, # 매 단계마다 다양한 변수 값을 점검할 수 있습니다. -# 아래에서 ``set_trace()`` 를 주석 해제하여 사용해보세요. +# 아래에서 ``set_trace()`` 를 주석 해제하여 사용해 보세요. # from IPython.core.debugger import set_trace @@ -235,7 +235,7 @@ def accuracy(out, yb): bias.grad.zero_() ############################################################################### -# 이제 다 됐습니다: 우리는 제일 간단한 신경망(neural network)의 모든 것을 밑바닥부터 생성하고 +# 이제 다 됐습니다: 제일 간단한 신경망(neural network)의 모든 것을 밑바닥부터 생성하고 # 훈련하였습니다! (이번에는 은닉층(hidden layer)이 없기 때문에, # 로지스틱 회귀(logistic regression)입니다). # @@ -248,7 +248,7 @@ def accuracy(out, yb): # ``torch.nn.functional`` 사용하기 # ----------------------------------- # -# 이제 우리는 코드를 리팩토링(refactoring) 하겠습니다, 그럼으로써 이전과 동일하지만, +# 이제 코드를 리팩토링(refactoring) 하겠습니다. 그로써 이전과 동일하지만, # PyTorch의 ``nn`` 클래스의 장점을 활용하여 더 간결하고 유연하게 만들 것입니다. # 지금부터 매 단계에서, 우리는 코드를 더 짧고, 이해하기 쉽고, 유연하게 만들어야 합니다. # @@ -257,10 +257,10 @@ def accuracy(out, yb): # (관례에 따라, 일반적으로 ``F`` 네임스페이스(namespace)를 통해 임포트(import) 합니다). # 이 모듈에는 ``torch.nn`` 라이브러리의 모든 함수가 포함되어 있습니다 # (라이브러리의 다른 부분에는 클래스가 포함되어 있습니다.) -# 다양한 손실 및 활성화 함수 뿐만 아니라, 풀링(pooling) 함수와 같이 신경망을 만드는데 +# 다양한 손실 및 활성화 함수뿐만 아니라, 풀링(pooling) 함수와 같이 신경망을 만드는데 # 편리한 몇 가지 함수도 여기에서 찾을 수 있습니다. # (컨볼루션(convolution) 연산, 선형(linear) 레이어, 등을 수행하는 함수도 있지만, -# 앞으로 보시겠지만 일반적으로 라이브러리의 다른 부분을 사용하여 더 잘 처리 할 수 있습니다.) +# 앞으로 보시겠지만 대개는 라이브러리의 다른 부분을 사용하여 더 잘 처리할 수 있습니다.) # # 만약 여러분들이 음의 로그 우도 손실과 로그 소프트맥스 (log softmax) 활성화 함수를 사용하는 경우, # PyTorch는 이 둘을 결합하는 단일 함수인 ``F.cross_entropy`` 를 제공합니다. @@ -274,8 +274,8 @@ def model(xb): return xb @ weights + bias ############################################################################### -# 더이상 ``model`` 함수에서 ``log_softmax`` 를 호출하지 않고 있습니다. -# 손실과 정확도과 이전과 동일한지 확인해봅시다: +# 더 이상 ``model`` 함수에서 ``log_softmax`` 를 호출하지 않고 있습니다. +# 손실과 정확도과 이전과 동일한지 확인해 봅시다: print(loss_func(model(xb), yb), accuracy(model(xb), yb)) @@ -283,14 +283,14 @@ def model(xb): # ``nn.Module`` 을 이용하여 리팩토링 하기 # ----------------------------------------- # 다음으로, 더 명확하고 간결한 훈련 루프를 위해 ``nn.Module`` 및 ``nn.Parameter`` 를 사용합니다. -# 우리는 ``nn.Module`` (자체가 클래스이고 상태를 추척할 수 있는) 하위 클래스(subclass)를 만듭니다. +# 우리는 ``nn.Module`` (자체가 클래스이고 상태를 추적할 수 있는) 하위 클래스(subclass)를 만듭니다. # 이 경우에는, 포워드(forward) 단계에 대한 가중치, 절편, 그리고 메소드(method) 등을 유지하는 # 클래스를 만들고자 합니다. # ``nn.Module`` 은 우리가 사용할 몇 가지 속성(attribute)과 메소드를 (``.parameters()`` 와 # ``.zero_grad()`` 같은) 가지고 있습니다. # -# .. note:: ``nn.Module`` (대문자 M) 은 PyTorch 의 특정 개념이고, 우리는 이 클래스를 -# 많이 사용할 것입니다. ``nn.Module`` 를 Python 의 코드를 임포트하기 위한 코드 파일인 +# .. note:: ``nn.Module`` (대문자 M) 은 PyTorch의 특정 개념이고, 우리는 이 클래스를 +# 많이 사용할 것입니다. ``nn.Module`` 를 Python의 코드를 임포트하기 위한 코드 파일인 # `module `_ (소문자 ``m``) # 의 개념과 헷갈리지 말아주세요. @@ -314,7 +314,7 @@ def forward(self, xb): ############################################################################### # 이제 우리는 이전과 동일한 방식으로 손실을 계산할 수 있습니다. # 여기서 ``nn.Module`` 오브젝트들은 마치 함수처럼 사용됩니다 (즉, 이들은 *호출가능* 합니다), -# 그러나 배후에서 PyTorch 는 우리의 ``forward`` 메소드를 자동으로 호출합니다. +# 그러나 배후에서 PyTorch는 우리의 ``forward`` 메소드를 자동으로 호출합니다. print(loss_func(model(xb), yb)) @@ -363,7 +363,7 @@ def fit(): fit() ############################################################################### -# 손실이 줄어들었는지 다시 한번 확인합시다: +# 손실이 줄어들었는지 다시 한 번 확인합시다: print(loss_func(model(xb), yb)) From ca263bfdb9de07722eb5c5edf6a7d6a934e6ef05 Mon Sep 17 00:00:00 2001 From: Jung Eun Park <88322298+Angela-Park-JE@users.noreply.github.com> Date: Sun, 11 Aug 2024 10:37:17 +0900 Subject: [PATCH 04/14] Update nn_tutorial.py --- beginner_source/nn_tutorial.py | 62 +++++++++++++++++----------------- 1 file changed, 31 insertions(+), 31 deletions(-) diff --git a/beginner_source/nn_tutorial.py b/beginner_source/nn_tutorial.py index 952b514ce..85e5d1084 100644 --- a/beginner_source/nn_tutorial.py +++ b/beginner_source/nn_tutorial.py @@ -10,9 +10,9 @@ ############################################################################### # 이 튜토리얼을 스크립트가 아닌 노트북으로 실행하기를 권장합니다. 노트북 (``.ipynb``) 파일을 다운 받으시려면, -# 페이지 상단에 있는 링크를 클릭해 주세요. +# 페이지 상단에 있는 링크를 클릭해주세요. # -# PyTorch는 여러분이 신경망(neural network)를 생성하고 학습시키는 것을 도와주기 위해서 +# PyTorch 는 여러분이 신경망(neural network)를 생성하고 학습시키는 것을 도와주기 위해서 # `torch.nn `_ , # `torch.optim `_ , # `Dataset `_ , @@ -20,11 +20,11 @@ # 와 같은 잘 디자인된 모듈과 클래스들을 제공합니다. # 이들의 성능을 최대한 활용하고 여러분의 문제에 맞게 커스터마이즈하기 위해서, # 정확히 이들이 어떤 작업을 수행하는지 이해할 필요가 있습니다. -# 이해를 증진하기 위해서, 우리는 먼저 이들 모델들로부터 아무 특징도 사용하지 않고 +# 이해를 증진하기 위해서, 우리는 먼저 이들 모델들로부터 아무 피쳐도 사용하지 않고 # MNIST 데이터셋에 대해 기초적인 신경망을 학습시킬 것입니다; # 우리는 처음에는 가장 기초적인 PyTorch 텐서(tensor) 기능만을 사용할 것입니다. -# 그리고 나서 우리는 점차적으로 ``torch.nn``, ``torch.optim``, ``Dataset``, 또는 -# ``DataLoader`` 로부터 한 번에 하나씩 특징을 추가하면서, 정확히 각 부분이 어떤 일을 하는지 그리고 +# 그리고나서 우리는 점차적으로 ``torch.nn``, ``torch.optim``, ``Dataset``, 또는 +# ``DataLoader`` 로부터 한번에 하나씩 피쳐를 추가하면서, 정확히 각 부분이 어떤 일을 하는지 그리고 # 이것이 어떻게 코드를 더 간결하고 유연하게 만드는지 보여줄 것입니다. # # **이 튜토리얼은 여러분이 이미 PyTorch를 설치하였고, 그리고 텐서 연산의 기초에 대해 익숙하다고 가정합니다.** @@ -35,7 +35,7 @@ # ------------------- # # 우리는 손으로 쓴 숫자(0에서 9 사이)의 흑백 이미지로 구성된 클래식 -# `MNIST `_ 데이터셋을 사용할 것입니다. +# `MNIST `_ 데이터셋을 사용할 것 입니다. # # 우리는 경로 설정을 담당하는 (Python3 표준 라이브러리의 일부인) # `pathlib `_ 을 사용할 것이고, @@ -60,7 +60,7 @@ ############################################################################### # 이 데이터셋은 NumPy 배열 포맷이고, 데이터를 직렬화하기 위한 -# python 전용 포맷 pickle을 이용하여 저장되어 있습니다. +# python 전용 포맷 pickle 을 이용하여 저장되어 있습니다. import pickle import gzip @@ -69,8 +69,8 @@ ((x_train, y_train), (x_valid, y_valid), _) = pickle.load(f, encoding="latin-1") ############################################################################### -# 각 이미지는 28 x 28 형태이고, 784 (=28x28) 크기를 가진 하나의 행으로 저장되어 있습니다. -# 한 장을 살펴봅시다; 먼저 우리는 이 이미지를 2d로 재구성해야 합니다. +# 각 이미지는 28 x 28 형태 이고, 784 (=28x28) 크기를 가진 하나의 행으로 저장되어 있습니다. +# 하나를 살펴 봅시다; 먼저 우리는 이 이미지를 2d로 재구성해야 합니다. from matplotlib import pyplot import numpy as np @@ -84,7 +84,7 @@ print(x_train.shape) ############################################################################### -# PyTorch는 NumPy 배열보다는 ``torch.tensor`` 를 사용하므로, 데이터를 변환해야 합니다. +# PyTorch는 NumPy 배열 보다는 ``torch.tensor`` 를 사용하므로, 우리는 데이터를 변환해야 합니다. import torch @@ -125,13 +125,13 @@ bias = torch.zeros(10, requires_grad=True) ############################################################################### -# PyTorch의 기울기를 자동으로 계산 해주는 기능 덕분에, Python 표준 함수 +# PyTorch의 기울기를 자동으로 계산해주는 기능 덕분에, Python 표준 함수 # (또는 호출 가능한 객체)를 모델로 사용할 수 있습니다! # 그러므로 간단한 선형 모델을 만들기 위해서 단순한 행렬 곱셈과 브로드캐스트(broadcast) # 덧셈을 사용하여 보겠습니다. 또한, 우리는 활성화 함수(activation function)가 필요하므로, # `log_softmax` 를 구현하고 사용할 것입니다. # PyTorch에서 많은 사전 구현된 손실 함수(loss function), 활성화 함수들이 제공되지만, -# 일반적인 python을 사용하여 자신만의 함수를 쉽게 작성할 수 있음을 기억해 주세요. +# 일반적인 python을 사용하여 자신만의 함수를 쉽게 작성할 수 있음을 기억해주세요. # PyTorch는 심지어 여러분의 함수를 위해서 빠른 GPU 또는 벡터화된 CPU 코드를 만들어줄 것입니다. def log_softmax(x): @@ -167,7 +167,7 @@ def nll(input, target): loss_func = nll ############################################################################### -# 우리의 무작위 모델에 대한 손실을 점검해 봄으로써 역전파 이후에 개선이 있는지 나중에 +# 우리의 무작위 모델에 대한 손실을 점검해봅시다, 그럼으로써 우리는 나중에 역전파 이후에 개선이 있는지 # 확인할 수 있습니다. yb = y_train[0:bs] @@ -176,7 +176,7 @@ def nll(input, target): ############################################################################### # 또한, 우리 모델의 정확도(accuracy)를 계산하기 위한 함수를 구현합시다. -# 매 예측마다, 만약 가장 큰 값의 인덱스가 목푯값(target value)과 동일하다면, +# 매 예측마다, 만약 가장 큰 값의 인덱스가 목표값(target value)과 동일하다면, # 그 예측은 올바른 것입니다. def accuracy(out, yb): @@ -190,7 +190,7 @@ def accuracy(out, yb): print(accuracy(preds, yb)) ############################################################################### -# 이제 우리는 훈련 루프(training loop)를 실행할 수 있습니다. 매 반복마다, 다음을 수행할 것입니다: +# 이제 우리는 훈련 루프(training loop)를 실행할 수 있습니다. 매 반복마다, 우리는 다음을 수행할 것입니다: # # - 데이터의 미니배치를 선택 (``bs`` 크기) # - 모델을 이용하여 예측 수행 @@ -198,18 +198,18 @@ def accuracy(out, yb): # - ``loss.backward()`` 를 이용하여 모델의 기울기 업데이트, 이 경우에는, ``weights`` 와 ``bias``. # # 이제 우리는 이 기울기들을 이용하여 가중치와 절편을 업데이트 합니다. -# 우리는 이것을 ``torch.no_grad()`` 컨텍스트 매니저(context manager) 내에서 실행합니다, +# 우리는 이것을 ``torch.no_grad()`` 컨텍스트 매니져(context manager) 내에서 실행합니다, # 왜냐하면 이러한 실행이 다음 기울기의 계산에 기록되지 않기를 원하기 때문입니다. # PyTorch의 자동 기울기(Autograd)가 어떻게 연산을 기록하는지 -# `여기 `_\에서 더 알아볼 수 있습니다. +# `여기 `_ 에서 더 알아볼 수 있습니다. # -# 그러고 나서 기울기를 0으로 설정합니다, 그럼으로써 다음 루프(loop)에 준비하게 됩니다. -# 그렇지 않으면, 우리의 기울기들은 일어난 모든 연산의 누적 집계를 기록하게 되어버립니다. +# 우리는 그러고나서 기울기를 0으로 설정합니다, 그럼으로써 다음 루프(loop)에 준비하게 됩니다. +# 그렇지 않으면, 우리의 기울기들은 일어난 모든 연산의 누적 집계를 기록하게 되버립니다. # (즉, ``loss.backward()`` 가 이미 저장된 것을 대체하기보단, 기존 값에 기울기를 *더하게* 됩니다). # # .. tip:: 여러분들은 PyTorch 코드에 대하여 표준 python 디버거(debugger)를 사용할 수 있으므로, # 매 단계마다 다양한 변수 값을 점검할 수 있습니다. -# 아래에서 ``set_trace()`` 를 주석 해제하여 사용해 보세요. +# 아래에서 ``set_trace()`` 를 주석 해제하여 사용해보세요. # from IPython.core.debugger import set_trace @@ -235,7 +235,7 @@ def accuracy(out, yb): bias.grad.zero_() ############################################################################### -# 이제 다 됐습니다: 제일 간단한 신경망(neural network)의 모든 것을 밑바닥부터 생성하고 +# 이제 다 됐습니다: 우리는 제일 간단한 신경망(neural network)의 모든 것을 밑바닥부터 생성하고 # 훈련하였습니다! (이번에는 은닉층(hidden layer)이 없기 때문에, # 로지스틱 회귀(logistic regression)입니다). # @@ -248,7 +248,7 @@ def accuracy(out, yb): # ``torch.nn.functional`` 사용하기 # ----------------------------------- # -# 이제 코드를 리팩토링(refactoring) 하겠습니다. 그로써 이전과 동일하지만, +# 이제 우리는 코드를 리팩토링(refactoring) 하겠습니다, 그럼으로써 이전과 동일하지만, # PyTorch의 ``nn`` 클래스의 장점을 활용하여 더 간결하고 유연하게 만들 것입니다. # 지금부터 매 단계에서, 우리는 코드를 더 짧고, 이해하기 쉽고, 유연하게 만들어야 합니다. # @@ -257,10 +257,10 @@ def accuracy(out, yb): # (관례에 따라, 일반적으로 ``F`` 네임스페이스(namespace)를 통해 임포트(import) 합니다). # 이 모듈에는 ``torch.nn`` 라이브러리의 모든 함수가 포함되어 있습니다 # (라이브러리의 다른 부분에는 클래스가 포함되어 있습니다.) -# 다양한 손실 및 활성화 함수뿐만 아니라, 풀링(pooling) 함수와 같이 신경망을 만드는데 +# 다양한 손실 및 활성화 함수 뿐만 아니라, 풀링(pooling) 함수와 같이 신경망을 만드는데 # 편리한 몇 가지 함수도 여기에서 찾을 수 있습니다. # (컨볼루션(convolution) 연산, 선형(linear) 레이어, 등을 수행하는 함수도 있지만, -# 앞으로 보시겠지만 대개는 라이브러리의 다른 부분을 사용하여 더 잘 처리할 수 있습니다.) +# 앞으로 보시겠지만 일반적으로 라이브러리의 다른 부분을 사용하여 더 잘 처리 할 수 있습니다.) # # 만약 여러분들이 음의 로그 우도 손실과 로그 소프트맥스 (log softmax) 활성화 함수를 사용하는 경우, # PyTorch는 이 둘을 결합하는 단일 함수인 ``F.cross_entropy`` 를 제공합니다. @@ -274,8 +274,8 @@ def model(xb): return xb @ weights + bias ############################################################################### -# 더 이상 ``model`` 함수에서 ``log_softmax`` 를 호출하지 않고 있습니다. -# 손실과 정확도과 이전과 동일한지 확인해 봅시다: +# 더이상 ``model`` 함수에서 ``log_softmax`` 를 호출하지 않고 있습니다. +# 손실과 정확도과 이전과 동일한지 확인해봅시다: print(loss_func(model(xb), yb), accuracy(model(xb), yb)) @@ -283,14 +283,14 @@ def model(xb): # ``nn.Module`` 을 이용하여 리팩토링 하기 # ----------------------------------------- # 다음으로, 더 명확하고 간결한 훈련 루프를 위해 ``nn.Module`` 및 ``nn.Parameter`` 를 사용합니다. -# 우리는 ``nn.Module`` (자체가 클래스이고 상태를 추적할 수 있는) 하위 클래스(subclass)를 만듭니다. +# 우리는 ``nn.Module`` (자체가 클래스이고 상태를 추척할 수 있는) 하위 클래스(subclass)를 만듭니다. # 이 경우에는, 포워드(forward) 단계에 대한 가중치, 절편, 그리고 메소드(method) 등을 유지하는 # 클래스를 만들고자 합니다. # ``nn.Module`` 은 우리가 사용할 몇 가지 속성(attribute)과 메소드를 (``.parameters()`` 와 # ``.zero_grad()`` 같은) 가지고 있습니다. # -# .. note:: ``nn.Module`` (대문자 M) 은 PyTorch의 특정 개념이고, 우리는 이 클래스를 -# 많이 사용할 것입니다. ``nn.Module`` 를 Python의 코드를 임포트하기 위한 코드 파일인 +# .. note:: ``nn.Module`` (대문자 M) 은 PyTorch 의 특정 개념이고, 우리는 이 클래스를 +# 많이 사용할 것입니다. ``nn.Module`` 를 Python 의 코드를 임포트하기 위한 코드 파일인 # `module `_ (소문자 ``m``) # 의 개념과 헷갈리지 말아주세요. @@ -314,7 +314,7 @@ def forward(self, xb): ############################################################################### # 이제 우리는 이전과 동일한 방식으로 손실을 계산할 수 있습니다. # 여기서 ``nn.Module`` 오브젝트들은 마치 함수처럼 사용됩니다 (즉, 이들은 *호출가능* 합니다), -# 그러나 배후에서 PyTorch는 우리의 ``forward`` 메소드를 자동으로 호출합니다. +# 그러나 배후에서 PyTorch 는 우리의 ``forward`` 메소드를 자동으로 호출합니다. print(loss_func(model(xb), yb)) @@ -363,7 +363,7 @@ def fit(): fit() ############################################################################### -# 손실이 줄어들었는지 다시 한 번 확인합시다: +# 손실이 줄어들었는지 다시 한번 확인합시다: print(loss_func(model(xb), yb)) From dd99ecb65bd28c418d36bcef87277799c140bf9f Mon Sep 17 00:00:00 2001 From: Jung Eun Park <88322298+Angela-Park-JE@users.noreply.github.com> Date: Sun, 11 Aug 2024 10:43:38 +0900 Subject: [PATCH 05/14] Update TRANSLATION_GUIDE.md --- TRANSLATION_GUIDE.md | 1 - 1 file changed, 1 deletion(-) diff --git a/TRANSLATION_GUIDE.md b/TRANSLATION_GUIDE.md index 0ed3e4edd..6b7f64fcb 100644 --- a/TRANSLATION_GUIDE.md +++ b/TRANSLATION_GUIDE.md @@ -54,7 +54,6 @@ |Batch Normalization|배치 정규화|박정환|| |bias|편향|이하람|| |convolution|합성곱|김현길|| -|communication volume|통신량|박정은|| |Dropout|드롭아웃|김태형|음차 표기| |dataset|데이터셋|박정환|음차 표기| |deep neural network|심층 신경망|박정환|| From ee911bfb242658c5a15b94725e55777fbde28bed Mon Sep 17 00:00:00 2001 From: Jung Eun Park <88322298+Angela-Park-JE@users.noreply.github.com> Date: Fri, 6 Sep 2024 22:06:23 +0900 Subject: [PATCH 06/14] Update tensorboardyt_tutorial.py --- .../introyt/tensorboardyt_tutorial.py | 30 ++++++++++--------- 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/beginner_source/introyt/tensorboardyt_tutorial.py b/beginner_source/introyt/tensorboardyt_tutorial.py index 80bac7bcb..5d7be9a38 100644 --- a/beginner_source/introyt/tensorboardyt_tutorial.py +++ b/beginner_source/introyt/tensorboardyt_tutorial.py @@ -7,10 +7,12 @@ `Training Models `_ || `Model Understanding `_ -PyTorch TensorBoard Support +PyTorch TensorBoard 지원 =========================== -Follow along with the video below or on `youtube `__. +**번역**: `박정은 `_ + +아래 영상이나 `youtube `_\를 참고하세요. .. raw:: html @@ -18,36 +20,36 @@ -Before You Start +시작하기에 앞서 ---------------- -To run this tutorial, you’ll need to install PyTorch, TorchVision, -Matplotlib, and TensorBoard. +이 튜토리얼을 실행하기 위해서 PyTorch, TorchVision, +Matplotlib 그리고 TensorBoard를 설치해야 합니다. -With ``conda``: +``conda`` 사용 시: .. code-block:: sh conda install pytorch torchvision -c pytorch conda install matplotlib tensorboard -With ``pip``: +``pip`` 사용 시: .. code-block:: sh pip install torch torchvision matplotlib tensorboard -Once the dependencies are installed, restart this notebook in the Python -environment where you installed them. +한번 종속된 모듈을 설치하고 나서, +설치한 환경에서 이 노트북을 다시 시작합니다. -Introduction +개요 ------------ -In this notebook, we’ll be training a variant of LeNet-5 against the -Fashion-MNIST dataset. Fashion-MNIST is a set of image tiles depicting -various garments, with ten class labels indicating the type of garment -depicted. +이 notebook에서는 Fashion-MNIST 데이터셋에 대해 +변형된 LeNet-5를 학습시킬 것입니다. +Fashion-MNIST는 의류의 종류를 나타내는 10개의 클래스 레이블을 포함하는 +다양한 의류의 타일 이미지 세트입니다. """ From b4f9d10f95d795b13ac3fd272a7b935cc2cbfa36 Mon Sep 17 00:00:00 2001 From: Jung Eun Park <88322298+Angela-Park-JE@users.noreply.github.com> Date: Fri, 6 Sep 2024 22:21:05 +0900 Subject: [PATCH 07/14] Update tensorboardyt_tutorial.py MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 중반 부분 번역 사항입니다. --- .../introyt/tensorboardyt_tutorial.py | 56 +++++++++---------- 1 file changed, 28 insertions(+), 28 deletions(-) diff --git a/beginner_source/introyt/tensorboardyt_tutorial.py b/beginner_source/introyt/tensorboardyt_tutorial.py index 5d7be9a38..950241a08 100644 --- a/beginner_source/introyt/tensorboardyt_tutorial.py +++ b/beginner_source/introyt/tensorboardyt_tutorial.py @@ -53,44 +53,44 @@ """ -# PyTorch model and training necessities +# PyTorch 모델과 훈련 필수 요소 import torch import torch.nn as nn import torch.nn.functional as F import torch.optim as optim -# Image datasets and image manipulation +# 이미지 데이터셋과 이미지 조작 import torchvision import torchvision.transforms as transforms -# Image display +# 이미지 시각화 import matplotlib.pyplot as plt import numpy as np -# PyTorch TensorBoard support +# PyTorch TensorBoard 지원 from torch.utils.tensorboard import SummaryWriter -# In case you are using an environment that has TensorFlow installed, -# such as Google Colab, uncomment the following code to avoid -# a bug with saving embeddings to your TensorBoard directory +# 만약 Google Colab처럼 TensorFlow가 설치된 환경을 사용 중이라면 +# 아래의 코드를 주석 해제하여 +# TensorBoard 디렉터리에 임베딩을 저장할 때의 버그를 방지하세요. # import tensorflow as tf # import tensorboard as tb # tf.io.gfile = tb.compat.tensorflow_stub.io.gfile ###################################################################### -# Showing Images in TensorBoard +# TensorBoard에서 이미지 나타내기 # ----------------------------- # -# Let’s start by adding sample images from our dataset to TensorBoard: +# 먼저, 데이터셋에서 TensorBoard로 샘플 이미지를 추가합니다: # -# Gather datasets and prepare them for consumption +# 데이터셋을 모아서 사용 가능하도록 준비하기 transform = transforms.Compose( [transforms.ToTensor(), transforms.Normalize((0.5,), (0.5,))]) -# Store separate training and validations splits in ./data +# 훈련과 검증으로 분할하여 각각 ./data에 저장하기 training_set = torchvision.datasets.FashionMNIST('./data', download=True, train=True, @@ -111,54 +111,54 @@ shuffle=False, num_workers=2) -# Class labels +# 클래스 레이블 classes = ('T-shirt/top', 'Trouser', 'Pullover', 'Dress', 'Coat', 'Sandal', 'Shirt', 'Sneaker', 'Bag', 'Ankle Boot') -# Helper function for inline image display +# 인라인 이미지 시각화를 위한 함수 def matplotlib_imshow(img, one_channel=False): if one_channel: img = img.mean(dim=0) - img = img / 2 + 0.5 # unnormalize + img = img / 2 + 0.5 # 비정규화(unnormalize) npimg = img.numpy() if one_channel: plt.imshow(npimg, cmap="Greys") else: plt.imshow(np.transpose(npimg, (1, 2, 0))) -# Extract a batch of 4 images +# 4개의 이미지로부터 배치 하나를 추출하기 dataiter = iter(training_loader) images, labels = next(dataiter) -# Create a grid from the images and show them +# 이미지를 나타내기 위한 격자 생성 img_grid = torchvision.utils.make_grid(images) matplotlib_imshow(img_grid, one_channel=True) ######################################################################## -# Above, we used TorchVision and Matplotlib to create a visual grid of a -# minibatch of our input data. Below, we use the ``add_image()`` call on -# ``SummaryWriter`` to log the image for consumption by TensorBoard, and -# we also call ``flush()`` to make sure it’s written to disk right away. +# 위에서 TorchVision과 Matplotlib을 사용하여 +# 입력 데이터의 미니 배치를 시각적으로 배열한 격자를 만들었습니다. 아래에서는 TensorBoard에서 사용될 +# 이미지를 기록하기 위해 ``SummaryWriter`` 의 ``add_image()`` 를 호출하고, +# 또한 ``flush()`` 를 호출하여 이미지가 즉시 디스크에 기록되도록 합니다. # -# Default log_dir argument is "runs" - but it's good to be specific -# torch.utils.tensorboard.SummaryWriter is imported above +# log_dir 인수 기본값은 "runs"입니다 - 하지만 구체적으로 정하는 것이 좋습니다. +# 위에서 torch.utils.tensorboard.SummaryWriter를 가져왔습니다. writer = SummaryWriter('runs/fashion_mnist_experiment_1') -# Write image data to TensorBoard log dir +# TensorBoard 로그 디렉터리에 이미지 데이터 쓰기(write) writer.add_image('Four Fashion-MNIST Images', img_grid) writer.flush() -# To view, start TensorBoard on the command line with: +# 눈으로 보기 위해서는 커맨드 라인에서 TensorBoard를 시작하세요: # tensorboard --logdir=runs -# ...and open a browser tab to http://localhost:6006/ +# ...그런 다음 브라우저에서 http://localhost:6006/ 를 열어보세요. ########################################################################## -# If you start TensorBoard at the command line and open it in a new -# browser tab (usually at `localhost:6006 `__), you should -# see the image grid under the IMAGES tab. +# 만약 TensorBoard를 커맨드 라인에서 구동시켜 +# 그것을 새 브라우저 탭(보통 `localhost:6006 `__)에서 열었다면, +# IMAGES 탭에서 이미지 격자를 확인할 수 있을 것입니다. # # Graphing Scalars to Visualize Training # -------------------------------------- From eca3f1e4643fcd29fc4c80b8979c73535db2df00 Mon Sep 17 00:00:00 2001 From: Jung Eun Park <88322298+Angela-Park-JE@users.noreply.github.com> Date: Fri, 6 Sep 2024 22:37:23 +0900 Subject: [PATCH 08/14] Update tensorboardyt_tutorial.py MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 중후반 부분 번역입니다. --- .../introyt/tensorboardyt_tutorial.py | 54 +++++++++---------- 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/beginner_source/introyt/tensorboardyt_tutorial.py b/beginner_source/introyt/tensorboardyt_tutorial.py index 950241a08..d021d6570 100644 --- a/beginner_source/introyt/tensorboardyt_tutorial.py +++ b/beginner_source/introyt/tensorboardyt_tutorial.py @@ -160,15 +160,15 @@ def matplotlib_imshow(img, one_channel=False): # 그것을 새 브라우저 탭(보통 `localhost:6006 `__)에서 열었다면, # IMAGES 탭에서 이미지 격자를 확인할 수 있을 것입니다. # -# Graphing Scalars to Visualize Training +# 훈련 시각화를 위한 스칼라 그래프 그리기 # -------------------------------------- # -# TensorBoard is useful for tracking the progress and efficacy of your -# training. Below, we’ll run a training loop, track some metrics, and save -# the data for TensorBoard’s consumption. +# TensorBoard는 훈련 진행 과정과 효과를 추적하기에 +# 유용합니다. 아래에서 훈련 루프를 실행하고 몇몇 지표를 추적하며 +# TensorBoard에서 사용할 데이터를 저장할 것입니다. # -# Let’s define a model to categorize our image tiles, and an optimizer and -# loss function for training: +# 이미지 타일을 분류할 모델과 옵티마이저 +# 그리고 훈련의 손실 함수를 정의해 봅시다: # class Net(nn.Module): @@ -197,16 +197,16 @@ def forward(self, x): ########################################################################## -# Now let’s train a single epoch, and evaluate the training vs. validation -# set losses every 1000 batches: +# 이제 단일 에폭을 훈련하고, 매 1000 배치마다 훈련 셋과 검증 셋의 +# 손실을 평가해 봅니다: # print(len(validation_loader)) -for epoch in range(1): # loop over the dataset multiple times +for epoch in range(1): # 데이터셋을 여러 번 반복 running_loss = 0.0 for i, data in enumerate(training_loader, 0): - # basic training loop + # 기본 훈련 루프 inputs, labels = data optimizer.zero_grad() outputs = net(inputs) @@ -215,24 +215,24 @@ def forward(self, x): optimizer.step() running_loss += loss.item() - if i % 1000 == 999: # Every 1000 mini-batches... + if i % 1000 == 999: # 매 1000 미니 배치마다... print('Batch {}'.format(i + 1)) - # Check against the validation set + # 검증 셋과 비교 running_vloss = 0.0 - # In evaluation mode some model specific operations can be omitted eg. dropout layer - net.train(False) # Switching to evaluation mode, eg. turning off regularisation + # 평가 모드에서는 일부 모델의 특정 작업을 생략할 수 있습니다 예시: 드롭아웃 레이어 + net.train(False) # 평가 모드로 전환, 예시: 정규화(regularisation) 끄기 for j, vdata in enumerate(validation_loader, 0): vinputs, vlabels = vdata voutputs = net(vinputs) vloss = criterion(voutputs, vlabels) running_vloss += vloss.item() - net.train(True) # Switching back to training mode, eg. turning on regularisation + net.train(True) # 훈련 모드로 돌아가기, 예시: 정규화 켜기 avg_loss = running_loss / 1000 avg_vloss = running_vloss / len(validation_loader) - # Log the running loss averaged per batch + # 배치별 평균 실행 손실을 기록 writer.add_scalars('Training vs. Validation Loss', { 'Training' : avg_loss, 'Validation' : avg_vloss }, epoch * len(training_loader) + i) @@ -244,30 +244,30 @@ def forward(self, x): ######################################################################### -# Switch to your open TensorBoard and have a look at the SCALARS tab. +# 열린 TensorBoard로 전환하여 SCALARS탭을 살펴보세요. # -# Visualizing Your Model +# 모델 시각화하기 # ---------------------- # -# TensorBoard can also be used to examine the data flow within your model. -# To do this, call the ``add_graph()`` method with a model and sample -# input: +# TensorBoard는 모델 내 데이터 흐름을 검사하는 데에도 유용합니다. +# 이를 위해, 모델과 샘플 입력을 이용해 ``add_graph()`` 메소드를 +# 호출합니다: # -# Again, grab a single mini-batch of images +# 다시, 이미지의 미니 배치 하나를 가져옵니다. dataiter = iter(training_loader) images, labels = next(dataiter) -# add_graph() will trace the sample input through your model, -# and render it as a graph. +# add_graph()는 샘플 입력이 모델을 통과하는 과정을 추적하고, +# 이를 그래프로 시각화합니다. writer.add_graph(net, images) writer.flush() ######################################################################### -# When you switch over to TensorBoard, you should see a GRAPHS tab. -# Double-click the “NET” node to see the layers and data flow within your -# model. +# TensorBoard로 전환하면, GRAPHS 탭이 보일 것입니다. +# “NET” 노드를 더블 클릭하여 모델 내 계층과 데이터 흐름을 +# 확인하세요. # # Visualizing Your Dataset with Embeddings # ---------------------------------------- From 38ce9b284f4767342526898f872eebcd225b80d2 Mon Sep 17 00:00:00 2001 From: Jung Eun Park <88322298+Angela-Park-JE@users.noreply.github.com> Date: Fri, 6 Sep 2024 22:53:06 +0900 Subject: [PATCH 09/14] Update tensorboardyt_tutorial.py MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 후반부 번역입니다. --- .../introyt/tensorboardyt_tutorial.py | 56 +++++++++---------- 1 file changed, 28 insertions(+), 28 deletions(-) diff --git a/beginner_source/introyt/tensorboardyt_tutorial.py b/beginner_source/introyt/tensorboardyt_tutorial.py index d021d6570..bb478af6c 100644 --- a/beginner_source/introyt/tensorboardyt_tutorial.py +++ b/beginner_source/introyt/tensorboardyt_tutorial.py @@ -269,34 +269,34 @@ def forward(self, x): # “NET” 노드를 더블 클릭하여 모델 내 계층과 데이터 흐름을 # 확인하세요. # -# Visualizing Your Dataset with Embeddings +# 임베딩으로 데이터셋 시각화하기 # ---------------------------------------- # -# The 28-by-28 image tiles we’re using can be modeled as 784-dimensional -# vectors (28 \* 28 = 784). It can be instructive to project this to a -# lower-dimensional representation. The ``add_embedding()`` method will -# project a set of data onto the three dimensions with highest variance, -# and display them as an interactive 3D chart. The ``add_embedding()`` -# method does this automatically by projecting to the three dimensions -# with highest variance. +# 우리가 사용하는 28x28 이미지 타일은 784차원의 +# 벡터(28 \* 28 = 784)가 될 수 있습니다. 더 낮은 차원으로 투영하는 쪽이 +# 유리할 수 있죠. ``add_embedding()`` 메소드는 +# 가장 분산이 높은 세 차원으로 데이터 세트를 투영하고, +# 상호작용 가능한 3D 차트로 시각화해 줄 것입니다. ``add_embedding()`` +# 메소드는 가장 높은 분산을 가진 세 차원에 자동적으로 +# 투영하여 이를 수행합니다. # -# Below, we’ll take a sample of our data, and generate such an embedding: +# 아래에서 데이터 샘플을 가져와 임베딩을 생성할 것입니다: # -# Select a random subset of data and corresponding labels +# 데이터의 랜덤 서브셋과 대응하는 레이블을 선택 def select_n_random(data, labels, n=100): assert len(data) == len(labels) perm = torch.randperm(len(data)) return data[perm][:n], labels[perm][:n] -# Extract a random subset of data +# 데이터의 랜덤 서브셋 추출 images, labels = select_n_random(training_set.data, training_set.targets) -# get the class labels for each image +# 각 이미지별 클래스 레이블 얻기(get) class_labels = [classes[label] for label in labels] -# log embeddings +# 로그 임베딩 features = images.view(-1, 28 * 28) writer.add_embedding(features, metadata=class_labels, @@ -306,24 +306,24 @@ def select_n_random(data, labels, n=100): ####################################################################### -# Now if you switch to TensorBoard and select the PROJECTOR tab, you -# should see a 3D representation of the projection. You can rotate and -# zoom the model. Examine it at large and small scales, and see whether -# you can spot patterns in the projected data and the clustering of -# labels. +# 이제 TensorBoard로 전환하여 PROJECTOR 탭을 선택하면, +# 3D로 표현된 투영이 보일 것입니다. 그 모델을 회전하거나 +# 확대할 수 있습니다. 크거나 작은 규모(scale)로 그것을 살펴보며, +# 투영된 데이터와 레이블의 클러스터링에서 패턴을 발견할 수 있는지 +# 보세요. # -# For better visibility, it’s recommended to: +# 가시성을 높이려면, 다음을 권장합니다: # -# - Select “label” from the “Color by” drop-down on the left. -# - Toggle the Night Mode icon along the top to place the -# light-colored images on a dark background. +# - 좌측에 있는 “Color by” 드롭다운에서 “label”을 선택하세요. +# - 상단에 있는 야간 모드 아이콘을 전환(toggle)하여 +# 밝은 색상 이미지를 어두운 배경 위에 배치할 수 있습니다. # -# Other Resources +# 기타 자료 # --------------- # -# For more information, have a look at: +# 더 알고 싶다면 여기를 참조하세요: # -# - PyTorch documentation on `torch.utils.tensorboard.SummaryWriter `__ -# - Tensorboard tutorial content in the `PyTorch.org Tutorials `__ -# - For more information about TensorBoard, see the `TensorBoard -# documentation `__ +# - `torch.utils.tensorboard.SummaryWriter `_\에 대한 PyTorch 문서 +# - `PyTorch.org Tutorials `_\에 있는 Tensorboard 튜토리얼 콘텐츠 +# - TensorBoard에 대한 보다 더 자세한 내용은 `TensorBoard +# documentation `_\을 참고하세요. From b6ab9c38f2cd3b8e717bcaf1423750dd49935c03 Mon Sep 17 00:00:00 2001 From: Jung Eun Park <88322298+Angela-Park-JE@users.noreply.github.com> Date: Wed, 11 Sep 2024 03:31:05 +0900 Subject: [PATCH 10/14] Update tensorboardyt_tutorial.py --- beginner_source/introyt/tensorboardyt_tutorial.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/beginner_source/introyt/tensorboardyt_tutorial.py b/beginner_source/introyt/tensorboardyt_tutorial.py index bb478af6c..b1e1eca6d 100644 --- a/beginner_source/introyt/tensorboardyt_tutorial.py +++ b/beginner_source/introyt/tensorboardyt_tutorial.py @@ -40,7 +40,7 @@ pip install torch torchvision matplotlib tensorboard 한번 종속된 모듈을 설치하고 나서, -설치한 환경에서 이 노트북을 다시 시작합니다. +설치한 환경에서 이 notebook을 다시 시작합니다. 개요 From 1538cc1684a3b495918b54e6c36bd3618daa2735 Mon Sep 17 00:00:00 2001 From: Jung Eun Park <88322298+Angela-Park-JE@users.noreply.github.com> Date: Sun, 29 Sep 2024 18:37:34 +0900 Subject: [PATCH 11/14] Update tensorboardyt_tutorial.py MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 동훈님, 효영님, 지은님의 피드백을 반영하였습니다. --- beginner_source/introyt/tensorboardyt_tutorial.py | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/beginner_source/introyt/tensorboardyt_tutorial.py b/beginner_source/introyt/tensorboardyt_tutorial.py index b1e1eca6d..10ce31408 100644 --- a/beginner_source/introyt/tensorboardyt_tutorial.py +++ b/beginner_source/introyt/tensorboardyt_tutorial.py @@ -39,16 +39,16 @@ pip install torch torchvision matplotlib tensorboard -한번 종속된 모듈을 설치하고 나서, +한번 의존성이 있는 모듈을 설치하고 나서, 설치한 환경에서 이 notebook을 다시 시작합니다. 개요 ------------ -이 notebook에서는 Fashion-MNIST 데이터셋에 대해 -변형된 LeNet-5를 학습시킬 것입니다. -Fashion-MNIST는 의류의 종류를 나타내는 10개의 클래스 레이블을 포함하는 +이 notebook에서는 변형된 LeNet-5를 +Fashion-MNIST 데이터셋으로 학습시킬 것입니다. +Fashion-MNIST는 의복의 종류를 나타내는 10개의 클래스 레이블을 포함하는 다양한 의류의 타일 이미지 세트입니다. """ @@ -202,7 +202,7 @@ def forward(self, x): # print(len(validation_loader)) -for epoch in range(1): # 데이터셋을 여러 번 반복 +for epoch in range(1): # 데이터 셋을 여러 번 반복(필요 시 횟수를 조정합니다.) running_loss = 0.0 for i, data in enumerate(training_loader, 0): @@ -274,7 +274,7 @@ def forward(self, x): # # 우리가 사용하는 28x28 이미지 타일은 784차원의 # 벡터(28 \* 28 = 784)가 될 수 있습니다. 더 낮은 차원으로 투영하는 쪽이 -# 유리할 수 있죠. ``add_embedding()`` 메소드는 +# 유리할 수 있습니다. ``add_embedding()`` 메소드는 # 가장 분산이 높은 세 차원으로 데이터 세트를 투영하고, # 상호작용 가능한 3D 차트로 시각화해 줄 것입니다. ``add_embedding()`` # 메소드는 가장 높은 분산을 가진 세 차원에 자동적으로 @@ -283,7 +283,7 @@ def forward(self, x): # 아래에서 데이터 샘플을 가져와 임베딩을 생성할 것입니다: # -# 데이터의 랜덤 서브셋과 대응하는 레이블을 선택 +# 데이터의 랜덤 부분집합과 대응하는 레이블을 선택 def select_n_random(data, labels, n=100): assert len(data) == len(labels) From c3985820dc811d083ccbabb621009f2d16ecaf6d Mon Sep 17 00:00:00 2001 From: Jung Eun Park <88322298+Angela-Park-JE@users.noreply.github.com> Date: Sun, 29 Sep 2024 18:55:55 +0900 Subject: [PATCH 12/14] Update tensorboardyt_tutorial.py --- beginner_source/introyt/tensorboardyt_tutorial.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/beginner_source/introyt/tensorboardyt_tutorial.py b/beginner_source/introyt/tensorboardyt_tutorial.py index 10ce31408..65e314635 100644 --- a/beginner_source/introyt/tensorboardyt_tutorial.py +++ b/beginner_source/introyt/tensorboardyt_tutorial.py @@ -290,7 +290,7 @@ def select_n_random(data, labels, n=100): perm = torch.randperm(len(data)) return data[perm][:n], labels[perm][:n] -# 데이터의 랜덤 서브셋 추출 +# 데이터의 랜덤 부분집합 추출 images, labels = select_n_random(training_set.data, training_set.targets) # 각 이미지별 클래스 레이블 얻기(get) From 46fa8f4b6719d8c525e92e5633e2afeb348304e7 Mon Sep 17 00:00:00 2001 From: Jung Eun Park <88322298+Angela-Park-JE@users.noreply.github.com> Date: Sun, 29 Sep 2024 20:33:53 +0900 Subject: [PATCH 13/14] Update tensorboardyt_tutorial.py MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 동훈님이 주신 소중한 피드백과 의견, 반영하였습니다. --- beginner_source/introyt/tensorboardyt_tutorial.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/beginner_source/introyt/tensorboardyt_tutorial.py b/beginner_source/introyt/tensorboardyt_tutorial.py index 65e314635..0ea279b73 100644 --- a/beginner_source/introyt/tensorboardyt_tutorial.py +++ b/beginner_source/introyt/tensorboardyt_tutorial.py @@ -326,4 +326,4 @@ def select_n_random(data, labels, n=100): # - `torch.utils.tensorboard.SummaryWriter `_\에 대한 PyTorch 문서 # - `PyTorch.org Tutorials `_\에 있는 Tensorboard 튜토리얼 콘텐츠 # - TensorBoard에 대한 보다 더 자세한 내용은 `TensorBoard -# documentation `_\을 참고하세요. +# 문서 `_\을 참고하세요. From f040ee5b9b2e93a7d0698c6eb3d154e70339bd1c Mon Sep 17 00:00:00 2001 From: Jung Eun Park <88322298+Angela-Park-JE@users.noreply.github.com> Date: Mon, 30 Sep 2024 20:40:11 +0900 Subject: [PATCH 14/14] Update tensorboardyt_tutorial.py MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 동훈님의 감사한 피드백 반영 --- beginner_source/introyt/tensorboardyt_tutorial.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/beginner_source/introyt/tensorboardyt_tutorial.py b/beginner_source/introyt/tensorboardyt_tutorial.py index 0ea279b73..19bbb2708 100644 --- a/beginner_source/introyt/tensorboardyt_tutorial.py +++ b/beginner_source/introyt/tensorboardyt_tutorial.py @@ -326,4 +326,4 @@ def select_n_random(data, labels, n=100): # - `torch.utils.tensorboard.SummaryWriter `_\에 대한 PyTorch 문서 # - `PyTorch.org Tutorials `_\에 있는 Tensorboard 튜토리얼 콘텐츠 # - TensorBoard에 대한 보다 더 자세한 내용은 `TensorBoard -# 문서 `_\을 참고하세요. +# 문서 `_\를 참고하세요.