torch tensor 출력 갯수 늘리기 torch.set_printoptions
torch의 tensor를 사용하다보면 종종 출력이 대부분 ...으로 생략되어 내부의 값 확인이 어려운 경우가 있다.
이럴때는 torch.set_printoptions()함수를 사용하면 된다.
torch.set_printoptions(threshold=1000, edgeitems=10, linewidth=150)
1. threshold은 default값은 1000이다. 이 값을 늘리면 텐서에 표시해야 할 값들이 threshold개수보다 많아질 경우에만 ... 형태의 생략을 표시하도록 한다. 10000정도를 줘버리면 아마 모든 텐서가 표시될 공산이 크다. 그러나 모든 텐서가 또 전부 표현되면 생략된것만 못한수준의 가독성 떨어지는 텐서가 될 가능성도 높으니 알아서 경험적으로 조절해서 사용하면 된다.
2. edgeitems는 앞뒤로 몇개의 item까지 표현할지를 결정한다. default값은 3이다. 역시 10정도를 주면 앞뒤로 10개까지 표현이 되어 조금 더 확인할 수 있어져 텐서의미 파악에 큰 도움이 된다.
3. 위 두가지 옵션을 설정하면 표현해야하는 텐서의 아이템들이 늘기때문에 당연히 출력도 길어지게된다. 그런데 기본 tensor의 표현은 또 linewidth라는 옵션이 default 80으로 짧게 설정되어 있어서 다음과 같이 가독성이 떨어지게 출력될 가능성이 높다.
이런경우 linewidth라는 옵션을 80보다 크게 줘서 내 텐서의 한줄을 모두 한줄에 표현할 수 있도록 해주면 훨씬 보기 편해진다.