David vor 3 Monaten
Ursprung
Commit
aa83e93ea6
3 geänderte Dateien mit 160 neuen und 0 gelöschten Zeilen
  1. 2 0
      app/common/data_handler.py
  2. 146 0
      app/logs/2025-03-25/south-forecast.2025-03-25.0.log
  3. 12 0
      test.py

+ 2 - 0
app/common/data_handler.py

@@ -230,6 +230,8 @@ class DataHandler(object):
         features = self.opt.features_owner if self.opt.switch_nwp_owner else self.opt.features
         data = data.map(lambda x: float(x.to_decimal()) if isinstance(x, Decimal128) else float(x) if isinstance(x, numbers.Number) else x)
         data = data.sort_values(by=col_time).reset_index(drop=True, inplace=False)
+        if not set(features).issubset(set(data.columns.tolist())):
+            raise ValueError("预测数据特征不满足模型特征!")
         pre_data = data[features].copy()
         if self.opt.Model['predict_data_fill']:
             pre_data = self.fill_pre_data(pre_data)

+ 146 - 0
app/logs/2025-03-25/south-forecast.2025-03-25.0.log

@@ -87,3 +87,149 @@
 2025-03-25 08:48:42,121 - dbmg.py - INFO - fmi 模型成功从 MongoDB 加载! - get_keras_model_from_mongo
 2025-03-25 08:48:42,122 - dbmg.py - INFO - 🧹 已清理临时文件: C:\Users\ADMINI~1\AppData\Local\Temp\tmph1bvs151.keras - get_keras_model_from_mongo
 2025-03-25 08:48:42,429 - tf_lstm.py - INFO - 执行预测方法 - predict
