Keras get_weights () не возвращает все веса - PullRequest
0 голосов
/ 29 апреля 2019

У меня есть следующий NN:

cc = Input(shape=(3,))

dd = Dense(1,activation='tanh')(cc)

dense_model3 = Model(inputs=cc, outputs=dd)

# Compile 
dense_model3.compile(optimizer='adam', loss='mean_squared_error')

dense_model3.fit(copstage3,y_stage9, batch_size=150, epochs=100)

ypredi3 = dense_model3.predict(copstage3,batch_size=150, steps = None)

, и когда я использую dense_model3.get_weights(), я получаю:

     ([array([[0.15411839],
     [1.072346  ],
     [0.37893268]], dtype=float32), array([-0.13432428], dtype=float32)]

Однако, поскольку у меня есть 150 строк в моих данных, ябудет ожидать 150 различных весов, представляющих каждый ряд.Чего мне не хватает?

1 Ответ

0 голосов
/ 29 апреля 2019

Ваша модель имеет размер 3,

cc = Input(shape=(3,))

И вывод размером 1,

dd = Dense(1,activation='tanh')(cc)

Нет промежуточных слоев. Таким образом, веса связаны с тремя входами и одним выходом как дано.

([array([[0.15411839],
 [1.072346  ],
 [0.37893268]], dtype=float32), array([-0.13432428], dtype=float32)]

Где

[array([[0.15411839], [1.072346 ], [0.37893268]], dtype=float32)

представляет веса входного слоя размера три и

array([-0.13432428], dtype=float32)

представляет веса выходного слоя первого размера.

150 строк данных используются для обучения этого слоя, и после обучения веса ассоциируются с каждым отдельным нейроном или узлом.

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

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