NE.VAL.SYS.
NEvi VALuetion SYStem
Ecco uno strumento avanzato per la diagnostica digitale per immagini dei nevi (nei), realizzato in Python, usando Keras e i DATASET dell’ ISIC, su piattaforma Raspberry 4 OS 64Bit utilizzando Tensoflow e TFlite (10 Epochs - Epoche).
Il modello KERAS è stato addestrato su un DATASET di 5300 nevi maligni e 5300 nevi benigni, è stata fatta la fase di valutazione e test per far si che il modello non avesse overfitting.
In basso una rappresentazione 3D del file “.h5” generato dall’apprendimento del modello.
* Il codice è a disposizione di tutti per il download.
import plotly.graph_objects as go
# Percorso del file caricato dall'utente
file_path = "skin_cancer_model.h5"
# Funzione per esplorare la struttura del file HDF5
def explore_hdf5_structure(hdf5_file):
nodes = [("/", 0)] # Assicura che la root sia nel grafo
with h5py.File(hdf5_file, 'r') as f:
def recursive_explore(group, parent_name, level):
path = f"{parent_name.rstrip('/')}/{key}" # Rimuove eventuali "/" in eccesso
edges.append((parent_name, path))
if isinstance(group[key], h5py.Group):
recursive_explore(group[key], path, level + 1)
nodes, edges = explore_hdf5_structure(file_path)
# Convertire i dati per la visualizzazione
node_labels = [node[0] for node in nodes]
# Generazione posizioni casuali per una distribuzione a nuvola
np.random.seed(42) # Fissa il seed per risultati ripetibili
node_x = np.random.uniform(-1, 1, num_nodes) # Coordinate X
node_y = np.random.uniform(-1, 1, num_nodes) # Coordinate Y
node_z = np.random.uniform(-1, 1, num_nodes) # Coordinate Z
# Creazione delle linee di collegamento
if edge[0] in node_labels and edge[1] in node_labels:
parent_idx = node_labels.index(edge[0])
child_idx = node_labels.index(edge[1])
edge_x.extend([node_x[parent_idx], node_x[child_idx], None])
edge_y.extend([node_y[parent_idx], node_y[child_idx], None])
edge_z.extend([node_z[parent_idx], node_z[child_idx], None])
# Creazione del grafico interattivo 3D
line=dict(color='black', width=1),
marker=dict(size=5, color=node_z, colorscale='Viridis', showscale=True),