44
44
# .. figure:: /_static/img/landmarked_face2.png
45
45
# :width: 400
46
46
#
47
- # 각각의 얼굴에 68개의 서로다른 중요 포인트들이 존재합니다.
47
+ # 각각의 얼굴에 68개의 서로 다른 중요 포인트들이 존재합니다.
48
48
#
49
49
# .. note::
50
50
# 이 `링크 <https://download.pytorch.org/tutorial/faces.zip>`_ 를 통해 데이터셋을 다운로드 해주세요.
@@ -104,7 +104,7 @@ def show_landmarks(image, landmarks):
104
104
# ``torch.utils.data.Dataset`` 은 데이터셋을 나타내는 추상클래스입니다.
105
105
# 여러분의 데이터셋은 ``Dataset`` 에 상속하고 아래와 같이 오버라이드 해야합니다.
106
106
#
107
- # - ``len(dataset)`` 에서 호출되는 ``__len__`` 은 데이터셋의 크기를 리턴해야합니다 .
107
+ # - ``len(dataset)`` 에서 호출되는 ``__len__`` 은 데이터셋의 크기를 리턴해야 합니다 .
108
108
# - ``dataset[i]`` 에서 호출되는 ``__getitem__`` 은
109
109
# :math:`i`\ 번째 샘플을 찾는데 사용됩니다.
110
110
#
@@ -196,7 +196,7 @@ def __getitem__(self, idx):
196
196
# - ``ToTensor``: numpy 이미지에서 torch 이미지로 변경합니다.
197
197
# (축변환이 필요합니다)
198
198
#
199
- # 간단한 함수대신에 호출 할 수 있는 클래스로 작성 합니다.
199
+ # 간단한 함수 대신에 호출 할 수 있는 클래스로 작성 합니다.
200
200
# 이렇게 한다면, 클래스가 호출 될 때마다 전이(Transform)의 매개변수가 전달 되지 않아도 됩니다.
201
201
# 이와 같이, ``__call__`` 함수를 구현해야 합니다.
202
202
# 필요하다면, ``__init__`` 함수도 구현해야 합니다. 다음과 같이 전이(transform)를 사용할 수 있습니다.
@@ -303,9 +303,9 @@ def __call__(self, sample):
303
303
#
304
304
# 이미지의 가장 짧은 측면을 256개로 rescale하고,
305
305
# 그후에 무작위로 224개를 자른다고 가정합시다.
306
- # 다시말해 , ``Rescale`` 과 ``RandomCrop`` 을 사용해봅시다.
306
+ # 다시 말해 , ``Rescale`` 과 ``RandomCrop`` 을 사용해봅시다.
307
307
#
308
- # ``torchvision.transforms.Compose`` 는 위의 두작업을 하는 간단한 호출할 수 있는 클래스입니다.
308
+ # ``torchvision.transforms.Compose`` 는 위의 두 작업을 하는 간단한 호출할 수 있는 클래스입니다.
309
309
#
310
310
311
311
scale = Rescale (256 )
@@ -331,13 +331,13 @@ def __call__(self, sample):
331
331
# 데이터셋을 이용한 반복작업
332
332
# -----------------------------
333
333
#
334
- # 전이(transform)를 적용한 dataset을 만들기위해서 만들었던것을 다 집어 넣어 봅시다.
334
+ # 전이(transform)를 적용한 dataset을 만들기 위해서 만들었던 것을 다 집어넣어 봅시다.
335
335
#
336
336
# 요약하자면, 데이터셋은 다음과 같이 샘플링 됩니다.
337
337
#
338
- # - 이미지는 파일 전체를 메모리에 올리지않고 필요할때마다 불러와서 읽습니다.
338
+ # - 이미지는 파일 전체를 메모리에 올리지 않고 필요할 때마다 불러와서 읽습니다.
339
339
# - 그 후에 읽은 이미지에 Transform을 적용합니다.
340
- # - transfroms 중 하나가 랜덤이기 때문에, 데이터는 샘플링때 증가합니다.
340
+ # - transfroms 중 하나가 랜덤이기 때문에, 데이터는 샘플링 때 증가합니다.
341
341
#
342
342
#
343
343
# 우리는 이제 이전에 사용하던 것 처럼 ``for i in range`` 를 사용해서
@@ -367,7 +367,7 @@ def __call__(self, sample):
367
367
#
368
368
# - 데이터를 묶는 과정
369
369
# - 데이터를 섞는 과정
370
- # - 병렬처리 과정에서 ``multiprocessing`` 을 사용할때 데이터를 불러오는 것
370
+ # - 병렬처리 과정에서 ``multiprocessing`` 을 사용할 때 데이터를 불러오는 것
371
371
#
372
372
# ``torch.utils.data.DataLoder`` 는 위와 같은 기능을 모두 제공해주는 반복자(iterator)입니다.
373
373
# 사용되는 매개변수(Parameters)는 명확해야 합니다.
@@ -398,7 +398,7 @@ def show_landmarks_batch(sample_batched):
398
398
399
399
plt .title ('Batch from dataloader' )
400
400
401
- # Windows를 사용 중이라면, 다음 줄의 주석을 제거하고 for 반복문을 들여쓰기합니다 .
401
+ # Windows를 사용 중이라면, 다음 줄의 주석을 제거하고 for 반복문을 들여쓰기 합니다 .
402
402
# ``num_workers`` 를 0으로 변경해야 할 수도 있습니다.
403
403
404
404
# if __name__ == '__main__':
@@ -422,7 +422,7 @@ def show_landmarks_batch(sample_batched):
422
422
# 이번 튜토리얼에서는, 데이터셋 작성과 사용, 전이(transforms), 데이터를 불러오는 방법에 대해서 알아봤습니다.
423
423
# ``torchvision`` 패키지는 몇몇의 일반적인 데이터셋과 전이(transforms)들을 제공합니다.
424
424
# 클래스들을 따로 작성하지 않아도 될 것입니다.
425
- # torchvision에서의 사용가능한 일반적인 데이터셋 중 하나는 ``ImageFolder`` 입니다.
425
+ # torchvision에서의 사용 가능한 일반적인 데이터셋 중 하나는 ``ImageFolder`` 입니다.
426
426
# 이것은 다음과 같은 방식으로 구성되어 있다고 가정합니다: ::
427
427
#
428
428
# root/ants/xxx.png
@@ -437,7 +437,7 @@ def show_landmarks_batch(sample_batched):
437
437
#
438
438
# 여기서'ants', 'bees'는 class labels입니다.
439
439
# 비슷하게, ``RandomHorizontalFlip`` , ``Scale`` 과 같이 ``PIL.Image`` 에서 작동하는
440
- # 일반적인 전이(transforms)도 사용가능합니다 . 이와 같이 데이터로더(dataloader)를 사용할 수 있습니다: ::
440
+ # 일반적인 전이(transforms)도 사용 가능합니다 . 이와 같이 데이터로더(dataloader)를 사용할 수 있습니다: ::
441
441
#
442
442
# import torch
443
443
# from torchvision import transforms, datasets
@@ -456,4 +456,4 @@ def show_landmarks_batch(sample_batched):
456
456
# num_workers=4)
457
457
#
458
458
# training code에 대한 예시를 알고 싶다면,
459
- # :doc:`transfer_learning_tutorial` 문서를 참고해주세요
459
+ # :doc:`transfer_learning_tutorial` 문서를 참고해 주세요.
0 commit comments