在python中实例化一个类,在变量名中实例化错误点

时间:2016-06-15 20:50:29

标签: python oop

我正在关注创建神经网络的youtube教程。我在尝试实例化我的课程以检查一切是否正常时遇到了这个错误

  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 个答案:

答案 0 :(得分:2)

这一行

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

缺少一个紧密的括号。试试这个:

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

通常情况下,否则无法解释"语法错误"消息是上一行行中的错误的结果。

答案 1 :(得分:1)

你忘记了')'在这一行的最后:

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