Documentation Tensorflow a le code d'exemple suivant sur Découvrez le placement des nœuds. C'est-à-dire que sur quel dispositif un calcul particulier a lieu. Pour moi, le code n'imprime pas les emplacements des périphériques comme celui-ci est censé. J'utilise le cahier Jupyter en cours d'exécution sur Ubuntu. Comment puis-je résoudre ce problème ou découvrir l'information d'une autre manière? P> P>
3 Réponses :
Malheureusement, Jupyter ne voit pas les messages STDOUT ERRORT C ++ que la journalisation de la mise en œuvre de l'appareil utilise. Il y a un fil plus long sur le problème ici: P>
https://github.com/nteract/hydrogen/issues/209 < / p>
Il n'y a pas de solution de contournement facile que je connaisse, autrement que courir votre script en dehors de Jupyter. P>
Pour les utilisateurs Jupyter (et autres), il existe une fonctionnalité récemment ajoutée permettant de relire le placement du périphérique lorsque vous faites un session.run () code>
appelez et imprimez-le dans votre ordinateur portable.
# Creates a graph. a = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[2, 3], name='a') b = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[3, 2], name='b') c = tf.matmul(a, b) # Creates a session with log_device_placement set to True. sess = tf.Session() # Runs the op. options = tf.RunOptions(output_partition_graphs=True) metadata = tf.RunMetadata() c_val = sess.run(c, options=options, run_metadata=metadata) print metadata.partition_graphs
Ça vient de m'avoir donné:
Il suffit d'utiliser imprimer des métadata code> au lieu de
imprimer des métadata.partition_graphes code>. Vous verrez son ensemble d'objets, vous pouvez voir chacun par indices, comme
imprimer des métadata.partition_graphes [0] code>
Je peux voir le mappage de périphérique imprimé en standard hors du processus de notes Jupyter dans le terminal. Il n'est tout simplement pas imprimé dans le cahier. P>