본문 바로가기
Error

TypeError: unsupported format string passed to numpy.ndarray.__format__

by holy_jjjae 2023. 9. 9.

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. 소수점 이하 자릿수 조절하기

import numpy as np

arr = np.array([1.23456, 2.34567, 3.45678])

# 소수점 이하 2자리까지 포맷
formatted_str = "{:.2f}".format(arr)
print(formatted_str)

 

3. 과학적 표기법 사용

import numpy as np

arr = np.array([1000, 10000, 100000])

# 과학적 표기법으로 포맷
formatted_str = "{:.2e}".format(arr)
print(formatted_str)

 

4. 문자열로 포맷하기

import numpy as np

arr = np.array(["apple", "banana", "cherry"])

# 문자열 형식으로 포맷
formatted_str = "{}".format(arr)
print(formatted_str)

 

실제로 나는 다음과 같은 코드를 이용하여 loss를 출력할 수 있었다.

print(f'loss: {loss} \t')

'Error' 카테고리의 다른 글

matplotlib 한글 깨지는 문제 해결  (1) 2023.09.07
Loss가 [nan]일 경우  (1) 2023.08.26