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'
报错:TypeError: display_result() missing 2 required positional arguments: 'train_acc' and 'test_acc'

相关文章:

  • 2021-08-29
  • 2021-06-22
  • 2021-08-20
  • 2022-02-23
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-02-16
  • 2022-12-23
  • 2021-08-15
  • 2021-10-04
  • 2021-07-28
  • 2021-07-09
相关资源
相似解决方案