关于属性的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”使用普通的括号,而不是发明扁轮。