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

Tensorflow สามารถใช้บันทึกและโหลดตุ้มน้ำหนักสำหรับชุดข้อมูล MNIST ได้อย่างไร


Tensorflow คือเฟรมเวิร์กแมชชีนเลิร์นนิงที่ให้บริการโดย Google เป็นเฟรมเวิร์กโอเพนซอร์ซที่ใช้ร่วมกับ Python เพื่อใช้อัลกอริทึม แอปพลิเคชันการเรียนรู้เชิงลึก และอื่นๆ อีกมากมาย ใช้ในการวิจัยและเพื่อการผลิต มีเทคนิคการเพิ่มประสิทธิภาพที่ช่วยในการดำเนินการทางคณิตศาสตร์ที่ซับซ้อนได้อย่างรวดเร็ว เนื่องจากใช้ NumPy และอาร์เรย์หลายมิติ อาร์เรย์หลายมิติเหล่านี้เรียกอีกอย่างว่า "เทนเซอร์"

แพ็คเกจ 'tensorflow' สามารถติดตั้งบน Windows ได้โดยใช้บรรทัดโค้ดด้านล่าง -

pip install tensorflow

Tensor เป็นโครงสร้างข้อมูลที่ใช้ใน TensorFlow ช่วยเชื่อมต่อขอบในแผนภาพการไหล แผนภาพการไหลนี้เรียกว่า 'กราฟการไหลของข้อมูล' เทนเซอร์เป็นเพียงอาร์เรย์หลายมิติหรือรายการ

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

Keras เป็น API การเรียนรู้เชิงลึกซึ่งเขียนด้วยภาษา Python เป็น API ระดับสูงที่มีอินเทอร์เฟซที่มีประสิทธิภาพซึ่งช่วยแก้ปัญหาการเรียนรู้ของเครื่อง มันทำงานบนเฟรมเวิร์ก Tensorflow มันถูกสร้างขึ้นเพื่อช่วยทดลองในลักษณะที่รวดเร็ว โดยนำเสนอสิ่งที่เป็นนามธรรมและการสร้างบล็อคที่จำเป็นต่อการพัฒนาและการห่อหุ้มโซลูชันแมชชีนเลิร์นนิง

Keras มีอยู่แล้วในแพ็คเกจ Tensorflow สามารถเข้าถึงได้โดยใช้รหัสบรรทัดด้านล่าง

import tensorflow
from tensorflow import keras

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

ตัวอย่าง

!pip install -q pyyaml h5py
import os

import tensorflow as tf
from tensorflow import keras

print("The version of Tensorflow is : ")
print(tf.version.VERSION)
(train_images, train_labels), (test_images, test_labels) = tf.keras.datasets.mnist.load_data()
print("Splitting training and test data")
train_labels = train_labels[:1000]
test_labels = test_labels[:1000]

print("Reshaping the training and test data")
train_images = train_images[:1000].reshape(-1, 28 * 28) / 255.0
test_images = test_images[:1000].reshape(-1, 28 * 28) / 255.0

เครดิตโค้ด - https://www.tensorflow.org/tutorials/keras/save_and_load

ผลลัพธ์

Tensorflow สามารถใช้บันทึกและโหลดตุ้มน้ำหนักสำหรับชุดข้อมูล MNIST ได้อย่างไร

คำอธิบาย

  • นำเข้าแพ็คเกจและนามแฝงที่จำเป็น

  • รับตัวอย่าง 1,000 รายการแรกเพื่อเพิ่มความเร็วในการดำเนินการ