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

Tensorflow สามารถใช้เพื่อคอมไพล์และปรับโมเดลโดยใช้ Python ได้อย่างไร


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

มีเทคนิคการเพิ่มประสิทธิภาพที่ช่วยในการดำเนินการทางคณิตศาสตร์ที่ซับซ้อนได้อย่างรวดเร็ว

เนื่องจากใช้ NumPy และอาร์เรย์หลายมิติ อาร์เรย์หลายมิติเหล่านี้เรียกอีกอย่างว่า 'เทนเซอร์' เฟรมเวิร์กรองรับการทำงานกับโครงข่ายประสาทเทียมระดับลึก สามารถปรับขนาดได้สูงและมาพร้อมกับชุดข้อมูลยอดนิยมมากมาย ใช้การคำนวณ GPU และจัดการทรัพยากรโดยอัตโนมัติ มันมาพร้อมกับไลบรารีการเรียนรู้ของเครื่องจำนวนมาก และได้รับการสนับสนุนและจัดทำเป็นเอกสารอย่างดี เฟรมเวิร์กมีความสามารถในการใช้งานโมเดล Deep Neural Network ฝึกอบรม และสร้างแอปพลิเคชันที่คาดการณ์ลักษณะที่เกี่ยวข้องของชุดข้อมูลที่เกี่ยวข้อง

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

pip install tensorflow

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

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

ตัวอย่าง

print("The vocab_size is actually vocab_size+1 since 0 is used as padding")
int_model = create_model(vocab_size=VOCAB_SIZE + 1, num_labels=4)
print("The model is compiled")
int_model.compile(
   loss=losses.SparseCategoricalCrossentropy(from_logits=True),
   optimizer='adam',
   metrics=['accuracy'])
print("The model is fit to the data")
history = int_model.fit(int_train_ds, validation_data=int_val_ds, epochs=5)

เครดิตโค้ด – https://www.tensorflow.org/tutorials/load_data/text

ผลลัพธ์

The vocab_size is actually vocab_size+1 since 0 is used as padding
The model is compiled
The model is fit to the data
Epoch 1/5
188/188 [==============================] - 7s 37ms/step - loss: 1.3020 - accuracy: 0.3877 -
val_loss: 0.8041 - val_accuracy: 0.6625
Epoch 2/5
188/188 [==============================] - 5s 25ms/step - loss: 0.7200 - accuracy: 0.7003 -
val_loss: 0.5815 - val_accuracy: 0.7685
Epoch 3/5
188/188 [==============================] - 5s 25ms/step - loss: 0.4517 - accuracy: 0.8471 -
val_loss: 0.5137 - val_accuracy: 0.8040
Epoch 4/5
188/188 [==============================] - 5s 25ms/step - loss: 0.2709 - accuracy: 0.9311 -
val_loss: 0.5091 - val_accuracy: 0.8065
Epoch 5/5
188/188 [==============================] - 5s 25ms/step - loss: 0.1453 - accuracy: 0.9717 -
val_loss: 0.5320 - val_accuracy: 0.8025

คำอธิบาย

  • วิธี 'create_model' ใช้สำหรับสร้างโมเดล

  • โมเดลนี้รวบรวมโดยใช้วิธีการ 'คอมไพล์'

  • วิธีการ 'พอดี' ถูกเรียกใช้ในโมเดลที่คอมไพล์แล้วนี้เพื่อให้พอดีกับข้อมูลกับโมเดล