Bantuan melindungi Great Barrier Reef dengan TensorFlow pada Kaggle Bergabung Tantangan

Penyiapan Analisis Model Tensorflow

Konfigurasi

TFMA menyimpan konfigurasinya dalam proto yang diserialkan ke JSON. Protokol ini menggabungkan konfigurasi yang diperlukan untuk data masukan, data keluaran, spesifikasi model, spesifikasi metrik, dan spesifikasi pemotongan.

Semua pipeline TFMA dikaitkan dengan model baseline (primer) dan nol atau lebih model kandidat (sekunder). Model baseline dan kandidat ditentukan oleh pengguna di awal pipeline dan masing-masing memerlukan nama yang unik. Berikut ini adalah contoh konfigurasi umum yang dapat digunakan pengguna:

  • Evaluasi model tunggal:
    • N / A (yaitu tanpa nama)
  • Evaluasi berbasis validasi:
    • baseline
    • candidate
  • Evaluasi perbandingan model:
    • my_model_a
    • my_model_b

Spesifikasi Model

Spesifikasi model berjenis tfma.ModelSpec dan digunakan untuk menentukan lokasi model serta parameter spesifik model lainnya. Misalnya, berikut ini adalah pengaturan umum yang perlu dikonfigurasi sebelum menjalankan evaluasi:

  • name - nama model (jika beberapa model digunakan)
  • signature_name - nama signature yang digunakan untuk prediksi (default-nya adalah serving_default ). Gunakan eval jika menggunakan EvalSavedModel.
  • label_key - nama fitur yang terkait dengan label.
  • example_weight_key - nama fitur yang dikaitkan dengan bobot contoh.

Spesifikasi Metrik

Spesifikasi metrik adalah jenis tfma.MetricsSpec dan digunakan untuk mengonfigurasi metrik yang akan dihitung sebagai bagian dari evaluasi. Masalah pembelajaran mesin yang berbeda menggunakan jenis metrik yang berbeda dan TFMA menawarkan banyak opsi untuk mengonfigurasi dan menyesuaikan metrik yang dihitung. Karena metrik adalah bagian yang sangat besar dari TFMA, metrik tersebut dibahas secara rinci secara terpisah dalam metrik .

Mengiris Spesifikasi

Spesifikasi tfma.SlicingSpec berjenis tfma.SlicingSpec dan digunakan untuk mengkonfigurasi kriteria slice yang akan digunakan selama evaluasi. Pemotongan dapat dilakukan dengan feature_keys , feature_values , atau keduanya. Beberapa contoh spesifikasi pengiris adalah sebagai berikut:

  • {}
    • Slice terdiri dari data keseluruhan.
  • { feature_keys: ["country"] }
    • Irisan untuk semua nilai di fitur "negara". Misalnya, kita mungkin mendapatkan potongan "country: us", "country: jp", dll.
  • { feature_values: [{key: "country", value: "us"}] }
    • Slice terdiri dari "country: us".
  • { feature_keys: ["country", "city"] }
    • Irisan untuk semua nilai di fitur "negara" disilangkan dengan semua nilai di fitur "kota" (perhatikan ini mungkin mahal).
  • { feature_keys: ["country"] feature_values: [{key: "age", value: "20"}] }
    • Potongan untuk semua nilai di fitur "country" disilangkan dengan nilai "age: 20"

Perhatikan bahwa tombol fitur dapat berupa fitur yang diubah atau fitur masukan mentah. Lihat tfma.SlicingSpec untuk informasi lebih lanjut.

EvalSharedModel

Selain pengaturan konfigurasi, TFMA juga mengharuskan turunan tfma.EvalSharedModel dibuat untuk berbagi model antara beberapa utas dalam proses yang sama. Instance model bersama mencakup informasi tentang jenis model (keras, dll) dan cara memuat dan mengkonfigurasi model dari lokasi tersimpannya di disk (mis. Tag, dll). API tfma.default_eval_shared_model dapat digunakan untuk membuat instance default yang diberi jalur dan kumpulan tag.