愿天堂沒(méi)有Tensorflow! 阿門(mén)。
ValueError: Variable conv1/weights already exists, disallowed. Did you mean to set reuse=True in VarScope? Originally defined at:
將一個(gè)模型訓(xùn)練好,并且保存了checkpoint后,我嘗試調(diào)用保存的模型:

**保存的模型文件**
with tf.Session() as sess:
print("Reading checkpoints...")
ckpt = tf.train.get_checkpoint_state(logs_train_dir)
if ckpt and ckpt.model_checkpoint_path:
global_step = ckpt.model_checkpoint_path.split('/')[-1].split('-')[-1]
saver.restore(sess, ckpt.model_checkpoint_path)
print('Loading success, global_step is %s' % global_step)
else:
print('No checkpoint file found')
這是Tensorflow官網(wǎng)給出的模型調(diào)用方法,可是卻出現(xiàn)了下面的錯(cuò)誤:
ValueError: Variable conv1/weights already exists, disallowed. Did you mean to set reuse=True in VarScope? Originally defined at:
原因是我們?cè)谝淮螠y(cè)試過(guò)程中,測(cè)試了多張圖片,導(dǎo)致我們模型的參數(shù)需要重復(fù)使用,所以我們需要告訴TF‘允許復(fù)用參數(shù)’,所以只要在上面的代碼加上
tf.get_variable_scope().reuse_variables()
Error就會(huì)消失。
with tf.Session() as sess:
tf.get_variable_scope().reuse_variables()
print("Reading checkpoints...")
ckpt = tf.train.get_checkpoint_state(logs_train_dir)
if ckpt and ckpt.model_checkpoint_path:
global_step = ckpt.model_checkpoint_path.split('/')[-1].split('-')[-1]
saver.restore(sess, ckpt.model_checkpoint_path)
print('Loading success, global_step is %s' % global_step)
else:
print('No checkpoint file found')

**Error消失**