python - InvalidArgumentError Traceback(最近一次调用最后一次)在
问题描述
我收到以下错误,我相信这与我的自定义损失函数和批量大小有关。我不确定如何解决这个问题:
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 )
解决方案
错误是因为参数的顺序不正确。我收到此错误是因为作业的顺序不正确
box_confidence, box_xy, box_wh, box_class_probs = yolo_outputs
并且正确的订购是
box_xy, box_wh, box_class_probs, box_confidence = yolo_outputs
推荐阅读
- rust - 如何将额外的参数传递给 Rust 中的“Fn”参数?
- python - 我想使用“汽车”数组,汽车[:250,:200,:]转换为图像。汽车数组形状为(431、575、4)
- android - Android bundle compile 的 MinSdkVersion 错误消息(React Native with google-services.json)
- c# - 如何在 Unity 3D 中修复我的拾音系统?
- dns - 如何将 powerdns/pdns 4.1.14 升级到 4.5
- java - 无法验证连接 org.postgresql.jdbc.PgConnection
- github - 如何用vs代码界面查看github仓库代码?
- cookies - 在 set-cookie 响应标头中接收到非 httpOnly cookie,但 js 无法访问
- javascript - 如何在 JavaScript 的响应式菜单中为菜单的每个元素显示子菜单
- python - 搅拌机脚本 all_objects 不循环遍历所有对象