Класс SaveOptions
Класс SaveOptions используется для настройки
процесса сохранения моделей TensorFlow в формате
SavedModel. Он передается в функцию
tf.saved_model.save вторым параметром.
Класс позволяет указать, нужно ли сохранять
конкретные объекты, функции или переменные,
а также настроить поведение сериализации.
Основные атрибуты: save_debug_info,
namespace_whitelist,
experimental_custom_gradients,
experimental_image_format,
experimental_variable_policy.
Синтаксис
tf.saved_model.SaveOptions(
namespace_whitelist=None,
save_debug_info=False,
experimental_custom_gradients=True,
experimental_image_format=False,
experimental_variable_policy=None,
experimental_load_function_aliases=False,
allow_missing_variables=False
)
Пример
Давайте создадим простую модель и сохраним ее
с параметрами по умолчанию, используя класс
SaveOptions:
import tensorflow as tf
model = tf.keras.Sequential([
tf.keras.layers.Dense(2, input_shape=(3,))
])
options = tf.saved_model.SaveOptions()
tf.saved_model.save(model, 'model.keras', options=options)
print("model saved")
Результат выполнения кода:
"model saved"
Пример
Давайте сохраним модель с включенной
отладочной информацией, установив атрибут
save_debug_info в значение True:
import tensorflow as tf
model = tf.keras.Sequential([
tf.keras.layers.Dense(2, input_shape=(3,))
])
options = tf.saved_model.SaveOptions(save_debug_info=True)
tf.saved_model.save(model, 'model_debug.keras', options=options)
print("model saved with debug info")
Результат выполнения кода:
"model saved with debug info"
Пример
Давайте сохраним модель с указанием белого
списка пространств имен через атрибут
namespace_whitelist:
import tensorflow as tf
model = tf.keras.Sequential([
tf.keras.layers.Dense(2, input_shape=(3,))
])
options = tf.saved_model.SaveOptions(
namespace_whitelist=['tf', 'keras']
)
tf.saved_model.save(model, 'model_ns.keras', options=options)
print("model saved with namespace whitelist")
Результат выполнения кода:
"model saved with namespace whitelist"
Пример
Давайте сохраним модель с политикой переменных
experimental_variable_policy,
установленной в значение 'save_variables':
import tensorflow as tf
model = tf.keras.Sequential([
tf.keras.layers.Dense(2, input_shape=(3,))
])
options = tf.saved_model.SaveOptions(
experimental_variable_policy='save_variables'
)
tf.saved_model.save(model, 'model_vars.keras', options=options)
print("model saved with variable policy")
Результат выполнения кода:
"model saved with variable policy"
Смотрите также
-
функцию
saved_model.save,
которая сохраняет модель в формате SavedModel -
функцию
saved_model.load,
которая загружает сохраненную модель -
класс
LoadOptions,
который настраивает параметры загрузки модели -
функцию
latest_checkpoint,
которая находит последний чекпоинт