В общем, это немного сложно, но нам не нужно взламывать тензор потока.

казать tf.train.MonitoredTrainingSession восстановить только подмножество переменных и выполнить инициализацию для остальных?

Начиная с учебника cifar10.https://github.com/tensorflow/models/blob/master/tutorials/image/cifar10/cifar10_train.py

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

  restoration_saver = Saver(var_list=restore_vars)
  restoration_scaffold = Scaffold(init_op=variables_initializer(init_vars),
                                  ready_op=constant([]),
                                  saver=restoration_saver)

но это дает следующую ошибку:

RuntimeError: Операции Init не делали модель готовой для local_init. Начальная операция: group_deps, init fn: нет, ошибка: переменные не инициализированы: conv2a / T, conv2b / T, [...]

.. где неинициализированные переменные, перечисленные в сообщении об ошибке, являются переменными в моем списке "init_vars".

Исключение вызывается SessionManager.prepare_session (). Похоже, что исходный код этого метода указывает, что если сеанс восстанавливается с контрольной точки, то init_op не запускается. Таким образом, похоже, что вы можете восстановить или инициализированные переменные, но не оба.

Ответы на вопрос(4)

Ваш ответ на вопрос