×
1 Scegli i certificati EITC/EITCA
2 Impara e sostieni gli esami online
3 Ottieni la certificazione delle tue competenze IT

Conferma le tue capacità e competenze IT nell'ambito del quadro di certificazione IT europeo da qualsiasi parte del mondo completamente online.

Accademia EITCA

Standard di attestazione delle competenze digitali da parte dell'Istituto europeo di certificazione informatica volto a sostenere lo sviluppo della società digitale

ACCEDI AL TUO ACCOUNT

CREA UN ACCOUNT HAI DIMENTICATO LA PASSWORD?

HAI DIMENTICATO LA PASSWORD?

AAH, aspetta, ora ricordo!

CREA UN ACCOUNT

HAI GIÀ UN ACCOUNT?
EUROPEE ACCADEMIA DI CERTIFICAZIONE DELLE TECNOLOGIE INFORMATICHE - ATTESTARE LE TUE COMPETENZE DIGITALI
  • ISCRIVITI
  • ACCEDI
  • INFO

Accademia EITCA

Accademia EITCA

L'Istituto europeo di certificazione delle tecnologie dell'informazione - EITCI ASBL

Fornitore di certificazione

Istituto EITCI ASBL

Bruxelles, Unione Europea

Quadro normativo europeo di certificazione IT (EITC) a supporto della professionalità IT e della società digitale

  • CERTIFICATI
    • ACCADEMIE EITCA
      • CATALOGO ACCADEMIE EITCA<
      • GRAFICA INFORMATICA EITCA/CG
      • EITCA/IS SICUREZZA DELLE INFORMAZIONI
      • INFORMAZIONI AZIENDALI EITCA/BI
      • COMPETENZE CHIAVE EITCA/KC
      • EITCA/EG E-GOVERNMENT
      • SVILUPPO WEB EITCA/WD
      • EITCA/AI ARTIFICIAL INTELLIGENCE
    • CERTIFICATI EITC
      • CATALOGO DEI CERTIFICATI EITC<
      • CERTIFICATI DI GRAFICA INFORMATICA
      • CERTIFICATI DI WEB DESIGN
      • CERTIFICATI DI PROGETTAZIONE 3D
      • CERTIFICATI IT PER L'UFFICIO
      • CERTIFICATO BLOCKCHAIN ​​DI BITCOIN
      • CERTIFICATO WORDPRESS
      • CERTIFICATO PIATTAFORMA CLOUDNUOVA
    • CERTIFICATI EITC
      • CERTIFICATI INTERNET
      • CERTIFICATI DI CRIPTOGRAFIA
      • CERTIFICATI IT COMMERCIALI
      • CERTIFICATI TELEWORK
      • CERTIFICATI DI PROGRAMMAZIONE
      • CERTIFICATO DIGITALE DI RITRATTO
      • CERTIFICATI DI SVILUPPO WEB
      • CERTIFICATI DI APPRENDIMENTO PROFONDONUOVA
    • CERTIFICATI PER
      • AMMINISTRAZIONE PUBBLICA DELL'UE
      • INSEGNANTI ED EDUCATORI
      • PROFESSIONISTI DELLA SICUREZZA IT
      • DESIGNER E ARTISTI GRAFICI
      • Uomini d'affari e dirigenti
      • SVILUPPI DELLA BLOCKCHAIN
      • SVILUPPATORI WEB
      • ESPERTI DI CLOUD AINUOVA
  • FEATURED
  • SUSSIDIO
  • COME FUNZIONA
  •   IT ID
  • CHI SIAMO
  • CONTATTI
  • IL MIO ORDINE
    Il tuo ordine attuale è vuoto.
EITCIINSTITUTE
CERTIFIED

In che modo i modelli Keras sostituiscono gli stimatori TensorFlow?

by Mirek Hermut / Mercoledì, Giugno 11 2025 / Pubblicato in Intelligenza Artificiale, EITC/AI/GCML Google Cloud Machine Learning, Primi passi nel Machine Learning, Stimatori chiari e semplici

Il passaggio dagli stimatori di TensorFlow ai modelli Keras rappresenta un'evoluzione significativa nel flusso di lavoro e nel paradigma di creazione, addestramento e distribuzione di modelli di machine learning, in particolare all'interno degli ecosistemi TensorFlow e Google Cloud. Questo cambiamento non rappresenta semplicemente un cambiamento nelle preferenze delle API, ma riflette tendenze più ampie in termini di accessibilità, flessibilità e integrazione delle moderne pratiche di deep learning.

