File size: 4,799 Bytes
4e159ba a76b5d6 4e159ba 713959d a76b5d6 4e159ba a76b5d6 4e159ba a76b5d6 4e159ba a76b5d6 4e159ba a76b5d6 4e159ba a76b5d6 4e159ba a76b5d6 4e159ba a76b5d6 4e159ba a76b5d6 4e159ba a76b5d6 |
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 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 |
import streamlit as st
import numpy as np
import torch
import torch.nn as nn
import torch.optim as optim
from sklearn.utils import shuffle
from sklearn.preprocessing import StandardScaler
from sklearn.linear_model import LogisticRegression
from sklearn.model_selection import train_test_split
from NdR_disease import run_disease_train, get_user_input_and_predict_disease
from NdR_female_superheros import run_female_superhero_train, get_user_input_and_predict_female_superhero
from NdR_male_superheros import run_male_superhero_train, get_user_input_and_predict_male_superhero
# Interfaccia utente Streamlit
st.title("Demo: Intelligenza Artificiale")
# Pulsanti di selezione del attività
task = st.selectbox("Scegli una attività:", ("Supereroe", "Malattie"))
if task == "Supereroe":
# Sotto-opzioni per Supereroe Maschile e Femminile
gender = st.selectbox("Scegli il genere:", ("Maschile", "Femminile"))
if gender == "Maschile":
if 'malesuper_models' not in st.session_state:
if st.button("Avvia attività Supereroe Maschile"):
# Carica i modelli e salvali nello stato di sessione
linear_model, neural_model, scaler, superheros, num_classes = run_male_superhero_train()
st.session_state.malesuper_models = {
'linear_model': linear_model,
'neural_model': neural_model,
'scaler': scaler,
'superheros': superheros,
'num_classes': num_classes
}
else:
st.write("I modelli di Supereroe Maschile sono già caricati.")
# Se i modelli sono caricati, ottieni input dall'utente e fai una previsione
if 'malesuper_models' in st.session_state:
models = st.session_state.malesuper_models
get_user_input_and_predict_male_superhero(
models['linear_model'],
models['neural_model'],
models['scaler'],
models['superheros'],
models['num_classes']
)
else:
st.write("Clicca 'Avvia attività Supereroe Maschile' per caricare i modelli.")
elif gender == "Femminile":
if 'femalesuper_models' not in st.session_state:
if st.button("Avvia attività Supereroe Femminile"):
# Carica i modelli e salvali nello stato di sessione
linear_model, neural_model, scaler, superheros, num_classes = run_female_superhero_train()
st.session_state.femalesuper_models = {
'linear_model': linear_model,
'neural_model': neural_model,
'scaler': scaler,
'superheros': superheros,
'num_classes': num_classes
}
else:
st.write("I modelli di Supereroe Femminile sono già caricati.")
# Se i modelli sono caricati, ottieni input dall'utente e fai una previsione
if 'femalesuper_models' in st.session_state:
models = st.session_state.femalesuper_models
get_user_input_and_predict_female_superhero(
models['linear_model'],
models['neural_model'],
models['scaler'],
models['superheros'],
models['num_classes']
)
else:
st.write("Clicca 'Avvia attività Supereroe Femminile' per caricare i modelli.")
elif task == "Malattie":
if 'disease_models' not in st.session_state:
if st.button("Avvia attività Malattie"):
# Carica i modelli e salvali nello stato di sessione
linear_model, neural_model, scaler, conditions, num_classes = run_disease_train()
st.session_state.disease_models = {
'linear_model': linear_model,
'neural_model': neural_model,
'scaler': scaler,
'conditions': conditions,
'num_classes': num_classes
}
else:
st.write("I modelli di malattie sono già caricati.")
# Se i modelli sono caricati, ottieni input dall'utente e fai una previsione
if 'disease_models' in st.session_state:
models = st.session_state.disease_models
get_user_input_and_predict_disease(
models['linear_model'],
models['neural_model'],
models['scaler'],
models['conditions'],
models['num_classes']
)
else:
st.write("Clicca 'Avvia attività Malattie' per caricare i modelli.")
if st.button('Ripristina'):
# Cancella solo lo stato di invio del modulo e gli input dell'utente
for key in list(st.session_state.keys()):
del st.session_state[key]
st.rerun()
|