더북(TheBook)

clip()은 입력 값이 주어진 범위를 벗어날 때 입력 값을 특정 범위로 제한시키기 위해 사용합니다. 즉, image.clip(0, 1)image 데이터를 0과 1 사이의 값으로 제한하겠다는 의미입니다. 다음 예시를 통해 사용 방법을 익혀 보세요.

> import numpy as np
> exam = np.array([-1.8, -1.2, -0.7, 0.0, 0.8, 1.4, 1.9])
> print(exam)
> print(np.clip(exam, -0.5, 0.5))
[-1.8 -1.2 -0.7 0.    0.8 1.4 1.9]
[-0.5 -0.5 -0.5 0.    0.5 0.5 0.5]

이제 테스트 데이터셋을 이용하여 실제로도 개와 고양이를 잘 분류하는지 살펴보겠습니다.

코드 5-29 개와 고양이 예측 결과 출력

classes = {0:'cat', 1:'dog'} ------ 개와 고양이 두 개에 대한 레이블

dataiter = iter(test_loader) ------ 테스트 데이터셋을 가져옵니다.
images, labels = dataiter.next() ------ 테스트 데이터셋에서 이미지와 레이블을 분리하여 가져옵니다.
output = model(images)
_, preds = torch.max(output, 1)

fig = plt.figure(figsize=(25,4))
for idx in np.arange(20):
    ax = fig.add_subplot(2, 10, idx+1, xticks=[], yticks=[]) ------ ①
    plt.imshow(im_convert(images[idx])) ------ 이미지 출력을 위해 코드 5-28에서 정의한 im_convert 함수를 적용
    a.set_title(classes[labels[i].item()])
ax.set_title("{}({})".format(str(classes[preds[idx].item()]), str(classes[labels[idx].
             item()])), color=("green" if preds[idx]==labels[idx] else "red")) ------ ②
plt.show()
plt.subplots_adjust(bottom=0.2, top=0.6, hspace=0) ------ ③
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.