2017-09-18 2 views
0

며칠 전 tensorflow를 사용했습니다. 고정 가중치로 전환 레이어를 작성하는 것은 간단합니다. 체중 커널을 conv2d()으로 전달하십시오. VGG19과 같은 미리 훈련 된 모델을로드하는 것이 편리합니다. 그러나 나는 이 명시 적 커널이 아니라 커널 크기를 받아들이 기 때문에 pytorch를 사용하여 그렇게 작동하지 않는다는 것을 발견했습니다. 그래서 우리는 VGG19에있는 가중치를 conv2d()과 같은 메서드에 전달하여 재사용 할 수있는 가능성이 있는지 궁금합니다. 모든 답변을 주시면 감사하겠습니다.Pytorch 부하 모델

답변

1

2 가지 질문이 있음을 알 수 있습니다. pyTorch에서 VGG와 같은 사전 훈련 된 모델을 사용하는 방법과 nn.conv2d()와 같은 특정 계층에 대한 가중치를 설정하는 방법.

미리 짜인 Vgg 모델을 만들려면 아래 코드를 사용할 수 있습니다.

from torchvision import models  
model_vgg = models.vgg16(pretrained=True) 
for param in model_vgg.parameters(): 
    param.requires_grad = False 

PyTorch에서는 네트워크와 관련된 모든 가중치를 반환하는 매개 변수() 함수를 포함하는 신경 네트워크 서브 클래 싱 nn.Module를 구현합니다.

특정 레이어의 가중치 설정.

decoder = nn.Linear(10, 100) 
decoder.weight = #Do anything which is valid. 

내 코드 here을 확인하면 숙련 된 모델 사용 방법에 대해 자세히 알 수 있습니다.

+0

정말 고마워요 !! –

+0

도움이된다면 대답으로 선택할 수 있습니다. –