Chuẩn bị cho huấn luyện theo batch
Trước khi có thể huấn luyện một mô hình tuyến tính theo từng batch, trước hết chúng ta phải định nghĩa các biến, một hàm mất mát và một phép tối ưu hóa. Trong bài này, bạn sẽ chuẩn bị huấn luyện một mô hình dự đoán price_batch (một batch giá nhà) từ size_batch (một batch diện tích lô đất tính theo foot vuông). Khác với bài học trước, ta sẽ tải dữ liệu theo từng batch bằng pandas, chuyển đổi sang mảng numpy, rồi dùng chúng để giảm dần hàm mất mát theo từng bước.
Variable(), keras(), và float32 đã được nhập sẵn. Lưu ý: bạn không nên đặt giá trị mặc định cho đối số của mô hình hay hàm mất mát, vì chúng ta sẽ tạo dữ liệu theo batch trong quá trình huấn luyện.
Bài tập này là một phần của khóa học
Nhập môn TensorFlow bằng Python
Hướng dẫn bài tập
- Định nghĩa
interceptvới giá trị khởi tạo 10.0 và kiểu dữ liệu float 32-bit. - Định nghĩa mô hình để trả về giá trị dự đoán sử dụng
intercept,slope, vàfeatures. - Định nghĩa một hàm tên
loss_function()nhận các đối số lần lượt làintercept,slope,targets, vàfeatures. Không đặt giá trị mặc định cho các đối số. - Định nghĩa hàm mất mát MSE (mean squared error) sử dụng
targetsvàpredictions.
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
# 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.____(____, ____)