Bonjour, je suis en tain de mettre au point un réseau de neuronne en python avec keras pour faire des additions
Comme input/output j’ai ce fichier csv
1 2 3 4 5 6 | 1,2,3 3,3,6 4,5,9 10,8,18 1,3,4 5,3,8 |
qui se lit de cette façon : 1+2=3 3+3=6 4+5=9 …etc.
j’ai donc monter le réseau de neuronne avec keras :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | from keras.models import Sequential from keras.layers import Dense import numpy seed = 7 numpy.random.seed(seed) dataset = numpy.loadtxt("data.csv", delimiter=",") X = dataset[:,0:2] Y = dataset[:,2] model = Sequential() model.add(Dense(12, input_dim=2, init='uniform', activation='relu')) model.add(Dense(2, init='uniform', activation='relu')) model.add(Dense(1, input_dim=2, init='uniform', activation='linear')) model.compile(loss='mean_squared_error', optimizer='adam', metrics=['accuracy']) model.fit(X, Y, epochs=150, batch_size=10, verbose=2) predictions = model.predict(X) rounded = [round(x[0]) for x in predictions] print(rounded) |
j’utilise bien une fonction d’activation qui est censé me retourner des valeurs > 1 (pas comme la sigmoïde que l’on retrouve assez souvent) mais poutant j’ai comme output ceci 1,1,1,3,1,1,1…etc.
j’ai quasi que des 1 pourquoi ? j’ai essayé de jouer sur les valeur en augmentant/diminuant les nombre dans la fonction dense mais il n’y a aucun changement.
+0
-0