J'utilise tf.nn.dynamic_rnn
pour faire tourner un LSTM en tensorflow. J'ai un tenseur de N
vecteurs d'état initial et un tenseur de M = N * n
entrées. Chaque série est composée de n
éléments d'entrée, et je veux évaluer l'ensemble i-ième vecteurs d'entrée avec le vecteur d'état initial i-ème, comme indiqué ci-dessous:LSTM état initial pour chaque élément du lot en flux tensor
inputs[0:n], initial_states[0]
inputs[n:2*n], initial_states[1]
...
Est-il possible de le faire avec appel unique tf.nn.dynamic_rnn
et les tenseurs ci-dessus directement, ou dois-je recourir à une boucle pour chaque vecteur d'état initial et ses entrées correspondantes (résultant en len(initial_states)
appels à tf.nn.dynamic_rnn
)?
N'est-ce pas un traitement par lots normal? Donc, votre [initial_state] initial (https://www.tensorflow.org/api_docs/python/tf/nn/dynamic_rnn) aurait une dimension de lot sur «N», et le RNN s'exécuterait pour des pas de 'n' sur ces lots . Vous avez juste besoin de remodeler 'inputs' pour être' [N, n] '. Ou aviez-vous quelque chose d'autre à l'esprit? –
Je ne le savais pas, merci. S'il vous plaît fournir cette réponse dans une réponse afin que je puisse l'accepter. – npit