TensorFlow เป็นไลบรารีสำหรับใช้พัฒนา machine learning เป็น Open source (เขียนด้วย Python) ที่พัฒนาโดยกูเกิล โดยกูเกิลได้ปล่อย TensorFlow ซึ่งเป็นไลบรารีสำหรับใช้พัฒนา machine learning ที่ใช้งานกันในกูเกิลเอง ให้กลายเป็นโปรแกรม Open source (ใช้ Apache 2.0 สามารถนำไปใช้เพื่อการค้าได้) และมาพร้อมกับ TensorBoard ซึ่งเป็นโปรแกรมจำลองการทำงานของกระบวนการ Learning ของ TensorFlow
วิดีโอแนะนำ
วิธีการติดตั้ง
ตั้งแต่ TensorFlow 0.6 เป็นต้นไป TensorFlow รองรับทั้ง Python 2 และ Python 3
ปัจจุบันนี้ TensorFlow รองรับทั้ง Windows , Mac OS และ Linux แล้ว สามารถติดตั้งได้ด้วย pypi โดยตรงดังนี้
รันบน CPU
เปิดคอมมานด์ไลน์ขึ้นมาแล้วใช้คำสั่งตามนี้
pip install tensorflow
หากต้องการให้รันบน GPU ติดตั้งได้ด้วยคำสั่ง
pip install tensorflow-gpu
ทดสอบการใช้งาน
$ python3 ... >>> import tensorflow as tf >>> hello = tf.constant('Hello, TensorFlow!') >>> sess = tf.Session() >>> print(sess.run(hello)) Hello, TensorFlow! >>> a = tf.constant(10) >>> b = tf.constant(32) >>> print(sess.run(a + b)) 42 >>>
เอกสารการใช้งานที่แนะนำ
- https://www.tensorflow.org/
- https://github.com/chetannaik/learning_tensorflow
- https://github.com/nlintz/TensorFlow-Tutorials
- http://googleresearch.blogspot.com/2015/12/how-to-classify-images-with-tensorflow.html
- https://github.com/tobigithub/tensorflow-deep-learning/
TensorFlow และ Scikit-learn
TensorFlow เป็นไลบรารีระดับต่ำที่ช่วยให้คุณสามารถสร้าง machine learning models ( และการคำนวณอื่น ๆ ) โดยใช้เซตตัวดำเนินการอย่าง่าย ๆ เช่น " เพิ่ม " , " matmul " , " concat " เป็นต้น ในขณะที่ scikit-learn เป็นไลบรารีระดับสูง โดยมี machine learning algorithms ให้ใช้งานมากมาย
หากเราต้องการใช้งาน TensorFlow ร่วมกับ scikit-learn สามารถเรียกใช้โมดูล tensorflow.contrib.learn.python.learn ได้เลย
การใช้งานเบื้องต้น
จากบทความ เริ่มต้นการทำ Machine Learning ด้วย Scikit-learn เราต้องการนำ datasets ของดอกไม้ Iris มาทำ Linear Classifier โดยใช้ TensorFlow ร่วมกับ scikit-learn ได้ดังนี้
import tensorflow.contrib.learn.python.learn as learn
from sklearn import datasets, metrics
iris = datasets.load_iris()
feature_columns = learn.infer_real_valued_columns_from_input(iris.data)
classifier = learn.LinearClassifier(n_classes=3, feature_columns=feature_columns)
classifier.fit(iris.data, iris.target, steps=200, batch_size=32)
iris_predictions = list(classifier.predict(iris.data, as_iterable=True))
score = metrics.accuracy_score(iris.target, iris_predictions)
print("Accuracy: %f" % score)
ผลลัพธ์
Accuracy: 0.886667
หากเราต้องการแบบจำลองการทำงานของกระบวนการ Learning ของ TensorFlow เราสามารถใช้งาน TensorBoard ได้ดังนี้
แล้วจะพบกับหน้า TensorBoard คลิกข้อมูลที่เราบันทึกแบบจำลองเอาไว้
ติดตามบทความต่อไปนะครับ
ขอบคุณครับ
ปรับปรุงครั้งที่ 1 เมื่อวันที่ 22 มกราคม 2560
ขอบคุณครับ ที่ทำให้เรื่องยากๆ
ตอบลบอธิบายให้เข้าใจและทำตามง่ายๆ