Keras model.fit() – 使用的训练算法是什么?

我使用Keras和Theano来创建一个多层感知器(MLP),用于训练和预测时间序列。无论我的网络结构和深度如何,我都无法找到(通过查阅Keras文档、StackOverflow、网络搜索等)Keras的model.fit()函数使用的是哪种训练算法(如反向传播等)。

在之前使用Theano(不使用Keras)时,我可以自己定义参数调整的方式,如下所示:

self.train_step = theano.function(inputs=[u_in, t_in, lrate], outputs=[cost, y],                                      on_unused_input='warn',                                      updates=[(p, p - lrate * g) for p, g in zip(self.parameters, self.gradients)],                                      allow_input_downcast=True)

找不到任何相关信息让我感到有些不安,担心自己错过了某些关键点,这可能是个非常愚蠢的问题。

能有人帮我解答吗?非常感谢!


回答:

请看这个例子 这里

...model = Sequential()model.add(Conv2D(32, kernel_size=(3, 3),                 activation='relu',                 input_shape=input_shape))model.add(Conv2D(64, (3, 3), activation='relu'))model.add(MaxPooling2D(pool_size=(2, 2)))model.add(Dropout(0.25))model.add(Flatten())model.add(Dense(128, activation='relu'))model.add(Dropout(0.5))model.add(Dense(num_classes, activation='softmax'))model.compile(loss=keras.losses.categorical_crossentropy,              optimizer=keras.optimizers.Adadelta(),              metrics=['accuracy'])model.fit(x_train, y_train,          batch_size=batch_size,          epochs=epochs,          verbose=1,          validation_data=(x_test, y_test))score = model.evaluate(x_test, y_test, verbose=0)...

model.fit 并不使用算法来预测结果,而是使用你描述的模型。优化算法则在model.compile中指定

例如:

model.compile(loss=keras.losses.categorical_crossentropy,          optimizer=**keras.optimizers.Adadelta()**,          metrics=['accuracy'])

你可以在这里了解更多关于可用的优化器: https://keras.io/optimizers/

Related Posts

Keras Dense层输入未被展平

这是我的测试代码: from keras import…

无法将分类变量输入随机森林

我有10个分类变量和3个数值变量。我在分割后直接将它们…

如何在Keras中对每个输出应用Sigmoid函数?

这是我代码的一部分。 model = Sequenti…

如何选择类概率的最佳阈值?

我的神经网络输出是一个用于多标签分类的预测类概率表: …

在Keras中使用深度学习得到不同的结果

我按照一个教程使用Keras中的深度神经网络进行文本分…

‘MatMul’操作的输入’b’类型为float32,与参数’a’的类型float64不匹配

我写了一个简单的TensorFlow代码,但不断遇到T…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注