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

การกำหนด Loss Function, Optimizer, ฝึกและประเมินโมเดล IMDB ด้วย TensorFlow


บทนำ

TensorFlow เฟรมเวิร์ก ML จาก Google โค้ดเปิด ใช้กับ Python ใช้ในงานวิจัยและการผลิต

การติดตั้ง

pip install tensorflow

ชุดข้อมูล IMDB

รีวิวหนัง 50,000+ เรื่อง ใช้กับ NLP

ตัวอย่าง: Compile, Fit, Evaluate

model.compile(loss=losses.BinaryCrossentropy(from_logits=True),
              optimizer='adam',
              metrics=tf.metrics.BinaryAccuracy(threshold=0.0))

epochs = 10
history = model.fit(
    train_ds,
    validation_data=val_ds,
    epochs=epochs)

loss, accuracy = model.evaluate(test_ds)
print("Loss:", loss)
print("Accuracy:", accuracy)

ที่มาโค้ด: TensorFlow Text Classification Tutorial

ผลลัพธ์

Epoch 1/10 - loss: 0.6818 - binary_accuracy: 0.6130 - val_loss: 0.6135 - val_binary_accuracy: 0.7750
Epoch 2/10 - loss: 0.5785 - binary_accuracy: 0.7853 - val_loss: 0.4971 - val_binary_accuracy: 0.8230
...
Epoch 10/10 - loss: 0.2328 - binary_accuracy: 0.9161 - val_loss: 0.2913 - val_binary_accuracy: 0.8792
Loss: 0.3099
Accuracy: 0.8741

คำอธิบาย

  • คอมไพล์โมเดลด้วย compile: loss, optimizer, metrics
  • กำหนด epochs = 10
  • ใช้ fit ฝึกโมเดลกับ train_ds, validation_data=val_ds
  • ใช้ evaluate วัด loss และ accuracy บน test_ds
  • แสดงค่า loss และ accuracy บนคอนโซล