我正在进行有关udemy的在线课程,并且一切正常,但是当我尝试初始化第一个隐藏层时,出现了以下错误
TypeError: __init__() missing 1 required positional argument: 'units'.
然后我在spyder上执行了ctrl + I并更改了output_dim和init参数,但我不知道该用..代替其他内容。
import keras
from keras.models import Sequential
from keras.layers import Dense
#initializing the ANN
classifier = Sequential()
#adding the input layer and the first hidden layer
classifier.add(Dense(units =6, kernel_initializer = 'uniform' , activation = 'relu', input_dim =11 ))
#adding the second layer
classifier.add(Dense(Output_dim = 6 , kernel_initializer = 'uniform' , activation = 'relu'))
应该正常工作,没有错误
答案 0 :(得分:0)
在Dense
层中,单位数等于输出维数。但是,参数Output_dim
不存在。因此,将Dense(Output_dim=6, ...)
替换为Dense(units=6, ...)
(甚至只是Dense(6, ...)
)。
答案 1 :(得分:0)
在密集文档的新文档中,output_dim被替换为单位,input_dim被替换为input_shape。但是,在input_shape参数中,您必须指定一个元组。
例如:
添加输入层和第一个隐藏层
{
"type":"record",
"namespace":"test",
"name":"record1",
"fields":[
{
"name": "orbject1",
"type":{
"type": "array",
"items":{
"type":"record", "name":"record2", "fields": [
{"name": "name1",
"type":{
"type": "array",
"items":{
"type":"record", "name":"record3", "fields": [
{"type": {
"type":"record", "name":"record4", "fields": [
{"name":"name2", "type":"long"}
]
},
"name":"name4"
},
{"type": "test.record4", "name":"name5" }
]
}
}
}
]
}
}
}
]
}
添加第二层
classifier.add(Dense(units=6, activation = 'relu', kernel_initializer = 'uniform', input_shape = (11, )))
答案 2 :(得分:0)
classifier.add(Dense(units=6, activation='relu', kernel_initializer='uniform', input_dim = 11))
classifier.add(Dense(units = 6, kernel_initializer = 'uniform', activation = 'relu'))