Halaman ini menjelaskan cara menyimpan model TensorFlow untuk digunakan dengan AI Explanations, baik Anda menggunakan TensorFlow 2.x maupun TensorFlow 1.15.
TensorFlow 2
Jika Anda menggunakan TensorFlow 2.x, gunakan tf.saved_model.save
untuk menyimpan model Anda.
Opsi umum untuk mengoptimalkan model TensorFlow tersimpan adalah meminta pengguna memberikan tanda tangan. Anda dapat menentukan tanda tangan input saat menyimpan model.
Jika Anda hanya memiliki satu tanda tangan input, AI Explanations akan otomatis menggunakan
fungsi penyaluran default untuk permintaan penjelasan Anda, dengan mengikuti perilaku
default tf.saved_model.save
. Pelajari lebih lanjut cara menentukan tanda tangan penyaluran di TensorFlow.
Beberapa tanda tangan input
Jika model Anda memiliki lebih dari satu tanda tangan input, AI Explanations tidak dapat otomatis menentukan definisi tanda tangan mana yang akan digunakan saat mengambil prediksi dari model Anda. Oleh karena itu, Anda harus menentukan definisi tanda tangan mana yang ingin digunakan oleh Penjelasan AI. Saat Anda menyimpan model, tentukan tanda tangan fungsi default penyaluran Anda dalam kunci unik, xai-model
:
tf.saved_model.save(m, model_dir, signatures={
'serving_default': serving_fn,
'xai_model': my_signature_default_fn # Required for AI Explanations
})
Dalam hal ini, AI Explanations menggunakan tanda tangan fungsi model yang Anda berikan dengan
kunci xai_model
untuk berinteraksi dengan model dan menghasilkan penjelasan. Gunakan string yang sama persis dengan xai_model
untuk kunci tersebut. Lihat ringkasan Definisi Tanda Tangan ini untuk latar belakang selengkapnya.
Fungsi pra-pemrosesan
Jika menggunakan fungsi pra-pemrosesan, Anda harus menentukan tanda tangan untuk
fungsi prapemrosesan dan fungsi model saat menyimpan model. Gunakan
kunci xai_preprocess
untuk menentukan fungsi pra-pemrosesan Anda:
tf.saved_model.save(m, model_dir, signatures={
'serving_default': serving_fn,
'xai_preprocess': preprocess_fn, # Required for AI Explanations
'xai_model': model_fn # Required for AI Explanations
})
Dalam hal ini, AI Explanations menggunakan fungsi pra-pemrosesan dan fungsi model Anda untuk permintaan penjelasan. Pastikan output fungsi pra-pemrosesan Anda cocok dengan input yang diharapkan oleh fungsi model Anda.
Coba notebook contoh TensorFlow 2 lengkap:
TensorFlow 1.15
Jika Anda menggunakan TensorFlow 1.15, jangan gunakan tf.saved_model.save
.
Fungsi ini tidak didukung dengan AI Explanations saat menggunakan TensorFlow 1. Sebagai gantinya, gunakan tf.estimator.export_savedmodel
bersama dengan
tf.estimator.export.ServingInputReceiver
yang sesuai
Model yang dibuat dengan Keras
Jika membangun dan melatih model di Keras, Anda harus mengonversi model menjadi Estimator TensorFlow, lalu mengekspornya ke SavedModel. Bagian ini berfokus pada penyimpanan model. Untuk contoh yang berfungsi penuh, lihat contoh notebook:
Setelah mem-build, mengompilasi, melatih, dan mengevaluasi model Keras, Anda harus melakukan hal berikut:
- Mengonversi model Keras menjadi Estimator TensorFlow menggunakan
tf.keras.estimator.model_to_estimator
- Memberikan fungsi input inferensi menggunakan
tf.estimator.export.build_raw_serving_input_receiver_fn
- Mengekspor model sebagai SavedModel menggunakan
tf.estimator.export_saved_model
.
# Build, compile, train, and evaluate your Keras model
model = tf.keras.Sequential(...)
model.compile(...)
model.fit(...)
model.predict(...)
## Convert your Keras model to an Estimator
keras_estimator = tf.keras.estimator.model_to_estimator(keras_model=model, model_dir='export')
## Define a serving input function appropriate for your model
def serving_input_receiver_fn():
...
return tf.estimator.export.ServingInputReceiver(...)
## Export the SavedModel to Cloud Storage using your serving input function
export_path = keras_estimator.export_saved_model(
'gs://' + 'YOUR_BUCKET_NAME', serving_input_receiver_fn).decode('utf-8')
print("Model exported to: ", export_path)
Langkah selanjutnya
- Pelajari cara menggunakan Explainable AI SDK.
- Untuk memvisualisasikan penjelasan, Anda dapat menggunakan What-If Tool. Lihat contoh notebook untuk mempelajari lebih lanjut.