Senyanzvi muPython programming uye Keras Deep Learning framework, ndinonzwisisa hukasha hunobatanidzwa mukurodha modhi, kunyanya kana modhi yako ichishandisa tsika yekurasikirwa. Ichi chinyorwa chinokutungamira kuti ungakunda sei matambudziko aya uye nekubudirira kurodha yako Keras modhi netsika kurasikirwa basa.
Keras, yakakwira-level neural network API, iri mushandisi-inoshamwaridzika uye modular, inokwanisa kumhanya pamusoro peTensorFlow kana Theano. Iyo inozivikanwa nekureruka kwayo uye nyore kushandisa. Nekudaro, kunyangwe iri nyore, kunzwisisa mamwe mabasa senge kurodha modhi ine tsika yekurasikirwa basa kunogona kuve kwakaoma.
Pane zvikonzero zvakati nei iwe ungangoda kushandisa tsika yekurasikirwa basa muKeras. Nekugadzira yedu yetsika basa, tinogona kuigadzirisa kune yedu chaiyo zvatinoda. Iyo inobvumira modhi kuti idzidze yakaoma mapatani kubva kune iyo data uye nekudaro, zvakanyanya kunatsiridza maitiro emodhi.
Ngatinyure takananga mumabatiro aungaita modhi yeKeras ine tsika yekurasikirwa nebasa.
The Solution
Mhinduro yedambudziko iri iri muKeras' `load_model()` basa. Iri basa rinoita kuti utakure iyo yakachengetwa Keras modhi iyo inonyanya kubatsira kana modhi inotora nguva yakareba kudzidzisa. Kubata pano ndekwekuti kana modhi yako ichishandisa tsika yekurasikirwa nebasa, unofanirwa kuitsanangura mu `custom_objects` parameter paunenge uchirodha modhi.
“` python
kubva keras.models import load_model
# tsanangura yako tsika yekurasikirwa basa
def custom_loss_function(y_true, y_pred):
""" Custom kurasikirwa basa """
custom_loss_value = …. # wedzera logic pano
return custom_loss_value
# mutoro modhi uchishandisa tsika zvinhu
modhi = load_model('model.h5', custom_objects={'custom_loss_function': custom_loss_function})
``
Tsanangudzo Yakadzama yeMutemo
Ngatiburitse zviri kuitika mukodhi iri pamusoro.
1. Tinotanga kuunza `load_model` kubva `keras.models`. Ndiro basa rine chekuita nekurodha modhi yakachengetwa.
2. Isu tinotsanangura iyo `custom_loss_function()`. Iri basa rinomiririra tsika yedu yekurasikirwa basa. Zvinotora maparamita maviri: `y_true` (mavara echokwadi chepasi) uye `y_pred` (akafanotaurwa mavara nemuenzaniso). Iri basa rinofanira kudzosa kukosha kwe scalar iyo yatinoedza kudzikisira panguva yedu yekudzidzira.
3. Chekupedzisira, tinodaidza `load_model()` uye topfuura tsika yedu yekurasikirwa nebasa mu `custom_objects` duramazwi parameter. Izvi zvinobvumira Keras kunzwisisa uye kushandisa tsika yedu kurasikirwa basa.
Misungo Yakajairika uye Nzira Yokuidzivisa
Unogona kusangana nezvikanganiso zvakajairika paunenge uchirodha modhi yeKeras ine tsika yekurasikirwa nebasa.
1. Zita risiri iro: Zita retsika yako yekurasikirwa nebasa paunenge uchichengetedza uye uchitakura modhi inofanirwa kuenderana. Ita shuwa kuti dzakafanana.
2. Kwete kutsanangura basa rekurasikirwa kwetsika: Kana iwe usingatsanangure basa rako rekurasikirwa kwetsika mu `custom_objects` parameter, Keras haizokwanisi kuiwana uye kuishandisa. Nguva dzose yeuka kuipfuudza kana iwe uchitakura modhi.
Kusatevera izvi, kunomutsa kukanganisa.
Kunzwisisa maitiro ekurodha modhi yeKeras ine tsika yekurasikirwa nebasa kwakakosha sezvo ichitibvumira kugadzira emhando yepamusoro-inokodzera dambudziko riripo. Nekutevera nhanho dziri pamusoro, zvese zvinonetsa zvinogona kudzikiswa uye unenge wakagadzirira kuenderera mberi nekushanda nemuenzaniso wako wekufungidzira kana kumwe kudzidziswa.
Rangarira, chinangwa hachisi chekungoita kuti modhi 'ishande', asi kuita kuti ishande 'zvinobudirira'. Iko kukosha kwechokwadi kwekushandisa tsika yekurasikirwa nebasa iri mukukwanisa kuishandisa kuvandudza mashandiro emodhi yako.