Contesto: stimatori TensorFlow

Gli stimatori TensorFlow sono stati introdotti per standardizzare il processo di addestramento, valutazione e distribuzione di modelli di machine learning. L'API degli stimatori ha fornito un'astrazione di alto livello per l'addestramento distribuito, una facile distribuzione su diverse piattaforme (inclusa Google Cloud AI Platform) e il supporto integrato per una varietà di attività di machine learning come classificazione, regressione e persino modellazione personalizzata.

Il flusso di lavoro dell'Estimatore in genere prevede:

– Definizione di una funzione di input per leggere i dati.
– Scrivere un `model_fn` per incapsulare la logica del modello, le perdite e gli ottimizzatori.
– Creazione di un oggetto `Estimator`.
– Chiamata di metodi quali `.train()`, `.evaluate()` e `.predict()`.

Gli stimatori fornivano una netta separazione tra input dei dati, costruzione del modello ed esecuzione, il che si è rivelato particolarmente utile per l'addestramento e il servizio scalabili. Gestivano inoltre gran parte del codice boilerplate necessario per l'addestramento distribuito e la gestione dei checkpoint.

Tuttavia, l'API Estimator presentava diverse limitazioni:

– Era meno intuitivo per i principianti, soprattutto per chi era alle prime armi con il deep learning.
– La personalizzazione dei modelli (soprattutto per le architetture dinamiche) era macchinosa.
– L’integrazione con le nuove funzionalità (come livelli personalizzati o perdite) introdotte nella comunità del deep learning è stata più lenta e complessa.

L'ascesa dei modelli Keras

Keras è stato originariamente sviluppato come una libreria di reti neurali indipendente e intuitiva. Si concentrava sulla semplicità e sulla rapida prototipazione tramite un'API concisa e coerente. Quando TensorFlow ha adottato Keras come API ufficiale di alto livello con il rilascio di TensorFlow 2.x, ha segnalato il riconoscimento del valore che Keras ha apportato alla community.

Vantaggi principali dei modelli Keras

1. Semplicità e leggibilità:I modelli Keras sono generalmente più facili da comprendere e scrivere, riducendo il carico cognitivo per professionisti e ricercatori.
2. Flessibilità:Le API funzionali e di sottoclassamento di Keras consentono la costruzione di modelli complessi e dinamici, come quelli richiesti per la modellazione di sequenze, meccanismi di attenzione o modelli generativi.
3. Integrazione con l'ecosistema moderno di Deep Learning:I modelli Keras possono facilmente incorporare livelli, metriche, perdite e callback personalizzati, semplificando l'integrazione dei più recenti progressi della ricerca.
4. Flussi di lavoro end-to-end:Con Keras, la pre-elaborazione dei dati, la creazione del modello, la formazione, la valutazione e l'implementazione sono strettamente integrate.
5. Supporto nativo in TensorFlow 2.x:Con l'esecuzione Eager come impostazione predefinita, il debug e l'ispezione del modello risultano più semplici.

Keras come API di alto livello predefinita in TensorFlow

A partire da TensorFlow 2.x, Keras (`tf.keras`) è l'API di alto livello preferita e consigliata per la definizione e l'addestramento dei modelli. Questo cambiamento si riflette nella documentazione, nel supporto della community e nello sviluppo continuo delle funzionalità. Sebbene gli stimatori siano ancora supportati per compatibilità con le versioni precedenti e per determinati casi d'uso, nuove funzionalità e miglioramenti si concentrano sull'API Keras.

Esempio: Classificazione semplice con stimatore vs. Keras

Utilizzo di Estimator:

python
import tensorflow as tf

