pytorch

· TIL
Hyperparameter Tuning 크게 3가지, model, data, Hyperparameter Tuning 모델 스스로 학습하지 않는 값에 대해 사람이 지정 learning rate, 모델의 크기, optimizer, etc.. cf) NAS, AutoML 하이퍼 파라메터에 의해 값이 크게 좌우 될 때도 있음 2015, 2016, 구글의 recipe 대로 안하면 성능이 떨어졌던 때 근래는 데이터가 너무 많기 때문에 일반 기업에서도 하기 어려운 감이 있음. 대회에서 마지막 0.01을 쥐어짜야 할 때, 도전해볼만 하다. 이미 어느정도 성능 나올 때! Distillation (디스틸레이션), 모델을 압축하거나 가볍게 만드는 기법 큰 모델(선생 모델)의 지식을 더 작고 간단한 모델(학생 모델)에 전달하..
· TIL
Hook register_foward_pre_hook hook(module, input) register_foward_hook hook(module, input, output) register_full_backward_pre_hook register_full_backward_hook hook(module, grad_input, grad_output) 모델 불러오기 model.save() 학습 결과 저장 아키텍쳐와 파라메터 저장 중간 과정 저장을 통해 최선의 결과 모델을 선택 외부 연구자와 공유하여 학습 재연성 향상 print("Model's state_dict:") # state_dict : 모델의 파라미터 표시 for param_tensor in model.state_dict(): print(param..
· TIL
Hook Hook 예시 def program_A(x): print('program A processing!') return x + 3 def program_B(x): print('program B processing!') return x - 3 class Package(object): """프로그램 A와 B를 묶어놓은 패키지 코드""" def __init__(self): self.programs = [program_A, program_B] # hooks self.pre_hooks = [] self.hooks = [] def __call__(self, x): for program in self.programs: # pre_hook : 프로그램 실행 전에 날리는 훅 if self.pre_hooks: for ..
· TIL
프레임워크와 라이브러리의 차이 프레임워크 프레임워크는 코드를 통한 애플리케이션의 전반적인 흐름과 구조를 관리한다. 사용자는 프레임워크가 제공하는 ‘훅’ 또는 ‘인터페이스’에 특정 로직을 구현하거나 인자를 전달함으로써 프레임워크와 상호작용한다. 이렇게하면 프레임워크가 제공하는 일종의 ‘규칙’ 과 ‘구조’ 내에서 코드를 작성하게 된다. ex) PyTorch에서는 ‘loss.backward’ 를 통해 gradient를 계산할 때, 프로그래머가 일일히 미분식을 작성하지 않고, 프레임워크가 제어권을 가진 상태에서 gradient를 계산해준다. 라이브러리 라이브러리는 특정 기능을 수행하는 함수나 메서드의 모음이다. 사용자는 이러한 라이브러리를 직접 호출하여 필요한 기능을 구현한다. 라이브러리는 사용자가 코드를 통한..
scone
'pytorch' 태그의 글 목록