Closed jiangxinufo closed 5 months ago
LSTNet_model_meta文件内容如下: {'model_type': 'forecasting', 'ancestor_classname_set': ['LSTNetRegressor', 'PaddleBaseModelImpl', 'PaddleBaseModel', 'BaseModel', 'Trainable', 'ABC', 'object'], 'modulename': 'paddlets.models.forecasting.dl.lstnet', 'size': {'in_chunk_len': 3600, 'out_chunk_len': 3600, 'skip_chunk_len': 0}, 'input_data': {'past_target': [None, 3600, 1]}}
辛苦打印一下 val_dataset.columns 以及 val_dataset, 然后截图看一下~
val_dataset.columns如下: {'L#SVR4_VAR476_A': 'target', 'L#SVR4_VAR833_A': 'observed_cov', 'L#SVR4_VAR830_A': 'observed_cov', 'L#SVR4_VAR350_A': 'observed_cov', 'L#SVR4_VAR340_A': 'observed_cov', 'L#SVR4_VAR342_A': 'observed_cov', 'L#SVR4_VAR344_A': 'observed_cov'}
val_dataset如下:
L#SVR4_VAR476_A ... L#SVR4_VAR344_A
Date ...
2022-07-15 00:00:09 86.4987 ... 0.0
2022-07-15 00:00:14 86.4960 ... 0.0
2022-07-15 00:00:19 86.3754 ... 0.0
2022-07-15 00:00:24 86.2714 ... 0.0
2022-07-15 00:00:29 86.1912 ... 0.0
... ... ... ...
2022-07-30 10:45:29 0.0000 ... NaN
2022-07-30 10:45:34 0.0000 ... NaN
2022-07-30 10:45:39 0.0000 ... NaN
2022-07-30 10:45:44 0.0000 ... NaN
2022-07-30 10:45:49 0.0000 ... NaN
[266949 rows x 7 columns]
目前看数据应该是observed 长度没有和target对齐,导致构建predict数据的时候报错;可以尝试补充observed数据或者直接删掉(但是LSTNet模型本身在适配paddle inference的时候有一些问题,建议换个模型,如mlp、rnn等)
LSTNet补充数据删除影响的列后,仍然报同样的错误,我在尝试RNN,LSTNet模型使用paddle inference进行部署,之后会更新吗?
RNN同样问题
目前我这边没有复现出你的问题,可以check一下版本是否是 1.1.0~
好的,谢谢,已更新,稍后测试
我也遇到同样的问题
我也遇到同样的问题
加载已保存的模型
def load_model(self, load_pdmodel: str = '../model/save_model.pdmodel', load_pdiparams: str = '../model/save_model.pdiparams' ): config = paddle_infer.Config(load_pdmodel, load_pdiparams) self.predictor = paddle_infer.create_predictor(config) input_names = self.predictor.get_input_names() print(f"input_name: f{input_names}") import json with open("../model/save_model_model_meta") as f: self.json_data = json.load(f) print(self.json_data)
预测推理
##############################################################################################
调用过程:
模型加载
fit_lstnet.load_model(load_pdmodel='../model/LSTNet.pdmodel', load_pdiparams='../model/LSTNet.pdiparams')
预测推理
fit_lstnet.predict_ts(pre_tsdataset=fit_lstnet.val_dataset, cols=target_cols)
执行load_model保存模型成功 执行predict_ts函数时build_ts_infer_input报错,报错信息如下: e[1me[35m--- Running analysis [ir_graph_build_pass]e[0m e[1me[35m--- Running analysis [ir_graph_clean_pass]e[0m e[1me[35m--- Running analysis [ir_analysis_pass]e[0m e[32m--- Running IR pass [simplify_with_basic_ops_pass]e[0m e[32m--- Running IR pass [layer_norm_fuse_pass]e[0m e[37m--- Fused 0 subgraphs into layer_norm op.e[0m e[32m--- Running IR pass [attention_lstm_fuse_pass]e[0m e[32m--- Running IR pass [seqconv_eltadd_relu_fuse_pass]e[0m e[32m--- Running IR pass [seqpool_cvm_concat_fuse_pass]e[0m e[32m--- Running IR pass [mul_lstm_fuse_pass]e[0m e[32m--- Running IR pass [fc_gru_fuse_pass]e[0m e[37m--- fused 0 pairs of fc gru patternse[0m e[32m--- Running IR pass [mul_gru_fuse_pass]e[0m e[32m--- Running IR pass [seq_concat_fc_fuse_pass]e[0m e[32m--- Running IR pass [gpu_cpu_squeeze2_matmul_fuse_pass]e[0m e[32m--- Running IR pass [gpu_cpu_reshape2_matmul_fuse_pass]e[0m e[32m--- Running IR pass [gpu_cpu_flatten2_matmul_fuse_pass]e[0m e[32m--- Running IR pass [matmul_v2_scale_fuse_pass]e[0m e[32m--- Running IR pass [gpu_cpu_map_matmul_v2_to_mul_pass]e[0m I1230 08:59:19.689038 23564 fuse_pass_base.cc:57] --- detected 2 subgraphs e[32m--- Running IR pass [gpu_cpu_map_matmul_v2_to_matmul_pass]e[0m e[32m--- Running IR pass [matmul_scale_fuse_pass]e[0m e[32m--- Running IR pass [gpu_cpu_map_matmul_to_mul_pass]e[0m e[32m--- Running IR pass [fc_fuse_pass]e[0m I1230 08:59:19.691967 23564 fuse_pass_base.cc:57] --- detected 2 subgraphs e[32m--- Running IR pass [repeated_fc_relu_fuse_pass]e[0m e[32m--- Running IR pass [squared_mat_sub_fuse_pass]e[0m e[32m--- Running IR pass [conv_bn_fuse_pass]e[0m e[32m--- Running IR pass [conv_eltwiseadd_bn_fuse_pass]e[0m e[32m--- Running IR pass [conv_transpose_bn_fuse_pass]e[0m e[32m--- Running IR pass [conv_transpose_eltwiseadd_bn_fuse_pass]e[0m e[32m--- Running IR pass [is_test_pass]e[0m e[32m--- Running IR pass [runtime_context_cache_pass]e[0m e[1me[35m--- Running analysis [ir_params_sync_among_devices_pass]e[0m e[1me[35m--- Running analysis [adjust_cudnn_workspace_size_pass]e[0m e[1me[35m--- Running analysis [inference_op_replace_pass]e[0m e[1me[35m--- Running analysis [ir_graph_to_program_pass]e[0m I1230 08:59:19.704661 23564 analysis_predictor.cc:1035] ======= optimize end ======= I1230 08:59:19.704661 23564 naive_executor.cc:102] --- skip [feed], feed -> past_target I1230 08:59:19.705637 23564 naive_executor.cc:102] --- skip [tmp_0], fetch -> fetch input_name: f['past_target'] {'model_type': 'forecasting', 'ancestor_classname_set': ['LSTNetRegressor', 'PaddleBaseModelImpl', 'PaddleBaseModel', 'BaseModel', 'Trainable', 'ABC', 'object'], 'modulename': 'paddlets.models.forecasting.dl.lstnet', 'size': {'in_chunk_len': 3600, 'out_chunk_len': 3600, 'skip_chunk_len': 0}, 'input_data': {'past_target': [None, 3600, 1]}} Traceback (most recent call last): File "E:/Paddle-release-2.2/PaddleTS/examples_self/fit_forecasting_model.py", line 410, in
fit_lstnet.predict_ts(pre_tsdataset=fit_lstnet.val_dataset, cols=target_cols)
File "E:/Paddle-release-2.2/PaddleTS/examples_self/fit_forecasting_model.py", line 284, in predict_ts
input_data = build_ts_infer_input(val_dataset, "../model/LSTNet_model_meta")
File "E:\Paddle-release-2.2\PaddleTS\paddlets\utils\utils.py", line 439, in build_ts_infer_input
sample = next(iter(dataloader))
File "F:\CondaData\envs\paddlets\lib\site-packages\paddle\fluid\dataloader\dataloader_iter.py", line 298, in next
six.reraise(*sys.exc_info())
File "F:\CondaData\envs\paddlets\lib\site-packages\six.py", line 719, in reraise
raise value
File "F:\CondaData\envs\paddlets\lib\site-packages\paddle\fluid\dataloader\dataloader_iter.py", line 272, in next
data = self._reader.read_next_var_list()
StopIteration