본문 바로가기

Error3

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.
Loss가 [nan]일 경우 요즘 많이 겪는 문제가 nan loss이다. 커스텀 레이어와 loss를 쓰다 보니 미처 파악하지 못한 예외가 생긴다. 그래서 nan loss이 발생했을 때 원인을 찾고 해결하는 방법에 대해 짧게 적어보려고 한다. 원인이 되는 연산 찾기 먼저 torch.autograd 함수 중에 NaN loss가 발생했을 경우 원인을 찾아주는 함수가 있다. autograd.set_detect_anomaly(True) 학습 코드에 위 코드를 추가해주고 실험을 하면, NaN loss가 발생하는 즉시 실행이 멈추고 NaN을 유발한 라인을 출력해준다. 주로 division by zero나 매우 작은 값에 대한 log 연산이 NaN loss를 유발한다. NaN은 loss 연산 뿐만 아니라 forward 연산, backward 연산.. 2023. 8. 26.