代码之家  ›  专栏  ›  技术社区  ›  kiriloff

张力流梯度凸轮-型号.fit()-值错误:形状(None,1)和(None,2)不兼容

  •  0
  • kiriloff  · 技术社区  · 4 年前

    作为作业4,Coursera CV TF course的一部分,我的代码在 model.fit()

    model.compile(loss='categorical_crossentropy',metrics=
       ['accuracy'],optimizer=tf.keras.optimizers.RMSprop(lr=0.001))
    # shuffle and create batches before training
    
    model.fit(train_batches,epochs=25)
    

    有错误:

    ValueError: Shapes (None, 1) and (None, 2) are incompatible
    

    有没有任何迹象表明问题可能来自哪里?我怀疑格式或类型不正确 train_batches :

    train_data = tfds.load('cats_vs_dogs', split='train[:80%]', as_supervised=True) 
    augmented_training_data = train_data.map(augmentimages)
    train_batches = augmented_training_data.batch(32)
    
    1 回复  |  直到 4 年前
        1
  •  1
  •   Timbus Calin    4 年前

    虽然我不熟悉体系结构的确切代码,但我怀疑是这一行:

    model.compile(loss='categorical_crossentropy',metrics=
       ['accuracy'],optimizer=tf.keras.optimizers.RMSprop(lr=0.001))
    

    您可能正在使用 categorical_crossentropy 而不是 binary_crossentropy 对于在输出端有一个神经元的二元分类,但这只是一个假设,考虑到我没有代码和体系结构可以查看;事实上,我99%认为问题出在那里。