def model_fn(features, labels, mode):
    net = tf.layers.dense(features['x'], 10, activation=tf.nn.relu)
    logits = tf.layers.dense(net, 3, activation=None)
    predicted_classes = tf.argmax(logits, 1)

    if mode == tf.estimator.ModeKeys.PREDICT:
        predictions = {
            'class_ids': predicted_classes[:, tf.newaxis],
            'probabilities': tf.nn.softmax(logits),
            'logits': logits,
        }
        return tf.estimator.EstimatorSpec(mode, predictions=predictions)

    loss = tf.losses.sparse_softmax_cross_entropy(labels=labels, logits=logits)

    if mode == tf.estimator.ModeKeys.TRAIN:
        optimizer = tf.train.AdamOptimizer()
        train_op = optimizer.minimize(loss, global_step=tf.train.get_global_step())
        return tf.estimator.EstimatorSpec(mode, loss=loss, train_op=train_op)

    eval_metric_ops = {
        'accuracy': tf.metrics.accuracy(labels=labels, predictions=predicted_classes)
    }
    return tf.estimator.EstimatorSpec(
        mode, loss=loss, eval_metric_ops=eval_metric_ops)

estimator = tf.estimator.Estimator(model_fn=model_fn)
# Data input functions omitted for brevity.

Utilizzo di Keras:

python
import tensorflow as tf
from tensorflow import keras

model = keras.Sequential([
    keras.layers.Dense(10, activation='relu', input_shape=(input_dim,)),
    keras.layers.Dense(3, activation='softmax')
])

model.compile(optimizer='adam',
              loss='sparse_categorical_crossentropy',
              metrics=['accuracy'])

model.fit(x_train, y_train, epochs=5, batch_size=32)

Come visto sopra, il codice Keras è più conciso e accessibile e supporta iterazioni e sperimentazioni rapide.

Come Keras sostituisce gli stimatori nei flussi di lavoro di apprendimento automatico di Google Cloud

1. Formazione e distribuzione

Su Google Cloud AI Platform (ora Vertex AI), gli utenti hanno storicamente sfruttato gli Estimators per l'addestramento e l'erogazione distribuiti. Con l'adozione di Keras come standard, la piattaforma supporta pienamente i modelli Keras sia per l'addestramento che per il deployment:

- Formazione distribuita: I modelli Keras possono essere addestrati su più GPU o TPU utilizzando l'API `tf.distribute`. Questa funzionalità è pienamente compatibile con l'infrastruttura distribuita di Google Cloud.
- Esportazione e distribuzione del modello:I modelli Keras possono essere salvati nel formato TensorFlow SavedModel, che è lo standard per la distribuzione dei modelli su Google Cloud.
- Sintonia iperparametro:I modelli Keras si integrano con i servizi di ottimizzazione degli iperparametri di Google Cloud, consentendo agli utenti di ottimizzare i propri modelli in modo efficiente.

2. Pipeline di input dati

Keras si integra perfettamente con le pipeline `tf.data`, facilitando il caricamento, la pre-elaborazione e l'aumento dei dati in modo scalabile ed efficiente. Ciò consente ai professionisti di gestire grandi set di dati e complesse fasi di pre-elaborazione con un codice minimo.

3. Architetture di modelli personalizzati

Mentre la creazione di livelli personalizzati, perdite e cicli di formazione nell'API Estimator potrebbe risultare macchinosa, Keras fornisce meccanismi intuitivi per la sottoclassificazione di modelli e livelli, consentendo ai team di ricerca e produzione di implementare architetture all'avanguardia con maggiore facilità.

4. Monitoraggio e richiamate

Keras supporta un'ampia gamma di callback, strumenti che consentono il monitoraggio della formazione, la regolazione dei tassi di apprendimento, il salvataggio dei checkpoint, l'arresto anticipato e l'integrazione con TensorBoard.

5. Integrazione della comunità e dell'ecosistema

Molti set di dati popolari, modelli pre-addestrati e contributi di ricerca sono ora distribuiti come codice compatibile con Keras. Questo semplifica l'integrazione della ricerca all'avanguardia nei flussi di lavoro degli utenti di Google Cloud.

Migrazione dagli stimatori a Keras: considerazioni

Le organizzazioni o gli individui con basi di codice esistenti basate su Estimators possono passare a Keras con diversi gradi di impegno, a seconda della complessità del modello e del codice personalizzato. TensorFlow fornisce guide e strumenti per la migrazione per facilitare questo processo.

- Logica del modello personalizzato: La logica `model_fn` personalizzata negli Estimators si traduce spesso in classi di modelli Keras personalizzate.
- Strategie di formazione distribuita:La formazione distribuita con Keras utilizza l'API `tf.distribute`, che è più flessibile e potente rispetto alle strategie di distribuzione di Estimator.
- Servizio ed esportazione:I modelli Keras salvati nel formato SavedModel possono essere serviti con TensorFlow Serving o distribuiti su Vertex AI senza ulteriori modifiche.

