Spaces:
Runtime error
Runtime error
import json | |
import gradio as gr | |
from gr_app2 import args, GradioApp | |
demo = gr.Blocks(**args.block) | |
with demo: | |
app = GradioApp() | |
md__title = gr.Markdown(**args.md__title) | |
with gr.Row(): | |
with gr.Column(): | |
file__historical = gr.File(**args.file__historical) | |
with gr.Column(): | |
file__future = gr.File(**args.file__future) | |
md__future = gr.Markdown(**args.md__future) | |
with gr.Row(): | |
btn__load_historical_demo = gr.Button("Load Demo Historical Data") | |
btn__load_future_demo = gr.Button("Load Demo Future Data") | |
with gr.Row(): | |
number__n_predict = gr.Number( | |
value=app.n_predict, | |
**args.number__n_predict) | |
number__window_length = gr.Number( | |
value=app.window_length, | |
**args.number__window_length | |
) | |
textbox__target_column = gr.Textbox( | |
value=app.target_column, | |
**args.textbox__target_column | |
) | |
number__n_predict.change( | |
app.number__n_predict__change, | |
[number__n_predict] | |
) | |
number__window_length.change( | |
app.number__window_length__change, | |
[number__window_length] | |
) | |
textbox__target_column.change( | |
app.textbox__target_column__change, | |
[textbox__target_column] | |
) | |
# ---------- # | |
# Data Views # | |
# ---------- # | |
with gr.Tabs(): | |
with gr.Tab('Table View'): | |
df__table_view = gr.Dataframe(**args.df__table_view) | |
with gr.Tab('Chart View'): | |
dropdown__chart_view_filter = gr.Dropdown( | |
multiselect=True, | |
label='Filter') | |
plot__chart_view = gr.Plot() | |
with gr.Tab('Seasonality and Auto Correlation'): | |
dropdown__seasonality_decompose = gr.Dropdown( | |
label='Please select column to decompose') | |
with gr.Row(): | |
plot__seasonality_decompose = gr.Plot() | |
plot_acg_pacf = gr.Plot() | |
with gr.Tab('Correlations'): | |
btn__plot_correlation = gr.Button('Plot Correlations') | |
plot__correlation = gr.Plot() | |
btn__plot_correlation.click( | |
app.btn__plot_correlation__click, | |
[], | |
[plot__correlation] | |
) | |
with gr.Tab("Data Profile"): | |
btn__profiling = gr.Button('Profile Data') | |
md__profiling = gr.Markdown() | |
plot__change_points = gr.Plot() | |
dropdown__seasonality_decompose.change( | |
app.dropdown__seasonality_decompose__change, | |
[dropdown__seasonality_decompose], | |
[plot__seasonality_decompose, | |
plot_acg_pacf] | |
) | |
btn__profiling.click( | |
app.btn__profiling__click, | |
[], | |
[md__profiling, | |
plot__change_points] | |
) | |
# ---------------------- # | |
# Fit data to forecaster # | |
# ---------------------- # | |
btn__fit_data = gr.Button(**args.btn__fit_data) | |
# =========== # | |
# Forecasting # | |
# =========== # | |
column__models = gr.Column(visible=True) | |
with column__models: | |
md__fit_ready = gr.Markdown(**args.md__fit_ready) | |
md__forecast_data_info = gr.Markdown() | |
# ------------- # | |
# Model Configs # | |
# ------------- # | |
with gr.Row(): | |
checkbox__round_results = gr.Checkbox( | |
app.round_results, | |
label='Round Results', | |
interactive=True) | |
checkbox__round_results.change( | |
app.checkbox__round_results__change, | |
[checkbox__round_results], | |
[] | |
) | |
gr.Markdown('## Models') | |
# ------- # | |
# XGBoost # | |
# ------- # | |
with gr.Tab('XGBoost'): | |
with gr.Row(): | |
checkbox__xgboost_cv = gr.Checkbox( | |
app.xgboost_cv, label='Cross Validation') | |
checkbox__xgboost_round = gr.Checkbox( | |
app.xgboost.round_result, | |
label='Round Result', | |
interactive=True) | |
checkbox__xgboost_round.change( | |
app.checkbox__xgboost_round__change, | |
[checkbox__xgboost_round], | |
[] | |
) | |
with gr.Row(): | |
with gr.Column(): | |
textbox__xgboost_params = gr.Textbox( | |
interactive=True, | |
value=app.xgboost_params) | |
btn__set_xgboost_params = gr.Button("Set Params") | |
json_xgboost_params = gr.JSON( | |
value=app.xgboost_params, | |
**args.json_xgboost_params) | |
btn__set_xgboost_params.click( | |
app.btn__set_xgboost_params__click, | |
[textbox__xgboost_params], | |
[json_xgboost_params]) | |
btn__train_xgboost = gr.Button("Forecast with XGBoost Model") | |
plot__xgboost_result = gr.Plot() | |
with gr.Row(): | |
df__xgboost_result = gr.Dataframe() | |
file__xgboost_result = gr.File() | |
btn__train_xgboost.click( | |
app.btn__train_xgboost__click, | |
[], | |
[plot__xgboost_result, | |
file__xgboost_result, | |
df__xgboost_result]) | |
# ------- # | |
# Prophet # | |
# ------- # | |
with gr.Tab('Prophet'): | |
gr.Markdown('Prophet') | |
btn__forecast_with_prophet = gr.Button( | |
**args.btn__forecast_with_prophet) | |
plot__prophet_result = gr.Plot() | |
with gr.Row(): | |
df__prophet_result = gr.DataFrame() | |
file__prophet_result = gr.File() | |
btn__forecast_with_prophet.click( | |
app.btn__forecast_with_prophet__click, | |
[], | |
[plot__prophet_result, | |
file__prophet_result, | |
df__prophet_result] | |
) | |
# --------- # | |
# Operators # | |
# --------- # | |
file__historical.upload( | |
app.file__historical__upload, | |
[file__historical], | |
[df__table_view, | |
dropdown__chart_view_filter, | |
dropdown__seasonality_decompose, | |
plot__chart_view]) | |
file__future.upload( | |
app.file__future__upload, | |
[file__future], | |
[df__table_view, | |
dropdown__chart_view_filter, | |
dropdown__seasonality_decompose, | |
plot__chart_view, | |
number__n_predict]) | |
btn__fit_data.click( | |
app.btn__fit_data__click, | |
[], | |
[ | |
number__n_predict, | |
number__window_length, | |
file__historical, | |
file__future, | |
btn__fit_data, | |
column__models, | |
btn__load_historical_demo, | |
btn__load_future_demo, | |
md__forecast_data_info, | |
]) | |
btn__load_historical_demo.click( | |
app.btn__load_historical_demo__click, | |
[], | |
[df__table_view, | |
dropdown__chart_view_filter, | |
dropdown__seasonality_decompose, | |
plot__chart_view,] | |
) | |
btn__load_future_demo.click( | |
app.btn__load_future_demo__click, | |
[], | |
[df__table_view, | |
dropdown__chart_view_filter, | |
dropdown__seasonality_decompose, | |
plot__chart_view, | |
number__n_predict] | |
) | |
dropdown__chart_view_filter.change( | |
app.dropdown__chart_view_filter__change, | |
[dropdown__chart_view_filter], | |
[plot__chart_view] | |
) | |
demo.launch() | |