×
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

Come utilizzare TensorFlow Serving?

by kenlpascual / Giovedi, 29 maggio 2025 / Pubblicato in Intelligenza Artificiale, EITC/AI/GCML Google Cloud Machine Learning, Primi passi nel Machine Learning, Stimatori chiari e semplici

TensorFlow Serving è un sistema open source sviluppato da Google per la distribuzione di modelli di machine learning, in particolare quelli creati con TensorFlow, in ambienti di produzione. Il suo scopo principale è fornire un sistema di distribuzione flessibile e ad alte prestazioni per il deployment di nuovi algoritmi ed esperimenti, mantenendo la stessa architettura server e le stesse API. Questo framework è ampiamente adottato per la distribuzione di modelli grazie alla sua capacità di gestire più modelli, il versioning e l'efficienza delle richieste di inferenza.

Introduzione al servizio TensorFlow

TensorFlow Serving supporta l'implementazione di modelli addestrati per l'inferenza (previsione) in modo scalabile ed efficiente. È progettato per gestire previsioni in tempo reale (servizio online) e offre funzionalità come la gestione delle versioni dei modelli, l'hot-swap dei modelli e opzioni di configurazione avanzate per l'implementazione dei modelli.

Il sistema viene in genere utilizzato in scenari in cui un modello addestrato deve essere esposto come servizio, accessibile tramite chiamate API. Ciò consente una perfetta integrazione nelle applicazioni di produzione in cui sono richieste previsioni.

Fase 1: Preparazione di un modello addestrato

Prima di utilizzare TensorFlow Serving, è necessario addestrare un modello ed esportarlo nel formato SavedModel di TensorFlow. SavedModel è il formato di serializzazione universale per i modelli TensorFlow, contenente il grafico, le variabili e i metadati necessari per il servizio.

Supponiamo che un semplice modello di stima venga creato utilizzando l'API di alto livello Estimator di TensorFlow:

python
import tensorflow as tf

# Define a simple linear regression estimator
feature_columns = [tf.feature_column.numeric_column("x", shape=[1])]
estimator = tf.estimator.LinearRegressor(feature_columns=feature_columns)

# Prepare training data
import numpy as np
x_train = np.array([[1.], [2.], [3.], [4.]])
y_train = np.array([[0.], [-1.], [-2.], [-3.]])

input_fn = tf.compat.v1.estimator.inputs.numpy_input_fn(
    {"x": x_train},
    y_train,
    batch_size=1,
    num_epochs=None,
    shuffle=True
)

# Train the estimator
estimator.train(input_fn=input_fn, steps=1000)

# Export the trained model
def serving_input_receiver_fn():
    inputs = {"x": tf.placeholder(shape=[None, 1], dtype=tf.float32)}
    return tf.estimator.export.ServingInputReceiver(inputs, inputs)

export_dir = estimator.export_savedmodel('exported_model', serving_input_receiver_fn)

Dopo l'addestramento, il modello esportato è disponibile nella directory `exported_model`, in genere con una sottodirectory con timestamp che rappresenta la versione del modello.

Passaggio 2: installazione di TensorFlow Serving

TensorFlow Serving può essere installato ed eseguito in diversi modi: in modo nativo su Linux, tramite container Docker o compilando dal codice sorgente. L'approccio Docker è il più comodo ed è ufficialmente supportato.

Per installare Docker sul tuo sistema, consulta la documentazione ufficiale di Docker. Una volta che Docker sarà disponibile, potrai estrarre l'immagine di TensorFlow Serving:

{{EJS15}}

Passaggio 3: servire il modello con TensorFlow Serving

Supponendo che il modello esportato si trovi in ​​`/models/my_model/1/`, dove `1` è il numero di versione, esegui il contenitore Docker TensorFlow Serving come segue:
sh
docker run -p 8501:8501 --name=tf_serving_linear \
  --mount type=bind,source=/models/my_model,target=/models/my_model \
  -e MODEL_NAME=my_model -t tensorflow/serving

