Я запутался в коде на этой странице .
question1)
Блок кода ниже показывает выходные данные с этой страницы. Перед этим шагом я не вижу кода, который обучает наши данные с использованием функции model.fit
. Так что код ниже? Показывают ли они прогнозы с использованием случайных весов?
model.predict(train_features[:10])
array([[0.6296253 ],
[0.82509124],
[0.75135857],
[0.73724824],
[0.82174015],
[0.33519754],
[0.6719973 ],
[0.30910844],
[0.6378555 ],
[0.8381703 ]], dtype=float32)
model = make_model(output_bias = initial_bias)
model.predict(train_features[:10])
array([[0.00124893],
[0.00185736],
[0.00164955],
[0.00123761],
[0.00137692],
[0.00182851],
[0.00170887],
[0.00239349],
[0.0024704 ],
[0.00517672]], dtype=float32)
results = model.evaluate(train_features, train_labels, batch_size=BATCH_SIZE, verbose=0)
print("Loss: {:0.4f}".format(results[0]))
Loss: 0.0157
question2)
Продолжая в коде, который написан ниже. Что такое initial_weights
? это случайные значения?
initial_weights = os.path.join(tempfile.mkdtemp(),'initial_weights')
model.save_weights(initial_weights)
question3)
Тогда они говорят, что
Before moving on, confirm quick that the careful bias initialization actually helped.Train the model for 20 epochs, with and without this careful initialization, and compare the losses:
, но я не уверен, как они назначают начальный уклон. Я понимаю, что мы присваиваем 0 смещение для объекта zero_bias_history
. Но как нам назначить смещение для careful_bias_history
? разве он не должен иметь смещение, равное initial_bias
. Как careful_bias_history
получить значение смещения? я чувствовал, что careful_bias_history
должно быть создано из модели, созданной с использованием model = make_model(output_bias = initial_bias)
### Confirm that the bias fix helps
Before moving on, confirm quick that the careful bias initialization actually helped.
Train the model for 20 epochs, with and without this careful initialization, and compare the losses:
model = make_model()
model.load_weights(initial_weights)
model.layers[-1].bias.assign([0.0])
zero_bias_history = model.fit(
train_features,
train_labels,
batch_size=BATCH_SIZE,
epochs=20,
validation_data=(val_features, val_labels),
verbose=0)
print (type(model))
#model.load_weights()
model = make_model()
model.load_weights(initial_weights)
careful_bias_history = model.fit(
train_features,
train_labels,
batch_size=BATCH_SIZE,
epochs=20,
validation_data=(val_features, val_labels),
verbose=0)