tf.train.Scaffold
Структура для создания или сбора часто необходимых элементов для обучения модели.
tf.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
)
При построении модели для обучения обычно требуются операции для инициализации переменных, 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 | Необязательная операция для проверки того, что переменные инициализированы. Должна возвращать пустой тензор строки размерности 1, когда переменные инициализированы, или ненулевой тензор строки размерности 1, перечисляющий имена неинициализированных переменных. |
ready_for_local_init_op | Необязательная операция для проверки того, что глобальные переменные инициализированы, и можно запустить local_init_op. Должна возвращать пустой тензор строки размерности 1, когда глобальные переменные инициализированы, или ненулевой тензор строки размерности 1, перечисляющий имена неинициализированных глобальных переменных. |
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 для копирования полей. Его поля будут перезаписаны предоставленными полями в этой функции. |
| Атрибуты | |
|---|---|
init_feed_dict | |
init_fn | |
init_op | |
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/r1.15/api_docs/python/tf/train/Scaffold