Je veux pratiquer keras par code a xor, mais le résultat n'est pas juste, le suivi est mon code, merci pour tout le monde de m'aider.Comment utiliser keras pour XOR
from keras.models import Sequential
from keras.layers.core import Dense,Activation
from keras.optimizers import SGD
import numpy as np
model = Sequential()# two layers
model.add(Dense(input_dim=2,output_dim=4,init="glorot_uniform"))
model.add(Activation("sigmoid"))
model.add(Dense(input_dim=4,output_dim=1,init="glorot_uniform"))
model.add(Activation("sigmoid"))
sgd = SGD(l2=0.0,lr=0.05, decay=1e-6, momentum=0.11, nesterov=True)
model.compile(loss='mean_absolute_error', optimizer=sgd)
print "begin to train"
list1 = [1,1]
label1 = [0]
list2 = [1,0]
label2 = [1]
list3 = [0,0]
label3 = [0]
list4 = [0,1]
label4 = [1]
train_data = np.array((list1,list2,list3,list4)) #four samples for epoch = 1000
label = np.array((label1,label2,label3,label4))
model.fit(train_data,label,nb_epoch = 1000,batch_size = 4,verbose = 1,shuffle=True,show_accuracy = True)
list_test = [0,1]
test = np.array((list_test,list1))
classes = model.predict(test)
print classes
Sortie
[[ 0.31851079] [ 0.34130159]] [[ 0.49635666] [0.51274764]]
Que signifie "pas correct"? Quel résultat obtenez-vous? Qu'attendez-vous? – Daniel
merci, je veux obtenir la liste classes = [a, b], une approche à 1, b approche à 0, mais la vérité est que a, b comme un aléatoire, il y a deux résultats: [[0.31851079] [0.34130159]] [[0.49635666] [0.51274764]] –
Veuillez intégrer cela dans votre question. De cette façon, nous n'avons pas besoin de reproduire votre exercice pour savoir ce qui ne va pas ... – Daniel