Spaces:
Sleeping
license: apache-2.0
title: ngt-ai-platform
sdk: docker
colorFrom: blue
colorTo: purple
pinned: false
NGT AI Platform
La piattaforma si propone di esporre i seguenti moduli:
- binary classification di un testo fornito in input
- image classification di una immagine fornita in input (Classi : Pneumonia, No_Pneumonia, Tubercolosi, No_Tubercolosi)
- multilabel classification di un testo fornito in input (Classi: alt.atheism, comp.graphics, comp.os.ms-windows.misc, comp.sys.ibm.pc.hardware, comp.sys.mac.hardware, comp.windows.x, misc.forsale, rec.autos, rec.motorcycles, rec.sport.baseball, rec.sport.hockey, sci.crypt, sci.electronics, sci.med, sci.space, soc.religion.christian, talk.politics.guns, talk.politics.mideast, talk.politics.misc, talk.religion.misc)
Required
Prima di procedere è necessario installare anaconda utilizzando la seguente guida
La lemmatizzazione del testo viene eseguita con la libreria spacy.
Procedere con i seguenti passaggi
pip install -U pip setuptools wheel
pip install -U spacy
python -m spacy download it_core_news_lg
Fondamentale installare anche la libreria tensorflow
pip install tensorflow
Run Locally
Clona il progetto
git clone git@github.com:gaeparente/ngt-ai-platform.git
Installa il micro-framework Flask
python -m pip install flask
Installa libreria CORS di Flask
pip install flask_cors
Posizionati nella directory del file app.py
cd ngt-ai-platform/
Avvia il server
flask run
I moduli saranno quindi raggiungibili:
- binary classification all'indirizzo http://127.0.0.1:5000/binary-classification
- image classification all'indirizzo http://127.0.0.1:5000/image-classification
- multilabel classification all'indirizzo http://127.0.0.1:5000/multi-classification
Usage/Examples Binary classification
Effettuare una chiamata POST all'indirizzo indicato in precedenza. Il body dovrà essere in formato form-data con le seguenti property:
- text (required) -> contenente la sentence per cui si richiede la classificazione
- model (optional) -> contenente il file del modello (.keras o .h5)
- token (optional) -> contenente il file del tokenizer (.json)
La risposta sarà quindi
{
"lemma": "che posto ragazzo ! uno cucina ricercare in piccolo cortile di altro tempo . bello , buone , bravissimo . prenotare con largo anticipo .",
"percent": "99.95895028114319",
"sentiment": "POSITIVE"
}
Usage/Examples Image Classification
Effettuare una chiamata POST all'indirizzo indicato in precedenza. Il body dovrà essere in formato form-data con le seguenti property:
- image (required) -> contenente il file per cui si richiede la classificazione
- model (optional) -> contenente il file del modello (.keras o .h5)
La risposta sarà quindi
[
{
"classe": "Tubercolosi",
"percent": "0.02414761"
},
{
"classe": "No_Tubercolosi",
"percent": "0.99304398"
},
{
"classe": "Pneumonia",
"percent": "0.00155318"
},
{
"classe": "No_Pneumonia",
"percent": "0.00484183"
}
]
Usage/Examples Multilabel classification
Effettuare una chiamata POST all'indirizzo indicato in precedenza. Il body dovrà essere in formato form-data con le seguenti property:
- text (required) -> contenente la sentence per cui si richiede la classificazione
- model (optional) -> contenente il file del modello (.keras o .h5)
- token (optional) -> contenente il file del tokenizer (.json)
La risposta sarà quindi
[
{
"classe": "alt.atheism",
"percent": "20.58875114"
},
{
"classe": "comp.graphics",
"percent": "5.57006039"
},
{
"classe": "comp.os.ms-windows.misc",
"percent": "1.00294100"
},
{
"classe": "comp.sys.ibm.pc.hardware",
"percent": "0.17852880"
},
{
"classe": "comp.sys.mac.hardware",
"percent": "0.24781623"
},
{
"classe": "comp.windows.x",
"percent": "3.20503265"
},
{
"classe": "misc.forsale",
"percent": "0.16137564"
},
{
"classe": "rec.autos",
"percent": "0.23865439"
},
{
"classe": "rec.motorcycles",
"percent": "0.35177895"
},
{
"classe": "rec.sport.baseball",
"percent": "1.18482364"
},
{
"classe": "rec.sport.hockey",
"percent": "0.21046386"
},
{
"classe": "sci.crypt",
"percent": "4.29985709"
},
{
"classe": "sci.electronics",
"percent": "2.09880602"
},
{
"classe": "sci.med",
"percent": "19.70048994"
},
{
"classe": "sci.space",
"percent": "5.71478717"
},
{
"classe": "soc.religion.christian",
"percent": "11.07885465"
},
{
"classe": "talk.politics.guns",
"percent": "1.57866161"
},
{
"classe": "talk.politics.mideast",
"percent": "1.79922581"
},
{
"classe": "talk.politics.misc",
"percent": "3.07453331"
},
{
"classe": "talk.religion.misc",
"percent": "17.71455258"
}
]