按照官方课程完成线性回归预测的模型,并成功保存
以下是官方课程给出的单个测试数据预测代码成功可用
def load_one_example(data_dir): f = open(data_dir, 'r') datas = f.readlines() # 选择倒数第10条数据用于测试 tmp = datas[-10] tmp tmp = tmp.strip().split() one_data = [float(v) for v in tmp] # 对数据进行归一化处理 for i in range(len(one_data)-1): one_data[i] = (one_data[i] - avg_values[i]) / (max_values[i] - min_values[i]) data = np.reshape(np.array(one_data[:-1]), [1, -1]).astype(np.float32) label = one_data[-1] return data, label with dygraph.guard(): # 参数为保存模型参数的文件地址 model_dict, _ = fluid.load_dygraph('LR_model') model.load_dict(model_dict) model.eval() # 参数为数据集的文件地址 test_data, label = load_one_example('./work/housing.data') # 将数据转为动态图的variable格式 test_data = dygraph.to_variable(test_data) results = model(test_data) # 对结果做反归一化处理 results = results * (max_values[-1] - min_values[-1]) + avg_values[-1] print("Inference result is {}, the corresponding label is {}".format(results.numpy(), label))
我的问题是,怎样才能不要每次运行预测代码都重新训练一遍模型?如何在已有模型的基础上直接进行批量预测,并画出预测--真实的对比折线图?我找了许多方法都没有成功,希望得到帮助,本人对于paddle框架以及python矩阵操作不熟练,最好能给出代码更方便理解。谢谢!
请登录后评论
TOP
切换版块
思路:(1)训练完的模型(或参数)保存,预测之前直接加载模型(或参数)就行,这样不用每次都训练。
(2)构建一个预测数据集,eval_reader(),指定batch_size,遍历这个预测数据集应该就能够批量预测了。
只是思路 不知道对不对,我也初学者~~~