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

Tensorflow สามารถใช้ฝึกชุดข้อมูล Illiad โดยใช้ Python ได้อย่างไร


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

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

pip install tensorflow

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

เราจะใช้ชุดข้อมูลของ Illiad ซึ่งมีข้อมูลข้อความของงานแปลสามงานจาก William Cowper, Edward (Earl of Derby) และ Samuel Butler โมเดลนี้ได้รับการฝึกฝนเพื่อระบุตัวแปลเมื่อมีการให้ข้อความบรรทัดเดียว ไฟล์ข้อความที่ใช้ได้รับการประมวลผลล่วงหน้า ซึ่งรวมถึงการนำส่วนหัวและส่วนท้ายของเอกสาร หมายเลขบรรทัด และชื่อบทออก

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

ตัวอย่าง

ต่อไปนี้เป็นข้อมูลโค้ด -

vocab_size += 2

print("Configure the dataset for better performance")
train_data = configure_dataset(train_data)
validation_data = configure_dataset(validation_data)

print("Train the model")
model = create_model(vocab_size=vocab_size, num_labels=3)
model.compile(
   optimizer='adam',
   loss=losses.SparseCategoricalCrossentropy(from_logits=True),
   metrics=['accuracy'])
print("Fit the training data to the model")
history = model.fit(train_data, validation_data=validation_data, epochs=3)

print("Finding the accuracy and loss associated with training")
loss, accuracy = model.evaluate(validation_data)

print("The loss is : ", loss)
print("The accuracy is : {:2.2%}".format(accuracy))

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

ผลลัพธ์

Configure the dataset for better performance
Train the model
Fit the training data to the model
Epoch 1/3
697/697 [==============================] - 35s 17ms/step - loss: 0.6891 - accuracy: 0.6736 -
val_loss: 0.3718 - val_accuracy: 0.8404
Epoch 2/3
697/697 [==============================] - 8s 11ms/step - loss: 0.3149 - accuracy: 0.8713 -
val_loss: 0.3621 - val_accuracy: 0.8422
Epoch 3/3
697/697 [==============================] - 8s 11ms/step - loss: 0.2165 - accuracy: 0.9162 -
val_loss: 0.4002 - val_accuracy: 0.8404
Finding the accuracy and loss associated with training
79/79 [==============================] - 1s 2ms/step - loss: 0.4002 - accuracy: 0.8404
The loss is : 0.40021833777427673
The accuracy is : 84.04%

คำอธิบาย

  • โมเดลนี้ได้รับการฝึกอบรมเกี่ยวกับชุดข้อมูลเวคเตอร์ที่ประมวลผลล่วงหน้า

  • เมื่อเสร็จแล้วก็จะคอมไพล์และเข้ากับโมเดล

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

  • ข้อมูลนี้จะแสดงบนคอนโซล