首页 > 解决方案 > TensorBoard ValueError:预期的标量形状,锯齿形状:(1,)

问题描述

当我使用回调函数 TensorBoard 如下:

skip_training = False

tensorboad_cb = TensorBoard('logs')

def train_model(model, callbacks_list):
    '''
    Input: 
        Model and callback list,
    Return: 
        Model with best-checkpoint weights.
    '''
    ## TYPE YOUR CODE for task 10 here:
    #history = model.fit(X_tr, y_tr, batch_size=4096, epochs=20, verbose=1, validation_data=(X_va, y_va), callbacks=[callbacks_list])
    if not skip_training:
      history = model.fit(X_tr, y_tr, batch_size=4096, epochs=1, verbose=1, callbacks=[tensorboad_cb])
      model.save(checkpoint_name)
    else:
      model = load_model(checkpoint_name)
    return model

model = train_model(model, callbacks_list)

我收到此错误:

287/287 [==============================] - 180s 626ms/步 - 损失:0.1103 - f1_score:0.6010 - acc : 0.9565 ------------------------------------------------ --------------------------- ValueError Traceback (last recent call last) in () 17 return model 18 ---> 19 model = train_model (模型,callbacks_list)20 21 #history = model.fit(train_data,epochs=15,validation_data=valid_data,validation_steps=50,callbacks=[checkpoint_callback])

9 帧 /usr/local/lib/python3.7/dist-packages/tensorflow/python/ops/check_ops.py 在 assert_scalar(张量,名称,消息)2282 如果 context.executing_eagerly():2283 引发 ValueError('%sExpected标量形状,锯齿形状:%s。' -> 2284 %(消息或'',形状,))2285 否则:2286 raise ValueError('%s %s 的预期标量形状,锯齿形状:%s。'

ValueError:预期的标量形状,锯齿形状:(1,)。

标签: pythontensorflowtensorboard

解决方案


我在 tensorflow 2.6.2 上遇到了同样的问题,但在 tensorflow 2.4.1 上效果很好。

最后,我通过注释代码来修复它:

评论张量板代码


推荐阅读