我可以在 keras 中训练的课程数量是不是有上限?

Posted

技术标签:

【中文标题】我可以在 keras 中训练的课程数量是不是有上限?【英文标题】:Is there a maximum number of classes I can train in keras?我可以在 keras 中训练的课程数量是否有上限? 【发布时间】:2019-09-02 22:18:51 【问题描述】:

嘿,我用 keras 训练了一个神经网络。我有 14 个类别。一切正常,没有错误。但是当我查看结果时,我发现最后 3 个训练类别是完全错误的。 没有测试对象连接到这 3 个类别。

我已经更改了输入的顺序,但模型没有学习到最后 3 个类别。

我还在最后一层使用了 2 个不同的激活函数(sigmoid 和 softmax) 还有 2 个不同的优化器(adam 和 sgd)

是否有最大类别数?

这是我的代码:

model = keras.models.Sequential()


model = Sequential()
model.add(Dense(units=50, input_dim = trainingsdaten.shape[1], 
                kernel_initializer='glorot_uniform', 
                bias_initializer='zeros',
                activation='tanh'))

model.add(Dense(units=50, input_dim = 50, 
                kernel_initializer='glorot_uniform', 
                bias_initializer='zeros',
                activation='tanh'))

model.add(Dense(output_dim = kategorien_train_one_hot.shape[1], input_dim=56, 
                kernel_initializer='glorot_uniform', 
                bias_initializer='zeros',
                activation='sigmoid'))

sgd_optimizer = keras.optimizers.SGD(lr=lr, decay = decay, momentum = momentum)

model.compile(optimizer = 'adam', 
              loss = 'categorical_crossentropy',
              metrics= ['accuracy'])

history = model.fit(trainingsdaten, kategorien_train_one_hot,
                    batch_size = batch_size, epochs=epochs,
                    verbose = verbose,
                    validation_split = validation_split)

【问题讨论】:

你能提供你的训练数据的统计分析吗?你每班有多少样本?一般来说,类没有限制(例如ImageNet数据集就有1000多个类别),类的顺序无关紧要。 另外,您不必为每一层提供输入和输出形状。它们是由前一个推断出来的。 【参考方案1】:

也许有一个小错误,您的第三个Dense 层有一个input_dim = 56,但您的第二个Dense 层有50 个节点。

【讨论】:

以上是关于我可以在 keras 中训练的课程数量是不是有上限?的主要内容,如果未能解决你的问题,请参考以下文章

我们可以查询 Admob Flutter 的广告数量是不是有上限?

如何在 Keras 模型中训练和验证样本较小时测量过拟合

PyTorch:是不是有类似于 Keras 的 fit() 的明确训练循环?

使用 gcc (resp. MinGW) 编译器的 C 中函数的参数数量是不是有上限?

数据增强期间的 Keras CONV 训练似乎显示了错误的批量大小和训练示例数量

如何在Keras训练LSTM的初始状态?