FailedPreconditionError: Попытка использовать неинициализированное значение Adam/lr
Здравствуйте, я новичок в машинном обучении. Я был в процессе обучения отлаженной модели VGG16. После первой эпохи программа остановилась и выдала эту ошибку:
Ниже приведен код, который я использовал для модели:
# create a copy of a mobilenet model
import keras
vgg_model=keras.applications.vgg16.VGG16()
type(vgg_model)
vgg_model.summary()
from keras.models import Sequential
model = Sequential()
for layer in vgg_model.layers[:-1]:
model.add(layer)
model.summary()
# CREATE THE MODEL ARCHITECTURE
from keras.layers import Dense, Activation, Dropout
model.add(Dropout(0.25))
model.add(Dense(7,activation='softmax'))
model.summary()
#Train the Model
# Define Top2 and Top3 Accuracy
from keras.metrics import categorical_accuracy, top_k_categorical_accuracy
def top_3_accuracy(y_true, y_pred):
return top_k_categorical_accuracy(y_true, y_pred, k=3)
def top_2_accuracy(y_true, y_pred):
return top_k_categorical_accuracy(y_true, y_pred, k=2)
from keras.optimizers import Adam
model.compile(Adam(lr=0.01), loss='categorical_crossentropy',
metrics=[categorical_accuracy, top_2_accuracy, top_3_accuracy])
# Get the labels that are associated with each index
print(valid_batches.class_indices)
# Add weights to try to make the model more sensitive to melanoma
class_weights={
0: 1.0, # akiec
1: 1.0, # bcc
2: 1.0, # bkl
3: 1.0, # df
4: 3.0, # mel # Try to make the model more sensitive to Melanoma.
5: 1.0, # nv
6: 1.0, # vasc
}
filepath = "skin.h5"
checkpoint = ModelCheckpoint(filepath, monitor='val_top_3_accuracy', verbose=1,
save_best_only=True, mode='max')
reduce_lr = ReduceLROnPlateau(monitor='val_top_3_accuracy', factor=0.5, patience=2,
verbose=1, mode='max', min_lr=0.00001)
callbacks_list = [checkpoint, reduce_lr]
history = model.fit_generator(train_batches, steps_per_epoch=train_steps,
class_weight=class_weights,
validation_data=valid_batches,
validation_steps=val_steps,
epochs=40, verbose=1,
callbacks=callbacks_list)
Я пытаюсь научиться тонко настраивать, обучать и использовать модель VGG16 на наборе данных изображений. Я следил за этим блогом, где он использовал mobileNet.
Я следовал этому уроку VGG16, чтобы написать код для модели.
Если кто-то может помочь мне исправить эту ошибку или объяснить, как и почему это произошло, я был бы очень признателен за вашу помощь.
Огромное спасибо.
зависимости:
- тензор потока 1.12.0
- ТензорФлоу-GPU 1.12.0
- Python 3.6.0
- керас 2.2.4
1 ответ
У меня была такая же ошибка, когда я использовал ReduceLROnPlateau
Перезвоните. Если это не является абсолютно необходимым, вы можете опустить его использование.