【问题标题】: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多个类别),类的顺序无关紧要。
  • 另外,您不必为每一层提供输入和输出形状。它们是由前一个推断出来的。

标签: python keras neural-network classification


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-12-20
    • 2016-09-16
    • 2018-07-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-22
    • 1970-01-01
    相关资源
    最近更新 更多