Kuxazululiwe: indlela yokulayisha imodeli ye-keras ngomsebenzi wokulahlekelwa ngokwezifiso

Isibuyekezo sokugcina: 09/25/2023

Njengochwepheshe kuhlelo lwe-Python kanye nohlaka lwe-Keras Deep Learning, ngiyabuqonda ubunkimbinkimbi obuhilelekile ekulayisheni amamodeli, ikakhulukazi uma imodeli yakho isebenzisa umsebenzi wokulahlekelwa ngokwezifiso. Lesi sihloko sikuqondisa ukuthi ungazinqoba kanjani lezi zinselele futhi ulayishe ngempumelelo imodeli yakho ye-Keras ngomsebenzi wokulahlekelwa ngokwezifiso.

I-Keras, i-API yamanethiwekhi e-neural esezingeni eliphezulu, isebenziseka kalula futhi i-modular, ekwazi ukusebenza phezu kwe-TensorFlow noma i-Theano. Kuyaziwa ngobulula nokusebenziseka kalula. Nokho, naphezu kokulula kwayo, ukuqonda imisebenzi ethile njengokulayisha imodeli ngomsebenzi wokulahlekelwa ngokwezifiso kungaba nzima kakhulu.

Kunezizathu ezimbalwa zokuthi kungani ungase ufune ukusebenzisa umsebenzi wokulahlekelwa ngokwezifiso ku-Keras. Ngokuklama umsebenzi wethu wangokwezifiso, singawulungisa ngokwezidingo zethu ezithile. Ivumela imodeli ukuthi ifunde amaphethini ayinkimbinkimbi kudatha futhi ngaleyo ndlela, ithuthukise kakhulu ukusebenza kwemodeli.

Ake singene siqonde ekutheni ungalayisha kanjani imodeli ye-Keras ngomsebenzi wokulahlekelwa ngokwezifiso.

Ikhambi

Isixazululo sale nselele silele emsebenzini we-Keras' `load_model()`. Lo msebenzi ukuvumela ukuthi ulayishe imodeli ye-Keras elondoloziwe ewusizo kakhulu uma imodeli ithatha isikhathi eside ukuqeqeshwa. Okubanjiwe lapha ukuthi uma imodeli yakho isebenzisa umsebenzi wokulahlekelwa ngokwezifiso, kufanele uwucacise kupharamitha ethi `custom_objects` lapho ulayisha imodeli.

"` inhlwathi
kusuka ku-keras.models import load_model

# chaza umsebenzi wakho wokulahlekelwa ngokwezifiso
def custom_loss_function(y_true, y_pred):
""" Umsebenzi wokulahlekelwa ngokwezifiso """
custom_loss_value = …. # engeza logic lapha
buyisela inani_lokulahlekelwa_kwezifiso

# layisha imodeli usebenzisa izinto ezingokwezifiso
imodeli = load_model('model.h5', custom_objects={'custom_loss_function': custom_loss_function})
``

Incazelo Eningiliziwe Yekhodi

Ake sihlukanise ukuthi kwenzakalani kukhodi engenhla.

1. Siqala ngokungenisa `load_model` isuka kokuthi `keras.models`. Kungumsebenzi onesibopho sokulayisha imodeli elondoloziwe.
2. Sichaza `umsebenzi_wokulahlekelwa_kwezifiso()`. Lo msebenzi umele umsebenzi wethu wokulahlekelwa ngokwezifiso. Kuthatha amapharamitha amabili: `y_true` (amalebula eqiniso eliyisisekelo) kanye nokuthi `y_pred` (amalebula abikezelwe imodeli). Lo msebenzi kufanele ubuyisele inani le-scalar esizama ukulinciphisa phakathi nenqubo yethu yokuqeqeshwa.
3. Okokugcina, sibiza `load_model()` futhi sidlulise umsebenzi wethu wokulahlekelwa ngokwezifiso kokuthi `custom_objects` ipharamitha yesichazamazwi. Lokhu kuvumela ama-Keras ukuthi aqonde futhi asebenzise umsebenzi wethu wokulahlekelwa ngokwezifiso.

Izingibe Ezivamile kanye Nendlela Yokuzigwema

Ungase uhlangabezane namaphutha ambalwa avamile ngenkathi ulayisha imodeli ye-Keras ngomsebenzi wokulahlekelwa ngokwezifiso.

1. Ukuqamba okungalungile: Igama lomsebenzi wakho wokulahlekelwa ngokwezifiso ngenkathi ulondoloza futhi ulayisha imodeli kufanele lifane. Qinisekisa ukuthi ziyefana.
2. Ungacacisi umsebenzi wokulahlekelwa ngokwezifiso: Uma ungacacisi umsebenzi wakho wokulahlekelwa ngokwezifiso kupharamitha ethi `custom_objects`, i-Keras ngeke ikwazi ukuyithola futhi iyisebenzise. Ngaso sonke isikhathi khumbula ukuyidlulisela lapho ulayisha imodeli.
3. Incazelo yomsebenzi engalungile: Umsebenzi wakho kufanele uthathe izimpikiswano ezimbili ncamashi: `y_true` kanye nokuthi `y_pred`, bese ubuyisela inani lesikala esisodwa. Ukungalandeli lokhu, kuzophakamisa iphutha.

Ukuqonda indlela yokulayisha imodeli ye-Keras ngomsebenzi wokulahlekelwa ngokwezifiso kubalulekile njengoba kusivumela ukuthi sithuthukise amamodeli athuthukile alungele kangcono inkinga esikhona. Ngokulandela lezi zinyathelo ezingenhla, zonke izinto eziyinkimbinkimbi zingancishiswa futhi uzobe ulungele ukuqhubeka nomsebenzi ngemodeli yakho ukuze uthole ukwaziswa okwengeziwe noma ukuqeqeshwa okwengeziwe.

Khumbula, umgomo akukhona nje ukwenza imodeli 'isebenze', kodwa ukuyenza isebenze 'ngempumelelo'. Inani langempela lokusebenzisa umsebenzi wokulahlekelwa ngokwezifiso usekukwazini ukuwusebenzisa ukuze uthuthukise ukusebenza kwemodeli yakho.

Okuthunyelwe okuhlobene: