분류 전체보기

· 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
torch.nn.modules.linear class Linear(nn.Module): def __init__(self, in_features, out_features): super().__init__() self.W = Parameter(torch.ones(out_features, in_features)) self.b = Parameter(torch.ones(out_features)) def forward(self, x): output = torch.addmm(self.b, x, self.W.T) return output x = torch.Tensor([[1, 2], [3, 4]]) linear = Linear(2, 3) linear(x) ''' torch.Tensor([[4, 4, 4], [8, 8,..
· TIL
프레임워크와 라이브러리의 차이 프레임워크 프레임워크는 코드를 통한 애플리케이션의 전반적인 흐름과 구조를 관리한다. 사용자는 프레임워크가 제공하는 ‘훅’ 또는 ‘인터페이스’에 특정 로직을 구현하거나 인자를 전달함으로써 프레임워크와 상호작용한다. 이렇게하면 프레임워크가 제공하는 일종의 ‘규칙’ 과 ‘구조’ 내에서 코드를 작성하게 된다. ex) PyTorch에서는 ‘loss.backward’ 를 통해 gradient를 계산할 때, 프로그래머가 일일히 미분식을 작성하지 않고, 프레임워크가 제어권을 가진 상태에서 gradient를 계산해준다. 라이브러리 라이브러리는 특정 기능을 수행하는 함수나 메서드의 모음이다. 사용자는 이러한 라이브러리를 직접 호출하여 필요한 기능을 구현한다. 라이브러리는 사용자가 코드를 통한..
scone
'분류 전체보기' 카테고리의 글 목록 (16 Page)