tf.compat.v1.train.Scaffold
Структура для создания или сбора часто необходимых элементов для обучения модели.
tf.compat.v1.train.Scaffold(
init_op=None,
init_feed_dict=None,
init_fn=None,
ready_op=None,
ready_for_local_init_op=None,
local_init_op=None,
summary_op=None,
saver=None,
copy_from_scaffold=None,
local_init_feed_dict=None
)
При построении модели для обучения обычно требуется операция для инициализации переменных, Saver для их сохранения, операция для сбора сводок для визуализатора и так далее.
Различные библиотеки, построенные поверх основной библиотеки TensorFlow, заботятся о создании некоторых или всех этих элементов и сохранении их в известных коллекциях графа. Класс Scaffold помогает выбрать эти элементы из коллекций графа, создавая и добавляя их в коллекции при необходимости.
Если вы вызываете конструктор scaffold без каких-либо аргументов, он будет выбирать элементы из коллекций, создавая значения по умолчанию при необходимости, когда scaffold.finalize() вызывается. Вы можете передать аргументы конструктору, чтобы предоставить свои собственные элементы. Элементы, которые вы передаете конструктору, не добавляются в коллекции графа.
Следующие элементы напрямую доступны в качестве атрибутов объекта Scaffold:
-
saver: Объектtf.compat.v1.train.Saver, отвечающий за сохранение переменных. По умолчанию выбирается из и сохраняется в коллекциюSAVERSв графе. -
init_op: Операция для запуска инициализации переменных. По умолчанию выбирается из и сохраняется в коллекциюINIT_OPв графе. -
ready_op: Операция для проверки того, что переменные инициализированы. По умолчанию выбирается из и сохраняется в коллекциюREADY_OPв графе. -
ready_for_local_init_op: Операция для проверки, что глобальное состояние инициализировано, и можно безопасно выполнитьlocal_init_op. По умолчанию выбирается из и сохраняется в коллекциюREADY_FOR_LOCAL_INIT_OPв графе. Это необходимо, когда инициализация локальных переменных зависит от значений глобальных переменных. -
local_init_op: Операция для инициализации локальных переменных. По умолчанию выбирается из и сохраняется в коллекциюLOCAL_INIT_OPв графе. -
summary_op: Операция для запуска и объединения сводок в графе. По умолчанию выбирается из и сохраняется в коллекциюSUMMARY_OPв графе.
Вы также можете передать следующие дополнительные элементы конструктору:
-
init_feed_dict: Словарь входных данных сессии, который должен использоваться при запуске операции инициализации. -
init_fn: Вызываемый объект для выполнения дополнительных инициализаций после выполнения операции инициализации. Он будет вызываться какinit_fn(scaffold, session).
| Аргументы | |
|---|---|
init_op | Необязательная операция для инициализации переменных. |
init_feed_dict | Необязательный словарь входных данных сессии, который следует использовать при выполнении init_op. |
init_fn | Необязательная функция для инициализации модели после выполнения init_op. Будет вызвана как init_fn(scaffold, session). |
ready_op | Необязательная операция для проверки инициализации переменных. Должна возвращать пустой 1D строковый тензор, если переменные инициализированы, или непустой 1D строковый тензор, перечисляющий имена неинициализированных переменных. |
ready_for_local_init_op | Необязательная операция для проверки инициализации глобальных переменных и возможности выполнения local_init_op. Должна возвращать пустой 1D строковый тензор, если глобальные переменные инициализированы, или непустой 1D строковый тензор, перечисляющий имена неинициализированных глобальных переменных. |
local_init_op | Необязательная операция для инициализации локальных переменных. |
summary_op | Необязательная операция для сбора всех сводок. Должна возвращать скалярный строковый тензор, содержащий сериализованный Summary протокол. |
saver | Необязательный объект tf.compat.v1.train.Saver для сохранения и восстановления переменных. Может также быть объектом tf.train.Checkpoint, в этом случае сохраняются чекпойнты на основе объектов. Также будут загружаться некоторые чекпойнты на основе объектов, сохранённые в другом месте, но эта загрузка может быть неустойчивой, так как она использует фиксированные ключи вместо выполнения полного сопоставления на основе графа. Например, если переменная имеет два пути от объекта Checkpoint из-за того, что два объекта Model используют объект Layer, который ее владеет, удаление одного объекта Model может изменить ключи и нарушить загрузку чекпойнтов через этот API, тогда как сопоставление на основе графа сопоставит переменную через другой объект Model. |
copy_from_scaffold | Необязательный объект scaffold для копирования полей. Его поля будут перезаписаны предоставленными полями в этой функции. |
local_init_feed_dict | Необязательный словарь входных данных сессии для использования при выполнении local_init_op. |
| Атрибуты | |
|---|---|
init_feed_dict | |
init_fn | |
init_op | |
local_init_feed_dict | |
local_init_op | |
ready_for_local_init_op | |
ready_op | |
saver | |
summary_op | |
Методы
default_local_init_op
@staticmethod default_local_init_op()
Возвращает операцию, которая группирует операции инициализации локальных переменных по умолчанию.
Эта операция используется во время инициализации сессии, когда Scaffold инициализируется без указания аргумента local_init_op. Она включает tf.compat.v1.local_variables_initializer, tf.compat.v1.tables_initializer и также инициализирует локальные ресурсы сессии.
| Возвращает | |
|---|---|
| Операция инициализации локальных переменных Scaffold по умолчанию. |
finalize
finalize()
Создает операции при необходимости и завершает работу графа.
get_or_default
@staticmethod
get_or_default(
arg_name, collection_key, default_constructor
)
Получить из кэша или создать операцию по умолчанию.
© 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/compat/v1/train/Scaffold