我对此页面上的代码感到困惑。
问题1)
下面的代码块显示了该页面的输出。在这一步之前,我没有看到任何使用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
问题2)
继续在下面说的代码中。是什么initial_weights?它们是随机值吗?
initial_weights = os.path.join(tempfile.mkdtemp(),'initial_weights')
model.save_weights(initial_weights)
问题3)
然后他们说
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()
慕村9548890
相关分类