Je l'ai écrit dans l'exemple de code pour les débutants de TensorFlow RNN (Essayez RNN de TensorFlow avec un modèle de base), mais la version de TensorFlow a été mise à jour. Certaines parties sont bloquées, je vais donc les résumer brièvement.
OSX python 3.5 TensorFlow r0.11
import
Lors de l'exécution d'inport liés à RNN, jusqu'à v.0.8
from tensorflow.models.rnn import rnn, rnn_cell
Cependant, en raison d'un problème lié au reconditionnement,
ImportError: This module is deprecated. Use tf.nn.rnn_* instead.
J'obtiens l'erreur.
Par conséquent, la partie import de rnn et rnn_cell est supprimée, et la partie utilisant rnn et rnn_cell est supprimée.
# rnn_cell.BasicLSTMCell( ->
tf.nn.rnn_cell.BasicLSTMCell(...
# rnn( ->
tf.nn.rnn(...
Veuillez le changer en.
BasicLSTMCell
Même si vous corrigez l'erreur ci-dessus
cell = tf.nn.rnn_cell.BasicLSTMCell(
num_of_hidden_nodes, forget_bias=forget_bias)
rnn_output, states_op = tf.nn.rnn(cell, in4, initial_state=istate_ph)
Dans la partie comme
TypeError: 'Tensor' object is not iterable.
Peut être jeté.
En effet, l'argument par défaut de BasicLSTMCell``` a changé et le
state_is_tuple``` qui détermine s'il faut autoriser ou combiner le type de tuple car le format de la valeur de retour est passé de False à True. Parce que c'est.
Par conséquent, si c'est le code ci-dessus
cell = tf.nn.rnn_cell.BasicLSTMCell(
num_of_hidden_nodes, forget_bias=forget_bias, state_is_tuple=False)
rnn_output, states_op = tf.nn.rnn(cell, in4, initial_state=istate_ph)
Et state_is_tuple = False
doit être spécifié dans l'argument de BasicLSTMCell
.
Cependant, à ce sujet, le Document officiel déclare qu'il sera bientôt aboli. Finalement, il sera nécessaire de changer à nouveau le style d'écriture.
Recommended Posts