关于属性的Python错误

关于属性的Python错误,python,jupyter-notebook,Python,Jupyter Notebook,我最近编写了以下代码: class Neural_Network(object): def _init_(self): self.inputLayerSize = 2 self.outputLayerSize = 1 self.hiddenLayerSize = 2 # Weights self.W1 = np.random.randn(self.inputLayerSize,\ self.hid

我最近编写了以下代码:

class Neural_Network(object):
def _init_(self):
    self.inputLayerSize = 2
    self.outputLayerSize = 1
    self.hiddenLayerSize = 2

    # Weights
    self.W1 = np.random.randn(self.inputLayerSize,\
                             self.hiddenLayerSize)
    self.W2 = np.random.randn(self.hiddenLayerSize,\
                             self.outputLayerSize)

    def forward(self, X):

        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(self, z):
        return 1/(1+np.exp(-z))
现在,问题是当我做以下事情时:-

NN = Neural_Network()

我得到以下错误:-

AttributeError回溯(最近一次呼叫上次) 在() ---->1 yHat=NN.正向(X=0.9)

AttributeError:“神经网络”对象没有属性“前进”

我是Python新手,但对学习非常感兴趣。你能告诉我我在干什么吗

顺便说一下,我是在jupyter笔记本上做这件事的

最佳

两个问题:

  • 它是
    \uuu init\uuu
    (双下划线)而不是
    \uu init\uu
  • 您的
    forward
    sigmoid
    函数是在
    \uuuu init\uuuu
    方法中定义的,而不是在
    范围中定义的
  • 试试这个:

    class Neural_Network(object):
        def __init__(self):
            ...
    
        def forward(self, X):
            ...
    
        def sigmoid(self, z):
            ...
    
    两个问题:

  • 它是
    \uuu init\uuu
    (双下划线)而不是
    \uu init\uu
  • 您的
    forward
    sigmoid
    函数是在
    \uuuu init\uuuu
    方法中定义的,而不是在
    范围中定义的
  • 试试这个:

    class Neural_Network(object):
        def __init__(self):
            ...
    
        def forward(self, X):
            ...
    
        def sigmoid(self, z):
            ...
    

    我在编辑中修复了您的缩进-现在
    forward()
    在您的类定义的范围内,它可以工作了吗?哎呀,修复了again@PatrickArtner如果单击“X分钟前编辑”链接,您可以看到编辑已回滚到原始(不正确)缩进。让OP自己修正缩进,否则你就有使问题无效的风险。word,谢谢你的提示@PatrickArtnerI在我的编辑中修复了您的缩进-现在
    forward()
    在您的类定义的范围内,它可以工作了吗?噢,修复了again@PatrickArtner如果单击“X分钟前编辑”链接,您可以看到编辑已回滚到原始(不正确)缩进。让OP自己修正缩进,否则你就有使问题无效的风险。word,谢谢你的提示@PatrickArtnerAh这一块缩进原理要求在任何复制粘贴后仔细检查代码,以确保标签已正确复制。我希望“Guido”使用普通的括号而不是发明扁轮。啊,这种块缩进原理要求在任何复制粘贴后都要仔细检查代码,以确保标签被正确复制。我希望“Guido”使用普通的括号,而不是发明扁轮。