Na tej stronie znajdziesz przykładowe przepływy pracy, które pokazują, jak korzystać z TensorFlow w Earth Engine. Więcej informacji znajdziesz na stronie TensorFlow. Te przykłady zostały napisane za pomocą interfejsu Earth Engine Python API i TensorFlow działającego w notatniku Colab.
Koszty
Prognozy wieloklasowe za pomocą głębokiej sieci neuronowej
„Głęboka” sieć neuronowa (DNN) to po prostu sztuczna sieć neuronowa (ANN) z co najmniej jedną ukrytą warstwą. Ten przykład pokazuje bardzo prosty DNN z jedną warstwą ukrytą. DNN otrzymuje wektory widmowe jako dane wejściowe (czyli po jednym pikselu naraz) i zwraca etykietę jednej klasy oraz prawdopodobieństwa klas na każdy piksel. Poniżej znajduje się notatnik Colab, który pokazuje, jak utworzyć sieć DNN, przeszkolić ją na podstawie danych z Earth Engine, dokonywać prognoz na podstawie wyeksportowanych obrazów oraz importować prognozy do Earth Engine.
Hostowany DNN do prognozowania w Earth Engine
Aby uzyskać prognozy z wytrenowanego modelu bezpośrednio w Earth Engine (np. w Edytorze kodu), musisz go hostować na Google AI Platform. W tym przewodniku dowiesz się, jak zapisać wytrenowany model w formacie SavedModel
, przygotować go do hostowania za pomocą polecenia earthengine model prepare
oraz uzyskiwać prognozy w Earth Engine w sposób interaktywny za pomocą polecenia ee.Model.fromAiPlatformPredictor
.
Regresja logistyczna w TensorFlow
Klasyczne metody uczenia maszynowego, takie jak regresja logistyczna, są naturalne do implementowania w TensorFlow. Ten notatnik pokazuje detektor wylesiania oparty na regresji logistycznej przed i po zastosowaniu rocznych kompozycji. Pamiętaj, że ten bardzo prosty model służy tylko do celów demonstracyjnych. Aby zwiększyć dokładność, dodaj kilka ukrytych warstw.
Regresja z siecią FCNN
Sieć neuronowa (CNN) o strukturze splotowej zawiera co najmniej 1 warstwę splotową, w której dane wejściowe stanowią sąsiedztwo pikseli, co powoduje, że sieć nie jest w pełni połączona, ale nadaje się do identyfikowania wzorów przestrzennych. Pełna sieć neuronowa (FCNN) nie zawiera w wyjściu warstwy w pełni połączonej. Oznacza to, że nie uczy się globalnego wyniku (czyli jednego wyniku na obraz), lecz raczej wyniki zlokalizowane (czyli na piksel).
Ten notatnik w Colab pokazuje, jak używać modelu UNET, czyli sieci FCNN opracowanej do segmentacji obrazów medycznych, do prognozowania ciągłego wyjścia [0,1] w każdym pikselu z sąsiedztwa 256 x 256 pikseli. W tym przykładzie pokazano, jak eksportować fragmenty danych do trenowania sieci oraz jak nakładać na siebie fragmenty obrazu na potrzeby wnioskowania, aby wyeliminować artefakty na granicach fragmentów.
Trenowanie w AI Platform
W przypadku stosunkowo dużych modeli (takich jak FCNN) czas działania bezpłatnej maszyny wirtualnej, na której działają notatniki Colab, może nie wystarczyć do długotrwałego zadania uczenia. Jeśli oczekiwany błąd prognozy nie zostanie zminimalizowany w zbiorze danych do oceny, warto przeprowadzić więcej iteracji treningu. W tym notatniku Colab pokazujemy, jak wykonywać duże zadania trenowania w chmurze. Możesz zapakować kod treningowy, rozpocząć zadanie treningowe, przygotować SavedModel
za pomocą polecenia earthengine model prepare
oraz uzyskać prognozy w Earth Engine w sposób interaktywny za pomocą polecenia ee.Model.fromAiPlatformPredictor
.