task_worker.py 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. #!/usr/bin/env python
  2. # -*- coding:utf-8 -*-
  3. # @FileName :task_worker.py
  4. # @Time :2025/4/29 11:05
  5. # @Author :David
  6. # @Company: shenyang JY
  7. import logging
  8. import pandas as pd
  9. from app.model.tf_model_train import ModelTrainer
  10. from app.model.material import MaterialLoader
  11. def station_task(config):
  12. """场站级训练任务"""
  13. try:
  14. print("111")
  15. station_id = config['station_id']
  16. mate = MaterialLoader(base_path=config['input_file'])
  17. # 动态生成场站数据路径
  18. print("222")
  19. # 加载数据
  20. data_objects = mate.get_material(station_id)
  21. print("333")
  22. # 数据合并
  23. train_data = pd.merge(data_objects.nwp_v_h, data_objects.power, on=config['col_time'])
  24. print("444")
  25. # 模型训练
  26. # model = ModelTrainer(station_id, train_data, capacity=data_objects.cap, gpu_id=config.get('gpu_assignment'))
  27. model = ModelTrainer(train_data, capacity=data_objects.cap, config=config)
  28. model.train()
  29. print("555")
  30. return {'status': 'success', 'station_id': station_id}
  31. except Exception as e:
  32. logging.error(f"Station {station_id} failed: {str(e)}")
  33. return {'status': 'failed', 'station_id': station_id}
  34. def region_task(all_stations, config):
  35. """区域级训练任务"""
  36. try:
  37. print("111")
  38. station_id = config['station_id']
  39. mate = MaterialLoader(base_path=config['input_file'])
  40. # 动态生成场站数据路径
  41. print("222")
  42. # 加载数据
  43. data_objects = mate.get_material(station_id)
  44. print("333")
  45. # 数据合并
  46. train_data = pd.merge(data_objects.nwp_v_h, data_objects.power, on=config['col_time'])
  47. print("444")
  48. # 模型训练
  49. # model = ModelTrainer(station_id, train_data, capacity=data_objects.cap, gpu_id=config.get('gpu_assignment'))
  50. model = ModelTrainer(train_data, capacity=data_objects.cap, config=config)
  51. model.train()
  52. print("555")
  53. return {'status': 'success', 'station_id': station_id}
  54. except Exception as e:
  55. logging.error(f"Station {station_id} failed: {str(e)}")
  56. return {'status': 'failed', 'station_id': station_id}