请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

resnet代码报错

老师您好,我运行resnet的代码的时候报错
ValueError: Variable conv1/kernel already exists, disallowed. Did you mean to set reuse=True or reuse=tf.AUTO_REUSE in VarScope?
提示错误在residual block的conv1处
是因为循环调用residual block 所以重复创建了conv1,conv2导致冲突了吗。

正在回答 回答被采纳积分+3

1回答

会边缘ob的码农 2019-07-24 15:19:14

每次修改代码后都需要restart&clear output一下,否则你新运行的程序所建立的conv1卷积核会和内存里已有的conv1卷积核起冲突。我刚刚试着连续两次运行同一段代码,就报了你这个错,然后restart&clear output之后就不报错了。

0 回复 有任何疑惑可以回复我~
  • 提问者 慕慕0382610 #1
    你好,我用的是pycharm,第一次运行也会出现这个问题。是不是因为他会自动保存上一次循环创建residual block中的conv1 和conv2呢。试了一下在residual block最开始的地方加入tf.reset_default_graph()..可是好像不能用于嵌套的图AssertionError: Do not use tf.reset_default_graph() to clear nested graphs
    回复 有任何疑惑可以回复我~ 2019-07-26 12:17:35
  • 提问者 慕慕0382610 #2
    啊,找到错误了 在循环创建residual block的时候with tf.variable_scope('conv%d_%d'%(sample_id,i)):把variable_scope 写成了tf.name_scope
    回复 有任何疑惑可以回复我~ 2019-07-26 12:41:28
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信