Ich bin jetzt in der Lage zu erstellen und zu lehren, Single-Layer-RNN-s mit Chainer, aber ich laufe auf Fehler, wenn ich versuche, mein Netzwerk zu erweitern. Hier ist mein Code, ich aus dem 2. verborgenen Schicht Teil kommentiert, so sollte dies als eine einzelne Schicht netmultilayer RNN mit chainer (LSTM)
#Regression
class Regression(Chain):
def __init__(self, predictor):
super(Regression, self).__init__(predictor=predictor)
def __call__(self, x, t):
y = self.predictor(x)
loss = F.mean_squared_error(y, t)
report({'loss': loss}, self)
return loss
#return loss
#%%
#RNN
class RNN(Chain):
def __init__(self):
super(RNN, self).__init__(
lstm=L.LSTM(12, 50), #
# lstm2=L.LSTM(100, 100),
out=L.Linear(50, 1), #
)
def reset_state(self):
self.lstm.reset_state()
#self.lstm2.reset_state()
def __call__(self, x):
h = self.lstm(x)
# h2 = self.lstm(h)
y = self.out(h2)
return y
Fehler laufen: unindent keine äußeren Einzugsebene überein auf Zeile: h2 = self .lstm (h)
was macht mich falsch?