我正在获取每个周期的默认权重。对于现有的权重,我需要用手动选择的权重替换之前的权重。如何为每个周期设置权重?
classifier = Sequential()
classifier.add(Dense(output_dim = 100, activation = 'relu', input_dim = 8))
classifier.add(Dense(output_dim = 50, activation = 'relu', input_dim = 5))
classifier.add(Dense(output_dim = 1 , activation = 'sigmoid'))
print_weights = LambdaCallback(on_epoch_end=lambda batch, logs: print(classifier.layers[0].get_weights()))
classifier.compile(loss='binary_crossentropy',optimizer='adam',metrics = ['accuracy'])
classifier.fit(x_train,y_train,batch_size=100,nb_epoch=10,validation_data=(x_test, y_test),callbacks = [print_weights])
回答:
尝试在循环中使用 train_on_batch
替代 fit
,并使用 layer.set_weights(weights)
来手动设置权重。