開始使用免費開始

以小批次訓練線性模型

在這個練習中,我們會以小批次方式訓練線性迴歸模型,從上一個練習結束的地方接續進行。我們會逐批走訪資料集,並在每一步之後更新模型變數 interceptslope。這種作法能讓我們在資料集過大、無法一次載入記憶體時,仍然完成訓練。

請注意,損失函式 loss_function(intercept, slope, targets, features) 已經替你定義好了。此外,keras 已為你匯入,numpy 也已以 np 名稱可用。可訓練變數應依它們在損失函式引數中出現的順序填入 var_list

本練習屬於課程

Python 的 TensorFlow 入門

檢視課程

練習說明

  • 使用 .Adam() 最佳化器。
  • chunksize 為 100 的小批次,從 'kc_house_data.csv' 載入資料。
  • batch 中取出 price 欄位,轉換為 32 位元浮點型別的 numpy 陣列,並指定給 price_batch
  • 完成損失函式、填入可訓練變數清單,然後執行最小化。

動手互動練習

試著完成這個範例程式碼,體驗一下這個練習。

# 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())
編輯並執行程式碼