Каковы различия между tf.initialize_all_variables() и tf.global_variables_initializer()

На официальном сайте Tensorflow он дает объяснения функций tf.initialize_all_variables() и tf.global_variables_initializer(), как следует

tf.initialize_all_variables():

Возвращает op, который инициализирует все переменные.

tf.global_variables_initializer():

Добавляет op для инициализации всех переменных в модели

Кажется, что оба могут использоваться для инициализации всех переменных в графах. Можем ли мы использовать эти две функции в обмене? Если нет, каковы будут различия?

Ответ 1

К сожалению, вы забыли прочитать важную строку в документации tf.initialize_all_variables.

ЭТА ФУНКЦИЯ УДАЛЯЕТСЯ. Он будет удален после 2017-03-02. Инструкции по обновлению: вместо этого используйте tf.global_variables_initializer.

Ответ 2

changelog для версии 0.12 сообщает, что обе обе функции выполняют одно и то же, потому что:

tf.initialize_all_variables переименован в tf.global_variables_initializer

а Martianwars упоминает документацию для initialize_all_variables сообщает, что:

ЭТА ФУНКЦИЯ УДАЛЯЕТСЯ. Он будет удален после 2017-03-02. Инструкции по обновлению: используйте tf.global_variables_initializer вместо этого.

Если вы его назовете, вы получите предупреждение. Поэтому вы всегда должны использовать tf.global_variables_initializer()