我在进行GRU练习时创建了一个函数,以学习更多关于Python和GRU的知识。我似乎遇到了一个名称错误的问题。
我已经查阅了许多关于在Python中定义项目的文章,但我认为我已经在后续的代码中清楚地定义了这些项目。
def workflow(EV_data, get_split, train_model, get_rmse,n_train = 250,n_test = 50,look_back = 1): gX_train, gY_train, gX_test, gY_test, scaler, start_point = get_split(EV_data, n_train, n_test) model = train_model(gX_train, gY_train, gX_test, gY_test) RMSE, predictions = get_rmse(model, gX_test, gY_test, scaler, start_point, EV_data, n_train)return RMSE, predictions
错误:
NameError: name 'predictions' is not defined
回答:
所有内容都应该在你的函数定义块内。我尝试了这个方法,并且它正确地编译了:
def workflow(EV_data, get_split, train_model, get_rmse,n_train = 250,n_test = 50,look_back = 1): gX_train, gY_train, gX_test, gY_test, scaler, start_point = get_split(EV_data, n_train, n_test) model = train_model(gX_train, gY_train, gX_test, gY_test) RMSE, predictions = get_rmse(model, gX_test, gY_test, scaler, start_point, EV_data, n_train) return RMSE, predictions