J'utilise TF.LEARN avec des données mnist. J'ai formé mon réseau de neurones avec une précision de 0,96 mais maintenant je ne sais pas trop comment prédire une valeur.Obtenir des valeurs étranges sur la prédiction de l'ensemble de données MNIST
Voici mon code ..
#getting mnist data to a zip in the computer.
mnist.SOURCE_URL = 'https://web.archive.org/web/20160117040036/http://yann.lecun.com/exdb/mnist/'
trainX, trainY, testX, testY = mnist.load_data(one_hot=True)
# Define the neural network
def build_model():
# This resets all parameters and variables
tf.reset_default_graph()
net = tflearn.input_data([None, 784])
net = tflearn.fully_connected(net, 100, activation='ReLU')
net = tflearn.fully_connected(net, 10, activation='softmax')
net = tflearn.regression(net, optimizer='sgd', learning_rate=0.1, loss='categorical_crossentropy')
# This model assumes that your network is named "net"
model = tflearn.DNN(net)
return model
# Build the model
model = build_model()
model.fit(trainX, trainY, validation_set=0.1, show_metric=True, batch_size=100, n_epoch=8)
#Here is the problem
#lets say I want to predict what my neural network will reply back if I put back the send value from my trainX
the value of trainX[2] is 4
pred = model.predict([trainX[2]])
print(pred)
#What I get is
[[2.6109733880730346e-05, 4.549271125142695e-06, 1.8098366126650944e-05, 0.003199575003236532, 0.20630565285682678, 0.0003870908112730831, 4.902480941382237e-05, 0.006617342587560415, 0.018498118966817856, 0.764894425868988]]
ce que je veux est -> 4
Le problème est que je ne suis pas sûr de savoir comment utiliser cette fonction prédire et mettre dans la valeur de trainX pour obtenir une prédiction.
j'ai eu la réponse en faisant cela pred = model.predict ([trainX [5]]) impression (np.argmax (pred)) Mais merci de me parler de tf.argmax (pred, 1) –
Je pense que je n'étais pas clair avec ma question, je voulais juste savoir comment calculer le numéro d'index, qui est essentiellement en utilisant np.argmax ... Désolé pour la confusion. J'apprécie vraiment la réponse! –
@MasnadNihit Si vous n'avez qu'une prédiction, 'np.argmax' fonctionne pour vous. Si vous en avez plus d'un, vous avez besoin de 'np.argmax (pred, 1)' pour obtenir tous les index pour toutes les prédictions simultanément. –