Нейронная сеть — Keras — KeyError: ‘acc’

#python #numpy #tensorflow #matplotlib #keras

#python #numpy #тензорный поток #matplotlib #keras

Вопрос:

Я изучаю Keras через udemy.

я получил эту ошибку, хотя я написал код так же, как и инструктор.

В последней части я получаю эту ошибку:

Скриншот ошибки

Любая помощь будет высоко оценена. Спасибо.

Это часть моего кода:

 import numpy as np
from keras.models import Sequential
from keras.layers import Dense
from keras.optimizers import Adam 
import matplotlib.pyplot as plt
%matplotlib inline

n_pts = 500
np.random.seed(0)
Xa = np.array([np.random.normal(13, 2, n_pts),
           np.random.normal(12, 2, n_pts)]).T
Xb = np.array([np.random.normal(8, 2, n_pts),
           np.random.normal(6, 2, n_pts)]).T



X = np.vstack((Xa, Xb)) 
y = np.matrix(np.append(np.zeros(n_pts), np.ones(n_pts))).T

plt.scatter(X[:n_pts,0], X[:n_pts,1])
plt.scatter(X[n_pts:,0], X[n_pts:,1  ])


model =Sequential()
model.add(Dense(units=1,input_shape=(2,),activation='sigmoid'))   
adam = Adam(lr=0.1)
model.compile(adam , loss='binary_crossentropy',metrics=['accuracy'])  
h=model.fit(x=X, y=y, verbose=1,batch_size=50,epochs=500,shuffle='true')


plt.plot(h.history['acc'])
plt.title('accuracy')
plt.xlabel('epoch')
plt.legend(['accuracy'])
  

Комментарии:

1. что возвращает h.history.keys()?

2. он возвращает- dict_keys([‘потеря’, ‘точность’])

3. итак, h.history[‘точность’], а не h.history[‘acc’]

4. спасибо, сэр, это работает..

Ответ №1:

В tf 2.0 вы должны использовать полное слово accuracy вместо acc того, как это было в tf 1.x. Даже если вы не используете

импорт из tensorflow.keras xyz