0
我正在使用tf-slim從幾批圖像中提取特徵。問題是我的代碼工作爲第一批,在那之後,我得到的title.My代碼中的錯誤是這樣的:Tf-slim:ValueError:變量vgg_19/conv1/conv1_1 /權重已存在,不允許。你是否想在VarScope中設置reuse = True?
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圖層中提取特徵。但是在第一次迭代之後,我在我嘗試獲取端點的行中出現錯誤。我在互聯網上找到的一種解決方案是每次都重置圖形,但我不想這樣做,因爲在我使用這些提取的特徵進行訓練的代碼的後面部分中,我的圖形中有一些權重。我不想重置它們。任何導致高度讚賞。謝謝!
所以基本上使用佔位符輸入到我的vgg.vgg_19對象,並在運行時正確傳遞圖像佔位符? –
是的。這就是你在tf中傳遞數據的方式。 – lejlot