+2025-03-25 09:02:04,620 - module_wrapper.py - WARNING - From E:\compete\app\model\losses.py:10: The name tf.set_random_seed is deprecated. Please use tf.compat.v1.set_random_seed instead.
+ - _tfmw_add_deprecation_warning
+2025-03-25 10:11:55,993 - module_wrapper.py - WARNING - From E:\compete\app\model\losses.py:10: The name tf.set_random_seed is deprecated. Please use tf.compat.v1.set_random_seed instead.
+ - _tfmw_add_deprecation_warning
+2025-03-25 10:11:56,189 - tf_lstm_train.py - INFO - Program starts execution! - model_training
+2025-03-25 10:11:56,241 - data_cleaning.py - INFO - 开始清洗:训练集…… - cleaning
+2025-03-25 10:11:56,250 - data_cleaning.py - INFO - 列清洗:清洗的列有:{'HubDireciton', 'HubSpeed'} - data_column_cleaning
+2025-03-25 10:11:56,266 - data_cleaning.py - INFO - 行清洗:清洗的行数有:881,缺失的列有: - key_field_row_cleaning
+2025-03-25 10:11:56,275 - data_handler.py - INFO - 2022-05-05 23:45:00 ~ 2022-05-09 00:00:00 - missing_time_splite
+2025-03-25 10:11:56,276 - data_handler.py - INFO - 缺失点数:288.0 - missing_time_splite
+2025-03-25 10:11:56,308 - data_handler.py - INFO - 2022-06-25 07:45:00 ~ 2022-06-25 08:15:00 - missing_time_splite
+2025-03-25 10:11:56,308 - data_handler.py - INFO - 缺失点数:1.0 - missing_time_splite
+2025-03-25 10:11:56,308 - data_handler.py - INFO - 需要补值的点数:1.0 - missing_time_splite
+2025-03-25 10:11:56,311 - data_handler.py - INFO - 2022-06-27 06:45:00 ~ 2022-06-27 07:15:00 - missing_time_splite
+2025-03-25 10:11:56,311 - data_handler.py - INFO - 缺失点数:1.0 - missing_time_splite
+2025-03-25 10:11:56,311 - data_handler.py - INFO - 需要补值的点数:1.0 - missing_time_splite
+2025-03-25 10:11:56,314 - data_handler.py - INFO - 2022-07-01 06:30:00 ~ 2022-07-01 23:45:00 - missing_time_splite
+2025-03-25 10:11:56,314 - data_handler.py - INFO - 缺失点数:68.0 - missing_time_splite
+2025-03-25 10:11:56,320 - data_handler.py - INFO - 2022-07-08 06:15:00 ~ 2022-07-08 23:45:00 - missing_time_splite
+2025-03-25 10:11:56,320 - data_handler.py - INFO - 缺失点数:69.0 - missing_time_splite
+2025-03-25 10:11:56,321 - data_handler.py - INFO - 2022-07-09 06:15:00 ~ 2022-07-09 23:45:00 - missing_time_splite
+2025-03-25 10:11:56,321 - data_handler.py - INFO - 缺失点数:69.0 - missing_time_splite
+2025-03-25 10:11:56,322 - data_handler.py - INFO - 2022-07-10 06:15:00 ~ 2022-07-10 23:45:00 - missing_time_splite
+2025-03-25 10:11:56,322 - data_handler.py - INFO - 缺失点数:69.0 - missing_time_splite
+2025-03-25 10:11:56,323 - data_handler.py - INFO - 2022-07-11 06:00:00 ~ 2022-07-11 23:45:00 - missing_time_splite
+2025-03-25 10:11:56,323 - data_handler.py - INFO - 缺失点数:70.0 - missing_time_splite
+2025-03-25 10:11:56,324 - data_handler.py - INFO - 2022-07-12 06:00:00 ~ 2022-07-12 23:45:00 - missing_time_splite
+2025-03-25 10:11:56,324 - data_handler.py - INFO - 缺失点数:70.0 - missing_time_splite
+2025-03-25 10:11:56,325 - data_handler.py - INFO - 2022-07-13 06:00:00 ~ 2022-07-13 23:45:00 - missing_time_splite
+2025-03-25 10:11:56,325 - data_handler.py - INFO - 缺失点数:70.0 - missing_time_splite
+2025-03-25 10:11:56,326 - data_handler.py - INFO - 2022-07-14 23:00:00 ~ 2022-07-14 23:45:00 - missing_time_splite
+2025-03-25 10:11:56,326 - data_handler.py - INFO - 缺失点数:2.0 - missing_time_splite
+2025-03-25 10:11:56,326 - data_handler.py - INFO - 需要补值的点数:2.0 - missing_time_splite
+2025-03-25 10:11:56,339 - data_handler.py - INFO - 2022-08-01 20:00:00 ~ 2022-08-01 23:45:00 - missing_time_splite
+2025-03-25 10:11:56,339 - data_handler.py - INFO - 缺失点数:14.0 - missing_time_splite
+2025-03-25 10:11:56,341 - data_handler.py - INFO - 2022-08-02 21:00:00 ~ 2022-08-02 23:45:00 - missing_time_splite
+2025-03-25 10:11:56,341 - data_handler.py - INFO - 缺失点数:10.0 - missing_time_splite
+2025-03-25 10:11:56,342 - data_handler.py - INFO - 2022-08-04 00:00:00 ~ 2022-08-04 23:15:00 - missing_time_splite
+2025-03-25 10:11:56,342 - data_handler.py - INFO - 缺失点数:92.0 - missing_time_splite
+2025-03-25 10:11:56,343 - data_handler.py - INFO - 2022-08-05 00:00:00 ~ 2022-08-05 23:15:00 - missing_time_splite
+2025-03-25 10:11:56,343 - data_handler.py - INFO - 缺失点数:92.0 - missing_time_splite
+2025-03-25 10:11:56,344 - data_handler.py - INFO - 2022-08-06 00:00:00 ~ 2022-08-06 23:15:00 - missing_time_splite
+2025-03-25 10:11:56,344 - data_handler.py - INFO - 缺失点数:92.0 - missing_time_splite
+2025-03-25 10:11:56,345 - data_handler.py - INFO - 2022-08-07 00:00:00 ~ 2022-08-07 23:15:00 - missing_time_splite
+2025-03-25 10:11:56,345 - data_handler.py - INFO - 缺失点数:92.0 - missing_time_splite
+2025-03-25 10:11:56,346 - data_handler.py - INFO - 数据总数:8207, 时序缺失的间隔:3, 其中,较长的时间间隔:14 - missing_time_splite
+2025-03-25 10:11:56,348 - data_handler.py - INFO - 需要补值的总点数:4.0 - missing_time_splite
+2025-03-25 10:11:56,348 - data_handler.py - INFO - 再次测算,需要插值的总点数为:4.0 - fill_train_data
+2025-03-25 10:11:56,350 - data_handler.py - INFO - 2022-05-02 08:00:00 ~ 2022-05-05 23:45:00 有 352 个点, 填补 0 个点. - data_fill
+2025-03-25 10:11:56,353 - data_handler.py - INFO - 2022-05-09 00:00:00 ~ 2022-07-01 06:30:00 有 5115 个点, 填补 2 个点. - data_fill
+2025-03-25 10:11:56,354 - data_handler.py - INFO - 2022-07-01 23:45:00 ~ 2022-07-08 06:15:00 有 603 个点, 填补 0 个点. - data_fill
+2025-03-25 10:11:56,355 - data_handler.py - INFO - 2022-07-08 23:45:00 ~ 2022-07-09 06:15:00 有 27 个点, 填补 0 个点. - data_fill
+2025-03-25 10:11:56,356 - data_handler.py - INFO - 2022-07-09 23:45:00 ~ 2022-07-10 06:15:00 有 27 个点, 填补 0 个点. - data_fill
+2025-03-25 10:11:56,357 - data_handler.py - INFO - 2022-07-10 23:45:00 ~ 2022-07-11 06:00:00 有 26 个点, 填补 0 个点. - data_fill
+2025-03-25 10:11:56,359 - data_handler.py - INFO - 2022-07-11 23:45:00 ~ 2022-07-12 06:00:00 有 26 个点, 填补 0 个点. - data_fill
+2025-03-25 10:11:56,360 - data_handler.py - INFO - 2022-07-12 23:45:00 ~ 2022-07-13 06:00:00 有 26 个点, 填补 0 个点. - data_fill
+2025-03-25 10:11:56,362 - data_handler.py - INFO - 2022-07-13 23:45:00 ~ 2022-08-01 20:00:00 有 1810 个点, 填补 2 个点. - data_fill
+2025-03-25 10:11:56,363 - data_handler.py - INFO - 2022-08-01 23:45:00 ~ 2022-08-02 21:00:00 有 86 个点, 填补 0 个点. - data_fill
+2025-03-25 10:11:56,364 - data_handler.py - INFO - 2022-08-02 23:45:00 ~ 2022-08-04 00:00:00 有 98 个点, 填补 0 个点. - data_fill
+2025-03-25 10:11:56,365 - data_handler.py - INFO - 2022-08-04 23:15:00 ~ 2022-08-05 00:00:00 有 4 个点, 填补 0 个点. - data_fill
+2025-03-25 10:11:56,366 - data_handler.py - INFO - 2022-08-05 23:15:00 ~ 2022-08-06 00:00:00 有 4 个点, 填补 0 个点. - data_fill
+2025-03-25 10:11:56,367 - data_handler.py - INFO - 2022-08-06 23:15:00 ~ 2022-08-07 00:00:00 有 4 个点, 填补 0 个点. - data_fill
+2025-03-25 10:11:56,367 - data_handler.py - INFO - 2022-08-07 23:15:00 ~ 2022-08-07 23:45:00 有 3 个点, 填补 0 个点. - data_fill
+2025-03-25 10:11:56,367 - data_handler.py - INFO - 训练集分成了15段,实际一共补值4点 - data_fill
+2025-03-25 10:11:58,824 - data_handler.py - INFO - 特征处理-训练数据-不满足time_step - get_train_data
+2025-03-25 10:11:58,824 - data_handler.py - INFO - 特征处理-训练数据-无法进行最小分割 - get_train_data
+2025-03-25 10:11:58,825 - data_handler.py - INFO - 特征处理-训练数据-不满足time_step - get_train_data
+2025-03-25 10:11:58,825 - data_handler.py - INFO - 特征处理-训练数据-无法进行最小分割 - get_train_data
+2025-03-25 10:11:58,825 - data_handler.py - INFO - 特征处理-训练数据-不满足time_step - get_train_data
+2025-03-25 10:11:58,825 - data_handler.py - INFO - 特征处理-训练数据-无法进行最小分割 - get_train_data
+2025-03-25 10:11:58,825 - data_handler.py - INFO - 特征处理-训练数据-不满足time_step - get_train_data
+2025-03-25 10:11:58,825 - data_handler.py - INFO - 特征处理-训练数据-无法进行最小分割 - get_train_data
+2025-03-25 10:11:59,017 - dbmg.py - INFO - ⚠️ 未找到模型 'fmi' 的有效记录 - get_keras_model_from_mongo
+2025-03-25 10:11:59,017 - tf_lstm.py - INFO - 加强训练加载模型权重失败:('cannot unpack non-iterable NoneType object',) - train_init
+2025-03-25 10:12:22,986 - module_wrapper.py - WARNING - From E:\compete\app\model\losses.py:10: The name tf.set_random_seed is deprecated. Please use tf.compat.v1.set_random_seed instead.
+ - _tfmw_add_deprecation_warning
+2025-03-25 10:12:23,176 - tf_lstm_train.py - INFO - Program starts execution! - model_training
+2025-03-25 10:12:23,229 - data_cleaning.py - INFO - 开始清洗:训练集…… - cleaning
+2025-03-25 10:12:23,238 - data_cleaning.py - INFO - 列清洗:清洗的列有:{'HubDireciton', 'HubSpeed'} - data_column_cleaning
+2025-03-25 10:12:23,253 - data_cleaning.py - INFO - 行清洗:清洗的行数有:881,缺失的列有: - key_field_row_cleaning
+2025-03-25 10:12:23,263 - data_handler.py - INFO - 2022-05-05 23:45:00 ~ 2022-05-09 00:00:00 - missing_time_splite
+2025-03-25 10:12:23,263 - data_handler.py - INFO - 缺失点数:288.0 - missing_time_splite
+2025-03-25 10:12:23,296 - data_handler.py - INFO - 2022-06-25 07:45:00 ~ 2022-06-25 08:15:00 - missing_time_splite
+2025-03-25 10:12:23,297 - data_handler.py - INFO - 缺失点数:1.0 - missing_time_splite
+2025-03-25 10:12:23,297 - data_handler.py - INFO - 需要补值的点数:1.0 - missing_time_splite
+2025-03-25 10:12:23,299 - data_handler.py - INFO - 2022-06-27 06:45:00 ~ 2022-06-27 07:15:00 - missing_time_splite
+2025-03-25 10:12:23,299 - data_handler.py - INFO - 缺失点数:1.0 - missing_time_splite
+2025-03-25 10:12:23,299 - data_handler.py - INFO - 需要补值的点数:1.0 - missing_time_splite
+2025-03-25 10:12:23,302 - data_handler.py - INFO - 2022-07-01 06:30:00 ~ 2022-07-01 23:45:00 - missing_time_splite
+2025-03-25 10:12:23,302 - data_handler.py - INFO - 缺失点数:68.0 - missing_time_splite
+2025-03-25 10:12:23,308 - data_handler.py - INFO - 2022-07-08 06:15:00 ~ 2022-07-08 23:45:00 - missing_time_splite
+2025-03-25 10:12:23,308 - data_handler.py - INFO - 缺失点数:69.0 - missing_time_splite
+2025-03-25 10:12:23,309 - data_handler.py - INFO - 2022-07-09 06:15:00 ~ 2022-07-09 23:45:00 - missing_time_splite
+2025-03-25 10:12:23,309 - data_handler.py - INFO - 缺失点数:69.0 - missing_time_splite
+2025-03-25 10:12:23,310 - data_handler.py - INFO - 2022-07-10 06:15:00 ~ 2022-07-10 23:45:00 - missing_time_splite
+2025-03-25 10:12:23,310 - data_handler.py - INFO - 缺失点数:69.0 - missing_time_splite
+2025-03-25 10:12:23,311 - data_handler.py - INFO - 2022-07-11 06:00:00 ~ 2022-07-11 23:45:00 - missing_time_splite
+2025-03-25 10:12:23,311 - data_handler.py - INFO - 缺失点数:70.0 - missing_time_splite
+2025-03-25 10:12:23,312 - data_handler.py - INFO - 2022-07-12 06:00:00 ~ 2022-07-12 23:45:00 - missing_time_splite
+2025-03-25 10:12:23,312 - data_handler.py - INFO - 缺失点数:70.0 - missing_time_splite
+2025-03-25 10:12:23,313 - data_handler.py - INFO - 2022-07-13 06:00:00 ~ 2022-07-13 23:45:00 - missing_time_splite
+2025-03-25 10:12:23,313 - data_handler.py - INFO - 缺失点数:70.0 - missing_time_splite
+2025-03-25 10:12:23,314 - data_handler.py - INFO - 2022-07-14 23:00:00 ~ 2022-07-14 23:45:00 - missing_time_splite
+2025-03-25 10:12:23,314 - data_handler.py - INFO - 缺失点数:2.0 - missing_time_splite
+2025-03-25 10:12:23,314 - data_handler.py - INFO - 需要补值的点数:2.0 - missing_time_splite
+2025-03-25 10:12:23,328 - data_handler.py - INFO - 2022-08-01 20:00:00 ~ 2022-08-01 23:45:00 - missing_time_splite
+2025-03-25 10:12:23,328 - data_handler.py - INFO - 缺失点数:14.0 - missing_time_splite
+2025-03-25 10:12:23,329 - data_handler.py - INFO - 2022-08-02 21:00:00 ~ 2022-08-02 23:45:00 - missing_time_splite
+2025-03-25 10:12:23,329 - data_handler.py - INFO - 缺失点数:10.0 - missing_time_splite
+2025-03-25 10:12:23,331 - data_handler.py - INFO - 2022-08-04 00:00:00 ~ 2022-08-04 23:15:00 - missing_time_splite
+2025-03-25 10:12:23,331 - data_handler.py - INFO - 缺失点数:92.0 - missing_time_splite
+2025-03-25 10:12:23,332 - data_handler.py - INFO - 2022-08-05 00:00:00 ~ 2022-08-05 23:15:00 - missing_time_splite
+2025-03-25 10:12:23,332 - data_handler.py - INFO - 缺失点数:92.0 - missing_time_splite
+2025-03-25 10:12:23,333 - data_handler.py - INFO - 2022-08-06 00:00:00 ~ 2022-08-06 23:15:00 - missing_time_splite
+2025-03-25 10:12:23,333 - data_handler.py - INFO - 缺失点数:92.0 - missing_time_splite
+2025-03-25 10:12:23,334 - data_handler.py - INFO - 2022-08-07 00:00:00 ~ 2022-08-07 23:15:00 - missing_time_splite
+2025-03-25 10:12:23,334 - data_handler.py - INFO - 缺失点数:92.0 - missing_time_splite
+2025-03-25 10:12:23,335 - data_handler.py - INFO - 数据总数:8207, 时序缺失的间隔:3, 其中,较长的时间间隔:14 - missing_time_splite
+2025-03-25 10:12:23,335 - data_handler.py - INFO - 需要补值的总点数:4.0 - missing_time_splite
+2025-03-25 10:12:23,336 - data_handler.py - INFO - 再次测算,需要插值的总点数为:4.0 - fill_train_data
+2025-03-25 10:12:23,337 - data_handler.py - INFO - 2022-05-02 08:00:00 ~ 2022-05-05 23:45:00 有 352 个点, 填补 0 个点. - data_fill
+2025-03-25 10:12:23,341 - data_handler.py - INFO - 2022-05-09 00:00:00 ~ 2022-07-01 06:30:00 有 5115 个点, 填补 2 个点. - data_fill
+2025-03-25 10:12:23,343 - data_handler.py - INFO - 2022-07-01 23:45:00 ~ 2022-07-08 06:15:00 有 603 个点, 填补 0 个点. - data_fill
+2025-03-25 10:12:23,344 - data_handler.py - INFO - 2022-07-08 23:45:00 ~ 2022-07-09 06:15:00 有 27 个点, 填补 0 个点. - data_fill
+2025-03-25 10:12:23,345 - data_handler.py - INFO - 2022-07-09 23:45:00 ~ 2022-07-10 06:15:00 有 27 个点, 填补 0 个点. - data_fill
+2025-03-25 10:12:23,346 - data_handler.py - INFO - 2022-07-10 23:45:00 ~ 2022-07-11 06:00:00 有 26 个点, 填补 0 个点. - data_fill
+2025-03-25 10:12:23,347 - data_handler.py - INFO - 2022-07-11 23:45:00 ~ 2022-07-12 06:00:00 有 26 个点, 填补 0 个点. - data_fill
+2025-03-25 10:12:23,348 - data_handler.py - INFO - 2022-07-12 23:45:00 ~ 2022-07-13 06:00:00 有 26 个点, 填补 0 个点. - data_fill
+2025-03-25 10:12:23,349 - data_handler.py - INFO - 2022-07-13 23:45:00 ~ 2022-08-01 20:00:00 有 1810 个点, 填补 2 个点. - data_fill
+2025-03-25 10:12:23,350 - data_handler.py - INFO - 2022-08-01 23:45:00 ~ 2022-08-02 21:00:00 有 86 个点, 填补 0 个点. - data_fill
+2025-03-25 10:12:23,352 - data_handler.py - INFO - 2022-08-02 23:45:00 ~ 2022-08-04 00:00:00 有 98 个点, 填补 0 个点. - data_fill
+2025-03-25 10:12:23,353 - data_handler.py - INFO - 2022-08-04 23:15:00 ~ 2022-08-05 00:00:00 有 4 个点, 填补 0 个点. - data_fill
+2025-03-25 10:12:23,354 - data_handler.py - INFO - 2022-08-05 23:15:00 ~ 2022-08-06 00:00:00 有 4 个点, 填补 0 个点. - data_fill
+2025-03-25 10:12:23,355 - data_handler.py - INFO - 2022-08-06 23:15:00 ~ 2022-08-07 00:00:00 有 4 个点, 填补 0 个点. - data_fill
+2025-03-25 10:12:23,356 - data_handler.py - INFO - 2022-08-07 23:15:00 ~ 2022-08-07 23:45:00 有 3 个点, 填补 0 个点. - data_fill
+2025-03-25 10:12:23,356 - data_handler.py - INFO - 训练集分成了15段,实际一共补值4点 - data_fill
+2025-03-25 10:12:25,819 - data_handler.py - INFO - 特征处理-训练数据-不满足time_step - get_train_data
+2025-03-25 10:12:25,819 - data_handler.py - INFO - 特征处理-训练数据-无法进行最小分割 - get_train_data
+2025-03-25 10:12:25,820 - data_handler.py - INFO - 特征处理-训练数据-不满足time_step - get_train_data
+2025-03-25 10:12:25,820 - data_handler.py - INFO - 特征处理-训练数据-无法进行最小分割 - get_train_data
+2025-03-25 10:12:25,820 - data_handler.py - INFO - 特征处理-训练数据-不满足time_step - get_train_data
+2025-03-25 10:12:25,820 - data_handler.py - INFO - 特征处理-训练数据-无法进行最小分割 - get_train_data
+2025-03-25 10:12:25,820 - data_handler.py - INFO - 特征处理-训练数据-不满足time_step - get_train_data
+2025-03-25 10:12:25,820 - data_handler.py - INFO - 特征处理-训练数据-无法进行最小分割 - get_train_data
+2025-03-25 10:12:26,012 - dbmg.py - INFO - ⚠️ 未找到模型 'fmi' 的有效记录 - get_keras_model_from_mongo
+2025-03-25 10:12:26,012 - tf_lstm.py - INFO - 加强训练加载模型权重失败:('cannot unpack non-iterable NoneType object',) - train_init

+ 12 - 0
test.py

@@ -0,0 +1,12 @@
+#!/usr/bin/env python
+# -*- coding:utf-8 -*-
+# @FileName  :test.py
+# @Time      :2025/3/25 10:07
+# @Author    :David
+# @Company: shenyang JY
+
+
+if __name__ == "__main__":
+    feas = "temperature190,temperature10,direction160,direction40,temperature110,speed60,direction80,mcc,temperature150,speed20,speed110,globalr,solarZenith,speed190,direction120,direction200,temperature90,speed150,temperature50,direction30,temperature160,direction170,temperature20,direction70,direction130,temperature200,speed70,temperature120,speed30,speed100,speed80,speed180,dniCalcd,speed140,temperature60,temperature170,temperature30,direction20,humidity2,direction180,direction60,direction140,hcc,speed40,clearskyGhi,temperature130,lcc,speed90,tcc,temperature2,speed170,direction100,temperature70,speed130,direction190,temperature40,direction10,temperature180,direction150,direction50,speed50,direction90,temperature100,speed10,temperature140,speed120,speed200,radiation,tpr,surfacePressure,direction110,speed160,temperature80"
+    feass = feas.split(",")
+    print(len(feass))