model.compile(loss= , optimizer= ,metrics= )
1.loss=
"="等于号后面可以加上函数,也可以使用函数代号,两种方式都可以,注意,如果是自定义的损失函数,需要特殊处理才能使用代号,否则只能使用具体函数名称。
另外传入具体函数名称时候不用给函数传入具体参数,也不写括号,如下示例即可。
例如:
1)具体到函数
from keras import losses
model.compile(loss=losses.mean_squared_error, optimizer='sgd')
2)写函数代号
model.compile(loss='mean_squared_error', optimizer='sgd')
可用函数:
mean_squared_error
mean_absolute_error
mean_absolute_percentage_error
mean_squared_logarithmic_error
squared_hinge
hinge
categorical_hinge
logcosh
2.optimizer=
和loss参数类似,你也有两种方式来传入数据
1)实例化一个优化器
from keras import optimizers
model = Sequential()
model.add(Dense(64, kernel_initializer='uniform', input_shape=(10,)))
model.add(Activation('softmax'))
sgd = optimizers.SGD(lr=0.01, decay=1e-6, momentum=0.9, nesterov=True)
model.compile(loss='mean_squared_error', optimizer=sgd)
2)使用优化器代号
model.compile(loss='mean_squared_error', optimizer='sgd')
可用函数列表:
SGD
RMSprop
Adagrad
Adadelta
Adam
Adamax
Nadam
3.metrics=
同样一般也有两种输入方式
1)具体到函数
from keras import metrics
model.compile(loss='mean_squared_error',
optimizer='sgd',
metrics=[metrics.mae, metrics.categorical_accuracy])
2)写代号
model.compile(loss='mean_squared_error',
optimizer='sgd',
metrics=['mae', 'acc'])
可用函数列表:
binary_accuracy
categorical_accuracy
sparse_categorical_accuracy
top_k_categorical_accuracy
sparse_top_k_categorical_accuracy