Traceback (most recent call last):
File "D:\pycharmProject\NeurIPS2023-One-Fits-All\Long-term_Forecasting\main.py", line 237, in
file.write("iters: {0},mse_mean = {:.4f}, mse_std = {:.4f}\n".format(ii,np.mean(mses), np.std(mses)))
ValueError: cannot switch from manual field specification to automatic field numbering
这个错误是由于在字符串格式化中混合了手动字段规范和自动字段编号引起的。在Python的字符串格式化中,你可以使用手动字段规范(例如 {0}、{1})或自动字段编号({})来指定变量的插值位置,但不能混合使用它们。
在你的代码中,你正在混合使用手动字段规范和自动字段编号,这会导致错误。要解决这个问题,你可以选择一种方式来格式化的字符串。如果打算使用自动字段编号,你可以将字符串格式改为以下方式:
file.write("iters: {}, mse_mean = {:.4f}, mse_std = {:.4f}\n".format(ii, np.mean(mses), np.std(mses)))
在这种情况下,大括号 {} 会自动按顺序填充相应的变量。如果你想使用手动字段规范,可以像你一开始的代码一样继续使用手动字段规范,但确保不要混合使用它们。