اذهب إلى المحتوى

السؤال

نشر

قمت ببناء نموذج تصنيف صور واستخدمت الصف Model في بناء النموذج  ظهور الخطأ التالي AttributeError: 'Model' object has no attribute 'predict_classes:

m = Sequential()
m.add(Flatten(input_shape=base_model.output_shape[1:]))
m.add(Dense(256, activation='tanh'))
m.add(Dense(3, activation='softmax'))
m.load_weights(top_model_weights_path)
model = Model(inputs=base_model.input, outputs=top_model(base_model.output))
for layer in model.layers[:15]: 
        layer.trainable = False
model.summary()
model.compile(loss='binary_crossentropy', optimizer=SGD(lr=1e-4, momentum=0.99), metrics=['accuracy'])
model.fit_generator(train_generator,
    steps_per_epoch=nb_train_samples // batch_size,
    epochs=epochs,
    validation_data=validation_generator,
    validation_steps=nb_validation_samples // batch_size,
    verbose=1)
model.save_weights(top_model_weights_path)
bottleneck_features_validation = model.predict_generator(validation_generator, nb_validation_samples // batch_size)
np.save(open('bottleneck_features_validation','wb'), bottleneck_features_validation)
validation_data = np.load(open('bottleneck_features_validation', 'rb'))
pred = model.predict_classes(validation_data)

 

Recommended Posts

  • 1
نشر (معدل)

predict_classes متوفر فقط من أجل البنية (أو الصف) Sequential ولكنه غير متوفر من أجل الصف Model لذا فالحل هو استخدام التابع predict والتي سيكون خرجها شعاع من التوقعات الاحتمالية، ثم يمكنك بعدها استخدام التابع argmax من مكتبة نمباي لقصر القيم كالتالي:

np.argmax(y_pred,axis=1)

 

تم التعديل في بواسطة Ali Haidar Ahmad

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...