File size: 1,995 Bytes
c11727f
 
 
68741a3
 
 
8cff25d
2a7135e
fb52ba8
9ffac39
46b090b
339f33d
68741a3
3fc7d61
68741a3
35bfa1d
c11727f
 
8888371
bc89f7b
c11727f
730dfdf
bc89f7b
 
730dfdf
bc89f7b
 
 
 
 
 
 
 
68741a3
275ae4d
68741a3
 
 
5974173
4bc41c2
7931ca4
c11727f
9e51707
4bc41c2
68741a3
4bc41c2
3b91570
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#Изначальный код нейросети и создания графиков с выводом через 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()