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

Tensorflow สามารถใช้เพื่อแสดงภาพผลการฝึกอบรมโดยใช้ Python ได้อย่างไร


ผลการฝึกอบรมสามารถมองเห็นได้ด้วย Tensorflow โดยใช้ Python ด้วยความช่วยเหลือของไลบรารี 'matplotlib' วิธีการ 'พล็อต' ใช้เพื่อพล็อตข้อมูลบนคอนโซล

อ่านเพิ่มเติม: TensorFlow คืออะไรและ Keras ทำงานร่วมกับ TensorFlow เพื่อสร้าง Neural Networks อย่างไร

เราจะใช้ Keras Sequential API ซึ่งมีประโยชน์ในการสร้างแบบจำลองตามลำดับที่ใช้ในการทำงานกับสแต็กเลเยอร์ธรรมดา โดยที่ทุกเลเยอร์มีอินพุตเทนเซอร์หนึ่งตัวและเอาต์พุตเทนเซอร์หนึ่งรายการ

โครงข่ายประสาทเทียมที่มีอย่างน้อยหนึ่งชั้นเรียกว่าชั้น Convolutional เราสามารถใช้ Convolutional Neural Network เพื่อสร้างแบบจำลองการเรียนรู้

ตัวแยกประเภทรูปภาพถูกสร้างขึ้นโดยใช้โมเดล keras.Sequential และโหลดข้อมูลโดยใช้ preprocessing.image_dataset_from_directory ข้อมูลถูกโหลดออกจากดิสก์อย่างมีประสิทธิภาพ มีการระบุการใส่มากเกินไปและมีการใช้เทคนิคเพื่อบรรเทาปัญหาดังกล่าว เทคนิคเหล่านี้รวมถึงการเสริมข้อมูลและการออกกลางคัน มีภาพดอกไม้ 3700 ดอก ชุดข้อมูลนี้มีไดเร็กทอรีย่อย 5 ไดเร็กทอรี และมีไดเร็กทอรีย่อยหนึ่งไดเร็กทอรีต่อคลาส ได้แก่ เดซี่ ดอกแดนดิไลออน กุหลาบ ทานตะวัน และทิวลิป

เรากำลังใช้ Google Colaboratory เพื่อเรียกใช้โค้ดด้านล่าง Google Colab หรือ Colaboratory ช่วยเรียกใช้โค้ด Python บนเบราว์เซอร์และไม่ต้องมีการกำหนดค่าใดๆ และเข้าถึง GPU ได้ฟรี (หน่วยประมวลผลกราฟิก) Colaboratory ถูกสร้างขึ้นบน Jupyter Notebook

ตัวอย่าง

print("Calculating the accuracy")
acc = history.history['accuracy']
val_acc = history.history['val_accuracy']
print("Calculating the loss")
loss = history.history['loss']
val_loss = history.history['val_loss']

epochs_range = range(epochs)
print("The results are being visualized")
plt.figure(figsize=(8, 8))
plt.subplot(1, 2, 1)
plt.plot(epochs_range, acc, label='Training Accuracy')
plt.plot(epochs_range, val_acc, label='Validation Accuracy')
plt.legend(loc='lower right')
plt.title('Training and Validation Accuracy')
plt.subplot(1, 2, 2)

plt.plot(epochs_range, loss, label='Training Loss')
plt.plot(epochs_range, val_loss, label='Validation Loss')
plt.legend(loc='upper right')
plt.title('Training and Validation Loss')
plt.show()

เครดิตโค้ด −https://www.tensorflow.org/tutorials/images/classification

ผลลัพธ์

Calculating the accuracy
Calculating the loss
The results are being visualized

Tensorflow สามารถใช้เพื่อแสดงภาพผลการฝึกอบรมโดยใช้ Python ได้อย่างไร

คำอธิบาย

  • แผนภาพด้านบนระบุว่าความแม่นยำในการฝึกและการตรวจสอบความถูกต้องไม่สอดคล้องกัน

  • โมเดลนี้มีความแม่นยำเพียง 60 เปอร์เซ็นต์ในชุดข้อมูลการตรวจสอบความถูกต้อง

  • สิ่งนี้เรียกว่าสวมใส่มากเกินไป

  • ความแม่นยำในการฝึกอบรมเพิ่มขึ้นเป็นเส้นตรงเมื่อเวลาผ่านไป แต่ความแม่นยำในการตรวจสอบความถูกต้องหยุดอยู่ที่ประมาณ 60 เปอร์เซ็นต์ในกระบวนการฝึกอบรม

  • เมื่อตัวอย่างการฝึกมีน้อย โมเดลจะเรียนรู้จากเสียงรบกวนหรือรายละเอียดที่ไม่ต้องการจากตัวอย่างการฝึก

  • สิ่งนี้ส่งผลเสียต่อประสิทธิภาพของโมเดลต่อตัวอย่างใหม่

  • เนื่องจากการใส่มากเกินไป โมเดลจะไม่สามารถสรุปได้ดีในชุดข้อมูลใหม่

  • มีหลายวิธีที่สามารถหลีกเลี่ยงการใส่มากเกินไปได้ เราจะใช้การเสริมข้อมูลเพื่อเอาชนะการใช้ข้อมูลมากเกินไป