2017-04-15 2 views
0

Je suis novice dans l'apprentissage en profondeur et essaye de mettre en œuvre le code écrit ici http://r2rt.com/recurrent-neural-networks-in-tensorflow-i.html.AttributeError: l'objet 'module' n'a pas d'attribut 'setup_graph'

Je suis en train de mettre en œuvre même code mais je reçois erreur

no module name basic_rnn

lors de l'importation basic_rnn comme écrit dans le code:

import basic_rnn 
def plot_learning_curve(num_steps, state_size=4, epochs=1): 
    global losses, total_loss, final_state, train_step, x, y, init_state 
    tf.reset_default_graph() 
    g = tf.get_default_graph() 
    losses, total_loss, final_state, train_step, x, y, init_state = \ 
    basic_rnn.setup_graph(g,basic_rnn.RNN_config(num_steps=num_steps, state_size=state_size)) 
    res = train_network(epochs, num_steps, state_size=state_size, verbose=False) 
    plt.plot(res) 

je changé basic_rnn = tf.contrib.rnn.BasicRNNCell, alors je reçois l'erreur

'module' object has no attribute 'setup_graph'.

Je suppose que je vais encore recevoir une erreur lors de l'implémentation basic_rnn.RNN_config. Quelle serait la bonne syntaxe? J'utilise tensorflow de la version 1.0.0 pls aider

Répondre

0

Vous pouvez consulter le code essentiel fourni par l'auteur, r2rt: https://gist.github.com/anonymous/5fc9903990ecec5f09361934920bb999. Bien que vous ayez besoin de modifier un peu le code pour le faire fonctionner.

Fondamentalement, vous devez implémenter les fonctions setuo_graph et RNN_config dans basic_rnn.py. Mais comme il y a trois versions de RNN que le blog original compare, je pense que ce serait mieux si vous mettez RNN_config dans un fichier Python. En outre, j'ai trouvé que certains codes de r2rt étaient obsolètes, j'ai donc adapté le code et créé mon propre repo. Vérifiez-le si vous êtes intéressé: https://github.com/innerfirexy/rnn-tf-r2rt

Vous pouvez exécuter le code dans run_RNNs.py dans IPython. J'ai changé un peu le code de gist en déplaçant la fonction RNN_config sur train.py, et en donnant à train_network un paramètre de configuration.