keras中model.compile参数汇总

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

你可能感兴趣的:(tensorflow)