Я столкнулся с чем-то странным, когда пытался определить опцию RNN, и хотел бы обратиться за помощью.цикл выглядит примерно так:
_, outputs, _ = tf.while_loop(
cond=lambda time_step, *_: time_step < steps,
body=b,
loop_vars=(time_step, outputs, state))
, а тело использует слой softmax, который содержит слой tf.contrib.layers.fully_connected в области видимости "caption_rnn" и для повторного использования установлен в значение false.
пока я запускал while_loop, все хорошо.однако мне интересно:
- , так как я установил повторное использование в false и слой вызывается несколько раз в теле while_loop.Почему это может быть хорошо?
Тем временем я попытался заменить while_loop несколькими вызовами следующим образом:
time_step, output, state = b (time_step, output, state) time_step, выходы, состояние = b (time_step, выходы, состояние) time_step, выходы, состояние = b (time_step, выходы, состояние)
делая так, я действительно получил ошибку:
ValueError: переменная caption_rnn / weights уже существует, запрещено.Вы имели в виду установить reuse = True или reuse = tf.AUTO_REUSE в VarScope?Первоначально определено в: .....
Может кто-нибудь сказать мне, что здесь происходит?большое спасибо !!