为了账号安全,请及时绑定邮箱和手机立即绑定

从官方 tensorflow 页面了解代码

从官方 tensorflow 页面了解代码

慕盖茨4494581 2022-07-05 17:07:36
我对此页面上的代码感到困惑。问题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 helpsBefore 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()
查看完整描述

1 回答

?
慕村9548890

TA贡献1884条经验 获得超4个赞

答案 1:是的,这些预测来自模型编译后但在训练之前。

答案 2:是的,它们是随机权重,例如,在 Dense 层中,它们使用glorot_uniformtf.keras.layers.Dense

答案 3:我们上面保存的模型有一个使用 初始化的偏差np.log([pos/neg]),这里提到

因此,在 中zero_bias_history,他们使用 将偏差初始化为零model.layers[-1].bias.assign([0.0]),并在careful_bias_history其中加载了已经具有初始化偏差的已保存模型。


查看完整回答
反对 回复 2022-07-05
  • 1 回答
  • 0 关注
  • 143 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号