Esempio: distribuzione di un modello Keras su Google Cloud Vertex AI

1. Definire e addestrare il modello

python
    import tensorflow as tf
    from tensorflow import keras

    model = keras.Sequential([
        keras.layers.Dense(64, activation='relu', input_shape=(32,)),
        keras.layers.Dense(10, activation='softmax')
    ])
    model.compile(optimizer='adam',
                  loss='categorical_crossentropy',
                  metrics=['accuracy'])
    model.fit(x_train, y_train, epochs=10, batch_size=32)
    

2. Esporta il modello

python
    model.save('saved_model/')
    

3. Carica su Google Cloud Storage

    gsutil cp -r saved_model gs://my-bucket/path/to/model/
    

4. Distribuisci su Vertex AI
Utilizzando la Google Cloud Console o la CLI `gcloud`, il modello può essere distribuito per i servizi di previsione.

Questo flusso di lavoro evidenzia la natura semplificata dell'utilizzo di Keras nelle moderne pipeline di apprendimento automatico.

Affrontare le limitazioni e garantire la compatibilità con le versioni precedenti

Sebbene Keras soddisfi un'ampia gamma di esigenze di machine learning, alcuni flussi di lavoro legacy o requisiti specifici (ad esempio, alcune funzionalità di training distribuite di basso livello) potrebbero comunque richiedere l'utilizzo di Estimator. Tuttavia, lo sviluppo continuo di TensorFlow e dell'ecosistema di machine learning di Google Cloud è orientato a migliorare ulteriormente le capacità di Keras, garantendo la parità delle funzionalità e supportando la migrazione.

Valore didattico e impatto educativo

Questo passaggio verso Keras ha profonde implicazioni per l'insegnamento e l'apprendimento dell'apprendimento automatico:

- Barriera di ingresso abbassata:La sintassi chiara e concisa di Keras consente agli studenti e ai nuovi arrivati ​​di concentrarsi sui concetti fondamentali anziché sul codice standard.
- Prototipazione rapida e sperimentazione:La capacità di modificare rapidamente architetture e parametri di formazione supporta l'apprendimento esperienziale.
- Allineamento agli standard di settore:Keras è ampiamente utilizzato sia nella ricerca accademica che nelle applicazioni industriali, quindi impararlo prepara gli utenti ad affrontare attività del mondo reale.
- Progressione continua:Gli studenti possono iniziare con semplici modelli sequenziali e passare progressivamente a sottoclassi personalizzate più avanzate senza cambiare framework.

Ecosistema e direzioni future

L'ecosistema TensorFlow più ampio (che comprende TensorFlow Hub, TensorFlow Lite, TensorFlow Extended e TensorFlow Serving) ha adottato Keras come interfaccia modello primaria, garantendo che i modelli creati con Keras siano trasferibili su diverse piattaforme: cloud, dispositivi mobili, web e edge.

Strumenti di ricerca, tutorial e contenuti didattici sono ora in gran parte incentrati su Keras, rafforzando ulteriormente il suo status di strumento predefinito per i nuovi progetti.

Esempi che illustrano le caratteristiche principali di Keras

Cicli di allenamento personalizzati

Keras supporta sia il metodo di alto livello `.fit()` sia i cicli di addestramento personalizzati utilizzando `tf.GradientTape`:

python
class MyModel(tf.keras.Model):
    def __init__(self):
        super(MyModel, self).__init__()
        self.dense1 = tf.keras.layers.Dense(64, activation='relu')
        self.dense2 = tf.keras.layers.Dense(10, activation='softmax')
    def call(self, inputs):
        x = self.dense1(inputs)
        return self.dense2(x)

model = MyModel()
optimizer = tf.keras.optimizers.Adam()
loss_fn = tf.keras.losses.CategoricalCrossentropy()

for epoch in range(epochs):
    for x_batch, y_batch in train_dataset:
        with tf.GradientTape() as tape:
            logits = model(x_batch)
            loss = loss_fn(y_batch, logits)
        gradients = tape.gradient(loss, model.trainable_weights)
        optimizer.apply_gradients(zip(gradients, model.trainable_weights))

