Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
768 changes: 385 additions & 383 deletions 00_pytorch_fundamentals.ipynb

Large diffs are not rendered by default.

36 changes: 19 additions & 17 deletions 01_pytorch_workflow.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@
"id": "view-in-github"
},
"source": [
"> **원본:** 이 노트북은 [Daniel Bourke](https://github.com/mrdbourke)의 [Learn PyTorch for Deep Learning](https://github.com/mrdbourke/pytorch-deep-learning) 자료를 한국어로 번역한 것입니다. 원본 저장소: https://github.com/mrdbourke/pytorch-deep-learning\n",
"\n",
"<a href=\"https://colab.research.google.com/github/mrdbourke/pytorch-deep-learning/blob/main/01_pytorch_workflow.ipynb\" target=\"_parent\"><img src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open In Colab\"/></a>\n",
"\n",
"[View Source Code](https://github.com/mrdbourke/pytorch-deep-learning/blob/main/01_pytorch_workflow.ipynb) | [View Slides](https://github.com/mrdbourke/pytorch-deep-learning/blob/main/slides/01_pytorch_workflow.pdf) | [Watch Video Walkthrough](https://youtu.be/Z_ikDlimN6A?t=15419) "
Expand All @@ -18,17 +20,17 @@
"id": "OgYkrRCRec0r"
},
"source": [
"# 01. PyTorch Workflow Fundamentals\n",
"# 01. PyTorch 워크플로우 기초\n",
"\n",
"The essence of machine learning and deep learning is to take some data from the past, build an algorithm (like a neural network) to discover patterns in it and use the discovered patterns to predict the future.\n",
"머신러닝과 딥러닝의 본질은 과거의 데이터를 가져와서, 그 안의 패턴을 발견하기 위한 알고리즘(신경망과 같은)을 구축하고, 발견된 패턴을 사용하여 미래를 예측하는 것입니다.\n",
"\n",
"There are many ways to do this and many new ways are being discovered all the time.\n",
"이를 수행하는 방법은 많고, 새로운 방법들이 계속 발견되고 있습니다.\n",
"\n",
"But let's start small.\n",
"하지만 작게 시작해보겠습니다.\n",
"\n",
"How about we start with a straight line?\n",
"직선부터 시작하는 것은 어떨까요?\n",
"\n",
"And we see if we can build a PyTorch model that learns the pattern of the straight line and matches it."
"직선의 패턴을 학습하고 일치시키는 PyTorch 모델을 구축할 수 있는지 살펴보겠습니다."
]
},
{
Expand All @@ -37,24 +39,24 @@
"id": "51Ug7Ug123Ip"
},
"source": [
"## What we're going to cover\n",
"## 다룰 내용\n",
"\n",
"In this module we're going to cover a standard PyTorch workflow (it can be chopped and changed as necessary but it covers the main outline of steps).\n",
"이 모듈에서는 표준 PyTorch 워크플로우를 다룰 것입니다(필요에 따라 수정하고 변경할 수 있지만 주요 단계의 개요를 다룹니다).\n",
"\n",
"<img src=\"https://raw.githubusercontent.com/mrdbourke/pytorch-deep-learning/main/images/01_a_pytorch_workflow.png\" width=900 alt=\"a pytorch workflow flowchat\"/>\n",
"\n",
"For now, we'll use this workflow to predict a simple straight line but the workflow steps can be repeated and changed depending on the problem you're working on.\n",
"지금은 이 워크플로우를 사용하여 간단한 직선을 예측하지만, 워크플로우 단계는 작업 중인 문제에 따라 반복되고 변경될 수 있습니다.\n",
"\n",
"Specifically, we're going to cover:\n",
"구체적으로, 다음을 다룰 예정입니다:\n",
"\n",
"| **Topic** | **Contents** |\n",
"| **주제** | **내용** |\n",
"| ----- | ----- |\n",
"| **1. Getting data ready** | Data can be almost anything but to get started we're going to create a simple straight line |\n",
"| **2. Building a model** | Here we'll create a model to learn patterns in the data, we'll also choose a **loss function**, **optimizer** and build a **training loop**. | \n",
"| **3. Fitting the model to data (training)** | We've got data and a model, now let's let the model (try to) find patterns in the (**training**) data. |\n",
"| **4. Making predictions and evaluating a model (inference)** | Our model's found patterns in the data, let's compare its findings to the actual (**testing**) data. |\n",
"| **5. Saving and loading a model** | You may want to use your model elsewhere, or come back to it later, here we'll cover that. |\n",
"| **6. Putting it all together** | Let's take all of the above and combine it. |"
"| **1. 데이터 준비** | 데이터는 거의 모든 것이 될 수 있지만 시작하기 위해 간단한 직선을 생성할 것입니다 |\n",
"| **2. 모델 구축** | 여기서는 데이터의 패턴을 학습할 모델을 생성하고, **손실 함수**, **옵티마이저**를 선택하고 **훈련 루프**를 구축할 것입니다. | \n",
"| **3. 모델을 데이터에 맞추기 (훈련)** | 데이터와 모델이 있으니, 이제 모델이 (**훈련**) 데이터에서 패턴을 찾도록 해보겠습니다. |\n",
"| **4. 예측 생성 및 모델 평가 (추론)** | 모델이 데이터에서 패턴을 찾았으니, 그 결과를 실제 (**테스트**) 데이터와 비교해보겠습니다. |\n",
"| **5. 모델 저장 및 로드** | 모델을 다른 곳에서 사용하거나 나중에 다시 사용하고 싶을 수 있습니다. 여기서 이를 다룰 것입니다. |\n",
"| **6. 모든 것을 결합하기** | 위의 모든 것을 가져와서 결합해보겠습니다. |"
]
},
{
Expand Down
24 changes: 13 additions & 11 deletions 02_pytorch_classification.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@
"id": "view-in-github"
},
"source": [
"> **원본:** 이 노트북은 [Daniel Bourke](https://github.com/mrdbourke)의 [Learn PyTorch for Deep Learning](https://github.com/mrdbourke/pytorch-deep-learning) 자료를 한국어로 번역한 것입니다. 원본 저장소: https://github.com/mrdbourke/pytorch-deep-learning\n",
"\n",
"<a href=\"https://colab.research.google.com/github/mrdbourke/pytorch-deep-learning/blob/main/02_pytorch_classification.ipynb\" target=\"_parent\"><img src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open In Colab\"/></a>\n",
"\n",
"[View Source Code](https://github.com/mrdbourke/pytorch-deep-learning/blob/main/02_pytorch_classification.ipynb) | [View Slides](https://github.com/mrdbourke/pytorch-deep-learning/blob/main/slides/02_pytorch_classification.pdf) | [Watch Video Walkthrough](https://youtu.be/Z_ikDlimN6A?t=30691) "
Expand All @@ -18,29 +20,29 @@
"id": "r8C1WSzsHC7x"
},
"source": [
"# 02. PyTorch Neural Network Classification\n",
"# 02. PyTorch 신경망 분류\n",
"\n",
"## What is a classification problem?\n",
"## 분류 문제란 무엇인가?\n",
"\n",
"A [classification problem](https://en.wikipedia.org/wiki/Statistical_classification) involves predicting whether something is one thing or another.\n",
"[분류 문제](https://en.wikipedia.org/wiki/Statistical_classification)는 어떤 것이 하나의 것인지 다른 것인지를 예측하는 것을 포함합니다.\n",
"\n",
"For example, you might want to:\n",
"예를 들어, 다음과 같은 것들을 원할 수 있습니다:\n",
"\n",
"| Problem type | What is it? | Example |\n",
"| 문제 유형 | 무엇인가? | 예시 |\n",
"| ----- | ----- | ----- |\n",
"| **Binary classification** | Target can be one of two options, e.g. yes or no | Predict whether or not someone has heart disease based on their health parameters. |\n",
"| **Multi-class classification** | Target can be one of more than two options | Decide whether a photo is of food, a person or a dog. |\n",
"| **Multi-label classification** | Target can be assigned more than one option | Predict what categories should be assigned to a Wikipedia article (e.g. mathematics, science & philosophy). |\n",
"| **이진 분류** | 타겟이 두 옵션 중 하나일 수 있음, 예: 예 또는 아니오 | 건강 매개변수를 기반으로 누군가가 심장병을 가지고 있는지 예측. |\n",
"| **다중 클래스 분류** | 타겟이 두 개 이상의 옵션 중 하나일 수 있음 | 사진이 음식, 사람 또는 개인지 결정. |\n",
"| **다중 레이블 분류** | 타겟에 하나 이상의 옵션이 할당될 수 있음 | Wikipedia 기사에 어떤 카테고리가 할당되어야 하는지 예측 (예: 수학, 과학 및 철학). |\n",
"\n",
"<div align=\"center\">\n",
"<img src=\"https://raw.githubusercontent.com/mrdbourke/pytorch-deep-learning/main/images/02-different-classification-problems.png\" alt=\"various different classification in machine learning such as binary classification, multiclass classification and multilabel classification\" width=900/>\n",
"</div>\n",
" \n",
"Classification, along with regression (predicting a number, covered in [notebook 01](https://www.learnpytorch.io/01_pytorch_workflow/)) is one of the most common types of machine learning problems.\n",
"분류는 회귀(숫자 예측, [노트북 01](https://www.learnpytorch.io/01_pytorch_workflow/)에서 다룸)와 함께 가장 일반적인 머신러닝 문제 유형 중 하나입니다.\n",
"\n",
"In this notebook, we're going to work through a couple of different classification problems with PyTorch. \n",
"이 노트북에서는 PyTorch로 몇 가지 다른 분류 문제를 다룰 것입니다.\n",
"\n",
"In other words, taking a set of inputs and predicting what class those set of inputs belong to.\n",
"즉, 입력 세트를 가져와서 그 입력 세트가 어떤 클래스에 속하는지 예측하는 것입니다.\n",
"\n",
"\n"
]
Expand Down
16 changes: 9 additions & 7 deletions 03_pytorch_computer_vision.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@
"id": "c2dc16c4-c7f4-4945-ba91-6430a51e6f5a"
},
"source": [
"> **원본:** 이 노트북은 [Daniel Bourke](https://github.com/mrdbourke)의 [Learn PyTorch for Deep Learning](https://github.com/mrdbourke/pytorch-deep-learning) 자료를 한국어로 번역한 것입니다. 원본 저장소: https://github.com/mrdbourke/pytorch-deep-learning\n",
"\n",
"<a href=\"https://colab.research.google.com/github/mrdbourke/pytorch-deep-learning/blob/main/03_pytorch_computer_vision.ipynb\" target=\"_parent\"><img src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open In Colab\"/></a>\n",
"\n",
"[View Source Code](https://github.com/mrdbourke/pytorch-deep-learning/blob/main/03_pytorch_computer_vision.ipynb) | [View Slides](https://github.com/mrdbourke/pytorch-deep-learning/blob/main/slides/03_pytorch_computer_vision.pdf) | [Watch Video Walkthrough](https://youtu.be/Z_ikDlimN6A?t=50417) "
Expand All @@ -19,20 +21,20 @@
"id": "08f47c6a-3318-4e3f-8bb3-c520e00e63dd"
},
"source": [
"# 03. PyTorch Computer Vision\n",
"# 03. PyTorch 컴퓨터 비전\n",
"\n",
"[Computer vision](https://en.wikipedia.org/wiki/Computer_vision) is the art of teaching a computer to see.\n",
"[컴퓨터 비전](https://en.wikipedia.org/wiki/Computer_vision)은 컴퓨터에게 보는 법을 가르치는 기술입니다.\n",
"\n",
"For example, it could involve building a model to classify whether a photo is of a cat or a dog ([binary classification](https://developers.google.com/machine-learning/glossary#binary-classification)).\n",
"예를 들어, 사진이 고양이인지 개인지 분류하는 모델을 구축하는 것([이진 분류](https://developers.google.com/machine-learning/glossary#binary-classification))을 포함할 수 있습니다.\n",
"\n",
"Or whether a photo is of a cat, dog or chicken ([multi-class classification](https://developers.google.com/machine-learning/glossary#multi-class-classification)).\n",
"또는 사진이 고양이, 개 또는 닭인지([다중 클래스 분류](https://developers.google.com/machine-learning/glossary#multi-class-classification)).\n",
"\n",
"Or identifying where a car appears in a video frame ([object detection](https://en.wikipedia.org/wiki/Object_detection)).\n",
"또는 비디오 프레임에서 자동차가 어디에 나타나는지 식별하는 것([객체 감지](https://en.wikipedia.org/wiki/Object_detection)).\n",
"\n",
"Or figuring out where different objects in an image can be separated ([panoptic segmentation](https://arxiv.org/abs/1801.00868)).\n",
"또는 이미지에서 서로 다른 객체들이 어디서 분리될 수 있는지 파악하는 것([파노픽 분할](https://arxiv.org/abs/1801.00868)).\n",
"\n",
"![example computer vision problems](https://raw.githubusercontent.com/mrdbourke/pytorch-deep-learning/main/images/03-computer-vision-problems.png)\n",
"*Example computer vision problems for binary classification, multiclass classification, object detection and segmentation.*"
"*이진 분류, 다중 클래스 분류, 객체 감지 및 분할을 위한 예시 컴퓨터 비전 문제들.*"
]
},
{
Expand Down
20 changes: 11 additions & 9 deletions 04_pytorch_custom_datasets.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"> **원본:** 이 노트북은 [Daniel Bourke](https://github.com/mrdbourke)의 [Learn PyTorch for Deep Learning](https://github.com/mrdbourke/pytorch-deep-learning) 자료를 한국어로 번역한 것입니다. 원본 저장소: https://github.com/mrdbourke/pytorch-deep-learning\n",
"\n",
"<a href=\"https://colab.research.google.com/github/mrdbourke/pytorch-deep-learning/blob/main/04_pytorch_custom_datasets.ipynb\" target=\"_parent\"><img src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open In Colab\"/></a>\n",
"\n",
"[View Source Code](https://github.com/mrdbourke/pytorch-deep-learning/blob/main/04_pytorch_custom_datasets.ipynb) | [View Slides](https://github.com/mrdbourke/pytorch-deep-learning/blob/main/slides/04_pytorch_custom_datasets.pdf) | [Watch Video Walkthrough](https://youtu.be/Z_ikDlimN6A?t=71010) "
Expand All @@ -13,28 +15,28 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"# 04. PyTorch Custom Datasets\n",
"# 04. PyTorch 사용자 정의 데이터셋\n",
"\n",
"In the last notebook, [notebook 03](https://www.learnpytorch.io/03_pytorch_computer_vision/), we looked at how to build computer vision models on an in-built dataset in PyTorch (FashionMNIST).\n",
"이전 노트북인 [노트북 03](https://www.learnpytorch.io/03_pytorch_computer_vision/)에서 PyTorch의 내장 데이터셋(FashionMNIST)에서 컴퓨터 비전 모델을 구축하는 방법을 살펴보았습니다.\n",
"\n",
"The steps we took are similar across many different problems in machine learning.\n",
"우리가 취한 단계들은 머신러닝의 많은 다른 문제들에서 유사합니다.\n",
"\n",
"Find a dataset, turn the dataset into numbers, build a model (or find an existing model) to find patterns in those numbers that can be used for prediction.\n",
"데이터셋을 찾고, 데이터셋을 숫자로 변환하고, 예측에 사용할 수 있는 그 숫자들의 패턴을 찾기 위한 모델을 구축(또는 기존 모델을 찾기)합니다.\n",
"\n",
"PyTorch has many built-in datasets used for a wide number of machine learning benchmarks, however, you'll often want to use your own **custom dataset**."
"PyTorch는 다양한 머신러닝 벤치마크에 사용되는 많은 내장 데이터셋을 가지고 있지만, 종종 자신만의 **사용자 정의 데이터셋**을 사용하고 싶을 것입니다."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## What is a custom dataset?\n",
"## 사용자 정의 데이터셋이란 무엇인가?\n",
"\n",
"A **custom dataset** is a collection of data relating to a specific problem you're working on.\n",
"**사용자 정의 데이터셋**은 작업 중인 특정 문제와 관련된 데이터의 모음입니다.\n",
"\n",
"In essence, a **custom dataset** can be comprised of almost anything.\n",
"본질적으로, **사용자 정의 데이터셋**은 거의 모든 것으로 구성될 수 있습니다.\n",
"\n",
"For example, if we were building a food image classification app like [Nutrify](https://nutrify.app), our custom dataset might be images of food.\n",
"예를 들어, [Nutrify](https://nutrify.app)와 같은 음식 이미지 분류 앱을 구축한다면, 우리의 사용자 정의 데이터셋은 음식 이미지일 수 있습니다.\n",
"\n",
"Or if we were trying to build a model to classify whether or not a text-based review on a website was positive or negative, our custom dataset might be examples of existing customer reviews and their ratings.\n",
"\n",
Expand Down
Loading