def main(): epla_path = "../../tests/inputs/EPLA_example_1.csv" load_cases = [0, 1, 2, 3, 4] model = Model() start = time.time() model.load_epla(epla_path) model.build() build_time = time.time() - start model.print_tree() start = time.time() root_powers = model.solve(load_cases) solve_time = time.time() - start cables = model.export_cables() print(cables) for cable in cables: print_cable_size(cable) model.export_tree(show_cables=True) model.export_tree(show_cables=False) for case in load_cases: print("Load Case " + str(case) + ": " + format_power(root_powers.pop())) print('\n') components = model.export_components() for comp in components: print_component_info(comp) print("Model Evaluation Times") print("Build Time: " + str("%.0f" % (build_time * 1000)) + " ms") print("Solve Time: " + str("%.0f" % (solve_time * 1000)) + " ms")
from matplotlib import pyplot as plt from core.model import Model from core.data_processor import DataProcessor # 数据预处理 dp = DataProcessor('./data/AAPL_080112_200112.csv', (85, 0, 15), ['Adj Close', 'Volume']) data_x, data_y = dp.get_data(50, 'train') test_x, test_y = dp.get_data(50, 'test') # 训练模型 model = Model() model.build() model.train(data_x, data_y, epochs=10, batch_size=32, save_dir='./saved_model') # 预测 predicted = model.predict_sequence_multiple(test_x, window_size=50, prediction_len=50) plt.plot(test_y, label='True Data') for i, data in enumerate(predicted): padding = [None for p in range(i * 50)] plt.plot(padding + data, label='Prediction') plt.legend() plt.show()