Я использую tf-slim для извлечения функций из нескольких пакетов изображений. Проблема в том, что мой код работает для первой партии, после чего я получаю ошибку в заголовке. Мой код выглядит примерно так:
for i in range(0, num_batches):
#Obtain the starting and ending images number for each batch
batch_start = i*training_batch_size
batch_end = min((i+1)*training_batch_size, read_images_number)
#obtain the images from the batch
images = preprocessed_images[batch_start: batch_end]
with slim.arg_scope(vgg.vgg_arg_scope()) as sc:
_, end_points = vgg.vgg_19(tf.to_float(images), num_classes=1000, is_training=False)
init_fn = slim.assign_from_checkpoint_fn(os.path.join(checkpoints_dir, 'vgg_19.ckpt'),slim.get_model_variables('vgg_19'))
feature_conv_2_2 = end_points['vgg_19/pool5']
Как видите, в каждом пакете я выбираю пакет изображений и использую модель vgg-19 для извлечения признаков из слоя pool5. Но после первой итерации я получаю ошибку в строке, где я пытаюсь получить конечные точки. Одно решение, которое я нашел в Интернете, состоит в том, чтобы сбрасывать график каждый раз, но я не хочу этого делать, потому что у меня есть некоторые веса в моем графике в более поздней части кода, который я обучаю, используя эти извлеченные функции. Я не хочу их сбрасывать. Любые выводы высоко ценятся. Спасибо!