我有一个keras卷积神经网络模型。当我执行:
def get_model_weights():
model_weights = {}
counter = 0
for layer in model.layers:
weights = layer.get_weights()
if (len(weights) != 0):
counter += 1
model_weights['W' + str(counter)] = weights
return model_weights
x = np.zeros((1, 1, D, D))
x[0, 0, :, :] = cur_x #cur_x is a grayscale (1 channel) image (D x D pixels)
y = np.zeros((1, 2))
y[0, :] = [1, 0]
init_weights = get_model_weights()
model.fit(x, y, batch_size = 1, nb_epoch = 1, verbose = 0)
cur_weights = get_model_weights()
cur_weights 和 init_weights 是一样的!似乎重量没有更新!任何人都能解释这种行为吗?! “适合”的实现是否正确?!
由于
P.S。我使用“随机梯度下降”作为优化器,使用“二元交叉熵”作为损失函数