路灯下的容嬷嬷
2021-04-11 17:39
采纳率: 100%
浏览 72

python构建神经网络训练模型的问题?

使用自己的数据集训练模型:区别不同说话人

数据是(25*7787)的矩阵,标签是(25*1),要区别出5个不同的说话人

以下是训练模型部分的代码:

#构建模型
network=models.Sequential()
#设置第一层神经元
network.add(layers.Dense(1024,activation='relu',input_shape=(7787,)))
#设置输出层神经元,神经元个数为5,即将输入变量分成5类(5个说话人)
network.add(layers.Dense(5,activation='softmax'))

#optimizer优化器:基于训练数据和损失函数来更新网络的机制
#loss损失函数:网络如何衡量在训练数据上的性能
#metrics:在训练和测试过程中需要监控的指标

network.compile(optimizer='rmsprop',
                loss='categorical_crossentropy',
                metrics=['accuracy'])

#训练模型
network.fit(norm_x,names,epochs=2,batch_size=5)

但是运行之后会出现以下错误:

ValueError: Shapes (5, 1) and (5, 5) are incompatible

不知道是哪里出了问题,有哪位大佬可以解答一下吗

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • 已采纳

    input_shape=(7787,)这里是不是少了一个参数

    点赞 打赏 评论
  • 路灯下的容嬷嬷 2021-04-11 17:58

    改成:

    network.add(layers.Dense(1024,activation='relu',input_shape=(1,7787)))

    之后,还是有问题:

    ValueError: Shapes (5, 1) and (5, 5) are incompatible
    点赞 打赏 评论
  • 有问必答小助手 2021-04-12 10:29

    您好,我是有问必答小助手,你的问题已经有小伙伴为您解答了问题,您看下是否解决了您的问题,可以追评进行沟通哦~

    如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

    ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632

    点赞 打赏 评论

相关推荐 更多相似问题