2017-09-10 7 views
0

지금까지 keras + tf에 MLP, RNN 및 CNN을 썼습니다.하지만 이제는 Pytorch가 깊은 학습 커뮤니티에서 인기를 얻고 있으며이 프레임 워크를 배우기 시작했습니다. 나는 단순한 모델을 매우 빠르게 만들 수있는 케라 (keras) 순차 모델의 가장 큰 팬이다. 나는 또한 pytorch이 기능을 가지고 있지만 코드 방법을 몰라 보았다. 나는이 방법을 시도했다.Pytorch 순차 모델을 작성하는 방법은 무엇입니까?

import torch 
import torch.nn as nn 

net = nn.Sequential() 
net.add(nn.Linear(3, 4)) 
net.add(nn.Sigmoid()) 
net.add(nn.Linear(4, 1)) 
net.add(nn.Sigmoid()) 
net.float() 

print(net) 

그러나이 오류를 제공하고있다.

AttributeError: 'Sequential' object has no attribute 'add'

또한 가능한 경우 pytorch sequenctial 모델의 RNN 및 CNN 모델에 대한 간단한 예제를 제공 할 수 있습니다.

답변

3

Sequential에는 현재이 기능을 추가하는 데 대해 debate이 있지만 add 메서드가 없습니다.

documentationnn.Sequential에서 볼 수 있듯이 레이어는 인수의 시퀀스로 분리되거나 OrderedDict으로 분리됩니다. 당신이 층의 많은 모델이있는 경우

먼저 목록을 만든 다음과 같이 위치 인수로 목록을 확장합니다 * 연산자를 사용할 수 있습니다

layers = [] 
layers.append(nn.Linear(3, 4)) 
layers.append(nn.Sigmoid()) 
layers.append(nn.Linear(4, 1)) 
layers.append(nn.Sigmoid()) 

net = nn.Sequential(*layers) 

이 비슷한 발생합니다 코드의 구조를 직접 추가 할 수 있습니다.