Какие переменные выполняет global_variables_initializer () для инициализации? - PullRequest
0 голосов
/ 04 мая 2018

В тензорном потоке после того, как я использую cell.zero_state () для инициализации состояния ячейки и скрытого состояния, я должен инициализировать глобальные переменные, иначе ячейка RNN не будет работать.

Однако мне интересно, как он глобализируется (диапазон переменных инициализации?) И какие переменные он глобализирует (смещение? Вес? Функция активации?)?

введите описание ссылки здесь

Я думаю, что параметры, которые должны инициализироваться, отличны от: веса, смещения, функции активации в каждом нейроне.

Что на самом деле делает global_variables_initializer?

Большое спасибо!

1 Ответ

0 голосов
/ 04 мая 2018

Всякий раз, когда вы создаете переменную в TensorFlow, платформа заботится о добавлении этой переменной в коллекцию созданных переменных. Придумайте список с указателями на переменные. Набор таких переменных по умолчанию называется GraphKeys.GLOBAL_VARIABLES.

Функция tf.global_variables_initializer просто извлекает всех этих переменных из коллекции и инициализирует их.

zero_state не создает переменную напрямую. Он просто возвращает «нулевой» тензор соответствующей формы в переменные ячейки.

Диапазон начальных значений переменных зависит от инициализаторов переменных.

Подводя итог: каждая переменная веса, смещения, скрытого состояния собирается в специальный список созданных переменных, и TensorFlow просто инициализирует каждую из этих переменных, аналогично псевдокоду:

foreach v in GraphKeys.GLOBAL_VARIABLES:
    assign v.value = v.call_initializer()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...