TensorFlow è una piattaforma ML open source che supporta metodi di ML avanzati come il deep learning. Questa pagina descrive le funzionalità specifiche di TensorFlow in Earth Engine. Sebbene i modelli TensorFlow vengano sviluppati e addestrati al di fuori di Earth Engine, l'API Earth Engine fornisce metodi per esportare i dati di addestramento e test in formato TFRecord e importare/esportare le immagini in formato TFRecord. Consulta la pagina degli esempi di TensorFlow per saperne di più su come sviluppare pipeline per l'utilizzo di TensorFlow con i dati di Earth Engine. Consulta la pagina TFRecord per scoprire di più su come Earth Engine scrive i dati nei file TFRecord.
ee.Model
Il pacchetto ee.Model
gestisce l'interazione con i modelli di machine learning basati su TensorFlow.
Interazione con i modelli ospitati su AI Platform
È possibile creare una nuova istanza ee.Model
con
ee.Model.fromAiPlatformPredictor()
. Si tratta di un oggetto ee.Model
che impacchetta i dati di Earth Engine in tensori, li inoltra come richieste di previsione alla
piattaforma Google AI e poi ricompone automaticamente le risposte nei tipi di dati di Earth Engine. Tieni presente che, a seconda delle dimensioni
e della complessità del modello e dei relativi input, potresti volere
modificare
le dimensioni minime del nodo del modello AI Platform per gestire un volume elevato di
previsioni.
Earth Engine richiede che i modelli di AI Platform utilizzino il formato
SavedModel
di TensorFlow. Prima che un modello ospitato possa interagire con Earth Engine, i relativi input/output devono essere compatibili con il formato di interscambio TensorProto, in particolare con i TensorProto serializzati in base64. Per semplificare, l'interfaccia a riga di comando di Earth Engine dispone del comando
model prepare
che inserisce un
SavedModel esistente nelle operazioni necessarie per convertire i formati di input/output.
Per utilizzare un modello con ee.Model.fromAiPlatformPredictor()
, devi disporre di autorizzazioni sufficienti per utilizzarlo. Nello specifico, tu (o chiunque utilizzi il modello) devi disporre almeno del
ruolo Utente modello dell'engine ML. Puoi ispezionare e impostare le autorizzazioni dei modelli dalla
pagina Modelli della console Cloud.
Regioni
Devi utilizzare endpoint regionali per i tuoi modelli, specificando la regione al momento della creazione del modello, della creazione della versione e in ee.Model.fromAiPlatformPredictor()
. Puoi scegliere qualsiasi regione (non utilizzare global), ma è preferibile us-central1
. Non specificare il parametro
REGIONS
. Se stai creando un modello dalla
console Cloud,
assicurati che la casella regionale sia selezionata.
Costi
Predizioni di immagini
Utilizza model.predictImage()
per fare previsioni su un ee.Image
utilizzando un modello ospitato. Il tipo di ritorno di predictImage()
è un
ee.Image
che può essere aggiunto alla mappa, utilizzato in altri calcoli,
esportato e così via. Earth Engine suddivide automaticamente le bande di input e regola
la proiezione di output in base alle modifiche di scala e al sovratiling, se necessario. (consulta
la documentazione di TFRecord per ulteriori informazioni su come funziona la suddivisione in riquadri). Tieni presente che Earth Engine inoltra sempre i tensori 3D al tuo modello anche quando
le bande sono scalari (l'ultima dimensione sarà 1).
Quasi tutti i modelli convoluzionali avranno una proiezione di input fissa (quella dei dati su cui è stato addestrato il modello). In questo caso, imposta il parametro fixInputProj
su true nella chiamata a ee.Model.fromAiPlatformPredictor()
.
Quando visualizzi le previsioni, fai attenzione quando diminuisci lo zoom di un modello con una proiezione di input fissa. Per lo stesso motivo descritto
qui. In particolare, lo zoom su un ambito spaziale ampio può comportare richieste di troppi dati e potrebbe manifestarsi sotto forma di rallentamenti o rifiuti da parte della piattaforma AI.