VisszaállításA modell súlyainak újbóli létrehozásaparaméterek · 341. szám · keras-teamkeras · GitHub
Hozzászólások
Link másolása Idézet válasz

felipefariax kommentálta 2015. július 6
Nagyon jó lenne egy modellt visszaállítani vagy újra inicializálni, hogy újra alkalmazható legyen az egyes rétegek súlyainak inicializálása. Ez hasznos lehet, ha ugyanazt a modellarchitektúrát többször is futtatnunk kell bizonyos mutatók, például pontosság, precizitás, visszahívás stb. Ha ugyanazt a modellt kell újra lefordítanunk minden egyes futás során, sok időt veszítünk.
Példámban rákeresést kell lefuttatnom néhány hiperparamáról, és 30-szor ki kell értékelnem a modellt. Minden újrafordítás körülbelül 1 másodpercet vett igénybe.
Kitaláltam egy ilyen megoldást:
def reset_model (modell):
a model.layers réteghez:
ha hasattr (réteg, 'init'):
init = getattr (réteg, 'init')
new_weights = init (layer.get_weights () [0]. Shape) .get_value ()
torzítás = shared_zeros (layer.get_weights () [1]. Shape) .get_value ()
layer.set_weights ([new_weights, bias])
Mit gondolsz?
A szöveg frissítése sikeres volt, de a következő hibákat tapasztaltuk:
wxs kommentálta 2015. július 6
Ez nem működik néhány olyan modell esetében, amely rendelkezik extra inicializálóval, például a belső_init a visszatérő modellekben.
Csak ugyanazzal a súlyra állíthat vissza (ahelyett, hogy véletlenszerűen újra inicializálna)
majd később csinál
de hasznos lehet egy inicializáló függvény hozzáadása.