Я пытаюсь использовать пользовательскую функцию для loop_fn в raw_rnn, но есть странный
"raise TypeError("loop_fn must be a callable")" # Exception thrown?
Вызов:
callable_loop_fn = loop_fn(
time=time,
previous_output=None,
previous_state=None,
previous_loop_state=None,
_W=W, _b=b,
_decoder_lengths=decoder_lengths,
_pad_step_embedded=pad_step_embedded,
_eos_step_embedded=eos_step_embedded,
_encoder_final_state=encoder_final_state)
# using the functions for the attention decoder
decoder_outputs_ta, decoder_final_state, decoder_loop_state = tf.nn.raw_rnn(decoder_cell, callable_loop_fn)
Определение:
def loop_fn(time, previous_output, previous_state, previous_loop_state, _W, _b, _decoder_lengths, _pad_step_embedded, _eos_step_embedded, _encoder_final_state):
if previous_state is None:
assert previous_output is None and previous_state is None
return loop_fn_initial(_decoder_lengths, _eos_step_embedded, _encoder_final_state)
else:
return loop_fn_transition(time, previous_output, previous_state, previous_loop_state, _W, _b, _decoder_lengths, _pad_step_embedded)
Кто-нибудь знает, что это может быть?Я думал, что функция, которую я предоставляю, вызывается или я что-то не так понял?