Con gli Estimators è stato difficile raggiungere questo livello di flessibilità.

Integrazione con tf.data

È possibile realizzare pipeline di dati efficienti come segue:

python
train_dataset = tf.data.Dataset.from_tensor_slices((x_train, y_train))
train_dataset = train_dataset.shuffle(buffer_size=1024).batch(32)

model.fit(train_dataset, epochs=5)

Questa integrazione supporta l'elaborazione e l'aumento dei dati su larga scala.

Serializzazione e portabilità del modello

I modelli Keras possono essere esportati nel formato SavedModel, consentendo:

– Distribuzione con TensorFlow Serving
– Conversione a TensorFlow Lite per dispositivi mobili e embedded
– Condivisione con TensorFlow Hub o Model Garden

Sintonia iperparametro

I modelli Keras si integrano direttamente con strumenti di ottimizzazione automatizzata degli iperparametri, come Keras Tuner e Vertex AI Vizier di Google Cloud.

{{EJS15}}

Differenze chiave: Estimator vs. Keras nella pratica

caratteristicaStimatore del flusso tensorialeModello Keras (tf.keras)
Stile APIFunzionale tramite `model_fn`, spesso prolissoOrientato agli oggetti, conciso
PersonalizzazioneLimitato, tramite logica model_fn personalizzataAlto, tramite funzionale e sottoclassificazione
Inserimento datiRichiede funzioni di input personalizzateIntegrato con `tf.data`
Formazione distribuitaIntegrato, ma meno flessibileFlessibile tramite `tf.distribute`
Esportazione del modelloSavedModel, spesso più passaggiSavedModel, salvataggio su una riga
Integrazione con l'ecosistemaUn po' isolatoPiena integrazione
Supporto alla comunità e alla ricercaDiminuzioneDiffuso
DebugGrafici statici, meno intuitiviEsecuzione più rapida, debug più semplice

FAQ: Domande relative alla transizione

I vecchi modelli Estimator possono essere utilizzati con Keras?
Sebbene i modelli Estimator e Keras siano distinti, TensorFlow fornisce utility per convertire o integrare i modelli Estimator nei flussi di lavoro. Tuttavia, per i nuovi sviluppi, si consiglia Keras.

Ci sono casi d'uso in cui gli stimatori sono preferibili?
In rari casi che coinvolgono flussi di lavoro di formazione distribuiti legacy o requisiti specializzati, gli Estimator possono comunque essere utilizzati. Tuttavia, questi scenari stanno diventando sempre più rari con l'espansione delle funzionalità di Keras.

In che modo Keras supporta carichi di lavoro di produzione su larga scala?
Keras si integra con le funzionalità di prestazioni di TensorFlow, tra cui training a precisione mista, strategie di distribuzione e pipeline di input ottimizzate, rendendolo adatto ai casi d'uso aziendali.

Keras supporta modelli di reti non neurali?
Keras è progettato principalmente per le reti neurali. Per alcuni algoritmi di machine learning classici (ad esempio, random forest e boosting), sono preferibili altre librerie (come scikit-learn o TensorFlow Decision Forests).

Raccomandazione didattica

Sia per i principianti che per i professionisti, investire tempo nell'apprendimento di Keras è altamente consigliato. Tutorial, libri di testo e MOOC ora utilizzano Keras come standard per la formazione sul deep learning. La comprensione dell'API di Keras garantisce la compatibilità con le migliori pratiche moderne di machine learning e implementazione cloud.

Altre domande e risposte recenti riguardanti EITC/AI/GCML Google Cloud Machine Learning:

  • Quali sono alcuni algoritmi AI/ML comuni da utilizzare sui dati elaborati?
  • Come configurare uno specifico ambiente Python con Jupyter Notebook?
  • Come utilizzare TensorFlow Serving?
  • Che cos'è Classifier.export_saved_model e come utilizzarlo?
  • Perché la regressione viene spesso utilizzata come predittore?
  • I moltiplicatori di Lagrange e le tecniche di programmazione quadratica sono rilevanti per l'apprendimento automatico?
  • È possibile applicare più di un modello durante il processo di apprendimento automatico?
  • Il Machine Learning può adattare l'algoritmo da utilizzare a seconda dello scenario?
  • Qual è il percorso più semplice per un principiante assoluto senza alcuna formazione di programmazione, per l'addestramento e l'implementazione di modelli di intelligenza artificiale di base su Google AI Platform utilizzando una versione di prova/livello gratuito e una console GUI in modo graduale?
  • Come addestrare e distribuire in modo pratico un semplice modello di intelligenza artificiale in Google Cloud AI Platform tramite l'interfaccia GUI della console GCP in un tutorial passo passo?

