diff --git a/fastapi_backend/requirements.txt b/fastapi_backend/requirements.txt index e790455..7937eea 100644 --- a/fastapi_backend/requirements.txt +++ b/fastapi_backend/requirements.txt @@ -1,17 +1,20 @@ kobert-tokenizer @ git+https://github.com/SKTBrain/KoBERT.git#egg=kobert_tokenizer&subdirectory=kobert_hf -sentencepiece -streamlit -scikit-learn -pandas -numpy -pillow -soundfile -torch -torchvision -transformers -fastapi -python-multipart -uvicorn -torchaudio -librosa -pydub \ No newline at end of file +sentencepiece==0.1.99 +gdown==4.7.1 +fastapi==0.104.0 +librosa==0.10.1 +openai==0.28.1 +openpyxl==3.1.2 +numpy==1.26.1 +streamlit==1.28.0 +scikit-learn==1.3.2 +soundfile==0.12.1 +torch==2.1.0 +torchvision==0.16.0 +torchaudio==2.1.0 +transformers==4.34.1 +pandas==2.1.2 +pydub==0.25.1 +python-multipart==0.0.6 +pillow==10.1.0 +uvicorn==0.23.2 \ No newline at end of file diff --git a/fastapi_backend/server.py b/fastapi_backend/server.py index 766eb84..8564789 100644 --- a/fastapi_backend/server.py +++ b/fastapi_backend/server.py @@ -403,7 +403,11 @@ async def time_train_endpoint(data_arranges:list[str], label_data = 'Label_Data' content = await file.read() - train_df = pd.read_csv(BytesIO(content), encoding='utf-8') + if file_ext == 'csv': + train_df = pd.read_csv(BytesIO(content), encoding='utf-8') + elif file_ext == 'xlsx': + train_df = pd.read_excel(BytesIO(content)) + train_df[date] = pd.to_datetime(train_df[date]) diff --git a/streamlit_frontend/requirements.txt b/streamlit_frontend/requirements.txt index b94006c..981c411 100644 --- a/streamlit_frontend/requirements.txt +++ b/streamlit_frontend/requirements.txt @@ -1,6 +1,8 @@ -streamlit -pandas -pillow -python-multipart -streamlit-modal -python-dotenv \ No newline at end of file +openpyxl==3.1.2 +openai==0.28.1 +streamlit==1.24.1 +streamlit-modal==0.1.0 +pandas==2.1.2 +pillow==9.5.0 +python-dotenv==1.0.0 +python-multipart==0.0.6 \ No newline at end of file diff --git a/streamlit_frontend/time_series_forecasting.py b/streamlit_frontend/time_series_forecasting.py index e1915a1..01faeba 100644 --- a/streamlit_frontend/time_series_forecasting.py +++ b/streamlit_frontend/time_series_forecasting.py @@ -11,6 +11,7 @@ from dotenv import load_dotenv import os +import openpyxl from PIL import Image @@ -246,7 +247,8 @@ def main(): image = Image.open('timeseries_sample_data/timeseries_forecasting_sample_image.png') st.image(image, caption=None) - uploaded_file = st.file_uploader(upload_train_csv, accept_multiple_files=False, type=['csv']) + #uploaded_file = st.file_uploader(upload_train_csv, accept_multiple_files=False, type=['csv']) + uploaded_file = st.file_uploader(upload_train_csv, accept_multiple_files=False, type=['csv', 'xlsx']) if uploaded_file or sample_start: @@ -260,9 +262,12 @@ def main(): csv_files = {'file': csv_file_obj} if uploaded_file.name.split('.')[-1] == 'csv': - train_df = pd.read_csv(uploaded_file, encoding='utf-8') - elif uploaded_file.name.split('.')[-1] == 'excel': - train_df = pd.read_excel(uploaded_file) + train_df = pd.read_csv(uploaded_file, encoding='utf-8') + elif uploaded_file.name.split('.')[-1] == 'xlsx': + train_df = pd.read_excel(uploaded_file) + + file_ext = uploaded_file.name.split('.')[-1] + elif sample_start: train_df = pd.read_csv('timeseries_sample_data/timeseries_forecasting_sample_data.csv', encoding='utf-8') @@ -376,12 +381,13 @@ def main(): prev_window_size = int(window_size) with st.spinner(training_model_spinner): response = requests.post(f"{BACKEND_URL}/time_train", files=csv_files, data={'data_arranges':list(data_arrange), - 'window_size':int(window_size), - 'horizon_factor':int(horizon_factor), - 'epoch':int(epoch), - 'learning_rate':float(learning_rate), - 'pred_col': int_col, - 'date': date}) + 'window_size':int(window_size), + 'horizon_factor':int(horizon_factor), + 'epoch':int(epoch), + 'learning_rate':float(learning_rate), + 'pred_col': int_col, + 'date': date, + 'file_ext':file_ext}) if response.ok: res = response.json()