Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

หลัง Normalization แล้ว วิธี Train และ Build โมเดลด้วย TensorFlow

บทนำ

หลังจากสร้าง normalization layer และเตรียมข้อมูล Abalone dataset (พยากรณ์อายุหอยจากขนาด/น้ำหนัก) ขั้นตอนต่อไปคือ compile และ fit โมเดล

โค้ดตัวอย่าง

print("The model is being compiled")
norm_abalone_model.compile(loss=tf.losses.MeanSquaredError(), optimizer=tf.optimizers.Adam())

print("The model is being fit to the data")
norm_abalone_model.fit(abalone_features, abalone_labels, epochs=8)

ผลลัพธ์

The model is being compiled
The model is being fit to the data
Epoch 1/8 104/104 [==============================] - 0s 989us/step - loss: 98.3651
Epoch 2/8 104/104 [==============================] - 0s 945us/step - loss: 65.4568
Epoch 3/8 104/104 [==============================] - 0s 922us/step - loss: 21.7297
Epoch 4/8 104/104 [==============================] - 0s 912us/step - loss: 6.3429
Epoch 5/8 104/104 [==============================] - 0s 988us/step - loss: 5.0949
Epoch 6/8 104/104 [==============================] - 0s 958us/step - loss: 4.9868
Epoch 7/8 104/104 [==============================] - 0s 1ms/step - loss: 4.8982
Epoch 8/8 104/104 [==============================] - 0s 1ms/step - loss: 4.7936

คำอธิบาย

  • compile(): กำหนด loss function (MSE สำหรับ regression) และ optimizer (Adam)
  • fit(): เทรนโมเดลด้วย features และ labels ระบุ epochs (จำนวนรอบเทรนทั้ง dataset)
  • Loss ลดลงจาก 98 → 4.8 แสดงว่าโมเดลเรียนรู้ได้ดี
  • Normalization layer (preprocessing.Normalization) คำนวณ mean/variance จาก training data ด้วย adapt() แล้ว normalize อัตโนมัติระหว่าง training

ข้อสังเกต

ควรแยก validation set เพื่อ monitor overfitting และใช้ callbacks เช่น EarlyStopping, ModelCheckpoint ในการ train จริง