Spiegazione dei parametri:
- `-p 8501:8501` mappa la porta 8501 del contenitore all'host, esponendo l'API REST.
- `--name=tf_serving_linear` assegna un nome al contenitore.
- `--mount type=bind,source=...,target=...` monta la directory del modello locale nel contenitore Docker.
- `-e MODEL_NAME=my_model` specifica il nome del modello che TensorFlow Serving servirà.
- `-t tensorflow/serving` specifica l'immagine di TensorFlow Serving.

La struttura delle directory per i modelli dovrebbe essere:

/models/
  my_model/
    1/
      saved_model.pb
      variables/

TensorFlow Serving rileva automaticamente la sottodirectory della versione (`1`), consentendo un facile controllo delle versioni e degli aggiornamenti del modello.

Passaggio 4: creazione di previsioni tramite API REST

Una volta che il server è in esecuzione, le previsioni possono essere effettuate tramite richieste HTTP POST all'endpoint REST API.

Ecco un esempio in cui viene utilizzato `curl` per inviare una richiesta di previsione:

sh
curl -d '{"instances": [{"x": [1.0]}, {"x": [2.0]}]}' \
     -H "Content-Type: application/json" \
     http://localhost:8501/v1/models/my_model:predict

- La chiave ``instances'` contiene un elenco di esempi di input, ognuno dei quali corrisponde alla firma di input prevista dal modello (in questo caso `x`).

TensorFlow Serving restituisce una risposta di previsione in formato JSON:

json
{
  "predictions": [[output_1], [output_2]]
}

Dove `output_1` e `output_2` sono i valori previsti rispettivamente per gli input 1.0 e 2.0.

Passaggio 5: creazione di previsioni tramite API gRPC

TensorFlow Serving supporta anche gRPC, che garantisce prestazioni migliori ed è comunemente utilizzato in ambienti di produzione ad alta produttività.

Esempio di codice Python che utilizza l'API gRPC:

python
import grpc
import tensorflow as tf
from tensorflow_serving.apis import predict_pb2, prediction_service_pb2_grpc

# Connect to TensorFlow Serving server
channel = grpc.insecure_channel('localhost:8500')
stub = prediction_service_pb2_grpc.PredictionServiceStub(channel)

# Prepare request
request = predict_pb2.PredictRequest()
request.model_spec.name = 'my_model'
request.model_spec.signature_name = 'serving_default'
request.inputs['x'].CopyFrom(
    tf.make_tensor_proto([[1.0], [2.0]], shape=[2, 1])
)

# Make prediction
result = stub.Predict(request, 10.0)
print(result)

- Il server deve essere avviato con la porta gRPC esposta (`-p 8500:8500`), che è l'impostazione predefinita nell'immagine Docker.

Fase 6: Controllo delle versioni e gestione del modello

TensorFlow Serving è progettato per gestire in modo efficiente il versioning dei modelli. La struttura delle directory consente la coesistenza di più versioni di un modello. Ad esempio:

/models/
  my_model/
    1/
    2/

Se viene aggiunta una nuova versione (ad esempio, `2`), TensorFlow Serving può passare automaticamente alla nuova versione senza tempi di inattività, a seconda della configurazione. Per impostazione predefinita, viene servita la versione con il numero più alto.

Per specificare la versione del modello in una richiesta, l'API REST fornisce un endpoint:

http://localhost:8501/v1/models/my_model/versions/2:predict

Ciò consente strategie di canarying, distribuzioni blue-green e rollback.

Passaggio 7: configurazione avanzata

TensorFlow Serving supporta funzionalità più avanzate, come l'elaborazione simultanea di più modelli, il monitoraggio e l'elaborazione in batch personalizzata.

- Servizi per più modelli:

Crea un file `models.config`:

  model_config_list: {
    config: {
      name: 'model1',
      base_path: '/models/model1',
      model_platform: 'tensorflow'
    },
    config: {
      name: 'model2',
      base_path: '/models/model2',
      model_platform: 'tensorflow'
    }
  }
  

Avviare il server con:

