분류 전체보기 (430) 썸네일형 리스트형 PL8. Names, Bindings and Scopes dynamic binding : local variable이 runtime(execution)에 메모리와 binding되고 언제든 할당된 주소가 바뀔 수 있다. static binding : static variable이 load time(before runtime)에 binding되고 프로그램 실행 중에 할당 주소가 바뀌지 않는다. explicit declaration : int a 처럼 명시적으로 타입과 변수를 선언하는 것 implicit declaration : explicit declaration 없이 변수를 사용 dynamic type binding : my_list = [1,2,3], 명시적인 타입 선언 없이 컴파일러/인터프리터가 value를 보고 알아서 추론 stack-dynamic : 메모.. Multi gpu training, Hyper parameter Search, etc 1. Multi gpu training - Multi gpu training: - 모델의 sequence1은 gpu0에, sequence2는 gpu1에 분리해서 계산 하거나 (모델 나누기) - 데이터 절반은 gpu0에, 나머지 절반은 gpu1에 분리해서 계산 하고 결과를 평균내거나 (데이터 나누기) - DataParallel : 한명의 gpu가 나머지 gpu에게 데이터 분배, 취합 등의 역할을 수행 (다른 gpu보다 메모리 더 사용) - DistributedDataParallel : 이 방식으로 데이터를 나누고자 dataloader를 만들 때는 distributedSampler 정의, pin_memory=True등의 설정이 필요함. 예를들어 n개의 cpu가 n개의 gpu에게 각각 데이터를 주고 받고 한다.. Monitoring tools 1. Tensorboard from torch.utils.tensorboard import SummaryWriter import numpy as np writer = SummaryWriter(logs_base_dir) for n_iter in range(100): writer.add_scalar('Loss/train', np.random.random(), n_iter) writer.add_scalar('Loss/test', np.random.random(), n_iter) writer.add_scalar('Accuracy/train', np.random.random(), n_iter) writer.add_scalar('Accuracy/train', np.random.random(), n_iter) wri.. Model save, load & Transfer Learning 1. Save and load Model parameters for param_tensor in model.state_dict(): print(param_tensor, "\t", model.state_dict()[param_tensor].size()) torch.save(model.state_dict(), os.path.join(MODEL_PATH, "model.pt")) new_model = TheModelClass() new_model.load_state_dict(torch.load(os.path.join(MODEL_PATH, "model.pt")) - 모델의 parameter만 model.pt로 저장해두고 불러 올 수 있다. (모델 class는 가지고 있어야한다.) from torchsummary .. PyTorch Project 1. Project Template https://github.com/victoresque/pytorch-template GitHub - victoresque/pytorch-template: PyTorch deep learning projects made easy. PyTorch deep learning projects made easy. Contribute to victoresque/pytorch-template development by creating an account on GitHub. github.com pytorch-template/ │ ├── train.py - main script to start training ├── test.py - evaluation of trained model .. PyTorch Basics - pytorch의 핵심은 auto grad이다. 자동으로 미분을 해준다. w = torch.tensor(2.0, requires_grad=True) y = w**2 z = 10*y + 50 z.backward() print(w.grad) # dz/dw = 40 a = torch.tensor([2., 3.], requires_grad=True) b = torch.tensor([2., 3.], requires_grad=True) Q = 3*a**3 - b**2 external_gradient = torch.tensor([1,1]) Q.backward(gradient = external_gradient) # 변수가 a,b두개 이므로 external_gradient추가 print(a.grad) # [36, 8.. Boostcamp AI - week2 이번주는 pytorch framwork에 대해 학습했다. 인턴 기간 동안 몸으로 구르면서 터득했던 내용들이였다. 깔끔하게 한번 정리하는 기분으로 공부했다. 프로젝트 구조, pytorch, 공식문서를 읽는 습관, 라이브러리 사용 경험 등 인턴쉽을 통해 터득했던 내용이 많은 것 같다. boostcamp 강의를 들으면서 '네부캠 이후였다면 인턴쉽 동안 더 잘 할 수 있었을까?' 하는 생각이 종종 든다. 아무튼 참 좋은 강의와 과제, 사람들이다. 내가 몰랐던 많은 pytorch 기능들을 연습해보았다. 아주 신기하다. 강력한 도구들로 활용할 수 있을 것 같다. 시간이 지나서 이 도구들을 잊어버리지는 않을까 걱정이 든다. 키워드만 기록해두고 공식문서를 찾아갈 수 있도록 해야겠다. Master class 요즘은 Mi.. Maximum Likelihood Estimation 1. 모수의 추정, parameter estimation- 어떤 확률변수 X의 확률 분포를 추정하는 것이 통계적 모델링의 목표이다. - parametric(모수적) 방법론 : 먼저 x가 어떤 확률 분포를 따른다고 가정한 후, 그 분포를 결정하는 모수를 추정 - nonparametric(비모수적) 방법론 : 특정 확률 분포를 가정하지 않고 데이터에 따라 모델의 구조, 모수의 수가 바뀜- 어떤 확률변수x가 N(μ, σ2)인 정규분포를 따른다고 가정했을 때, 모수의 평균과 분산은 다음과 같이 inference할 수 있다.- 표본 평균의 평균 => 모수의 평균, 표본 분산의 평균 => 모수의 분산- 모집단에서 크기가 n인 표본을 200개 추출했다. 그럼 200개의 표본에 대해서 평균 200개가 나온다. 이 통계.. 이전 1 ··· 7 8 9 10 11 12 13 ··· 54 다음