增加DNNRegressor的隐藏层数时出错
Error when increasing the number of hidden layers of DNNRegressor
我成功使用以下代码构建了一个 2 层的 DNNRegressor
# Parameters
num_epochs = 1000
STEPS = 10000
BATCH_SIZE = 80
#Deep Neural Network Regressor
feature_column1 = learn.infer_real_valued_columns_from_input(train_x)
regressor = learn.DNNRegressor(feature_columns = feature_column1, hidden_units= [25,25], model_dir = './output')
regressor.fit(train_x, train_y, max_steps= STEPS, batch_size= BATCH_SIZE)
Ypred = regressor.predict_scores(test_x, as_iterable=True)
Ypred = np.asarray(list(Ypred))
rmse = np.sqrt(((Ypred - test_y) ** 2).mean(axis=0))
print("Root mean square Error: %.3f" %rmse)
但是,当我尝试通过将 regressor
更改为 regressor = learn.DNNRegressor(feature_columns = feature_column1, hidden_units= [25,25,25], model_dir = './output')
将隐藏层从 2 增加到 3 时,我不断收到此错误消息:
InvalidArgumentError: Shape in shape_and_slice spec [25] does not
match the shape stored in checkpoint: [50] [[Node: save/RestoreV2 =
RestoreV2[dtypes=[DT_FLOAT],
_device="/job:localhost/replica:0/task:0/cpu:0"](_recv_save/Const_0, save/RestoreV2/tensor_names, save/RestoreV2/shape_and_slices)]]
我试着用谷歌搜索这个错误,但没看到有人遇到同样的问题。谁能帮我解决这个问题?我不明白为什么会出现这个错误;p
您的脚本似乎在启动时自动加载以前保存的模型。当您修改网络时,持久化模型不再与其兼容。
清除保存的模型输出,或使用另一个文件夹作为模型输出,可以解决这个问题。
我成功使用以下代码构建了一个 2 层的 DNNRegressor
# Parameters
num_epochs = 1000
STEPS = 10000
BATCH_SIZE = 80
#Deep Neural Network Regressor
feature_column1 = learn.infer_real_valued_columns_from_input(train_x)
regressor = learn.DNNRegressor(feature_columns = feature_column1, hidden_units= [25,25], model_dir = './output')
regressor.fit(train_x, train_y, max_steps= STEPS, batch_size= BATCH_SIZE)
Ypred = regressor.predict_scores(test_x, as_iterable=True)
Ypred = np.asarray(list(Ypred))
rmse = np.sqrt(((Ypred - test_y) ** 2).mean(axis=0))
print("Root mean square Error: %.3f" %rmse)
但是,当我尝试通过将 regressor
更改为 regressor = learn.DNNRegressor(feature_columns = feature_column1, hidden_units= [25,25,25], model_dir = './output')
将隐藏层从 2 增加到 3 时,我不断收到此错误消息:
InvalidArgumentError: Shape in shape_and_slice spec [25] does not match the shape stored in checkpoint: [50] [[Node: save/RestoreV2 = RestoreV2[dtypes=[DT_FLOAT], _device="/job:localhost/replica:0/task:0/cpu:0"](_recv_save/Const_0, save/RestoreV2/tensor_names, save/RestoreV2/shape_and_slices)]]
我试着用谷歌搜索这个错误,但没看到有人遇到同样的问题。谁能帮我解决这个问题?我不明白为什么会出现这个错误;p
您的脚本似乎在启动时自动加载以前保存的模型。当您修改网络时,持久化模型不再与其兼容。
清除保存的模型输出,或使用另一个文件夹作为模型输出,可以解决这个问题。