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

TensorFlow สามารถใช้ฝึกโมเดลสำหรับชุดข้อมูล Fashion MNIST ใน Python ได้อย่างไร


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

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

pip install tensorflow

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

ชุดข้อมูล 'Fashion MNIST' มีรูปภาพของเสื้อผ้าประเภทต่างๆ มันมีภาพสีเทาของเสื้อผ้ามากกว่า 70,000 ที่อยู่ใน 10 หมวดหมู่ที่แตกต่างกัน รูปภาพเหล่านี้มีความละเอียดต่ำ (28 x 28 พิกเซล)

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

ตัวอย่าง

print("The model is fit to the data")
model.fit(train_images, train_labels, epochs=15)

print("The accuracy is being computed")
test_loss, test_acc = model.evaluate(test_images,  test_labels, verbose=2)
print('\nThe test accuracy is :', test_acc)

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

ผลลัพธ์

The model is fit to the data
Epoch 1/15
1875/1875 [==============================] - 4s 2ms/step - loss: 0.6337 - accuracy: 0.7799
Epoch 2/15
1875/1875 [==============================] - 3s 2ms/step - loss: 0.3806 - accuracy: 0.8622
Epoch 3/15
1875/1875 [==============================] - 3s 2ms/step - loss: 0.3469 - accuracy: 0.8738
Epoch 4/15
1875/1875 [==============================] - 3s 2ms/step - loss: 0.3131 - accuracy: 0.8853
Epoch 5/15
1875/1875 [==============================] - 3s 2ms/step - loss: 0.2962 - accuracy: 0.8918
Epoch 6/15
1875/1875 [==============================] - 3s 2ms/step - loss: 0.2875 - accuracy: 0.8935
Epoch 7/15
1875/1875 [==============================] - 3s 2ms/step - loss: 0.2705 - accuracy: 0.8998
Epoch 8/15
1875/1875 [==============================] - 3s 2ms/step - loss: 0.2569 - accuracy: 0.9023
Epoch 9/15
1875/1875 [==============================] - 3s 2ms/step - loss: 0.2465 - accuracy: 0.9060
Epoch 10/15
1875/1875 [==============================] - 3s 2ms/step - loss: 0.2440 - accuracy: 0.9088
Epoch 11/15
1875/1875 [==============================] - 3s 2ms/step - loss: 0.2300 - accuracy: 0.9143
Epoch 12/15
1875/1875 [==============================] - 3s 2ms/step - loss: 0.2255 - accuracy: 0.9152
Epoch 13/15
1875/1875 [==============================] - 3s 2ms/step - loss: 0.2114 - accuracy: 0.9203
Epoch 14/15
1875/1875 [==============================] - 3s 2ms/step - loss: 0.2101 - accuracy: 0.9211
Epoch 15/15
1875/1875 [==============================] - 3s 2ms/step - loss: 0.2057 - accuracy: 0.9224
The accuracy is being computed
313/313 - 0s - loss: 0.3528 - accuracy: 0.8806

The test accuracy is : 0.8805999755859375

คำอธิบาย

  • โมเดลได้รับการฝึกอบรมโดยการป้อนข้อมูลการฝึกอบรมและสร้างแบบจำลองก่อน "train_images" และ "train_labels" เป็นอาร์เรย์ของข้อมูลที่ป้อนเข้า

  • โมเดลปรับให้เข้ากับภาพที่มีป้ายกำกับ

  • 'test_images' เก็บข้อมูลการทดสอบ

  • เมื่อใช้ชุดข้อมูลทดสอบแล้ว การคาดคะเนจะตรงกับป้ายกำกับจริงของข้อมูลในชุดข้อมูลทดสอบ

  • วิธีการ 'model.fit' เรียกว่าเพื่อให้พอดีกับ moel กับชุดข้อมูลการฝึก

  • ฟังก์ชัน "model.evaluate" ให้ความแม่นยำและความสูญเสียที่เกี่ยวข้องกับการฝึกอบรม