2017-07-21 4 views
-2

J'ai téléchargé ce code depuis Rob Romijnders work on GitHub, il montre comment former et évaluer les données des séries temporelles.Comment obtenir de nouvelles attentes en utilisant la série Tensorflow Times CNN

J'ai essayé de nouvelles attentes en utilisant les modèles formés en utilisant ce le code suivant:

y_result = tf.nn.softmax(tf.matmul(x,h_fc2) + b_fc2) 

je suivais que ce code dans anthères partie de prédire les résultats:

result_classes = sess.run(y_result, feed_dict={x: flat_pixels,keep_prob: 1.0}) 

Mais l'erreur suivante est survenue:

InvalidArgumentError (see above for traceback): You must feed a value for placeholder tensor 'Placeholder_1' with dtype bool 
[[Node: Placeholder_1 = Placeholder[dtype=DT_BOOL, shape=[], _device="/job:localhost/replica:0/task:0/cpu:0"]()]] 

La question est Comment prédire mes nouvelles attentes? et pourquoi cette erreur est-elle apparue? et comment résoudre ce problème?

Je pense que c'est un problème concernant la façon de composer avec Tensorflow API, framework, Modèle Formé.

Répondre

0

L'erreur est auto-explonatoire - vous n'avez pas fourni requis valeur booléenne. Pour ce code, il s'agit de bn_train qui indique s'il convient de former la norme de traitement par lots. Ajoutez-le à votre dict dict, comme il est passé dans le code que vous utilisez.

La deuxième partie est que:

y_result = tf.nn.softmax(tf.matmul(x,h_fc2) + b_fc2) 

n'a pas de sens, vous demandez à votre modèle de multiplier les données (x) par couche finale, ce sur tous les précédents?

prévision devrait être possible en faisant

prediction = tf.argmax(h_fc2,1) 

puis après la formation

sess.run(prediction, feed_dict={x: flat_pixels,keep_prob: 1.0, bn_train: False}) 
+0

également après l'ajout de valeur pour {bn_train}, une erreur se produire suivre [Matrice taille incompatibles: Dans [0 ]: [109140,10], In [1]: [109140,5]], le problème persiste [Comment prévoir une nouvelle entrée]. – user7956663

+0

voir la réponse mise à jour – lejlot

+0

OK, ça marche. merci @lejlot. La clé de la solution était exactement la fonction 'tf.argmax'. il a besoin d'efforts d'apprentissage. – user7956663