Как установить пользовательские веса на последовательной модели Keras? - PullRequest
0 голосов
/ 12 апреля 2019

Итак, я хочу самостоятельно установить вес для модели Sequential керас.Чтобы получить количество весов, я умножил число узлов соседнего слоя друг на друга.

вот мой код:

model.add(Dense(units=3, activation='relu', input_dim=4))
model.add(Dense(3, activation='relu'))
model.add(Dense(5, activation='softmax'))

weights_count = []

weights_count.append(4*3)
weights_count.append(3*3)
weights_count.append(3*5)

weights = []

for count in weights_count:
    curr_weights = []
    for i in range(count):
        curr_weights.append(random.random())
    weights.append(curr_weights)
model.set_weights(weights)

Этот код генерирует эту ошибку:

ValueError: Фигуры должны быть одинакового ранга, но имеют 2 и 1 для «Назначить» (op: «Назначить») с входными фигурами: [4,3], [12].

почемуэто так?

1 Ответ

2 голосов
/ 12 апреля 2019

Фигуры не выровнены.

Возможно, вам лучше сделать что-то вроде этого:

import numpy as np

# create weights with the right shape, e.g.
weights = [np.random.rand(*w.shape) for w in model.get_weights()]

# update
model.set_weights(weights)

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...