Python ValueError:模型未配置为计算精度。您应该将`metrics=[";accurity";]`传递给`model.compile()`方法
我对深度学习非常陌生: 我正在做一个关于我的UDE的深入学习课程。一旦我执行代码,它就会说: ValueError:模型未配置为计算精度。您应该将Python ValueError:模型未配置为计算精度。您应该将`metrics=[";accurity";]`传递给`model.compile()`方法,python,tensorflow,keras,deep-learning,Python,Tensorflow,Keras,Deep Learning,我对深度学习非常陌生: 我正在做一个关于我的UDE的深入学习课程。一旦我执行代码,它就会说: ValueError:模型未配置为计算精度。您应该将metrics=[“accurity”]传递给model.compile()方法 我试着把“准确度”改成“acc”,它不会给我更多的错误,但是代码非常快,它只显示了10个纪元而不是100个纪元。此外,我预计准确率在83%左右,但我的准确率大约为79% 有人能帮我吗 ''' ''' 这是我的完整回溯: ''' “在您的导入中,您在keras和tf.ker
metrics=[“accurity”]
传递给model.compile()
方法
我试着把“准确度”改成“acc”,它不会给我更多的错误,但是代码非常快,它只显示了10个纪元而不是100个纪元。此外,我预计准确率在83%左右,但我的准确率大约为79%
有人能帮我吗
'''
'''
这是我的完整回溯:
'''
“在您的导入中,您在
keras
和tf.keras
包之间混合导入,实际上不受支持,您应该选择一个并从所选包进行所有导入。您能在问题中包含完整的回溯吗?@MatiasValdenegro对不起,您所说的完整回溯是什么意思?你能简单解释一下吗?完整的调用stacktrace,它以“Traceback(最近一次调用last)”开头,你在标题中包含的只是异常错误,这不是所有可用的信息。@MatiasValdenegro:如果我理解正确,这是完整的回拨:@MatiasValdenegro我编辑了问题并添加了完整的回拨
import keras
from keras.wrappers.scikit_learn import KerasClassifier
from sklearn.model_selection import cross_val_score
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense
def build_classifier():
classifier = Sequential()
classifier.add(Dense(6, kernel_initializer='uniform', activation='relu', input_dim= 11))
classifier.add(Dense(6, kernel_initializer='uniform', activation='relu'))
classifier.add(Dense(1, kernel_initializer='uniform', activation='sigmoid'))
classifier.compile(optimizer = 'adam', loss = 'binary_crossentropy', metrics = ['accuracy'])
return classifier
classifier = KerasClassifier(build_fn= build_classifier, batch_size=10 , nb_epoch=100)
accuracies = cross_val_score(estimator = classifier, X = x_train, y = y_train, cv=10, n_jobs=-1)
accuracies = cross_val_score(estimator = classifier, X = x_train, y = y_train, cv=10, n_jobs=-1, verbose=0)
Traceback (most recent call last):
File "<ipython-input-138-36c63e93365e>", line 1, in <module>
accuracies = cross_val_score(estimator = classifier, X = x_train, y = y_train, cv=10, n_jobs=-1, verbose=0)
File "C:\ProgramData\Anaconda3\envs\deeplearning\lib\site-packages\sklearn\model_selection\_validation.py", line 389, in cross_val_score
error_score=error_score)
File "C:\ProgramData\Anaconda3\envs\deeplearning\lib\site-packages\sklearn\model_selection\_validation.py", line 235, in cross_validate
for train, test in cv.split(X, y, groups))
File "C:\ProgramData\Anaconda3\envs\deeplearning\lib\site-packages\joblib\parallel.py", line 1017, in __call__
self.retrieve()
File "C:\ProgramData\Anaconda3\envs\deeplearning\lib\site-packages\joblib\parallel.py", line 909, in retrieve
self._output.extend(job.get(timeout=self.timeout))
File "C:\ProgramData\Anaconda3\envs\deeplearning\lib\site-packages\joblib\_parallel_backends.py", line 562, in wrap_future_result
return future.result(timeout=timeout)
File "C:\ProgramData\Anaconda3\envs\deeplearning\lib\concurrent\futures\_base.py", line 435, in result
return self.__get_result()
File "C:\ProgramData\Anaconda3\envs\deeplearning\lib\concurrent\futures\_base.py", line 384, in __get_result
raise self._exception
ValueError: The model is not configured to compute accuracy. You should pass `metrics=["accuracy"]` to the `model.compile()` method.
''''
try:
accuracies = cross_val_score(estimator = classifier, X = x_train, y = y_train, cv=10, n_jobs=-1, verbose=0)
except ValueError as e:
print ("ValueError:", e)
ValueError: The model is not configured to compute accuracy. You should pass `metrics=["accuracy"]` to the `model.compile()` method.