300x250
다양한 상황에서 사소하지만 유용한 함수들을 필요할 때마다 찾아 보기 번거로워 이 포스팅에 정리해보려 한다.
하나씩 찾을 때마다 내용을 늘릴 예정이다.
목차
PyTorch에 있는 유용한 함수
Numpy의 array, PyTorch의 tensor 생략 없이 전체 출력하기
import sys
# numpy
import numpy as np
np.set_printoptions(threshold=sys.maxsize)
# pytorch
import torch
torch.set_printoptions(threshold=sys.maxsize)
.py, .ipynb tip
보통 깃허브의 딥러닝 코드는 py파일로 올라와있다.
하지만 분석을 하거나, 새로운 모델을 개발할 때는 개인적으로는 jupyter lab에서 변수를 출력해가며 개발하는 것이 훨씬 편해서 두 방법 사이를 오가며 코딩할 때의 팁을 정리해본다.
Jupyter lab에서 argparse 사용
py파일로 정리된 딥러닝 코드를 실행할 때에는 terminal에서 변수를 받아 실행한다. 이떄 활용하는 것이 argparse인데, jupyter lab에서 argparse를 그대로 활용하기 위해서는 아주 간단한 수정 하나만 해주면 된다.
우선 argparse 모듈을 사용하기 위해서는 다음과 같이 import해준다.
import argparse
먼저 py파일에서는 다음과 같이 argument들을 정의해준다.
# argparse in .py
parser = argparse.ArgumentParser()
parser.add_argument('--argname1', type=..., default=... help=...)
parser.add_argument('--argname2', type=..., default=... help=...)
parser.add_argument('--argname3', type=..., default=... help=...)
parser.add_argument('--argname4', type=..., default=... help=...)
parser.add_argument('--argname5', type=..., default=... help=...)
parser.add_argument('--argname6', type=..., default=... help=...)
...
parser.add_argument('--argname11', type=..., default=... help=...)
parser.add_argument('--argname12', type=..., default=... help=...)
args = parser.parse_args()
단순히 parse_args()에 'args=[]'라는 인자만 추가해주면 된다.
# argparser in jupyter lab(notebook)
parser = argparse.ArgumentParser()
parser.add_argument('--argname1', type=..., default=... help=...)
parser.add_argument('--argname2', type=..., default=... help=...)
parser.add_argument('--argname3', type=..., default=... help=...)
parser.add_argument('--argname4', type=..., default=... help=...)
parser.add_argument('--argname5', type=..., default=... help=...)
parser.add_argument('--argname6', type=..., default=... help=...)
...
parser.add_argument('--argname11', type=..., default=... help=...)
parser.add_argument('--argname12', type=..., default=... help=...)
args = parser.parse_args(args=[])
# in the next cell
args.argname1 = ...
args.argname2 = ...
args.argname3 = ...
args.argname4 = ...
args.argname5 = ...
args.argname6 = ...
...
args.argname11 = ...
args.argname12 = ...
Argument들을 입력해주기 위해서 .py에서는 터미널에서 입력해주지만, jupyter lab(notebook)에서는 다음 셀에서 필요한 argument를 직접 입력해주면 된다.
이를 통해 아래에서 args.argname으로 사용되는 다양한 변수를 하나하나 고칠 필요가 없어진다!
728x90
최근댓글