money / app.py
kramlion's picture
п
730dfdf
#Изначальный код нейросети и создания графиков с выводом через Gradio - https://colab.research.google.com/drive/1gEu9nbQ-rB7-it6eednP5egf0eL7k1Rj#scrollTo=xbMowZBhdXDE
#На Hugging Face нет бесплатного GPU на котором выполняется наш код, а на CPU выполнение кода идёт больше часа, поэтому график вынесли так
from huggingface_hub import hf_hub_download
import tensorflow as tf
import numpy as np
import gradio as gr
import pandas as pd
import openpyxl
from PIL import Image
model_path = hf_hub_download(repo_id="neuronetties/money", filename="money.keras")
model = tf.keras.models.load_model(model_path)
def display_image(image_path):
downloaded_image_path = hf_hub_download(repo_id="neuronetties/money", filename="image.png")
image = Image.open(downloaded_image_path)
return image
def get_currency_values(file, date_input):
data = pd.read_excel(file)
data.dropna(inplace=True)
data['Date'] = pd.to_datetime(data['Date'], dayfirst=True)
date = pd.to_datetime(date_input, dayfirst=True)
row = data[data['Date'] == date]
if not row.empty:
values = row[['EUR_RUB', 'GBP_RUB', 'USD_RUB']].values.flatten()
return f"На {date_input}: USD/RUB: {values[2]}, EUR/RUB: {values[0]}, GBP/RUB: {values[1]}"
else:
return f"Данные на {date_input} не найдены."
app1 = gr.Interface(
fn=get_currency_values,
inputs=[gr.File(label="Загрузите файл Excel"), gr.Text(label="Введите дату (дд.мм.гггг):")],
outputs=gr.Text(label="Результаты валют")
)
app2 = gr.Interface(
fn=display_image,
inputs=gr.File(label="Загрузите файл Excel"),
outputs="image"
)
demo = gr.TabbedInterface([app1, app2], ["Вывод цены за дату", "Предсказания на 6 месяцев"])
demo.launch()