修改损失函数
在上一个练习中,您定义了一个 tensorflow 损失函数,并针对一组真实值与预测值计算了一次损失。本练习中,您将把损失的计算放到另一个名为 loss_function() 的函数中。该函数会先根据数据和变量生成预测值。这样就构造了一个以可训练模型变量为自变量、返回损失的函数。随后,您可以针对不同的变量取值反复评估该函数,直到找到最小值。实际应用中,您会将该函数传递给 tensorflow 中的优化器。注意,features 和 targets 已定义且可用,Variable、float32 和 keras 也已可用。
本练习是课程的一部分
Python 中的 TensorFlow 入门
练习说明
- 定义一个变量
scalar,初始值为 1.0,类型为float32。 - 定义一个函数
loss_function(),按顺序接收scalar、features、targets作为参数。 - 使用平均绝对误差作为损失函数。
交互式实操练习
通过完成这段示例代码来试试这个练习。
# Initialize a variable named scalar
scalar = ____(1.0, ____)
# Define the model
def model(scalar, features = features):
return scalar * features
# Define a loss function
def loss_function(____, features = features, targets = targets):
# Compute the predicted values
predictions = model(scalar, features)
# Return the mean absolute error loss
return keras.losses.____(targets, predictions)
# Evaluate the loss function and print the loss
print(loss_function(scalar).numpy())