sh
  docker run -p 8501:8501 \
    --mount type=bind,source=/models,target=/models \
    -t tensorflow/serving \
    --model_config_file=/models/models.config
  

- Monitoraggio:

TensorFlow Serving espone le metriche tramite un endpoint compatibile con Prometheus in `/monitoring/prometheus/metrics`.

- Dosaggio:

Per quanto riguarda le prestazioni, abilitare il batching può essere utile per i carichi di lavoro ad alta produttività. Il batching può essere configurato tramite parametri da riga di comando o file di configurazione.

Fase 8: Considerazioni sulla sicurezza e sulla produzione

In produzione, assicurati che gli endpoint di TensorFlow Serving siano protetti mediante livelli di autenticazione e autorizzazione, nonché protezioni a livello di rete (ad esempio, eseguendo un proxy inverso o un gateway API).

Registrazione, monitoraggio e avvisi sono fondamentali per le distribuzioni in produzione. Integra TensorFlow Serving con soluzioni centralizzate di registrazione e monitoraggio per monitorare utilizzo, prestazioni e guasti.

Esempio di flusso di lavoro end-to-end

Formazione ed esportazione di un modello:

1. Addestrare uno stimatore semplice come mostrato nel passaggio 1.
2. Esportare il modello nel formato SavedModel, ad esempio `/models/linear/1/`.

Avvio del servizio TensorFlow:

sh
docker run -p 8501:8501 --name=tf_serving_example \
  --mount type=bind,source=/models/linear,target=/models/linear \
  -e MODEL_NAME=linear -t tensorflow/serving

Fare una previsione:

sh
curl -d '{"instances": [{"x": [5.0]}]}' \
     -H "Content-Type: application/json" \
     http://localhost:8501/v1/models/linear:predict

Risposta:

{{EJS27}}

Risoluzione dei problemi comuni

1. Modello non trovato: Assicurarsi che la struttura della directory del modello sia corretta e che la variabile d'ambiente `MODEL_NAME` corrisponda alla directory corretta.
2. Firma non corrispondente: La firma di input del modello esportato deve corrispondere all'input fornito durante le richieste di previsione. Utilizzare lo strumento `saved_model_cli` per ispezionare la firma di SavedModel.
3. Conflitti portuali: Assicurarsi che le porte specificate (8501 per REST, 8500 per gRPC) non siano utilizzate da altri processi.
4. Autorizzazioni sui file: Verificare che Docker abbia l'autorizzazione per accedere ai file del modello sulla macchina host.

Integrazione con Google Cloud

TensorFlow Serving può essere integrato con Google Cloud AI Platform per distribuzioni gestite. Tuttavia, i principi fondamentali di esportazione dei modelli, elaborazione e query rimangono invariati. Google Cloud AI Platform fornisce un servizio gestito per l'elaborazione dei modelli TensorFlow, astraendo la gestione dell'infrastruttura.

paragrafo

TensorFlow Serving offre una soluzione robusta e flessibile per la distribuzione di modelli TensorFlow in un ambiente di produzione. Supporta interfacce REST e gRPC, consente la gestione delle versioni e si integra perfettamente in architetture di distribuzione scalabili. Partendo dall'esportazione del modello, passando per la distribuzione basata su Docker e culminando nell'inferenza basata su API, TensorFlow Serving semplifica la transizione dallo sviluppo del modello alla distribuzione reale. La sua compatibilità sia con stimatori semplici che con modelli complessi lo rende uno strumento versatile nel toolkit di distribuzione per il machine learning.

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?
  • In che modo i modelli Keras sostituiscono gli stimatori TensorFlow?
  • Come configurare uno specifico ambiente Python con Jupyter Notebook?
  • 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, docker, GRPC, Distribuzione del modello, Versionamento del modello, Produzione ML, API REST, Modello salvato, Servizio TensorFlow
Casa » Intelligenza Artificiale/EITC/AI/GCML Google Cloud Machine Learning/Primi passi nel Machine Learning/Stimatori chiari e semplici » Come utilizzare TensorFlow Serving?

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