Applicazioni pratiche di deep learning/Classificazione dei fiori
Il modello swin-tiny-patch4-window7-224-finetuned-flower-classifier che si trova su Hagging Face qui : https://huggingface.co/gianlab/swin-tiny-patch4-window7-224-finetuned-flower-classifier è stato ottenuto addestrandolo su Google Colab dopo avere importato le foto dei fiori da qui : https://www.kaggle.com/datasets/l3llff/flowers . Il modello consente di individuare la specie di un fiore con un'accuratezza del 93,39% . Le possibili specie di fiori classificati sono in inglese: 'common_daisy', 'rose', 'california_poppy', 'iris', 'astilbe', 'carnation', 'tulip', 'sunflower', 'coreopsis', 'magnolia', 'water_lily', 'bellflower', 'daffodil', 'calendula', 'dandelion', 'black_eyed_susan' .
Ci sono 3 possibilità per utilizzarlo :
1) Collegarsi con la pagina del modello https://huggingface.co/gianlab/swin-tiny-patch4-window7-224-finetuned-flower-classifier, cliccare su "Drag image here or click to browse from your device" e caricare la fotografia del fiore . Si otterrà una previsione della specie del fiore con la relativa accuratezza che va dall'1% al 100% .
2) Creare su Colab un nuovo file e incollare il seguente codice :
!pip install -q transformers
from transformers import pipeline
pipe = pipeline("image-classification", "gianlab/swin-tiny-patch4-window7-224-finetuned-flower-classifier")
Caricare la fotografia del fiore sul server tramite il seguente codice:
from google.colab import files
files.upload()
Utilizzando la foto di Wikimedia Commons Magnolia cylindrica 1zz.jpg si può utilizzare il seguente codice per la sua visualizzazione:
from pathlib import Path
from PIL import Image
path_im = Path('Magnolia cylindrica 1zz.jpg')
image = Image.open(path_im)
image
Per ottenere il nome del fiore digitare :
pipe(image)
con il seguente risultato :
[{'score': 0.9097182750701904, 'label': 'magnolia'}, {'score': 0.04048147052526474, 'label': 'water_lily'}, {'score': 0.015440584160387516, 'label': 'california_poppy'}, {'score': 0.010492484085261822, 'label': 'daffodil'}, {'score': 0.0076720151118934155, 'label': 'rose'}]
Quindi nel caso specifico si tratta di una magnolia con un'accuratezza del 90,97% .
3) Invece di caricare la foto sul server di Colab si può importarla direttamente dal web con :
from PIL import Image
import requests
url = 'https://www.mio_sito.it/foto_della_rosa.jpg'
image = Image.open(requests.get(url, stream=True).raw)
image
Link esterni
[modifica | modifica sorgente]