torch.nn.Module 중간 layer 수정

Chanyong·2022년 9월 27일
0

나중에 읽을 것

목록 보기
1/3
  • timm, torch.hub 등의 model zoo에서 가져올때 모델의 일부 layer만 수정하고 싶다.
  • 직접 구현된 코드를 구할 수 없을 때 중간 layer를 수정하는 방법이다.
for name, child in model.named_children():
    if isinstance(child, nn.Conv2d):
        model._modules[name]=nn.Conv2d(3,3,3)
    elif isinstance(child, nn.Sequential):
        for sname, schild in child.named_children():
            if isinstance(schild, nn.Conv2d):
                print(name,sname)
                model._modules[name]._modules[sname]=nn.Conv2d(3,3,3)
profile
AI Accelerator 연구

0개의 댓글