app / app2.py
Abdel's picture
Update app2.py
8d3cd93 verified
import os
import pandas as pd
from sklearn.ensemble import RandomForestClassifier
from sklearn.model_selection import train_test_split
import gradio as gr
current_dir = os.path.dirname(os.path.realpath(__file__))
data = pd.read_csv(os.path.join(current_dir, "datav4.csv"))
X_all = data.drop(["targets"], axis=1)
y_all = data["targets"]
num_test = 0.20
X_train, X_test, y_train, y_test = train_test_split(
X_all, y_all, test_size=num_test, random_state=23
)
clf = RandomForestClassifier()
clf.fit(X_train, y_train)
from joblib import dump, load
js = """
function createGradioAnimation() {
var containerlog = document.createElement('div');
containerlog.id = 'gradio-animation';
containerlog.style.fontSize = '2em';
containerlog.style.fontWeight = 'bold';
containerlog.style.textAlign = 'center';
containerlog.style.marginBottom = '50px';
var logo = document.createElement('img');
logo.src = 'https://data2innov.fr/build/img/data2innov_logo.svg'; // Replace with your logo URL
logo.style.width = '200px'; // Adjust the size of the logo
containerlog.appendChild(logo);
var textElement = document.createElement('span');
// Ajouter le texte entre les deux images
textElement.textContent = "L'IA au service de l'implantologie Pr. Zoubeir TOURKI "; // Remplacez par votre texte
containerlog.appendChild(textElement);
var logo2 = document.createElement('img');
logo2.src='data:image/png;base64,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'
logo2.style.width = '100px'; // Adjust the size of the logo
containerlog.appendChild(logo2);
containerlog.style.display = 'flex';
containerlog.style.flexWrap = 'wrap';
containerlog.style.justifyContent = 'space-between';
var container = document.createElement('div');
container.id = 'gradio-animation';
container.style.fontSize = '2em';
container.style.fontWeight = 'bold';
container.style.textAlign = 'center';
container.style.marginBottom = '50px';
var text = 'Cette application est realisée dans le cadre du congrés ATMO 1-2 mars 2024 à Monastir';
for (var i = 0; i < text.length; i++) {
(function(i){
setTimeout(function(){
var letter = document.createElement('span');
letter.style.opacity = '0';
letter.style.color='red'
letter.style.transition = 'opacity 0.5s';
letter.innerText = text[i];
container.appendChild(letter);
setTimeout(function() {
letter.style.opacity = '1';
}, 50);
}, i * 250);
})(i);
}
var gradioContainerlog = document.querySelector('.gradio-container');
gradioContainerlog.insertBefore(containerlog, gradioContainerlog.firstChild);
var gradioContainer = document.querySelector('.gradio-container');
gradioContainer.insertBefore(container, gradioContainer.firstChild);
return 'Animation created';
}
"""
#clf = load('filename.model')
#predictions = clf.predict(X_test)
def predict_survival(densites, diametres):
df = pd.DataFrame.from_dict(
{
"densites": [densites],
"diametres": [diametres]
}
)
if 300> densites or densites>1200 :
gr.Info("La densité doit être entre 300 et 1200 HU'")
return None
if 3> diametres or diametres>6 :
gr.Info("le diametre doit être entre 3 et 6 mm")
return None
pred = clf.predict_proba(df)[0]
html=0
if (pred[0]<pred[1]):
html = (
"<div style='max-width:100%; color:green; font-size: 20px; background-color:white; text-align:center; max-height:360px; overflow:auto'>"
+ "<br> <br> Vous pouvez poser l'implant (précison : "+str(int(pred[1]*100))+"%)<br> <br>"
+ "</div>"
)
else:
html = (
"<div style='max-width:100%; color:red; font-size: 20px; background-color:white; text-align:center; max-height:360px; overflow:auto'>"
+ "<br> <br> Vous ne pouvez pas poser l'implant (précison : "+str(int(pred[0]*100))+"%)<br> <br>"
+ "</div>"
)
json_pred={"No": float(pred[0]), "Yes": float(pred[1])}
return html
demo = gr.Interface(
predict_survival,
[
gr.Number(label="Densité 'entre 300 et 1200 HU'"),
gr.Number(label="Diametre 'entre 3 et 6 mm'")
],
["html"],
examples=[
[700, 5],
[1200, 3],
[311, 5.2]
],
live=False,
js=js,
submit_btn="Prédire"
)
if __name__ == "__main__":
demo.launch(share=True)