ฝึกโมเดล linear regression แบบ batch
ในแบบฝึกหัดนี้ เราจะฝึกโมเดล linear regression แบบ batch โดยต่อจากที่ทำค้างไว้ในแบบฝึกหัดก่อนหน้า วิธีนี้จะวนผ่านชุดข้อมูลทีละ batch และอัปเดตตัวแปรของโมเดล ได้แก่ intercept และ slope หลังจากแต่ละขั้นตอน แนวทางนี้ช่วยให้สามารถฝึกกับชุดข้อมูลขนาดใหญ่ที่หน่วยความจำไม่สามารถโหลดได้ทั้งหมดในครั้งเดียว
โปรดทราบว่าฟังก์ชัน loss loss_function(intercept, slope, targets, features) ได้ถูกกำหนดไว้ให้แล้ว นอกจากนี้ keras และ numpy ได้ถูก import ไว้ให้เรียบร้อยในชื่อ np ตัวแปรที่ฝึกได้ต้องใส่ลงใน var_list ตามลำดับที่ปรากฏในอาร์กิวเมนต์ของ loss function
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
TensorFlow เบื้องต้นใน Python
คำแนะนำการฝึกหัด
- ใช้ optimizer
.Adam() - โหลดข้อมูลจาก
'kc_house_data.csv'แบบ batch โดยกำหนดchunksizeเป็น 100 - ดึงคอลัมน์
priceจากbatchแปลงเป็นnumpyarray ชนิด 32-bit float แล้วกำหนดให้ตัวแปรprice_batch - เติม loss function ให้สมบูรณ์ กำหนดรายการตัวแปรที่ฝึกได้ และดำเนินการ minimization
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Initialize Adam optimizer
opt = keras.optimizers.____
# Load data in batches
for batch in pd.read_csv('____', ____=____):
size_batch = np.array(batch['sqft_lot'], np.float32)
# Extract the price values for the current batch
price_batch = np.array(batch['____'], np.____)
# Complete the loss, fill in the variable list, and minimize
opt.minimize(lambda: loss_function(____, slope, price_batch, size_batch), var_list=[intercept, ____])
# Print trained parameters
print(intercept.numpy(), slope.numpy())