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
    • 네이버 블러그 공유하기
    • 네이버 밴드에 공유하기
    • 페이스북 공유하기
    • 카카오스토리 공유하기