2017-02-28 46 views
5

Chcę przekonwertować wcześniej wyszkolony model caffe na keras, to muszę zainicjować warstwy, warstwa po warstwie. Zapisałem wagi i błędy w pliku mat i załadowałem je do obszaru roboczego Pythona. Wiem, że parametr "wag" pobiera tablicę numpy, ale nie w jaki sposób? Dziękijak zainicjować warstwy przez numpy array w killerze

+0

dla splotowych warstw sprawdzić http://stackoverflow.com/questions/42211619/how-to-set-weights-for-convolution2d/42212349#42212349 – maz

+0

@maz było użyteczne –

Odpowiedz

2

Możesz uzyskać więcej informacji o tym, jak ustawić wagę modelu w Keras Layers Documentation. Zasadniczo użyć:

layer.set_weights(weights): ustawia wagi warstwy z listy tablic numpy (o tych samych kształtach jak wyjściu get_weights).

Lub można bezpośrednio zainicjować je podczas tworzenia warstwy. Każda warstwa ma parametr weights, który można ustawić za pomocą tablicy numpy. Przeczytaj each layer's documentation, aby podać właściwy format ciężaru. Na przykład Dense() warstwy przyjąć ten format dla parametru weights:

Lista tablic numpy ustawić jako pierwotnej wagi. Lista powinna mieć 2 elementy, o kształcie (input_dim, output_dim) i (output_dim,) odpowiednio dla wag i błędów. source