เตรียมพร้อมสำหรับการเทรนแบบ batch
ก่อนจะเทรนโมเดลเชิงเส้นแบบ batch ได้ ต้องนิยามตัวแปร ฟังก์ชัน loss และการดำเนินการ optimization ก่อน ในแบบฝึกหัดนี้ เราจะเตรียมเทรนโมเดลที่ทำนาย price_batch ซึ่งเป็น batch ของราคาบ้าน โดยใช้ size_batch ซึ่งเป็น batch ของขนาดที่ดินในหน่วยตารางฟุต ต่างจากบทเรียนก่อนหน้า เราจะโหลดข้อมูลเป็น batch โดยใช้ pandas แปลงเป็น numpy array แล้วนำไปลดค่า loss function ทีละขั้น
Variable(), keras() และ float32 ถูกนำเข้าให้แล้ว โปรดทราบว่าไม่ควรกำหนดค่าเริ่มต้นของอาร์กิวเมนต์ให้กับทั้งโมเดลและฟังก์ชัน loss เนื่องจากเราจะสร้างข้อมูลเป็น batch ระหว่างกระบวนการเทรน
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
TensorFlow เบื้องต้นใน Python
คำแนะนำการฝึกหัด
- นิยาม
interceptให้มีค่าเริ่มต้นเป็น 10.0 และชนิดข้อมูลเป็น 32-bit float - นิยามโมเดลให้คืนค่าที่คาดการณ์ โดยใช้
intercept,slopeและfeatures - นิยามฟังก์ชันชื่อ
loss_function()โดยรับintercept,slope,targetsและfeaturesเป็นอาร์กิวเมนต์ตามลำดับนั้น และไม่ต้องกำหนดค่าเริ่มต้นให้กับอาร์กิวเมนต์ใด - นิยามฟังก์ชัน mean squared error loss โดยใช้
targetsและpredictions
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Define the intercept and slope
intercept = ___
slope = Variable(0.5, float32)
# Define the model
def linear_regression(intercept, slope, features):
# Define the predicted values
return ____
# Define the loss function
def ____:
# Define the predicted values
predictions = linear_regression(____, ____, features)
# Define the MSE loss
return keras.losses.____(____, ____)