Spaces:
Sleeping
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: | |
| 1. binary classification di un testo fornito in input | |
| 2. image classification di una immagine fornita in input (Classi : Pneumonia, No_Pneumonia, Tubercolosi, No_Tubercolosi) | |
| 3. 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](https://docs.anaconda.com/free/anaconda/install/linux/) | |
| La lemmatizzazione del testo viene eseguita con la libreria [spacy](https://spacy.io/usage). | |
| Procedere con i seguenti passaggi | |
| ```bash | |
| pip install -U pip setuptools wheel | |
| pip install -U spacy | |
| python -m spacy download it_core_news_lg | |
| ``` | |
| Fondamentale installare anche la libreria tensorflow | |
| ```bash | |
| pip install tensorflow | |
| ``` | |
| ## Run Locally | |
| Clona il progetto | |
| ```bash | |
| git clone git@github.com:gaeparente/ngt-ai-platform.git | |
| ``` | |
| Installa il micro-framework Flask | |
| ```bash | |
| python -m pip install flask | |
| ``` | |
| Installa libreria CORS di Flask | |
| ```bash | |
| pip install flask_cors | |
| ``` | |
| Posizionati nella directory del file app.py | |
| ```bash | |
| cd ngt-ai-platform/ | |
| ``` | |
| Avvia il server | |
| ```bash | |
| flask run | |
| ``` | |
| I moduli saranno quindi raggiungibili: | |
| 1. binary classification all'indirizzo http://127.0.0.1:5000/binary-classification | |
| 2. image classification all'indirizzo http://127.0.0.1:5000/image-classification | |
| 3. 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: | |
| 1. text (required) -> contenente la sentence per cui si richiede la classificazione | |
| 2. model (optional) -> contenente il file del modello (.keras o .h5) | |
| 3. token (optional) -> contenente il file del tokenizer (.json) | |
| La risposta sarà quindi | |
| ```json | |
| { | |
| "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: | |
| 1. image (required) -> contenente il file per cui si richiede la classificazione | |
| 2. model (optional) -> contenente il file del modello (.keras o .h5) | |
| La risposta sarà quindi | |
| ```json | |
| [ | |
| { | |
| "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: | |
| 1. text (required) -> contenente la sentence per cui si richiede la classificazione | |
| 2. model (optional) -> contenente il file del modello (.keras o .h5) | |
| 3. token (optional) -> contenente il file del tokenizer (.json) | |
| La risposta sarà quindi | |
| ```json | |
| [ | |
| { | |
| "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" | |
| } | |
| ] | |
| ``` |