input_dim,output_dim在更新的keras中不起作用

时间:2019-09-12 20:38:01

标签: machine-learning keras

我正在进行有关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'))

应该正常工作,没有错误

3 个答案:

答案 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)

添加第一个ANN层(输入层和隐藏层)

classifier.add(Dense(units=6, activation='relu', kernel_initializer='uniform', input_dim = 11))

添加第二个隐藏层

classifier.add(Dense(units = 6, kernel_initializer = 'uniform', activation = 'relu'))