Previsioni con TensorFlow e Cloud AI Platform

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.