我正在用python编码,这条消息在我实时编码时出现:
Traceback (most recent call last)
<ipython-input-3-d56dec7d72db> in <module>()
8
9 # create instance of neural network
---> 10 n= neuralNetwork(input_nodes,hidden_nodes,output_nodes,learning_rate)
11
TypeError: init ()获取0个位置参数,但是给出了5个
它到底意味着什么,我能做些什么呢?
这是我的代码:
#neural network class definition
class neuralNetwork:
#initialise the neural network
def __init__():
pass
#train the neural network
def train():
pass
#query the neural network
def query():
pass
#initialise the neural network
def __init__(self,inputnodes, hiddennodes,outputnodes,learningrate):
# set number of nodes in each input, hidden, output layer
self.inodes= inputnodes
self.hnodes = hiddennodes
self.onodes = outputnodes
#learning rate
self.lr = learningrate
pass
# number of input, hidden and output nodes
input_nodes = 3
hidden_nodes = 3
output_nodes = 3
# learning rate is 0.3
learning_rate = 0.3
# create instance of neural network
n= neuralNetwork(input_nodes,hidden_nodes,output_nodes,learning_rate)
答案 0 :(得分:0)
__init__
课程中有2 neuralNetwork
个方法:
1 __init__
没有任何参数,1 __init__
有4个参数。
您是否尝试创建多个/重载的构造函数? 你不能像Python那样(不像Java或C ++那样)。
您获得的错误意味着__init__
没有使用任何参数,因此解释器不会指望任何参数,但您传递了4((input_nodes, hidden_nodes, output_nodes, learning_rate)
)然后+1 { {1}}。
根据您希望实例化类的方式,您必须删除不接受任何参数的类。
self
如果您想拥有多个构造函数,可以定义唯一的class neuralNetwork:
# REMOVE THIS EMPTY CONSTRUCTOR
# initialise the neural network
# def __init__():
# pass
# initialise the neural network
def __init__(self,inputnodes, hiddennodes,outputnodes,learningrate):
# initialization code
# ... rest of class ...
n = neuralNetwork(input_nodes, hidden_nodes, output_nodes, learning_rate)
:
__init__
或尝试其他帖子中已描述的其他方法: