나는 mnist 데이터와 함께 TF.LEARN을 사용하고있다. 나는 0.96의 정확도로 신경 네트워크를 훈련 시켰지만 지금은 어떻게 값을 예측할 지 잘 모르겠습니다. 여기 MNIST 데이터 세트를 예측할 때 이상한 값을 얻는다
는 .. 내 코드입니다#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]]
내가 원하는 것은 -> 4
문제는 내가이 기능을 예측하고 사용하는 방법을 잘 모르겠습니다이다 trainX 값을 넣어 예측을합니다.
나는이 PRED = model.predict를 ([trainX [5]]) 인쇄 (np.argmax (PRED)) 수행하여 대답을 얻었다 그러나 tf.argmax에 대해 말해 주셔서 감사합니다 –
(1 PRED) 내 질문에 내가 분명히 wasnt 생각, 난 그냥 기본적으로 np.argmax를 사용하여 인덱스 번호를 계산하는 방법을 알고 싶었 어 ... 혼란에 대 한 미안 해요. 정말 대답에 감사드립니다! –
@MasnadNihit 예측이 1 개 밖에없는 경우 'np.argmax'가 작동합니다. 하나 이상의 인덱스가 있다면, 모든 예측을위한 모든 인덱스를 동시에 얻으려면'np.argmax (pred, 1)'이 필요합니다. –