Je ne parviens pas à faire prédire quoi que ce soit à Keras. Pas même dans ce modèle minimaliste:
model.predict(np.array([[0,0,0]]))
Tout se passe comme prévu jusqu'à la dernière ligne:
Epoch 1/1 1/1 [==============================] - 0s 448ms/step - loss: 0.2500 - acc: 1.0000 Traceback (most recent call last): File "<ipython-input-24-ee244a6c7287>", line 16, in <module> prediction = model.predict(test_input) File "E:\Programme\Anaconda3\lib\site-packages\keras\engine\training.py", line 1172, in predict steps=steps) File "E:\Programme\Anaconda3\lib\site-packages\keras\engine\training_arrays.py", line 304, in predict_loop outs.append(np.zeros(shape, dtype=batch_out.dtype)) TypeError: data type not understood
J'ai essayé encore et encore avec différents combinaisons de tableaux et de listes, mais soit il y a cette TypeError ou une ValueError, car la forme est fausse. Plusieurs réponses (comme ici ) suggèrent d'utiliser quelque chose comme
from keras.models import Sequential from keras.layers import Dense import numpy as np inDim = 3 outDim = 1 model = Sequential() model.add(Dense(5, input_dim=inDim, activation='relu')) model.add(Dense(outDim, activation='sigmoid')) model.compile(loss='mse', optimizer='adam', metrics=['accuracy']) test_input = np.zeros((1,inDim)) test_output = np.zeros((1,outDim)) model.fit(test_input, test_output) prediction = model.predict(test_input)
3 Réponses :
J'ai collé votre code dans https://colab.research.google.com et cela n'a pas été fait ne me donnez pas d'erreur. (python2)
J'ai cependant reçu un avertissement concernant la conversion int en float.
J'essaierais de spécifier explicitement le dtype test_input comme dans:
test_input = np.zeros((1,inDim), dtype=float)
Puisque cela semble être le message d'erreur qui est affiché.
L'argument dtype n'a rien changé. Mais en effet, le code fonctionne sur colab avec Python 3.6, ce que j'ai également installé. Les avertissements apparaissent indépendamment de l'appel de prédiction et comme l'appel d'ajustement fonctionne très bien, je ne suis pas sûr s'ils sont liés à mon erreur. Alors peut-être que mon installation est juste cassée? Je vais rechercher ceci et mettre à jour ici.
Il s'est avéré que le code n'était pas le problème, mais il y avait un problème avec mon logiciel. Après les étapes suivantes, le code ci-dessus s'exécute sans erreurs ni avertissements:
J'ai désinstallé et installé à nouveau Anaconda Navigator et il a été corrigé.
Veuillez corriger le titre de votre question avec quelque chose de détaillé et précis, un message d'erreur n'aide pas. Veuillez fournir quelques informations générales. Les commentaires sur ce que vous avez essayé ne sont pas très utiles sans plus de détails.