TensorFlow reuse=True BasicRNNCell

博主作为TensorFlow新手,在处理训练和测试batch_size不一致时,遇到BasicRNNCell复用问题,导致变量命名冲突错误。通过调查发现,问题源于get_variable操作。解决方案是在VarScope中设置reuse=True。此外,MultiRNNCell和BasicLSTMCell也可能出现相同问题。
摘要由CSDN通过智能技术生成

更新显示格式


本人 tensorflow新手, 由于训练和测试过程中的batch_size不一致, 需要复用graph中的一些功能,遇到BasicRNNCell复用问题,经过不断调查, 反复测试,问题解决。

分享给大家 ,如有疑问欢迎提问指正


出现问题的核心code如下 , 不再贴出详细的代码

rnn_cell = tf.nn.rnn_cell.BasicRNNCell(num_units=128, input_size=None, activation=tf.nn.tanh)
outputs1, _ = tf.nn.rnn(rnn_cell, input1, dtype=tf.float32) #input1 shape=[4,125,1000] for training
outputs2, _ = tf.nn.rnn(rnn_cell, input2, dtype=tf.float32) #input1 shape=[4,1,1000] for testing

以上code错误信息如下:

ValueError: Variable RNN/BasicRNNCell/Linear/Matrix already exists, disallowed. Did you mean to set reuse=True in VarScope?

调查得知错误是因为在BasicRNNCell 使用到了get_

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值