我可以在 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 的广告数量是不是有上限?
PyTorch:是不是有类似于 Keras 的 fit() 的明确训练循环?
使用 gcc (resp. MinGW) 编译器的 C 中函数的参数数量是不是有上限?