Earth Engine için Barındırılan Özel Model

TensorFlow veya PyTorch gibi bir makine öğrenimi çerçevesi kullanarak özel olarak eğitilmiş bir modelle çıkarım yapmak için modeli Vertex AI'a kaydedip yüklemeniz, bir tahmin uç noktası oluşturmanız ve oluşturulan uç noktada trafik yayınlamak için modeli dağıtmanız gerekir.

Model girişi

Modelinizi kaydedip Vertex AI'a yüklemeden önce, modelin Earth Engine'ın desteklediği bir yükü biçiminde verileri kabul ettiğinden emin olmanız gerekir. Daha fazla bilgi için yük biçimleri sayfamıza göz atın.

Model Yapısı

Sonraki adımda, modelinizi Vertex AI'da barındırılabilen bir biçime kaydetmeniz gerekir.

TensorFlow

TensorFlow tabanlı modeller birkaç farklı biçimde kaydedilebilir ancak Vertex AI, SavedModel biçimini gerektirir. Keras tabanlı modeller, tf.keras.Model.export() ile SavedModel olarak dışa aktarılmalıdır. Diğer TensorFlow modelleri için daha ilkel tf.saved_model.save() kullanılmalıdır. Daha fazla ayrıntı için SavedModel biçimiyle ilgili dokümanları inceleyin.

PyTorch

PyTorch modellerinde, model yapılarını tahmin sunumu için hazırlamanın biraz farklı bir yolu vardır. Özel olarak eğitilmiş bir model oluşturuyorsanız modelin önce kaydedilmesi gerekir. Performans nedeniyle PyTorch modelinizi TorchScript'e dönüştürmeniz ve model dosyasını şu şekilde kaydetmeniz önerilir:

model_scripted = torch.jit.script(model) # Export to TorchScript
model_scripted.save('model.pt') # Save

Model dosyası kaydedildikten sonra Vertex AI'a dağıtılabilmesi için arşivlenmelidir. Önceden derlenmiş bir kapsayıcı kullanırken model "model" olarak adlandırılmalıdır. Modeli arşivlemek için torch-model-archiver'ın, modelinizin ihtiyaç duyduğu tüm özel işleyiciler ve ek dosyalar dahil olmak üzere çalıştırılması gerekir. Bununla ilgili bir örneği aşağıda bulabilirsiniz:

torch-model-archiver -f \
  --model-name model \
  --version 1.0  \
  --serialized-file $model_file \
  --handler $hander_file \
  --extra-files $index_to_name_file \
  --export-path $model_path

Vertex AI'a Model Dağıtma

Model dosyalarınız kaydedildikten sonraki adım, modelinizi Vertex AI'a yüklemektir. Model yapınızın henüz Google Cloud Storage'da bulunmaması durumunda, gsutil cp $model_path gs://${your-bucket}/models/model gibi bir komutla model arşivinizi önce oraya kopyalayın.

Kopyaladıktan sonra, modelinizi yüklemek için Vertex AI Model Registry'yi kullanabilir veya gcloud komut satırını kullanarak aşağıdaki gibi bir komut çalıştırabilirsiniz:

gcloud ai models upload \
  --artifact-uri=gs://{your-bucket}/models/model \
  --display-name=${display-name} \
  --container-image-uri=${model-container} \
  --container-grpc-ports=8500

İPUCU: Optimum performans için container-grpc-ports işaretiyle gRPC tahminlerini etkinleştirin. gRPC tahminleri hakkında daha fazla bilgiyi yük biçimleri dokümanlarımızda bulabilirsiniz. Bu işaret yalnızca gcloud komut satırı aracı kullanılarak belirtilebilir.

Model Uç Nokta Yönetimi

Bir model Vertex AI'a yüklendikten sonra, yeni bir uç nokta oluşturarak veya endpoints create ve endpoints deploy-model komutlarıyla gcloud komut satırını kullanarak Online Tahmin sayfası üzerinden uç nokta oluşturup modeli dağıtın. Örneğin:

Model oluşturma:

gcloud ai endpoints create \
  --display-name=${endpoint-name}

Model dağıtma

gcloud ai endpoints deploy-model {endpoint-id} \
  --model=${model-id} \
  --traffic-split=0=100 \
  --display-name=${model-display-name} \
  --min-replica-count=${min-replica-count} \
  --max-replica-count=${max-replica-count}

Modeliniz dağıtıldıktan sonra, çıkarım yapmak için Earth Engine'da modelinize bağlanabilirsiniz.