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算法的训练和测试结果显示成功。