web-dev-qa-db-fra.com

tensorflow: AttributeError: l'objet 'module' n'a pas d'attribut 'mul'

J'ai utilisé tensorflow pendant UN jour, mais certains problèmes surviennent. Lorsque j'importe du tensorflow, il y aurait AttributeError: l'objet 'module' ne comporte pas d'attribut 'XXXXXX'.

Environnement

J'utilise ubuntu14.04, python2.7, la boîte à outils CUDA 8.0 et CuDNN v5. Et les versions de mes six et protobuf sont: Nom: six Version: 1.10.0 Emplacement: /usr/local/lib/python2.7/dist-packages Nécessite: Nom: protobuf Version: 3.2.0 Lieu:/usr/local/lib/python2.7/dist-packages Nécessite: six, setuptools

voici mon code de test:

import tensorflow as tf
a = tf.placeholder(tf.int16)
b = tf.placeholder(tf.int16)
add = tf.add(a, b)
mul = tf.mul(a, b)
with tf.Session() as sess:
    # Run every operation with variable input
    print "Addition with variables: %i" % sess.run(add, feed_dict={a: 2, b: 3})
    print "Multiplication with variables: %i" % sess.run(mul, feed_dict={a: 2, b: 3})

Je reçois cette sortie:

enter image description here

Y at-il un problème avec l’installation du tensorflow? ou d'autres problèmes?

67
DanDan

Selon les notes de version de tensorflow 1.0. ,

tf.mul, tf.sub et tf.neg sont déconseillés en faveur de tf.multiply, tf.subtract et tf.negative.

Vous devrez remplacer tf.mul par tf.multiply.

173
Meuu

Cette opération était auparavant disponible dans les versions 0.x. Avec le version de TF 1.0, ils introduisirent des modifications radicales de l'API . En plus de

tf.mul, tf.sub et tf.neg sont déconseillés en faveur de tf.multiply, tf.subtract et tf.negative

de nombreuses autres fonctions ont été renommées et modifiées avec la justification suivante:

Plusieurs appels d'API python ont été modifiés pour ressembler davantage à NumPy.

Donc, beaucoup de scripts que vous avez déjà trouvés sur le Web ou dans les livres ne fonctionneront pas. La bonne chose est que la majorité d'entre eux peuvent être corrigés avec leur migration script . Il peut être exécuté avec tf_upgrade.py --infile foo.py --outfile foo-upgraded.py. Il ne pourra pas tout résoudre (les limitations sont listées ici ), mais vous épargnera beaucoup de travail.

3
Salvador Dali