본문 바로가기

분류 전체보기55

[PyTorch] torch.no_grad()와 model.eval()의 차이 PyTorch를 사용하면서 모델의 Evaluation을 진행할 때 Memory leak가 발생하면서 두 함수의 차이점을 분명히 해야한다는 점을 깨달았다. 따라서 본 피드에서는 두 함수의 차이에 대해 공부한 내용을 써내려가보도록 하겠다. model.eval() with torch.no_grad(): for batch in data_loader: ... 우리는 흔히 모델의 Evaluation 단계를 진행할 때 위와 같은 코드로 흔히 시작한다. 이제 두 함수의 차이점을 본격적으로 알아보자. with torch.no_grad() 이와 같이 torch.no_grad()를 with statement에 포함시키게 되면 Pytorch는 autograd engine을 꺼버린다. 이 말은 더 이상 자동으로 gradient.. 2023. 9. 18.
TypeError: unsupported format string passed to numpy.ndarray.__format__ loss 값을 출력하기 위해 format을 하다가 다음과 같은 에러를 만났다. TypeError: unsupported format string passed to numpy.ndarray.__format__" 에러는 주로 NumPy 배열을 지원하지 않는 형식 문자열로 포맷하려고 할 때 발생한다. NumPy 배열을 포맷할 때는 제공하는 형식 문자열이 배열의 요소의 데이터 유형과 호환되도록 해야한다. 다음과 같은 코드를 이용하여 해결할 수 있다. 1. 정수형 표현하기 import numpy as np arr = np.array([1, 2, 3]) # 정수 형식으로 포맷 formatted_str = "{}".format(arr) print(formatted_str) 2. 소수점 이하 자릿수 조절하기 impor.. 2023. 9. 9.
matplotlib 한글 깨지는 문제 해결 matplotlib는 대표적인 데이터 시각화를 위한 파이썬 라이브러리이다. 특히 Pandas나 NumPy 패키지를 자주 사용하시는 사람들은 아주 유용하게 사용할 수 있는 시각화 라이브러리다. 한국인이 matplotlib를 쓰다 보면 필연적으로 만나게 될 에러러를 정리해보겠다. matplotlib를 이용해서 플롯(plot)을 그릴 때, 제목, x라벨, y라벨 등에 영어가 아닌 한글을 사용하면, 한글이 제대로 표현되지 않고 깨진다. import matplotlib.pyplot as plt plt.scatter([0, 1, 2, 3, 4, 5], [0, 1, 2, 3, 4, 5]) plt.title('산점도') plt.xlabel('변수1') plt.ylabel('변수2') plt.grid(True) plt... 2023. 9. 7.