2017-09-10 4 views
0

Bisher habe ich mein MLP, RNN und CNN in keras + tf geschrieben, aber jetzt gewinnt pytorch an Beliebtheit in Deep Learning Communities und so habe ich auch begonnen, dieses Framework zu lernen. Ich bin ein großer Fan von sequentiellen Keras-Modellen, die es uns erlauben, einfache Modelle sehr schnell zu machen. Ich habe auch gesehen, dass Pytorch diese Funktionalität hat, aber nicht weiß, wie man eine programmiert. Ich versuchte soWie schreibe ich ein Pytorch sequenzielles Modell?

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) 

aber es gibt diesen Fehler.

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

Auch wenn möglich, können Sie ein einfachen Beispiele für RNN und CNN-Modelle in pytorch sequenctial Modell.

Antwort

3

Sequential hat im Moment keine add Methode, obwohl es einige debate über das Hinzufügen dieser Funktionalität gibt.

Wie Sie in der documentationnn.Sequential lesen können, übernimmt als Argument die Schichten als Argumentfolge oder eine OrderedDict.

Wenn Sie ein Modell mit vielen Schichten haben, können Sie eine Liste zuerst erstellen und verwenden Sie dann den * Bediener die Liste in Positionsargumente zu erweitern, wie folgt aus:

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) 

Diese in ähnlicher führen Struktur Ihres Codes, wie direkt hinzufügen.

Verwandte Themen