J'ai installé tensorflow en utilisant pip sur ubuntu 16.04 LTS, lors de l'exécution de ce code https://github.com/aymericdamien/TensorFlow-Examples/blob/master/examples/3_NeuralNetworks/recurrent_network.py je suis obtenir cette erreur
Successfully downloaded train-images-idx3-ubyte.gz 9912422 bytes.
Extracting /tmp/data/train-images-idx3-ubyte.gz
Successfully downloaded train-labels-idx1-ubyte.gz 28881 bytes. Extracting /tmp/data/train-labels-idx1-ubyte.gz
Successfully downloaded t10k-images-idx3-ubyte.gz 1648877 bytes.
Extracting /tmp/data/t10k-images-idx3-ubyte.gz
Successfully downloaded t10k-labels-idx1-ubyte.gz 4542 bytes.
Extracting /tmp/data/t10k-labels-idx1-ubyte.gz
Traceback (most recent call last):
File "deep.py", line 71, in <module>
pred = RNN(x, weights, biases)
File "deep.py", line 60, in RNN
x = tf.split(x, n_steps, 0)
File "/home/newuser/.local/lib/python2.7/site-packages/tensorflow/python/ops/array_ops.py", line 1234, in split
name=name)
File "/home/newuser/.local/lib/python2.7/site-packages/tensorflow/python/ops/gen_array_ops.py", line 3241, in _split
num_split=num_split, name=name)
File "/home/newuser/.local/lib/python2.7/site-packages/tensorflow/python/framework/op_def_library.py", line 508, in apply_op
(prefix, dtypes.as_dtype(input_arg.type).name))
TypeError: Input 'split_dim' of 'Split' Op has type float32 that does not match expected type of int32.
Il semble que vous utilisiez une ancienne version de Tensorflow et devez mettre à jour vers Tensorflow v0.12.0 ou supérieur. L'erreur que vous obtenez indique que le split_dim
valeur dans votre tf.split
la fonction attend un entier, mais reçoit le tenseur x
qui est de type float32.
En effet, dans les versions Tensorflow <0.12.0, la fonction split prend les arguments comme suit:
x = tf.split(0, n_steps, x) # tf.split(axis, num_or_size_splits, value)
Le didacticiel à partir duquel vous travaillez a été écrit pour les versions> 0.12.0, qui a été modifié pour être cohérent avec la syntaxe de fractionnement de Numpy:
x = tf.split(x, n_steps, 0) # tf.split(value, num_or_size_splits, axis)
Voir le journal des modifications pour plus de détails: https://github.com/tensorflow/tensorflow/blob/64edd34ce69b4a8033af5d217cb8894105297d8a/RELEASE.md
C'est parce que l'ordre des arguments a changé
Vous pouvez voir le problème ici: https://github.com/tensorflow/tensorflow/issues/6501