Visualizza altre domande e risposte in EITC/AI/GCML Google Cloud Machine Learning

Altre domande e risposte:

  • Settore: Intelligenza Artificiale
  • programma: EITC/AI/GCML Google Cloud Machine Learning (vai al programma di certificazione)
  • Lezione: Primi passi nel Machine Learning (vai alla lezione correlata)
  • Argomento: Stimatori chiari e semplici (vai all'argomento correlato)
Etichettato sotto: Intelligenza Artificiale, Distribuzione cloud, Pipeline di dati, Deep Learning, Estimator, Keras, API di apprendimento automatico, Modello che serve, Modello di formazione, TensorFlow, Vertice AI
Casa » Intelligenza Artificiale/EITC/AI/GCML Google Cloud Machine Learning/Primi passi nel Machine Learning/Stimatori chiari e semplici » In che modo i modelli Keras sostituiscono gli stimatori TensorFlow?

Centro di certificazione

MENU UTENTE

  • Il Mio Account

CATEGORIA DI CERTIFICATI

  • Certificazione EITC (105)
  • Certificazione EITCA (9)

Che cosa stai cercando?

  • Introduzione
  • Come funziona?
  • Accademie EITCA
  • Sovvenzione EITCI DSJC
  • Catalogo completo dell'EITC
  • Il tuo ordine
  • In Evidenza
  •   IT ID
  • Recensioni EITCA (Publ. media)
  • Chi Siamo
  • Contatti

EITCA Academy fa parte del framework europeo di certificazione IT

Il quadro europeo di certificazione IT è stato istituito nel 2008 come standard europeo e indipendente dai fornitori per la certificazione online ampiamente accessibile delle abilità e delle competenze digitali in molte aree delle specializzazioni digitali professionali. Il quadro EITC è disciplinato dal Istituto europeo di certificazione IT (EITCI), un'autorità di certificazione senza scopo di lucro che sostiene la crescita della società dell'informazione e colma il divario di competenze digitali nell'UE.

Idoneità per l'Accademia EITCA 80% Sovvenzione EITCI DSJC

80% delle tasse EITCA Academy sovvenzionato in iscrizione da

    Ufficio di segreteria dell'Accademia EITCA

    Istituto europeo di certificazione informatica ASBL
    Bruxelles, Belgio, Unione Europea

    Operatore del framework di certificazione EITC/EITCA
    Standard europeo di certificazione IT applicabile
    accesso a contact form oppure chiama +32 25887351

    Segui EITCI su X
    Visita EITCA Academy su Facebook
    Interagisci con EITCA Academy su LinkedIn
    Guarda i video EITCI e EITCA su YouTube

    Finanziato dall'Unione Europea

    Finanziato dalla Fondo europeo di sviluppo regionale (FESR) e le Fondo sociale europeo (FSE) in una serie di progetti dal 2007, attualmente governati dal Istituto europeo di certificazione IT (EITCI) dal 2008

    Politica sulla sicurezza delle informazioni | Politica DSRRM e GDPR | Politica di protezione dei dati | Registro delle attività di trattamento | Politica HSE | Politica anticorruzione | Politica sulla schiavitù moderna

    Traduci automaticamente nella tua lingua

    Termini e condizioni | Politica sulla Riservatezza
    Accademia EITCA
    • Accademia EITCA sui social media
    Accademia EITCA


    © 2008-2025  Istituto Europeo di Certificazione IT
    Bruxelles, Belgio, Unione Europea

    TOP
    Chatta con l'assistenza
    Chatta con l'assistenza
    Domande, dubbi, problemi? Siamo qui per aiutarvi!
    Termina chat
    Connettendo ...
    Hai qualche domanda?
    Hai qualche domanda?
    :
    :
    :
    Invia
    Hai qualche domanda?
    :
    :
    Avvia chat
    La sessione di chat è terminata. Grazie!
    Valuta il supporto che hai ricevuto.
    Buone Piscina