tf.saved_model.experimental.VariablePolicy
Перечисление, определяющее параметры обработки переменных при сохранении.
NONE Нет политики: распределенные переменные сохраняются как одна переменная без указанного устройства.
SAVE_VARIABLE_DEVICES При сохранении переменных также сохраняется их назначение устройств. Это полезно, если необходимо жёстко задать устройства в сохранённых моделях, но это также делает их непереносимыми, если отложена динамическая установка устройств (подробнее в tf.config.set_soft_device_placement). В настоящее время это не полностью поддерживается saved_model.load и предназначено в основном для использования при чтении сохранённой модели на более низком уровне API. В примере ниже график, сохранённый вызовом saved_model.save, будет содержать правильно указанные устройства переменных:
exported = tf.train.Checkpoint()
with tf.device('/GPU:0'):
exported.x_gpu = tf.Variable(1.0)
with tf.device('/CPU:0'):
exported.x_cpu = tf.Variable(1.0)
tf.saved_model.save(exported, export_dir,
options = tf.saved_model.SaveOptions(
experimental_variable_policy=
tf.saved_model.experimental.VariablePolicy.SAVE_VARIABLE_DEVICES))
Распределённые переменные всё ещё сохраняются как одна переменная при данной политике.
EXPAND_DISTRIBUTED_VARIABLES Распределённые переменные будут сохранены с информацией о своих компонентах, что позволит восстановить их при загрузке. Кроме того, сохранённый граф будет содержать ссылки на эти переменные. Это полезно, когда нужно использовать модель для обучения в средах, где исходная стратегия распределения недоступна.
| Переменные класса | |
|---|---|
| EXPAND_DISTRIBUTED_VARIABLES | <VariablePolicy.EXPAND_DISTRIBUTED_VARIABLES: 'expand_distributed_variables'> |
| NONE | <VariablePolicy.NONE: None> |
| SAVE_VARIABLE_DEVICES | <VariablePolicy.SAVE_VARIABLE_DEVICES: 'save_variable_devices'> |
© 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/versions/r2.9/api_docs/python/tf/saved_model/experimental/VariablePolicy