2016-07-09 9 views
1

Wenn ich den folgenden sehr einfaches neuronales Netzwerk in Anaconda/python2.7/Keras/Theano:Valueerror: Invalid argument 'Metrik' auch mit neuesten Keras/Theano zu K.function geben

import numpy as np 
from keras.models import Sequential 
from keras.layers import Dense, Activation 

# import csv 
csv = 'https://raw.githubusercontent.com/uiuc-cse/data-fa14/gh-pages/data/iris.csv' 
iris = np.genfromtxt(csv, delimiter = ',', dtype = None) 

# Munge data 
iris = np.delete(iris, 0, 0) # delete header row 
iris[iris[:,4] == 'setosa', 4] = 1 
iris[(iris[:,4] == 'versicolor') | (iris[:,4] == 'virginica'), 4] = 0 
iris = iris.astype(float) 

# split into data and label classes 
data = iris[:,0:4] 
labels = iris[:,4] 
labels = np.array([labels]) 
labels = labels.T 
labels = labels.astype(int) 

# develop NN 
model = Sequential() 
model.add(Dense(1, input_dim = 4)) 
model.add(Activation('softmax')) 
model.compile(optimizer = 'rmsprop', loss = 'binary_crossentropy', metric = ['accuracy']) 

# fit NN 
model.fit(data, labels, nb_epoch = 5, batch_size = 50) 

I erhalten der folgende Fehler:

File "C:\Users\bAXTER\Anaconda\lib\site-packages\keras\backend\theano_backend.py", line 539, in function 
    raise ValueError(msg) 

ValueError: Invalid argument 'metric' passed to K.function 

schaute ich auf diesen post, aber ich bin schon mit Keras 1.0.5 und 0.9.0 Theano auf Anaconda (Python 2.7) mit allen relevanten Paketen installiert. Außerdem erwähnt der Beitrag, dass ich "metrics=['accuracy'] vom Funktionsaufruf zu model.compile() entfernen kann". aber ich kann keinen dieser Begriffe in "theano_backend.py" finden. Ich konnte die Antwort des Nutzers nicht kommentieren, da ich nicht genügend Reputation habe.

Irgendwelche Ideen, warum Keras diesen Fehler verursacht? Ich weiß, dass dies ein weniger erforschter Bereich von Python ist, also würde jede Hilfe geschätzt werden.

Antwort

2

Sehr peinlich. Ich buchstabierte metric anstelle von metrics im model.compile Befehl.

+0

Ich denke, das ist ein Versions-Problem. Dies: https://de.hsmouc.com/2017/04/01/2017-04-01-regressionbykeras/ tutorial hat "metric" als Rechtschreibung. – ashley