Notice
Recent Posts
Recent Comments
Link
관리 메뉴

뛰는 놈 위에 나는 공대생

[PyTorch] 개별 파라미터 learning rate 다르게 설정 및 learning rate 확인 본문

연구 Research/인공지능 Artificial Intelligent

[PyTorch] 개별 파라미터 learning rate 다르게 설정 및 learning rate 확인

보통의공대생 2023. 3. 5. 20:52

코드 안에 네트워크가 2개가 있고 이 2개의 네트워크를 각각 다른 learning rate로 학습하고 싶을 때 사용하는 코드다.

 

아래와 같이 개별로 learning rate를 설정하면 net2 안에 있는 파라미터는 0.001로 학습되고

net1 안에 있는 파라미터는 0.01로 학습된다.

    optimizer = optim.Adam([
        {'params': func.net1.parameters()},
        {'params': func.net2.parameters(), 'lr': 0.001}
    ], lr=0.01)
    optimizer.param_groups[0]['capturable'] = True
    
    print(optimizer.param_groups[0]['lr'])
    print(optimizer.param_groups[1]['lr'])

 

그리고 learning rate가 잘 설정되었는지 확인하기 위해 위와 같은 코드로 출력해볼 수 있다.

 

그 외에도 weight와 bias는 따로 학습하고 싶다면 이와 같이 설정할 수 있다.

 

optimizer = optim.Adam([
            {'params': net.layer.weight},
            {'params': net.layer.bias, 'lr': 0.01}
        ], lr=0.1, weight_decay=0.0001)

이 코드는 bias와 weight의 학습률을 따로 설정한 경우이다.

Comments