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
)
Получить из кэша или создать операцию по умолчанию.
© 2020 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 3.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r2.4/api_docs/python/tf/compat/v1/train/Scaffold