Applicazioni pratiche di deep learning/Identificazione tumori della pelle

Indice del libro

Il modello swin-tiny-patch4-window7-224-finetuned-skin-cancer che si trova su Hagging Face qui : https://huggingface.co/gianlab/swin-tiny-patch4-window7-224-finetuned-skin-cancer è stato ottenuto addestrandolo in 1,5 ore su Google Colab dopo avere importato le foto dei tumori della pelle da qui : https://www.kaggle.com/datasets/kmader/skin-cancer-mnist-ham10000 . Il modello è in grado di predire i tumori della pelle con un'accuratezza del 72,75% . Le possibili malattie classificate sono in inglese: 'Actinic-keratoses', 'Basal-cell-carcinoma', 'Benign-keratosis-like-lesions', 'Dermatofibroma', 'Melanocytic-nevi', 'Melanoma', 'Vascular-lesions' .

Ci sono 3 possibilità per utilizzarlo valutando se un ortaggio è malato oppure no :

1) Collegarsi con la pagina del modello https://huggingface.co/gianlab/swin-tiny-patch4-window7-224-finetuned-skin-cancer , cliccare su "Drag image here or click to browse from your device" e caricare la fotografia della pelle malata . Si otterrà una previsione della malattia con la relativa accuratezza che va dall'1% al 100% .

2) Creare su Colab un nuovo file e incollare il seguente codice :

from transformers import pipeline

pipe = pipeline("image-classification", "gianlab/swin-tiny-patch4-window7-224-finetuned-plantdisease")

Caricare la fotografia della pelle malata sul server tramite il seguente codice:

from google.colab import files 
files.upload()

Se la foto si chiama foto_della_pelle.jpg utilizzare il seguente codice per visualizzare la foto:

from pathlib import Path
from PIL import Image
path_im = Path('foto_della_pelle.jpg')
image = Image.open(path_im)
image

Per ottenere la diagnosi della malattia digitare :

 pipe(image)

con il risultato e la relativa accuratezza.


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_pelle.jpg'
image = Image.open(requests.get(url, stream=True).raw)
image

Link esterniModifica