2016-06-15 9 views
-1

私は、ニューラルネットワークを作成するためのYouTubeチュートリアルに従っています。私はすべてが働いていたことを確認するために私のクラスをインスタンス化しようとしたときに、このエラーに出くわした私のコードはここにあるPythonでクラスをインスタンス化し、変数名でエラーポイントを

File "neuralnet.py", line 24 
    n = Neural_Network(X) 
^
    SyntaxError: invalid syntax 

class Neural_Network(object): 

    def __init__(self): 
     self.inputLayerSize = 2 
     self.outputLayerSize = 1 
     self.hiddenLayerSize = 3 
     self.W1 = np.random.randn(self.inputLayerSize, \ 
            self.hiddenLayerSize) 
     self.W2 = np.random.randn(self.hiddenLayerSize, \ 
            self.outputLayerSize) 

    def forward(self, X): 
     # Propogation 
     self.z2 = np.dot(X, self.W1) 
     self.a2 = self.sigmoid(self.z2) 
     self.z3 = np.dot(self.a2, self.W2) 
     yHat = self.sigmoid(self.z3) 
     return yHat 

    def sigmoid(z): 
     return 1/(1+np.exp(-z) 

    n = Neural_Network() 
    yHat = NN.forward(X) 
    print(yHat) 

それはおそらく私が欠けている何か。私はXをnのインスタンス化に渡そうとしましたが、それはまだ動作しませんでした。私はPython 2.Xを使用しています。この行の末尾に

答えて

2

このライン

return 1/(1+np.exp(-z) 

閉じ括弧が欠落しています。これを試してみてください:

return 1/(1+np.exp(-z)) 

しばしば、そうでない場合は説明のつかない「構文エラー」メッセージが以前ライン(複数可)のエラーの結果です。

+0

完璧、私の問題を解決していただきありがとうございます! – chrishorton

1

あなたが忘れてしまった ')' を:

def sigmoid(z): 
    return 1/(1+np.exp(-z) 
関連する問題