Я заимствую пример из руководства по обмен переменными:
def my_image_filter(input_images):
with tf.variable_scope("conv1"):
# Variables created here will be named "conv1/weights", "conv1/biases".
relu1 = conv_relu(input_images, [5, 5, 32, 32], [32])
with tf.variable_scope("conv2"):
# Variables created here will be named "conv2/weights", "conv2/biases".
return conv_relu(relu1, [5, 5, 32, 32], [32])
Скажем, я обучил эти переменные и сохранил все четыре переменные: weights
и biases
из слоев conv1
и conv2
, передав var_list
в tf.train.Saver
.
Теперь я хочу восстановить и использовать их дважды:
with tf.variable_scope("image_filters") as scope:
result1 = my_image_filter(image1)
scope.reuse_variables()
result2 = my_image_filter(image2)
Но имена переменных теперь имеют префикс image_filters
, т.е. image_filters/conv1/weights
, поэтому заставка не может их восстановить: Key image_filters/conv1/weights not found in checkpoint
Как восстановить все обученные переменные и использовать их несколько раз?
var_list
Saver для сохранения, но после этого я не могу получить тот жеvar_list
для восстановления с другой областью действия переменных. Или, может быть, я не уверен, что вы имеете в виду. Вы можете продемонстрировать? - person user3813674   schedule 17.07.2017