每日一踩坑(tf) 之 tf.tf.reset_default_graph() to tf.Graph()

今天在训练tensorflow模型的时候发现,静态图的reuse问题bug.以下是问题的描述及解决办法 .

问题发生在对同一复杂网络的调参过程中,首先模型跑了一个结果出来,然后第二次调参实验时发现以下问题:

1.错误描述: ValueError: Variable tf.nn.dynsmic_rnn/rnn/basic_lstm_cell/kernel already exists, disallowed. Did you mean to set reuse=True or reuse=tf.AUTO_REUSE in VarScope? Originally defined at:
错误解决:看你的训练数据和测试数据是否放在同一个文件下,若是,要加上下面一句:

#如果训练和测试数据存放在同一个文件中,一定要加下面这句!
tf.reset_default_graph()  

2.

如果这时候出现了以下错误,就用下面的解决方法:
错误描述:ValueError: Tensor(“tf.nn.dynsmic_rnn/rnn/Const:0”, shape=(1,), dtype=int32) must be from the same graph as Tensor(“ExpandDims:0”, shape=(1,), dtype=int32).
错误解决:

#把tf.reset_default_graph()  改为:
    tf.Graph()

 

你可能感兴趣的:(Python学习)