Spaces:
Runtime error
Runtime error
| import pprint | |
| from dotenv import load_dotenv | |
| import yaml | |
| from pathlib import Path | |
| from Trainer import Trainer # Assuming Trainer.py is in the same directory | |
| import requests | |
| import os | |
| import json | |
| import warnings | |
| import pandas as pd | |
| import hsml | |
| warnings.filterwarnings('ignore') | |
| load_dotenv() | |
| # Hopsworks API configuration | |
| # Or replace with your actual API key | |
| HOPSWORKS_API_KEY = os.getenv("HOPSWORKS_API_KEY") | |
| # Define the base directory as the project root | |
| BASE_DIR = Path(__file__).resolve().parent.parent.parent | |
| # Use BASE_DIR to dynamically load the config file | |
| # CONFIG_FILE = BASE_DIR / "src" / "config.yml" | |
| with open("config.yml", 'r') as file: | |
| configs = yaml.safe_load(file) | |
| # Initialize Trainer instance with Hopsworks project configurations | |
| symbol = configs['stock_api_params']['symbol'] | |
| # Initialize Trainer with relevant project details | |
| trainer = Trainer( | |
| project_name=configs['hopsworks']['project_name'], | |
| feature_group_name=f"{symbol.split('/')[0].lower()}_features", | |
| model_registry_name=f"{symbol.split('/')[0].lower()}_regressor_model", | |
| api_key=os.getenv("HOPSWORKS_API_KEY") | |
| ) | |
| def return_plot_data(hours): | |
| # Create or retrieve feature view | |
| trainer.create_feature_view() | |
| # Get the plot data from the feature view | |
| input_df = trainer.get_plot_data_from_feature_view(hours) | |
| # get the datetime column from the input_df | |
| datetime_column = input_df['datetime'] | |
| input_features, input_labels = trainer.get_features_labels(input_df) | |
| return input_features, input_labels, datetime_column | |
| def return_plot_data_prediction(input_features): | |
| # Get the prediction | |
| prediction = trainer.predict_with_hopsworks_api(input_features) | |
| return prediction | |
| def get_plot_data(hours): | |
| # Get the plot data | |
| input_features, input_labels, datetime_column = return_plot_data( | |
| hours) | |
| prediction = return_plot_data_prediction(input_features) | |
| return {"features": input_features, "labels": input_labels, | |
| "prediction": prediction['predictions'], "datetime": datetime_column} | |
| # f, l, d = return_plot_data() | |
| # print(f) | |
| # print(l) | |
| # print(trainer.predict_with_hopsworks_api(f)) | |
| # # Example input data (replace with your actual input structure) | |
| # input_ls = [76480.91, 76648.94, 76390.51, 76541.99, 76330.78, 76339.94, 76312.67, 76319.28, 76246.58, 76413.26, 76206.41, 76333.14, 76396.64, 76732.32, 76151.9, 76244.62, 76279.09, 76429.21, 76222.1, 76396.63, 76122.3, 76283.43, 75758.58, | |
| # 76272.1, 76349.99, 76366.2, 76093.0, 76117.98, 76395.53, 76456.16, 76319.87, 76348.18, 76461.01, 76481.48, 76300.38, 76395.53, 76330.91, 76517.26, 76323.53, 76461.02, 76532.39, 76583.19, 76319.32, 76330.91, 76509.82, 76570.6, 76415.72, 76534.61] | |
| # input_columns = ["open_lag_1", "high_lag_1", "low_lag_1", "close_lag_1", "open_lag_2", "high_lag_2", "low_lag_2", "close_lag_2", "open_lag_3", "high_lag_3", "low_lag_3", "close_lag_3", "open_lag_4", "high_lag_4", "low_lag_4", "close_lag_4", "open_lag_5", "high_lag_5", "low_lag_5", "close_lag_5", "open_lag_6", "high_lag_6", "low_lag_6", "close_lag_6", | |
| # "open_lag_7", "high_lag_7", "low_lag_7", "close_lag_7", "open_lag_8", "high_lag_8", "low_lag_8", "close_lag_8", "open_lag_9", "high_lag_9", "low_lag_9", "close_lag_9", "open_lag_10", "high_lag_10", "low_lag_10", "close_lag_10", "open_lag_11", "high_lag_11", "low_lag_11", "close_lag_11", "open_lag_12", "high_lag_12", "low_lag_12", "close_lag_12"] | |
| # input_df = pd.DataFrame([input_ls], columns=input_columns) | |