전체 글 57

Pytorch 모델 저장하기 & 불러오기

모델을 저장하고 불러올 때는 3가지의 핵심 함수가 있습니다. 1. torch.save() : 직렬화된 객체를 디스크에 저장합니다. 이 함수는 Python 의 pickle을 사용하여 직렬화하고 객체를 저장합니다. 2. torch.load() : 객체 파일을 역직렬화하여 메모리에 올립니다. 이 함수는 데이터를 장치에 불러올 때도 사용합니다. 3. torch.nn.Module.load_state_dict : 역직렬화된 state_dict를 사용하여 모델의 매개변수를 불러옵니다. state_dict 이름에서도 알 수 있듯이 해당 모델의 state(상태)를 dict(딕셔너리) 형태로 가지고 있는 객체입니다. 만약 예를 든다면 다음과 같이 나올 수 있습니다. Model's state_dict: conv1.weigh..

PYTHON - pickle 기본 사용법

텍스트 상태의 데이터가 아닌 파이썬 객체 자체를 파일로 저장하는 것 기존의 raw file을 파싱하여 매번 필요한 부분만을 빼내서 사용하는 것이 반복되면 효율적이지 못한 작업이 될 수 있습니다.그래서 미리 필요한 부분을 특정 자료구조로 저장해 놓을 수 있습니다.그런데 객체 자체를 파일에 쓸 수 없기 때문에pickle 모듈을 이용해 객체 자체를 바이너리로 저장하는 것 입니다. import pickle my_list = ['a','b','c'] # write binary open("data.pickle","wb") as fw: pickle.dump(my_list, fw) # read binary open("data.pickle","rb") as fr: data = pickle.load(fr) print(da..

PYTHON/ETC 2022.08.05

Gradient Descent / Stochastic Gradient Descent 개념적 비교

* 각각의 개념들에 대해선 다른 게시글에서 확인바랍니다 * * 이 게시글은 두 알고리즘을 비교하기 위해 만들어졌습니다 * Gradient Descent (GD) : 경사 하강법 - 1차 근삿값 발견용 최적화 알고리즘 - 기본 개념은 함수의 기울기(approximate gradient)를 구하고 경사의 반대 방향으로 계속 이동시켜 극값에 이를 때까지 반복시키는 것. Stochastic Gradient Descent (SGD) : 확률적 경사 하강법 - 학습 데이터셋에서 무작위로 한 개의 샘플 데이터 셋을 추출하고, 그 샘플에 대해서만 기울기를 계산하는 것이 특징. mini-Batch Gradient Descent (mini-BGD) : 미니 배치 경사 하강법 여기서 mini-BGD가 나오는 이유는 너무 자..