【问题标题】:InvalidArgumentError Traceback (most recent call last) <ipython-input-115-cbd8dbea3c23> in <module>InvalidArgumentError Traceback(最近一次调用最后一次)<ipython-input-115-cbd8dbea3c23> in <module>
【发布时间】:2020-07-06 02:56:10
【问题描述】:

我收到以下错误,我认为这与我的自定义损失函数和批量大小有关。我不确定如何解决这个问题:

InvalidArgumentErrorncompatible shapes: [32,3] vs. [7541,3]
     [[node metrics_28/profit_loss_metric/mul (defined at /Users/neil/opt/anaconda3/lib/python3.7/site-packages/tensorflow_core/python/framework/ops.py:1751) ]] [Op:__inference_keras_scratch_graph_20611]

函数调用栈: keras_scratch_graph

    def profit_loss_metric(y_true,y_pred):
        odds = keras_train_odds_final
        eval = ((y_pred + y_true - 1) * (y_pred + y_true) / 2 * odds) - (K.abs(2*(y_pred)-(y_true))-1)*K.abs(2*(y_pred)-(y_true))/2
        eval = K.sum(eval)
        
        return eval
    
    def profit_loss_neil(y_true,y_pred):
        odds = keras_train_odds_final
        loss = ((y_pred + y_true - 1) * (y_pred + y_true) / 2 * odds * -1) + (K.abs(2*(y_pred)-(y_true))-1)*K.abs(2*(y_pred)-(y_true))/2
        loss = K.sum(loss)
        
        return loss
        
    n_cols = features_array.shape[1]
    
    model = Sequential()
    model.add(Dense(1000, activation='relu', input_shape=(n_cols,)))
    model.add(Dense(500, activation='relu', input_shape=(n_cols,)))
    model.add(Dense(3, activation='linear'))
    model.compile(optimizer='Nadam', loss = profit_loss_neil, metrics=[profit_loss_metric])    
    model.fit(features_array,winning_results_final, validation_split = 0.10, epochs=5, shuffle=True )    

【问题讨论】:

    标签: python neural-network relu


    【解决方案1】:

    错误是因为参数的顺序不正确。我收到此错误是因为作业的顺序不正确

    box_confidence, box_xy, box_wh, box_class_probs = yolo_outputs

    并且正确的排序是

    box_xy, box_wh, box_class_probs, box_confidence = yolo_outputs

    【讨论】:

      猜你喜欢
      • 2018-10-11
      • 2021-04-10
      • 2021-11-18
      • 2023-02-13
      • 2021-02-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多