Konfigurasi
TFMA menyimpan konfigurasinya dalam proto yang diserialkan ke JSON. Proto ini menggabungkan konfigurasi yang diperlukan untuk data masukan, data keluaran, spesifikasi model, spesifikasi metrik, dan spesifikasi pemotongan.
Semua pipeline TFMA dikaitkan dengan model dasar (primer) dan tidak ada atau lebih kandidat model (sekunder). Model dasar dan kandidat ditentukan oleh pengguna di awal alur dan masing-masing memerlukan nama unik. Berikut ini adalah contoh pengaturan konfigurasi umum yang mungkin digunakan pengguna:
- Evaluasi model tunggal:
- T/A (yaitu tanpa nama)
- Evaluasi berbasis validasi:
-
baseline
-
candidate
-
- Evaluasi perbandingan model:
-
my_model_a
-
my_model_b
-
Spesifikasi Model
Spesifikasi model bertipe 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 tanda tangan yang digunakan untuk prediksi (defaultnya adalahserving_default
). Gunakaneval
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 bertipe 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 di metrik .
Spesifikasi Pengirisan
Spesifikasi pemotongan bertipe tfma.SlicingSpec
dan digunakan untuk mengonfigurasi kriteria irisan yang akan digunakan selama evaluasi. Pengirisan dapat dilakukan dengan feature_keys
, feature_values
, atau keduanya. Beberapa contoh spesifikasi slicing adalah sebagai berikut:
-
{}
- Irisan yang terdiri dari data keseluruhan.
-
{ feature_keys: ["country"] }
- Irisan untuk semua nilai di fitur "negara". Misalnya, kita mungkin mendapatkan potongan "negara:us", "negara:jp", dll.
-
{ feature_values: [{key: "country", value: "us"}] }
- Irisan yang terdiri dari "negara: kita".
-
{ feature_keys: ["country", "city"] }
- Irisan untuk semua nilai dalam fitur "negara" disilangkan dengan semua nilai dalam fitur "kota" (perhatikan ini mungkin mahal).
-
{ feature_keys: ["country"] feature_values: [{key: "age", value: "20"}] }
- Irisan untuk semua nilai dalam fitur "negara" disilangkan dengan nilai "usia:20"
Perhatikan bahwa kunci fitur dapat berupa fitur yang diubah atau fitur masukan mentah. Lihat tfma.SlicingSpec
untuk informasi lebih lanjut.
EvalSharedModel
Selain pengaturan konfigurasi, TFMA juga mengharuskan instance tfma.EvalSharedModel
dibuat untuk berbagi model antara beberapa thread dalam proses yang sama. Contoh model bersama mencakup informasi tentang jenis model (keras, dll) dan cara memuat serta mengonfigurasi model dari lokasi tersimpannya di disk (misalnya tag, dll). API tfma.default_eval_shared_model
dapat digunakan untuk membuat instance default dengan jalur dan kumpulan tag.