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

Tensorflow สามารถใช้แนบหัวการจำแนกประเภทโดยใช้ Python ได้อย่างไร


สามารถใช้ TensorFlow เพื่อแนบหัวการจำแนกประเภทโดยใช้โมเดลตามลำดับที่มีเลเยอร์หนาแน่น โดยใช้โมเดลตัวแยกคุณลักษณะซึ่งกำหนดไว้ก่อนหน้านี้

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

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

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

TensorFlow Hub เป็นพื้นที่เก็บข้อมูลที่มีโมเดล TensorFlow ที่ผ่านการฝึกอบรมล่วงหน้า สามารถใช้ TensorFlow เพื่อปรับแต่งโมเดลการเรียนรู้ได้

เราจะเข้าใจวิธีใช้โมเดลจาก TensorFlow Hub กับ tf.keras ใช้โมเดลการจำแนกรูปภาพจาก TensorFlow Hub เมื่อเสร็จแล้ว การเรียนรู้การถ่ายโอนสามารถทำได้เพื่อปรับแต่งโมเดลสำหรับคลาสรูปภาพที่กำหนดเอง ซึ่งทำได้โดยใช้แบบจำลองลักษณนามที่ฝึกไว้ล่วงหน้าเพื่อถ่ายภาพและคาดการณ์ว่ามันคืออะไร สามารถทำได้โดยไม่ต้องมีการฝึกอบรมใดๆ

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

ตัวอย่าง

print("Attaching a classification head")
num_classes = len(class_names)
model = tf.keras.Sequential([
   feature_extractor_layer,
   tf.keras.layers.Dense(num_classes)
])
print("The base architecture of the model")
model.summary()
print("The predictions are made")
predictions = model(image_batch)
print("The dimensions of the predictions")
predictions.shape

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

ผลลัพธ์

Attaching a classification head
The base architecture of the model
Model: "sequential_3"
_________________________________________________________________
Layer (type)                Output Shape        Param #
=================================================================
keras_layer_1 (KerasLayer) (None, 1280)        2257984
_________________________________________________________________
dense_3 (Dense)           (None, 5)            6405
=================================================================
Total params: 2,264,389
Trainable params: 6,405
Non-trainable params: 2,257,984
_________________________________________________________________
The predictions are made
The dimensions of the predictions
TensorShape([32, 5])

คำอธิบาย

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