본문 바로가기

파이썬 명령어

[Python] numpy, torch 자리수 수정, Scientific Notation 표시


Float 자릿수를 조절하기 위해서는 set_printoptions(precision=n) 명령어를 사용하게 된다.

numpy   : numpy.set_printoptions(precision=2)로 소수점을 조절할 수 있다.

PyTorch  : torch.set_printoptions(precision=2)로 소수점을 조절할 수 있다.

 

import numpy as np
import torch

pi = 3.141592653589793238462643383279502884197169399375105820974944

PI = np.array([pi])
print("numpy 소수점 고정 전 : ", PI)
np.set_printoptions(precision=10)

print("numpy 소수점 고정 후 : ", PI)

PI = torch.tensor([pi])
print("torch 소수점 고정 전 : ", PI)
torch.set_printoptions(precision=10)
print("torch 소수점 고정 후 : ", PI)

 

numpy는 변수나 상수는 set_printoptions(precision=n)이 적용되지 않는다. 사용을 한다면 리스트로 변경을 해줘야 한다.

tensor는 모두 사용이 가능하다.

 


차후 정확한 값 파악을 위해 Scientific Notation(과학적 기수법)을 켜거나 꺼야 할 필요성이 있다.

Scientific Notation은 너무 크거나 너무 작은 숫자들을 십진법으로 편하게 작성하기 위해 표현하는 방법이다.

numpy   : numpy.set_printoptions(suppress=True)로 Scientific Notation 사용을 막을 수 있다.

PyTorch  : torch.set_printoptions(sci_mode=False)로 Scientific Notation 모드를 끌 수 있다.

 

import numpy as np
import torch

pi = 0.03141592e-3

PI = np.array([pi])
np.set_printoptions(suppress=True)
print("numpy suppress=True : ", PI)
np.set_printoptions(suppress=False)
print("numpy suppress=False : ", PI)

PI = torch.tensor([pi])
torch.set_printoptions(sci_mode=True)
print("torch sci_mode=True : ", PI)
torch.set_printoptions(sci_mode=False)
print("torch sci_mode=False : ", PI)

 

numpy와 Pytorch는 True, False가 반대 개념으로 사용된다. (유의하자!!!)