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) | |