报错:TypeError: display_result() missing 2 required positional arguments: 'train_acc' and 'test_acc'

TypeError:调用函数,传参个数不匹配

试图只传一个参数给需要三个必须参数的函数,并条用它。这是不对的。
源代码出错位置:display_result(train_model())

分析原因:定义的函数:def display_result(train_loss,train_acc,test_acc):有三个必要参数。
作为参数的函数:
def train_model():
……
return train_loss,train_acc,test_acc # 返回训练的受损变化 准确率 和测试准确率 的变化
确实有三个返回值。但函数调用display_result(train_model()),实际等价于display_result(train_loss=train_model(),)而后面两个参数并没有接收到值。

解决方式:分成两句,显示调用train_model(),返回值依次传入下一个函数的各个参数。

train_loss,train_acc,test_acc = train_model()
display_result(train_loss,train_acc,test_acc)

或者修该函数接收参数方式。
结果
CNN算法的训练和测试结果显示成功。
报错:TypeError: display_result() missing 2 required positional arguments: 'train_acc' and 'test_acc'_第1张图片
报错:TypeError: display_result() missing 2 required positional arguments: 'train_acc' and 'test_acc'_第2张图片

你可能感兴趣的:(AI)