tf.saved_model.SaveOptions
Параметры для сохранения в формате SavedModel.
tf.saved_model.SaveOptions(
namespace_whitelist=None,
save_debug_info=False,
function_aliases=None,
experimental_debug_stripper=False,
experimental_io_device=None,
experimental_variable_policy=None,
experimental_custom_gradients=True,
experimental_image_format=False,
experimental_skip_saver=False,
experimental_sharding_callback=None
)
Используется в ноутбуках
| Используется в руководстве | Используется в учебных материалах |
|---|---|
Эту функцию можно использовать в качестве аргумента options в функциях, сохраняющих SavedModel (tf.saved_model.save, tf.keras.models.save_model).
| Аргументы | |
|---|---|
namespace_whitelist | Список строк с пространствами имен операций, которые следует внести в белый список при сохранении модели. При сохранении объекта, использующего операции с пространствами имен, необходимо явно добавить в белый список все пространства имен. При загрузке SavedModel операции с пространствами имен должны быть зарегистрированы в платформе. Если белый список не задан, разрешаются все операции с пространствами имен. |
save_debug_info | Логическое значение, указывающее, сохраняется ли отладочная информация. Если значение равно True, будет создан файл debug/saved_model_debug_info.pb с содержимым двоичного буфера протокола GraphDebugInfo, содержащего информацию о трассировках стека для всех сохраняемых операций и функций. |
function_aliases | Словарь Python. Соответствие строк объектам, возвращаемым @tf.function. Одна функция tf.function может создавать множество ConcreteFunctions. Если нижестоящему инструменту нужно обращаться ко всем конкретным функциям, созданным одной функцией tf.function, можно использовать аргумент function_aliases для хранения соответствия имени псевдонима всем именам конкретных функций. Например: >>> class Adder(tf.Module): ... @tf.function ... def double(self, x): ... return x + x >>> model = Adder() >>> model.double.get_concrete_function( ... tf.TensorSpec(shape=[], dtype=tf.float32, name="float_input")) >>> model.double.get_concrete_function( ... tf.TensorSpec(shape=[], dtype=tf.string, name="string_input")) >>> options = tf.saved_model.SaveOptions( ... function_aliases={'double': model.double}) >>> tf.saved_model.save(model, '/tmp/adder', options=options) |
experimental_debug_stripper | bool. Если задано значение True, отладочные узлы удаляются из графа — как из узлов, так и из определений функций. Обратите внимание: в настоящее время из графа удаляются только узлы Assert, которые вместо этого преобразуются в NoOp. |
experimental_io_device | string. Применяется в распределенной среде. Устройство TensorFlow, используемое для доступа к файловой системе. Если задано None (значение по умолчанию), для каждой переменной файловая система доступна с устройства CPU:0 хоста, которому назначена эта переменная. Если устройство указано, файловая система для всех переменных будет доступна с этого устройства. Это, например, полезно, если нужно сохранить данные в локальный каталог, например "/tmp", при выполнении в распределенной среде. В этом случае укажите устройство хоста, на котором доступен каталог "/tmp". |
experimental_variable_policy | Политика, применяемая к переменным при сохранении. Это либо экземпляр перечисления saved_model.experimental.VariablePolicy, либо одна из строковых констант его значений (регистр не имеет значения). Подробности см. в документации по этому перечислению. Значение None соответствует политике по умолчанию. |
experimental_custom_gradients | Логическое значение. Если задано значение True, для функций, декорированных с помощью tf.custom_gradient, будут сохранены трассированные функции градиента. Значение по умолчанию — True. |
experimental_image_format | Новый (весьма) экспериментальный формат, позволяющий сохранять модели размером более 2 ГБ, что превышает ограничение protobuf. Включение этого параметра, вероятно, нарушит совместимость с нижестоящими потребителями. В настоящее время этот параметр отключен в OSS. |
experimental_skip_saver | Если задано значение True, SavedModel не будет создавать собственные операции контрольных точек. Это предназначено для моделей, не использующих встроенные в SavedModel функции создания контрольных точек, и позволяет избежать затрат, связанных с созданием и сериализацией этих операций. |
experimental_sharding_callback | tf.train.experimental.ShardingCallback. Готовый или пользовательский обратный вызов, определяющий способ разделения контрольных точек на диске. Доступны следующие готовые варианты обратных вызовов: tf.train.experimental.ShardByDevicePolicy и tf.train.experimental.MaxShardSizePolicy. Также можно написать собственный обратный вызов; см. tf.train.experimental.ShardingCallback. |
| Атрибуты | |
|---|---|
experimental_custom_gradients | |
experimental_debug_stripper | |
experimental_image_format | |
experimental_io_device | |
experimental_sharding_callback | |
experimental_skip_saver | |
experimental_variable_policy | |
function_aliases | |
namespace_whitelist | |
save_debug_info | |
© 2022 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 4.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/api_docs/python/tf/saved_model/SaveOptions